From 79b534d239ad8be233f6c15af1ee4b56b5e8bf24 Mon Sep 17 00:00:00 2001 From: tony-fav <42725386+tony-fav@users.noreply.github.com> Date: Wed, 8 Dec 2021 13:09:54 -0500 Subject: [PATCH 01/16] Enable SetOption92 for platforms beyond ESP8266 --- tasmota/xdrv_04_light.ino | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tasmota/xdrv_04_light.ino b/tasmota/xdrv_04_light.ino index f032b8b67..b05386f4a 100644 --- a/tasmota/xdrv_04_light.ino +++ b/tasmota/xdrv_04_light.ino @@ -1855,10 +1855,12 @@ bool isChannelGammaCorrected(uint32_t channel) { if (channel >= Light.subtype) { return false; } // Out of range #ifdef ESP8266 if ((PHILIPS == TasmotaGlobal.module_type) || (Settings->flag4.pwm_ct_mode)) { +#else + if (Settings->flag4.pwm_ct_mode) { +#endif // ESP8266 if ((LST_COLDWARM == Light.subtype) && (1 == channel)) { return false; } // PMW reserved for CT if ((LST_RGBCW == Light.subtype) && (4 == channel)) { return false; } // PMW reserved for CT } -#endif // ESP8266 return true; } @@ -1866,10 +1868,12 @@ bool isChannelGammaCorrected(uint32_t channel) { bool isChannelCT(uint32_t channel) { #ifdef ESP8266 if ((PHILIPS == TasmotaGlobal.module_type) || (Settings->flag4.pwm_ct_mode)) { +#else + if (Settings->flag4.pwm_ct_mode) { +#endif // ESP8266 if ((LST_COLDWARM == Light.subtype) && (1 == channel)) { return true; } // PMW reserved for CT if ((LST_RGBCW == Light.subtype) && (4 == channel)) { return true; } // PMW reserved for CT } -#endif // ESP8266 return false; } @@ -2159,9 +2163,12 @@ bool calcGammaBulbs(uint16_t cur_col_10[5]) { // Now we know ct_10 and white_bri10 (gamma corrected if needed) -#ifdef ESP8266 if ((LST_COLDWARM == Light.subtype) || (LST_RGBCW == Light.subtype)) { +#ifdef ESP8266 if ((PHILIPS == TasmotaGlobal.module_type) || (Settings->flag4.pwm_ct_mode)) { // channel 1 is the color tone, mapped to cold channel (0..255) +#else + if (Settings->flag4.pwm_ct_mode) { // channel 1 is the color tone, mapped to cold channel (0..255) +#endif // ESP8266 pwm_ct = true; // Xiaomi Philips bulbs follow a different scheme: // channel 0=intensity, channel1=temperature @@ -2170,7 +2177,6 @@ bool calcGammaBulbs(uint16_t cur_col_10[5]) { return false; // avoid any interference } } -#endif // ESP8266 // Now see if we need to mix RGB and White // Valid only for LST_RGBW, LST_RGBCW, SetOption105 1, and white is zero (see doc) From 4cd926e0087b918c95510f95d2a5846134c9f750 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Thu, 9 Dec 2021 19:37:00 +0100 Subject: [PATCH 02/16] Berry pycoc optimization --- lib/libesp32/Berry/Makefile | 5 +- lib/libesp32/Berry/default/be_animate_lib.c | 248 +- lib/libesp32/Berry/default/be_autoconf_lib.c | 548 +-- lib/libesp32/Berry/default/be_display_lib.c | 4 +- lib/libesp32/Berry/default/be_driverlib.c | 62 +- lib/libesp32/Berry/default/be_energylib.c | 216 +- .../Berry/default/be_i2c_axp192_lib.c | 260 +- lib/libesp32/Berry/default/be_i2c_driverlib.c | 154 +- .../Berry/default/be_leds_animator_lib.c | 122 +- lib/libesp32/Berry/default/be_leds_lib.c | 522 +-- lib/libesp32/Berry/default/be_leds_ntv_lib.c | 10 +- .../Berry/default/be_lvgl_clock_icon_lib.c | 122 +- lib/libesp32/Berry/default/be_lvgl_glob_lib.c | 312 +- .../Berry/default/be_lvgl_signal_arcs_lib.c | 136 +- .../Berry/default/be_lvgl_signal_bars_lib.c | 140 +- .../default/be_lvgl_wifi_arcs_icon_lib.c | 42 +- .../Berry/default/be_lvgl_wifi_arcs_lib.c | 52 +- .../default/be_lvgl_wifi_bars_icon_lib.c | 42 +- .../Berry/default/be_lvgl_wifi_bars_lib.c | 52 +- lib/libesp32/Berry/default/be_modtab.c | 4 +- lib/libesp32/Berry/default/be_persist_lib.c | 218 +- lib/libesp32/Berry/default/be_python_compat.c | 38 +- lib/libesp32/Berry/default/be_tapp_lib.c | 48 +- lib/libesp32/Berry/default/be_tasmotalib.c | 3056 +++++++++-------- lib/libesp32/Berry/default/be_timer_class.c | 88 +- lib/libesp32/Berry/default/be_unishox_lib.c | 8 +- lib/libesp32/Berry/default/be_wirelib.c | 26 +- .../Berry/default/embedded/i2c_driver.be | 2 +- lib/libesp32/Berry/generate/be_const_strtab.h | 1073 ++++-- .../Berry/generate/be_const_strtab_def.h | 1570 ++++++--- .../generate/be_fixed_be_class_I2C_Driver.h | 27 - .../generate/be_fixed_be_class_aes_gcm.h | 4 +- .../be_fixed_be_class_audio_file_source.h | 2 +- .../be_fixed_be_class_audio_generator.h | 2 +- .../generate/be_fixed_be_class_audio_output.h | 2 +- .../Berry/generate/be_fixed_be_class_bytes.h | 14 +- .../Berry/generate/be_fixed_be_class_list.h | 10 +- .../Berry/generate/be_fixed_be_class_map.h | 2 +- .../Berry/generate/be_fixed_be_class_md5.h | 2 +- .../generate/be_fixed_be_class_tasmota.h | 58 +- .../be_fixed_be_class_tasmota_onewire.h | 2 +- .../be_fixed_be_class_tasmota_serial.h | 2 +- .../generate/be_fixed_be_class_webclient.h | 4 +- lib/libesp32/Berry/generate/be_fixed_energy.h | 21 - lib/libesp32/Berry/generate/be_fixed_global.h | 2 +- lib/libesp32/Berry/src/be_byteslib.c | 154 +- lib/libesp32/Berry/src/be_constobj.h | 6 + lib/libesp32/Berry/src/be_solidifylib.c | 91 +- lib/libesp32/Berry/src/berry.h | 4 +- .../Berry/tools/pycoc/block_builder.py | 152 + lib/libesp32/Berry/tools/pycoc/coc_parser.py | 146 + lib/libesp32/Berry/tools/pycoc/coc_string.py | 40 + .../Berry/tools/pycoc/coc_string_test.py | 18 + lib/libesp32/Berry/tools/pycoc/hash_map.py | 162 + lib/libesp32/Berry/tools/pycoc/macro_table.py | 50 + lib/libesp32/Berry/tools/pycoc/main.py | 64 + lib/libesp32/Berry/tools/pycoc/str_build.py | 123 + .../Zip-readonly-FS/src/ZipReadFS.cpp | 14 +- tasmota/xdrv_52_3_berry_display.ino | 4 +- tasmota/xdrv_52_3_berry_unishox.ino | 8 +- 60 files changed, 6073 insertions(+), 4297 deletions(-) delete mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_I2C_Driver.h delete mode 100644 lib/libesp32/Berry/generate/be_fixed_energy.h create mode 100644 lib/libesp32/Berry/tools/pycoc/block_builder.py create mode 100644 lib/libesp32/Berry/tools/pycoc/coc_parser.py create mode 100644 lib/libesp32/Berry/tools/pycoc/coc_string.py create mode 100644 lib/libesp32/Berry/tools/pycoc/coc_string_test.py create mode 100644 lib/libesp32/Berry/tools/pycoc/hash_map.py create mode 100644 lib/libesp32/Berry/tools/pycoc/macro_table.py create mode 100644 lib/libesp32/Berry/tools/pycoc/main.py create mode 100644 lib/libesp32/Berry/tools/pycoc/str_build.py diff --git a/lib/libesp32/Berry/Makefile b/lib/libesp32/Berry/Makefile index 531661bc2..f9d61125d 100644 --- a/lib/libesp32/Berry/Makefile +++ b/lib/libesp32/Berry/Makefile @@ -10,6 +10,8 @@ SRCPATH = src default GENERATE = generate CONFIG = default/berry_conf.h COC = tools/coc/coc +PY = python3 +PYCOC = tools/pycoc/main.py CONST_TAB = $(GENERATE)/be_const_strtab.h MAKE_COC = $(MAKE) -C tools/coc @@ -18,6 +20,7 @@ ifeq ($(OS), Windows_NT) # Windows LFLAGS += -Wl,--out-implib,berry.lib # export symbols lib for dll linked TARGET := $(TARGET).exe COC := $(COC).exe + PY := $(PY).exe else CFLAGS += -DUSE_READLINE_LIB LIBS += -lreadline -ldl @@ -92,7 +95,7 @@ uninstall: prebuild: $(COC) $(GENERATE) $(MSG) [Prebuild] generate resources - $(Q) $(COC) -o $(GENERATE) $(SRCPATH) -c $(CONFIG) + $(Q) $(PY) $(PYCOC) -o $(GENERATE) $(SRCPATH) -c $(CONFIG) $(MSG) done clean: diff --git a/lib/libesp32/Berry/default/be_animate_lib.c b/lib/libesp32/Berry/default/be_animate_lib.c index db6052653..398f87b66 100644 --- a/lib/libesp32/Berry/default/be_animate_lib.c +++ b/lib/libesp32/Berry/default/be_animate_lib.c @@ -20,17 +20,17 @@ be_local_closure(Animate_rotate_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ - /* K0 */ be_nested_string("init", 380752755, 4), - /* K1 */ be_nested_string("closure", 1548407746, 7), - /* K2 */ be_nested_string("code", -114201356, 4), - /* K3 */ be_nested_string("push", -2022703139, 4), - /* K4 */ be_nested_string("animate", -409180496, 7), - /* K5 */ be_nested_string("ins_ramp", 1068049360, 8), - /* K6 */ be_nested_string("ins_goto", 1342843963, 8), + /* K0 */ be_nested_str(init), + /* K1 */ be_nested_str(closure), + /* K2 */ be_nested_str(code), + /* K3 */ be_nested_str(push), + /* K4 */ be_nested_str(animate), + /* K5 */ be_nested_str(ins_ramp), + /* K6 */ be_nested_str(ins_goto), /* K7 */ be_const_int(0), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[25]) { /* code */ 0x60140003, // 0000 GETGBL R5 G3 0x5C180000, // 0001 MOVE R6 R0 @@ -72,9 +72,9 @@ be_local_class(Animate_rotate, &be_class_Animate_engine, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("init", 380752755, 4, -1), be_const_closure(Animate_rotate_init_closure) }, + { be_const_key(init, -1), be_const_closure(Animate_rotate_init_closure) }, })), - (be_nested_const_str("Animate_rotate", -787188142, 14)) + be_str_literal("Animate_rotate") ); /******************************************************************** @@ -91,15 +91,15 @@ be_local_closure(Animate_from_to_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_string("init", 380752755, 4), - /* K1 */ be_nested_string("closure", 1548407746, 7), - /* K2 */ be_nested_string("code", -114201356, 4), - /* K3 */ be_nested_string("push", -2022703139, 4), - /* K4 */ be_nested_string("animate", -409180496, 7), - /* K5 */ be_nested_string("ins_ramp", 1068049360, 8), + /* K0 */ be_nested_str(init), + /* K1 */ be_nested_str(closure), + /* K2 */ be_nested_str(code), + /* K3 */ be_nested_str(push), + /* K4 */ be_nested_str(animate), + /* K5 */ be_nested_str(ins_ramp), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[16]) { /* code */ 0x60140003, // 0000 GETGBL R5 G3 0x5C180000, // 0001 MOVE R6 R0 @@ -132,9 +132,9 @@ be_local_class(Animate_from_to, &be_class_Animate_engine, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("init", 380752755, 4, -1), be_const_closure(Animate_from_to_init_closure) }, + { be_const_key(init, -1), be_const_closure(Animate_from_to_init_closure) }, })), - (be_nested_const_str("Animate_from_to", 1699049867, 15)) + be_str_literal("Animate_from_to") ); /******************************************************************** @@ -151,18 +151,18 @@ be_local_closure(Animate_back_forth_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ - /* K0 */ be_nested_string("init", 380752755, 4), - /* K1 */ be_nested_string("closure", 1548407746, 7), - /* K2 */ be_nested_string("code", -114201356, 4), - /* K3 */ be_nested_string("push", -2022703139, 4), - /* K4 */ be_nested_string("animate", -409180496, 7), - /* K5 */ be_nested_string("ins_ramp", 1068049360, 8), + /* K0 */ be_nested_str(init), + /* K1 */ be_nested_str(closure), + /* K2 */ be_nested_str(code), + /* K3 */ be_nested_str(push), + /* K4 */ be_nested_str(animate), + /* K5 */ be_nested_str(ins_ramp), /* K6 */ be_const_int(2), - /* K7 */ be_nested_string("ins_goto", 1342843963, 8), + /* K7 */ be_nested_str(ins_goto), /* K8 */ be_const_int(0), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[34]) { /* code */ 0x60140003, // 0000 GETGBL R5 G3 0x5C180000, // 0001 MOVE R6 R0 @@ -213,9 +213,9 @@ be_local_class(Animate_back_forth, &be_class_Animate_engine, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("init", 380752755, 4, -1), be_const_closure(Animate_back_forth_init_closure) }, + { be_const_key(init, -1), be_const_closure(Animate_back_forth_init_closure) }, })), - (be_nested_const_str("Animate_back_forth", 5319526, 18)) + be_str_literal("Animate_back_forth") ); /******************************************************************** @@ -232,12 +232,12 @@ be_local_closure(Animate_ins_goto_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("pc_rel", 991921176, 6), - /* K1 */ be_nested_string("pc_abs", 920256495, 6), - /* K2 */ be_nested_string("duration", 799079693, 8), + /* K0 */ be_nested_str(pc_rel), + /* K1 */ be_nested_str(pc_abs), + /* K2 */ be_nested_str(duration), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x90020001, // 0000 SETMBR R0 K0 R1 0x90020202, // 0001 SETMBR R0 K1 R2 @@ -257,12 +257,12 @@ be_local_class(Animate_ins_goto, NULL, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("pc_rel", 991921176, 6, -1), be_const_var(0) }, - { be_nested_key("duration", 799079693, 8, -1), be_const_var(2) }, - { be_nested_key("pc_abs", 920256495, 6, -1), be_const_var(1) }, - { be_nested_key("init", 380752755, 4, 2), be_const_closure(Animate_ins_goto_init_closure) }, + { be_const_key(pc_rel, -1), be_const_var(0) }, + { be_const_key(duration, -1), be_const_var(2) }, + { be_const_key(pc_abs, -1), be_const_var(1) }, + { be_const_key(init, 2), be_const_closure(Animate_ins_goto_init_closure) }, })), - (be_nested_const_str("Animate_ins_goto", 1667367043, 16)) + be_str_literal("Animate_ins_goto") ); /******************************************************************** @@ -279,12 +279,12 @@ be_local_closure(Animate_ins_ramp_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("a", -468965076, 1), - /* K1 */ be_nested_string("b", -418632219, 1), - /* K2 */ be_nested_string("duration", 799079693, 8), + /* K0 */ be_nested_str(a), + /* K1 */ be_nested_str(b), + /* K2 */ be_nested_str(duration), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x90020001, // 0000 SETMBR R0 K0 R1 0x90020202, // 0001 SETMBR R0 K1 R2 @@ -304,12 +304,12 @@ be_local_class(Animate_ins_ramp, NULL, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("a", -468965076, 1, -1), be_const_var(0) }, - { be_nested_key("b", -418632219, 1, 2), be_const_var(1) }, - { be_nested_key("duration", 799079693, 8, -1), be_const_var(2) }, - { be_nested_key("init", 380752755, 4, -1), be_const_closure(Animate_ins_ramp_init_closure) }, + { be_const_key(a, -1), be_const_var(0) }, + { be_const_key(b, 2), be_const_var(1) }, + { be_const_key(duration, -1), be_const_var(2) }, + { be_const_key(init, -1), be_const_closure(Animate_ins_ramp_init_closure) }, })), - (be_nested_const_str("Animate_ins_ramp", 785058280, 16)) + be_str_literal("Animate_ins_ramp") ); /******************************************************************** @@ -326,15 +326,15 @@ be_local_closure(Animate_engine_run, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_string("tasmota", 424643812, 7), - /* K1 */ be_nested_string("millis", 1214679063, 6), - /* K2 */ be_nested_string("value", 1113510858, 5), - /* K3 */ be_nested_string("ins_time", -1314721743, 8), - /* K4 */ be_nested_string("running", 343848780, 7), - /* K5 */ be_nested_string("add_driver", 1654458371, 10), + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(millis), + /* K2 */ be_nested_str(value), + /* K3 */ be_nested_str(ins_time), + /* K4 */ be_nested_str(running), + /* K5 */ be_nested_str(add_driver), }), - (be_nested_const_str("run", 718098122, 3)), - ((bstring*) &be_const_str_input), + &be_const_str_run, + &be_const_str_solidified, ( &(const binstruction[19]) { /* code */ 0x4C0C0000, // 0000 LDNIL R3 0x1C0C0203, // 0001 EQ R3 R1 R3 @@ -375,14 +375,14 @@ be_local_closure(Animate_engine_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_string("code", -114201356, 4), - /* K1 */ be_nested_string("pc", 1313756516, 2), + /* K0 */ be_nested_str(code), + /* K1 */ be_nested_str(pc), /* K2 */ be_const_int(0), - /* K3 */ be_nested_string("ins_time", -1314721743, 8), - /* K4 */ be_nested_string("running", 343848780, 7), + /* K3 */ be_nested_str(ins_time), + /* K4 */ be_nested_str(running), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[ 8]) { /* code */ 0x60040012, // 0000 GETGBL R1 G18 0x7C040000, // 0001 CALL R1 0 @@ -412,12 +412,12 @@ be_local_closure(Animate_engine_autorun, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("run", 718098122, 3), - /* K1 */ be_nested_string("tasmota", 424643812, 7), - /* K2 */ be_nested_string("add_driver", 1654458371, 10), + /* K0 */ be_nested_str(run), + /* K1 */ be_nested_str(tasmota), + /* K2 */ be_nested_str(add_driver), }), - (be_nested_const_str("autorun", 1447527407, 7)), - ((bstring*) &be_const_str_input), + &be_const_str_autorun, + &be_const_str_solidified, ( &(const binstruction[ 9]) { /* code */ 0x8C0C0100, // 0000 GETMET R3 R0 K0 0x5C140200, // 0001 MOVE R5 R1 @@ -448,12 +448,12 @@ be_local_closure(Animate_engine_stop, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("running", 343848780, 7), - /* K1 */ be_nested_string("tasmota", 424643812, 7), - /* K2 */ be_nested_string("remove_driver", 1030243768, 13), + /* K0 */ be_nested_str(running), + /* K1 */ be_nested_str(tasmota), + /* K2 */ be_nested_str(remove_driver), }), - (be_nested_const_str("stop", -883741979, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_stop, + &be_const_str_solidified, ( &(const binstruction[ 7]) { /* code */ 0x50040000, // 0000 LDBOOL R1 0 0 0x90020001, // 0001 SETMBR R0 K0 R1 @@ -482,10 +482,10 @@ be_local_closure(Animate_engine_is_running, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("running", 343848780, 7), + /* K0 */ be_nested_str(running), }), - (be_nested_const_str("is_running", -2068120035, 10)), - ((bstring*) &be_const_str_input), + &be_const_str_is_running, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x80040200, // 0001 RET 1 R1 @@ -509,10 +509,10 @@ be_local_closure(Animate_engine_every_50ms, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("animate", -409180496, 7), + /* K0 */ be_nested_str(animate), }), - (be_nested_const_str("every_50ms", -1911083288, 10)), - ((bstring*) &be_const_str_input), + &be_const_str_every_50ms, + &be_const_str_solidified, ( &(const binstruction[ 3]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x7C040200, // 0001 CALL R1 1 @@ -537,31 +537,31 @@ be_local_closure(Animate_engine_animate, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[22]) { /* constants */ - /* K0 */ be_nested_string("running", 343848780, 7), - /* K1 */ be_nested_string("tasmota", 424643812, 7), - /* K2 */ be_nested_string("millis", 1214679063, 6), - /* K3 */ be_nested_string("ins_time", -1314721743, 8), - /* K4 */ be_nested_string("pc", 1313756516, 2), - /* K5 */ be_nested_string("code", -114201356, 4), + /* K0 */ be_nested_str(running), + /* K1 */ be_nested_str(tasmota), + /* K2 */ be_nested_str(millis), + /* K3 */ be_nested_str(ins_time), + /* K4 */ be_nested_str(pc), + /* K5 */ be_nested_str(code), /* K6 */ be_const_int(0), - /* K7 */ be_nested_string("internal_error", -1775809127, 14), - /* K8 */ be_nested_string("Animate pc is out of range", 1854929421, 26), - /* K9 */ be_nested_string("animate", -409180496, 7), - /* K10 */ be_nested_string("ins_ramp", 1068049360, 8), - /* K11 */ be_nested_string("closure", 1548407746, 7), - /* K12 */ be_nested_string("duration", 799079693, 8), - /* K13 */ be_nested_string("value", 1113510858, 5), - /* K14 */ be_nested_string("scale_uint", -1204156202, 10), - /* K15 */ be_nested_string("a", -468965076, 1), - /* K16 */ be_nested_string("b", -418632219, 1), + /* K7 */ be_nested_str(internal_error), + /* K8 */ be_nested_str(Animate_X20pc_X20is_X20out_X20of_X20range), + /* K9 */ be_nested_str(animate), + /* K10 */ be_nested_str(ins_ramp), + /* K11 */ be_nested_str(closure), + /* K12 */ be_nested_str(duration), + /* K13 */ be_nested_str(value), + /* K14 */ be_nested_str(scale_uint), + /* K15 */ be_nested_str(a), + /* K16 */ be_nested_str(b), /* K17 */ be_const_int(1), - /* K18 */ be_nested_string("ins_goto", 1342843963, 8), - /* K19 */ be_nested_string("pc_rel", 991921176, 6), - /* K20 */ be_nested_string("pc_abs", 920256495, 6), - /* K21 */ be_nested_string("unknown instruction", 1093911841, 19), + /* K18 */ be_nested_str(ins_goto), + /* K19 */ be_nested_str(pc_rel), + /* K20 */ be_nested_str(pc_abs), + /* K21 */ be_nested_str(unknown_X20instruction), }), - (be_nested_const_str("animate", -409180496, 7)), - ((bstring*) &be_const_str_input), + &be_const_str_animate, + &be_const_str_solidified, ( &(const binstruction[99]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x740A0000, // 0001 JMPT R2 #0003 @@ -676,21 +676,21 @@ be_local_class(Animate_engine, NULL, be_nested_map(13, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("code", -114201356, 4, -1), be_const_var(0) }, - { be_nested_key("run", 718098122, 3, 4), be_const_closure(Animate_engine_run_closure) }, - { be_nested_key("running", 343848780, 7, 8), be_const_var(4) }, - { be_nested_key("init", 380752755, 4, -1), be_const_closure(Animate_engine_init_closure) }, - { be_nested_key("autorun", 1447527407, 7, -1), be_const_closure(Animate_engine_autorun_closure) }, - { be_nested_key("value", 1113510858, 5, -1), be_const_var(5) }, - { be_nested_key("stop", -883741979, 4, 3), be_const_closure(Animate_engine_stop_closure) }, - { be_nested_key("pc", 1313756516, 2, -1), be_const_var(2) }, - { be_nested_key("is_running", -2068120035, 10, 11), be_const_closure(Animate_engine_is_running_closure) }, - { be_nested_key("every_50ms", -1911083288, 10, 10), be_const_closure(Animate_engine_every_50ms_closure) }, - { be_nested_key("animate", -409180496, 7, -1), be_const_closure(Animate_engine_animate_closure) }, - { be_nested_key("closure", 1548407746, 7, -1), be_const_var(1) }, - { be_nested_key("ins_time", -1314721743, 8, 9), be_const_var(3) }, + { be_const_key(code, -1), be_const_var(0) }, + { be_const_key(run, 4), be_const_closure(Animate_engine_run_closure) }, + { be_const_key(running, 8), be_const_var(4) }, + { be_const_key(init, -1), be_const_closure(Animate_engine_init_closure) }, + { be_const_key(autorun, -1), be_const_closure(Animate_engine_autorun_closure) }, + { be_const_key(value, -1), be_const_var(5) }, + { be_const_key(stop, 3), be_const_closure(Animate_engine_stop_closure) }, + { be_const_key(pc, -1), be_const_var(2) }, + { be_const_key(is_running, 11), be_const_closure(Animate_engine_is_running_closure) }, + { be_const_key(every_50ms, 10), be_const_closure(Animate_engine_every_50ms_closure) }, + { be_const_key(animate, -1), be_const_closure(Animate_engine_animate_closure) }, + { be_const_key(closure, -1), be_const_var(1) }, + { be_const_key(ins_time, 9), be_const_var(3) }, })), - (be_nested_const_str("Animate_engine", 1498417667, 14)) + be_str_literal("Animate_engine") ); /******************************************************************** @@ -700,12 +700,12 @@ be_local_module(animate, "animate", be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("rotate", -1510671094, 6, 2), be_const_class(be_class_Animate_rotate) }, - { be_nested_key("from_to", 21625507, 7, 3), be_const_class(be_class_Animate_from_to) }, - { be_nested_key("back_forth", -1629925234, 10, -1), be_const_class(be_class_Animate_back_forth) }, - { be_nested_key("ins_goto", 1342843963, 8, -1), be_const_class(be_class_Animate_ins_goto) }, - { be_nested_key("ins_ramp", 1068049360, 8, -1), be_const_class(be_class_Animate_ins_ramp) }, - { be_nested_key("engine", -301606853, 6, -1), be_const_class(be_class_Animate_engine) }, + { be_const_key(rotate, 2), be_const_class(be_class_Animate_rotate) }, + { be_const_key(from_to, 3), be_const_class(be_class_Animate_from_to) }, + { be_const_key(back_forth, -1), be_const_class(be_class_Animate_back_forth) }, + { be_const_key(ins_goto, -1), be_const_class(be_class_Animate_ins_goto) }, + { be_const_key(ins_ramp, -1), be_const_class(be_class_Animate_ins_ramp) }, + { be_const_key(engine, -1), be_const_class(be_class_Animate_engine) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(animate); diff --git a/lib/libesp32/Berry/default/be_autoconf_lib.c b/lib/libesp32/Berry/default/be_autoconf_lib.c index 3d864a988..da41707c7 100644 --- a/lib/libesp32/Berry/default/be_autoconf_lib.c +++ b/lib/libesp32/Berry/default/be_autoconf_lib.c @@ -10,7 +10,7 @@ /******************************************************************** ** Solidified function: page_autoconf_ctl ********************************************************************/ -be_local_closure(page_autoconf_ctl, /* name */ +be_local_closure(Autoconf_page_autoconf_ctl, /* name */ be_nested_proto( 13, /* nstack */ 1, /* argc */ @@ -21,50 +21,50 @@ be_local_closure(page_autoconf_ctl, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[41]) { /* constants */ - /* K0 */ be_nested_string("webserver", 1572454038, 9), - /* K1 */ be_nested_string("string", 398550328, 6), - /* K2 */ be_nested_string("path", -2071507658, 4), - /* K3 */ be_nested_string("check_privileged_access", -602033328, 23), - /* K4 */ be_nested_string("has_arg", 424878688, 7), - /* K5 */ be_nested_string("reapply", -516027964, 7), - /* K6 */ be_nested_string("tasmota", 424643812, 7), - /* K7 */ be_nested_string("log", 1062293841, 3), - /* K8 */ be_nested_string("CFG: removing first time marker", 2125556683, 31), + /* K0 */ be_nested_str(webserver), + /* K1 */ be_nested_str(string), + /* K2 */ be_nested_str(path), + /* K3 */ be_nested_str(check_privileged_access), + /* K4 */ be_nested_str(has_arg), + /* K5 */ be_nested_str(reapply), + /* K6 */ be_nested_str(tasmota), + /* K7 */ be_nested_str(log), + /* K8 */ be_nested_str(CFG_X3A_X20removing_X20first_X20time_X20marker), /* K9 */ be_const_int(2), - /* K10 */ be_nested_string("clear_first_time", 632769909, 16), - /* K11 */ be_nested_string("redirect", 389758641, 8), - /* K12 */ be_nested_string("/?rst=", 580074707, 6), - /* K13 */ be_nested_string("zip", -1417514060, 3), - /* K14 */ be_nested_string("CFG: removing autoconf files", -280262326, 28), - /* K15 */ be_nested_string("delete_all_configs", -1912899718, 18), - /* K16 */ be_nested_string("arg", 1047474471, 3), - /* K17 */ be_nested_string("reset", 1695364032, 5), - /* K18 */ be_nested_string("format", -1180859054, 6), - /* K19 */ be_nested_string("https://raw.githubusercontent.com/tasmota/autoconf/main/%s/%s.autoconf", -1551440987, 70), - /* K20 */ be_nested_string("arch", -1342162999, 4), - /* K21 */ be_nested_string("CFG: downloading '%s'", 589480701, 21), - /* K22 */ be_nested_string("%s.autoconf", -734583772, 11), - /* K23 */ be_nested_string("webclient", -218578150, 9), - /* K24 */ be_nested_string("begin", 1748273790, 5), - /* K25 */ be_nested_string("GET", -1763262857, 3), - /* K26 */ be_nested_string("return code=%i", 2127454401, 14), - /* K27 */ be_nested_string("connection_error", 1358926260, 16), - /* K28 */ be_nested_string("write_file", -1117308417, 10), - /* K29 */ be_nested_string("close", 667630371, 5), - /* K30 */ be_nested_string("value_error", 773297791, 11), - /* K31 */ be_nested_string("Unknown command", 1830905432, 15), - /* K32 */ be_nested_string("CFG: Exception> '%s' - %s", 1228874553, 25), - /* K33 */ be_nested_string("content_start", -1357458227, 13), - /* K34 */ be_nested_string("Parameter error", -454925258, 15), - /* K35 */ be_nested_string("content_send_style", 1087907647, 18), - /* K36 */ be_nested_string("content_send", 1673733649, 12), - /* K37 */ be_nested_string("

Exception:
'%s'
%s

", -42402214, 59), - /* K38 */ be_nested_string("content_button", 1956476087, 14), - /* K39 */ be_nested_string("BUTTON_CONFIGURATION", 70820856, 20), - /* K40 */ be_nested_string("content_stop", 658554751, 12), + /* K10 */ be_nested_str(clear_first_time), + /* K11 */ be_nested_str(redirect), + /* K12 */ be_nested_str(_X2F_X3Frst_X3D), + /* K13 */ be_nested_str(zip), + /* K14 */ be_nested_str(CFG_X3A_X20removing_X20autoconf_X20files), + /* K15 */ be_nested_str(delete_all_configs), + /* K16 */ be_nested_str(arg), + /* K17 */ be_nested_str(reset), + /* K18 */ be_nested_str(format), + /* K19 */ be_nested_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_X2F_X25s_X2Eautoconf), + /* K20 */ be_nested_str(arch), + /* K21 */ be_nested_str(CFG_X3A_X20downloading_X20_X27_X25s_X27), + /* K22 */ be_nested_str(_X25s_X2Eautoconf), + /* K23 */ be_nested_str(webclient), + /* K24 */ be_nested_str(begin), + /* K25 */ be_nested_str(GET), + /* K26 */ be_nested_str(return_X20code_X3D_X25i), + /* K27 */ be_nested_str(connection_error), + /* K28 */ be_nested_str(write_file), + /* K29 */ be_nested_str(close), + /* K30 */ be_nested_str(value_error), + /* K31 */ be_nested_str(Unknown_X20command), + /* K32 */ be_nested_str(CFG_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), + /* K33 */ be_nested_str(content_start), + /* K34 */ be_nested_str(Parameter_X20error), + /* K35 */ be_nested_str(content_send_style), + /* K36 */ be_nested_str(content_send), + /* K37 */ be_nested_str(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E), + /* K38 */ be_nested_str(content_button), + /* K39 */ be_nested_str(BUTTON_CONFIGURATION), + /* K40 */ be_nested_str(content_stop), }), - (be_nested_const_str("page_autoconf_ctl", -1841585800, 17)), - ((bstring*) &be_const_str_input), + &be_const_str_page_autoconf_ctl, + &be_const_str_solidified, ( &(const binstruction[117]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0xA40A0200, // 0001 IMPORT R2 K1 @@ -192,7 +192,7 @@ be_local_closure(page_autoconf_ctl, /* name */ /******************************************************************** ** Solidified function: autoexec ********************************************************************/ -be_local_closure(autoexec, /* name */ +be_local_closure(Autoconf_autoexec, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -203,41 +203,41 @@ be_local_closure(autoexec, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[32]) { /* constants */ - /* K0 */ be_nested_string("_archive", -290407892, 8), - /* K1 */ be_nested_string("path", -2071507658, 4), - /* K2 */ be_nested_string("#init.bat", -997372219, 9), - /* K3 */ be_nested_string("is_first_time", 275242384, 13), - /* K4 */ be_nested_string("exists", 1002329533, 6), - /* K5 */ be_nested_string("set_first_time", -1183719746, 14), - /* K6 */ be_nested_string("run_bat", -1758063998, 7), - /* K7 */ be_nested_string("tasmota", 424643812, 7), - /* K8 */ be_nested_string("log", 1062293841, 3), - /* K9 */ be_nested_string("CFG: 'init.bat' done, restarting", 1569670677, 32), + /* K0 */ be_nested_str(_archive), + /* K1 */ be_nested_str(path), + /* K2 */ be_nested_str(_X23init_X2Ebat), + /* K3 */ be_nested_str(is_first_time), + /* K4 */ be_nested_str(exists), + /* K5 */ be_nested_str(set_first_time), + /* K6 */ be_nested_str(run_bat), + /* K7 */ be_nested_str(tasmota), + /* K8 */ be_nested_str(log), + /* K9 */ be_nested_str(CFG_X3A_X20_X27init_X2Ebat_X27_X20done_X2C_X20restarting), /* K10 */ be_const_int(2), - /* K11 */ be_nested_string("cmd", -158181397, 3), - /* K12 */ be_nested_string("Restart 1", -790511441, 9), - /* K13 */ be_nested_string("#display.ini", 182218220, 12), - /* K14 */ be_nested_string("gpio", -1656812038, 4), - /* K15 */ be_nested_string("pin_used", -261112684, 8), - /* K16 */ be_nested_string("OPTION_A", 1133299440, 8), - /* K17 */ be_nested_string("display.ini", -1648793295, 11), - /* K18 */ be_nested_string("CFG: skipping 'display.ini' because already present in file-system", -329418032, 66), - /* K19 */ be_nested_string("display", 1164572437, 7), - /* K20 */ be_nested_string("r", -150190315, 1), - /* K21 */ be_nested_string("read", -824204347, 4), - /* K22 */ be_nested_string("close", 667630371, 5), - /* K23 */ be_nested_string("start", 1697318111, 5), - /* K24 */ be_nested_string("#autoexec.bat", -912076799, 13), - /* K25 */ be_nested_string("CFG: running ", -1816632762, 13), + /* K11 */ be_nested_str(cmd), + /* K12 */ be_nested_str(Restart_X201), + /* K13 */ be_nested_str(_X23display_X2Eini), + /* K14 */ be_nested_str(gpio), + /* K15 */ be_nested_str(pin_used), + /* K16 */ be_nested_str(OPTION_A), + /* K17 */ be_nested_str(display_X2Eini), + /* K18 */ be_nested_str(CFG_X3A_X20skipping_X20_X27display_X2Eini_X27_X20because_X20already_X20present_X20in_X20file_X2Dsystem), + /* K19 */ be_nested_str(display), + /* K20 */ be_nested_str(r), + /* K21 */ be_nested_str(read), + /* K22 */ be_nested_str(close), + /* K23 */ be_nested_str(start), + /* K24 */ be_nested_str(_X23autoexec_X2Ebat), + /* K25 */ be_nested_str(CFG_X3A_X20running_X20), /* K26 */ be_const_int(3), - /* K27 */ be_nested_string("CFG: ran ", -715396824, 10), - /* K28 */ be_nested_string("#autoexec.be", 1181757091, 12), - /* K29 */ be_nested_string("CFG: loading ", -284605793, 13), - /* K30 */ be_nested_string("load", -435725847, 4), - /* K31 */ be_nested_string("CFG: loaded ", -584693758, 13), + /* K27 */ be_nested_str(CFG_X3A_X20ran_X20_X20), + /* K28 */ be_nested_str(_X23autoexec_X2Ebe), + /* K29 */ be_nested_str(CFG_X3A_X20loading_X20), + /* K30 */ be_nested_str(load), + /* K31 */ be_nested_str(CFG_X3A_X20loaded_X20_X20), }), - (be_nested_const_str("autoexec", -618105405, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_autoexec, + &be_const_str_solidified, ( &(const binstruction[107]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x4C080000, // 0001 LDNIL R2 @@ -355,7 +355,7 @@ be_local_closure(autoexec, /* name */ /******************************************************************** ** Solidified function: run_bat ********************************************************************/ -be_local_closure(run_bat, /* name */ +be_local_closure(Autoconf_run_bat, /* name */ be_nested_proto( 13, /* nstack */ 2, /* argc */ @@ -366,19 +366,19 @@ be_local_closure(run_bat, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_string("string", 398550328, 6), - /* K1 */ be_nested_string("r", -150190315, 1), - /* K2 */ be_nested_string("readline", 1212709927, 8), + /* K0 */ be_nested_str(string), + /* K1 */ be_nested_str(r), + /* K2 */ be_nested_str(readline), /* K3 */ be_const_int(0), - /* K4 */ be_nested_string("\n", 252472541, 1), - /* K5 */ be_nested_string("tasmota", 424643812, 7), - /* K6 */ be_nested_string("cmd", -158181397, 3), - /* K7 */ be_nested_string("close", 667630371, 5), - /* K8 */ be_nested_string("format", -1180859054, 6), - /* K9 */ be_nested_string("CFG: could not run %s (%s - %s)", 1428829580, 31), + /* K4 */ be_nested_str(_X0A), + /* K5 */ be_nested_str(tasmota), + /* K6 */ be_nested_str(cmd), + /* K7 */ be_nested_str(close), + /* K8 */ be_nested_str(format), + /* K9 */ be_nested_str(CFG_X3A_X20could_X20not_X20run_X20_X25s_X20_X28_X25s_X20_X2D_X20_X25s_X29), }), - (be_nested_const_str("run_bat", -1758063998, 7)), - ((bstring*) &be_const_str_input), + &be_const_str_run_bat, + &be_const_str_solidified, ( &(const binstruction[54]) { /* code */ 0xA40A0000, // 0000 IMPORT R2 K0 0x4C0C0000, // 0001 LDNIL R3 @@ -443,7 +443,7 @@ be_local_closure(run_bat, /* name */ /******************************************************************** ** Solidified function: page_autoconf_mgr ********************************************************************/ -be_local_closure(page_autoconf_mgr, /* name */ +be_local_closure(Autoconf_page_autoconf_mgr, /* name */ be_nested_proto( 19, /* nstack */ 1, /* argc */ @@ -454,48 +454,48 @@ be_local_closure(page_autoconf_mgr, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[39]) { /* constants */ - /* K0 */ be_nested_string("webserver", 1572454038, 9), - /* K1 */ be_nested_string("string", 398550328, 6), - /* K2 */ be_nested_string("check_privileged_access", -602033328, 23), - /* K3 */ be_nested_string("content_start", -1357458227, 13), - /* K4 */ be_nested_string("Auto-configuration", 1665006109, 18), - /* K5 */ be_nested_string("content_send_style", 1087907647, 18), - /* K6 */ be_nested_string("content_send", 1673733649, 12), - /* K7 */ be_nested_string("

 (This feature requires an internet connection)

", -1575700810, 74), - /* K8 */ be_nested_string("get_current_module_path", -1088293888, 23), - /* K9 */ be_nested_string("tr", 1195724803, 2), - /* K10 */ be_nested_string("get_current_module_name", -1915696556, 23), - /* K11 */ be_nested_string("_", -636741266, 1), - /* K12 */ be_nested_string(" ", 621580159, 1), - /* K13 */ be_nested_string("_error", 1132109656, 6), - /* K14 */ be_nested_string("<Error: apply new or remove>", -1439459347, 34), - /* K15 */ be_nested_string("<None>", -1692801798, 12), - /* K16 */ be_nested_string("
", 842307168, 77), - /* K17 */ be_nested_string("format", -1180859054, 6), - /* K18 */ be_nested_string(" Current auto-configuration", -82466516, 82), - /* K19 */ be_nested_string("

Current configuration:

%s

", -179311535, 46), - /* K20 */ be_nested_string("

", 232646018, 57), - /* K22 */ be_nested_string("", -1147033080, 82), - /* K23 */ be_nested_string("

", -748395557, 11), - /* K24 */ be_nested_string("

", 2052843416, 25), - /* K25 */ be_nested_string(" Select new auto-configuration", 1926223891, 80), - /* K26 */ be_nested_string("

", -502554737, 94), - /* K28 */ be_nested_string("
", 1336654704, 49), - /* K29 */ be_nested_string("

", 1863865923, 16), - /* K35 */ be_nested_string("", 1205771629, 72), - /* K36 */ be_nested_string("content_button", 1956476087, 14), - /* K37 */ be_nested_string("BUTTON_CONFIGURATION", 70820856, 20), - /* K38 */ be_nested_string("content_stop", 658554751, 12), + /* K0 */ be_nested_str(webserver), + /* K1 */ be_nested_str(string), + /* K2 */ be_nested_str(check_privileged_access), + /* K3 */ be_nested_str(content_start), + /* K4 */ be_nested_str(Auto_X2Dconfiguration), + /* K5 */ be_nested_str(content_send_style), + /* K6 */ be_nested_str(content_send), + /* K7 */ be_nested_str(_X3Cp_X3E_X3Csmall_X3E_X26nbsp_X3B_X28This_X20feature_X20requires_X20an_X20internet_X20connection_X29_X3C_X2Fsmall_X3E_X3C_X2Fp_X3E), + /* K8 */ be_nested_str(get_current_module_path), + /* K9 */ be_nested_str(tr), + /* K10 */ be_nested_str(get_current_module_name), + /* K11 */ be_nested_str(_), + /* K12 */ be_nested_str(_X20), + /* K13 */ be_nested_str(_error), + /* K14 */ be_nested_str(_X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B), + /* K15 */ be_nested_str(_X26lt_X3BNone_X26gt_X3B), + /* K16 */ be_nested_str(_X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E), + /* K17 */ be_nested_str(format), + /* K18 */ be_nested_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E), + /* K19 */ be_nested_str(_X3Cp_X3ECurrent_X20configuration_X3A_X20_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E), + /* K20 */ be_nested_str(_X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20), + /* K21 */ be_nested_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E), + /* K22 */ be_nested_str(_X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E), + /* K23 */ be_nested_str(_X3C_X2Fform_X3E_X3C_X2Fp_X3E), + /* K24 */ be_nested_str(_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K25 */ be_nested_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E), + /* K26 */ be_nested_str(_X3Cp_X3E_X3Cform_X20id_X3Dzip_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20), + /* K27 */ be_nested_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20change_X20the_X20current_X20configuration_X20and_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E), + /* K28 */ be_nested_str(_X3Clabel_X3EChoose_X20a_X20device_X20configuration_X3A_X3C_X2Flabel_X3E_X3Cbr_X3E), + /* K29 */ be_nested_str(_X3Cselect_X20name_X3D_X27zip_X27_X3E), + /* K30 */ be_nested_str(load_templates), + /* K31 */ be_nested_str(_X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E), + /* K32 */ be_nested_str(_X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E), + /* K33 */ be_nested_str(stop_iteration), + /* K34 */ be_nested_str(_X3C_X2Fselect_X3E_X3Cp_X3E_X3C_X2Fp_X3E), + /* K35 */ be_nested_str(_X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E), + /* K36 */ be_nested_str(content_button), + /* K37 */ be_nested_str(BUTTON_CONFIGURATION), + /* K38 */ be_nested_str(content_stop), }), - (be_nested_const_str("page_autoconf_mgr", -651030265, 17)), - ((bstring*) &be_const_str_input), + &be_const_str_page_autoconf_mgr, + &be_const_str_solidified, ( &(const binstruction[124]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0xA40A0200, // 0001 IMPORT R2 K1 @@ -630,7 +630,7 @@ be_local_closure(page_autoconf_mgr, /* name */ /******************************************************************** ** Solidified function: get_current_module_name ********************************************************************/ -be_local_closure(get_current_module_name, /* name */ +be_local_closure(Autoconf_get_current_module_name, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -641,11 +641,11 @@ be_local_closure(get_current_module_name, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("_archive", -290407892, 8), + /* K0 */ be_nested_str(_archive), /* K1 */ be_const_int(0), }), - (be_nested_const_str("get_current_module_name", -1915696556, 23)), - ((bstring*) &be_const_str_input), + &be_const_str_get_current_module_name, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x5405FFF5, // 0000 LDINT R1 -10 0x40060201, // 0001 CONNECT R1 K1 R1 @@ -661,7 +661,7 @@ be_local_closure(get_current_module_name, /* name */ /******************************************************************** ** Solidified function: delete_all_configs ********************************************************************/ -be_local_closure(delete_all_configs, /* name */ +be_local_closure(Autoconf_delete_all_configs, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -672,18 +672,18 @@ be_local_closure(delete_all_configs, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ - /* K0 */ be_nested_string("path", -2071507658, 4), - /* K1 */ be_nested_string("string", 398550328, 6), - /* K2 */ be_nested_string("listdir", 2005220720, 7), - /* K3 */ be_nested_string("/", 705468254, 1), - /* K4 */ be_nested_string("find", -1108310694, 4), - /* K5 */ be_nested_string(".autoconf", -1770288208, 9), + /* K0 */ be_nested_str(path), + /* K1 */ be_nested_str(string), + /* K2 */ be_nested_str(listdir), + /* K3 */ be_nested_str(_X2F), + /* K4 */ be_nested_str(find), + /* K5 */ be_nested_str(_X2Eautoconf), /* K6 */ be_const_int(0), - /* K7 */ be_nested_string("remove", -611183107, 6), - /* K8 */ be_nested_string("stop_iteration", -121173395, 14), + /* K7 */ be_nested_str(remove), + /* K8 */ be_nested_str(stop_iteration), }), - (be_nested_const_str("delete_all_configs", -1912899718, 18)), - ((bstring*) &be_const_str_input), + &be_const_str_delete_all_configs, + &be_const_str_solidified, ( &(const binstruction[25]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0xA40A0200, // 0001 IMPORT R2 K1 @@ -719,7 +719,7 @@ be_local_closure(delete_all_configs, /* name */ /******************************************************************** ** Solidified function: set_first_time ********************************************************************/ -be_local_closure(set_first_time, /* name */ +be_local_closure(Autoconf_set_first_time, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -730,12 +730,12 @@ be_local_closure(set_first_time, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("/.autoconf", -2082892903, 10), - /* K1 */ be_nested_string("w", -234078410, 1), - /* K2 */ be_nested_string("close", 667630371, 5), + /* K0 */ be_nested_str(_X2F_X2Eautoconf), + /* K1 */ be_nested_str(w), + /* K2 */ be_nested_str(close), }), - (be_nested_const_str("set_first_time", -1183719746, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_set_first_time, + &be_const_str_solidified, ( &(const binstruction[ 7]) { /* code */ 0x60040011, // 0000 GETGBL R1 G17 0x58080000, // 0001 LDCONST R2 K0 @@ -753,7 +753,7 @@ be_local_closure(set_first_time, /* name */ /******************************************************************** ** Solidified function: load_templates ********************************************************************/ -be_local_closure(load_templates, /* name */ +be_local_closure(Autoconf_load_templates, /* name */ be_nested_proto( 15, /* nstack */ 1, /* argc */ @@ -764,30 +764,30 @@ be_local_closure(load_templates, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[21]) { /* constants */ - /* K0 */ be_nested_string("string", 398550328, 6), - /* K1 */ be_nested_string("json", 916562499, 4), - /* K2 */ be_nested_string("format", -1180859054, 6), - /* K3 */ be_nested_string("https://raw.githubusercontent.com/tasmota/autoconf/main/%s_manifest.json", -637415251, 72), - /* K4 */ be_nested_string("tasmota", 424643812, 7), - /* K5 */ be_nested_string("arch", -1342162999, 4), - /* K6 */ be_nested_string("log", 1062293841, 3), - /* K7 */ be_nested_string("CFG: loading '%s'", -2009661199, 17), + /* K0 */ be_nested_str(string), + /* K1 */ be_nested_str(json), + /* K2 */ be_nested_str(format), + /* K3 */ be_nested_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_manifest_X2Ejson), + /* K4 */ be_nested_str(tasmota), + /* K5 */ be_nested_str(arch), + /* K6 */ be_nested_str(log), + /* K7 */ be_nested_str(CFG_X3A_X20loading_X20_X27_X25s_X27), /* K8 */ be_const_int(3), - /* K9 */ be_nested_string("webclient", -218578150, 9), - /* K10 */ be_nested_string("begin", 1748273790, 5), - /* K11 */ be_nested_string("GET", -1763262857, 3), - /* K12 */ be_nested_string("CFG: return_code=%i", 2059897320, 19), + /* K9 */ be_nested_str(webclient), + /* K10 */ be_nested_str(begin), + /* K11 */ be_nested_str(GET), + /* K12 */ be_nested_str(CFG_X3A_X20return_code_X3D_X25i), /* K13 */ be_const_int(2), - /* K14 */ be_nested_string("get_string", -99119327, 10), - /* K15 */ be_nested_string("close", 667630371, 5), - /* K16 */ be_nested_string("load", -435725847, 4), - /* K17 */ be_nested_string("CFG: loaded '%s'", 1699028828, 16), - /* K18 */ be_nested_string("find", -1108310694, 4), - /* K19 */ be_nested_string("files", 1055342736, 5), - /* K20 */ be_nested_string("CFG: exception '%s' - '%s'", -199559383, 26), + /* K14 */ be_nested_str(get_string), + /* K15 */ be_nested_str(close), + /* K16 */ be_nested_str(load), + /* K17 */ be_nested_str(CFG_X3A_X20loaded_X20_X27_X25s_X27), + /* K18 */ be_nested_str(find), + /* K19 */ be_nested_str(files), + /* K20 */ be_nested_str(CFG_X3A_X20exception_X20_X27_X25s_X27_X20_X2D_X20_X27_X25s_X27), }), - (be_nested_const_str("load_templates", -781097163, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_load_templates, + &be_const_str_solidified, ( &(const binstruction[86]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0xA40A0200, // 0001 IMPORT R2 K1 @@ -884,7 +884,7 @@ be_local_closure(load_templates, /* name */ /******************************************************************** ** Solidified function: web_add_config_button ********************************************************************/ -be_local_closure(web_add_config_button, /* name */ +be_local_closure(Autoconf_web_add_config_button, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -895,12 +895,12 @@ be_local_closure(web_add_config_button, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("webserver", 1572454038, 9), - /* K1 */ be_nested_string("content_send", 1673733649, 12), - /* K2 */ be_nested_string("

", 452285201, 120), + /* K0 */ be_nested_str(webserver), + /* K1 */ be_nested_str(content_send), + /* K2 */ be_nested_str(_X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3E_X26_X23129668_X3B_X20Auto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E), }), - (be_nested_const_str("web_add_config_button", 639674325, 21)), - ((bstring*) &be_const_str_input), + &be_const_str_web_add_config_button, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x8C080301, // 0001 GETMET R2 R1 K1 @@ -916,7 +916,7 @@ be_local_closure(web_add_config_button, /* name */ /******************************************************************** ** Solidified function: is_first_time ********************************************************************/ -be_local_closure(is_first_time, /* name */ +be_local_closure(Autoconf_is_first_time, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -927,12 +927,12 @@ be_local_closure(is_first_time, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("path", -2071507658, 4), - /* K1 */ be_nested_string("exists", 1002329533, 6), - /* K2 */ be_nested_string("/.autoconf", -2082892903, 10), + /* K0 */ be_nested_str(path), + /* K1 */ be_nested_str(exists), + /* K2 */ be_nested_str(_X2F_X2Eautoconf), }), - (be_nested_const_str("is_first_time", 275242384, 13)), - ((bstring*) &be_const_str_input), + &be_const_str_is_first_time, + &be_const_str_solidified, ( &(const binstruction[ 8]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x8C080301, // 0001 GETMET R2 R1 K1 @@ -951,7 +951,7 @@ be_local_closure(is_first_time, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(Autoconf_init, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -962,26 +962,26 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ - /* K0 */ be_nested_str_literal("path"), - /* K1 */ be_nested_str_literal("string"), - /* K2 */ be_nested_str_literal("listdir"), - /* K3 */ be_nested_str_literal("/"), - /* K4 */ be_nested_str_literal("tasmota"), - /* K5 */ be_nested_str_literal("add_driver"), + /* K0 */ be_nested_str(path), + /* K1 */ be_nested_str(string), + /* K2 */ be_nested_str(listdir), + /* K3 */ be_nested_str(_X2F), + /* K4 */ be_nested_str(tasmota), + /* K5 */ be_nested_str(add_driver), /* K6 */ be_const_int(0), - /* K7 */ be_nested_str_literal("find"), - /* K8 */ be_nested_str_literal(".autoconf"), - /* K9 */ be_nested_str_literal("format"), - /* K10 */ be_nested_str_literal("CFG: multiple autoconf files found, aborting ('%s' + '%s')"), - /* K11 */ be_nested_str_literal("_error"), + /* K7 */ be_nested_str(find), + /* K8 */ be_nested_str(_X2Eautoconf), + /* K9 */ be_nested_str(format), + /* K10 */ be_nested_str(CFG_X3A_X20multiple_X20autoconf_X20files_X20found_X2C_X20aborting_X20_X28_X27_X25s_X27_X20_X2B_X20_X27_X25s_X27_X29), + /* K11 */ be_nested_str(_error), /* K12 */ be_const_int(1), - /* K13 */ be_nested_str_literal("log"), - /* K14 */ be_nested_str_literal("CFG: no '*.autoconf' file found"), + /* K13 */ be_nested_str(log), + /* K14 */ be_nested_str(CFG_X3A_X20no_X20_X27_X2A_X2Eautoconf_X27_X20file_X20found), /* K15 */ be_const_int(2), - /* K16 */ be_nested_str_literal("_archive"), + /* K16 */ be_nested_str(_archive), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[51]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0xA40A0200, // 0001 IMPORT R2 K1 @@ -1043,7 +1043,7 @@ be_local_closure(init, /* name */ /******************************************************************** ** Solidified function: preinit ********************************************************************/ -be_local_closure(preinit, /* name */ +be_local_closure(Autoconf_preinit, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1054,19 +1054,19 @@ be_local_closure(preinit, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_string("_archive", -290407892, 8), - /* K1 */ be_nested_string("path", -2071507658, 4), - /* K2 */ be_nested_string("#preinit.be", 687035716, 11), - /* K3 */ be_nested_string("exists", 1002329533, 6), - /* K4 */ be_nested_string("tasmota", 424643812, 7), - /* K5 */ be_nested_string("log", 1062293841, 3), - /* K6 */ be_nested_string("CFG: loading ", -284605793, 13), + /* K0 */ be_nested_str(_archive), + /* K1 */ be_nested_str(path), + /* K2 */ be_nested_str(_X23preinit_X2Ebe), + /* K3 */ be_nested_str(exists), + /* K4 */ be_nested_str(tasmota), + /* K5 */ be_nested_str(log), + /* K6 */ be_nested_str(CFG_X3A_X20loading_X20), /* K7 */ be_const_int(3), - /* K8 */ be_nested_string("load", -435725847, 4), - /* K9 */ be_nested_string("CFG: loaded ", -584693758, 13), + /* K8 */ be_nested_str(load), + /* K9 */ be_nested_str(CFG_X3A_X20loaded_X20_X20), }), - (be_nested_const_str("preinit", -1572960196, 7)), - ((bstring*) &be_const_str_input), + &be_const_str_preinit, + &be_const_str_solidified, ( &(const binstruction[26]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x4C080000, // 0001 LDNIL R2 @@ -1103,7 +1103,7 @@ be_local_closure(preinit, /* name */ /******************************************************************** ** Solidified function: reset ********************************************************************/ -be_local_closure(reset, /* name */ +be_local_closure(Autoconf_reset, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -1114,22 +1114,22 @@ be_local_closure(reset, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ - /* K0 */ be_nested_string("path", -2071507658, 4), - /* K1 */ be_nested_string("string", 398550328, 6), - /* K2 */ be_nested_string("listdir", 2005220720, 7), - /* K3 */ be_nested_string("/", 705468254, 1), + /* K0 */ be_nested_str(path), + /* K1 */ be_nested_str(string), + /* K2 */ be_nested_str(listdir), + /* K3 */ be_nested_str(_X2F), /* K4 */ be_const_int(0), - /* K5 */ be_nested_string("find", -1108310694, 4), - /* K6 */ be_nested_string(".autoconf", -1770288208, 9), - /* K7 */ be_nested_string("remove", -611183107, 6), - /* K8 */ be_nested_string("format", -1180859054, 6), - /* K9 */ be_nested_string("CFG: removed file '%s'", 2048602473, 22), + /* K5 */ be_nested_str(find), + /* K6 */ be_nested_str(_X2Eautoconf), + /* K7 */ be_nested_str(remove), + /* K8 */ be_nested_str(format), + /* K9 */ be_nested_str(CFG_X3A_X20removed_X20file_X20_X27_X25s_X27), /* K10 */ be_const_int(1), - /* K11 */ be_nested_string("_archive", -290407892, 8), - /* K12 */ be_nested_string("_error", 1132109656, 6), + /* K11 */ be_nested_str(_archive), + /* K12 */ be_nested_str(_error), }), - (be_nested_const_str("reset", 1695364032, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_reset, + &be_const_str_solidified, ( &(const binstruction[35]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0xA40A0200, // 0001 IMPORT R2 K1 @@ -1175,7 +1175,7 @@ be_local_closure(reset, /* name */ /******************************************************************** ** Solidified function: web_add_handler ********************************************************************/ -be_local_closure(web_add_handler, /* name */ +be_local_closure(Autoconf_web_add_handler, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1196,10 +1196,10 @@ be_local_closure(web_add_handler, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("page_autoconf_mgr", -651030265, 17), + /* K0 */ be_nested_str(page_autoconf_mgr), }), - (be_nested_const_str("", 607256038, 8)), - ((bstring*) &be_const_str_input), + &be_const_str__X3Clambda_X3E, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x68000000, // 0000 GETUPV R0 U0 0x8C000100, // 0001 GETMET R0 R0 K0 @@ -1219,10 +1219,10 @@ be_local_closure(web_add_handler, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("page_autoconf_ctl", -1841585800, 17), + /* K0 */ be_nested_str(page_autoconf_ctl), }), - (be_nested_const_str("", 607256038, 8)), - ((bstring*) &be_const_str_input), + &be_const_str__X3Clambda_X3E, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x68000000, // 0000 GETUPV R0 U0 0x8C000100, // 0001 GETMET R0 R0 K0 @@ -1233,14 +1233,14 @@ be_local_closure(web_add_handler, /* name */ }), 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_string("webserver", 1572454038, 9), - /* K1 */ be_nested_string("on", 1630810064, 2), - /* K2 */ be_nested_string("/ac", -390315318, 3), - /* K3 */ be_nested_string("HTTP_GET", 1722467738, 8), - /* K4 */ be_nested_string("HTTP_POST", 1999554144, 9), + /* K0 */ be_nested_str(webserver), + /* K1 */ be_nested_str(on), + /* K2 */ be_nested_str(_X2Fac), + /* K3 */ be_nested_str(HTTP_GET), + /* K4 */ be_nested_str(HTTP_POST), }), - (be_nested_const_str("web_add_handler", -304792334, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_web_add_handler, + &be_const_str_solidified, ( &(const binstruction[13]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x8C080301, // 0001 GETMET R2 R1 K1 @@ -1264,7 +1264,7 @@ be_local_closure(web_add_handler, /* name */ /******************************************************************** ** Solidified function: clear_first_time ********************************************************************/ -be_local_closure(clear_first_time, /* name */ +be_local_closure(Autoconf_clear_first_time, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1275,12 +1275,12 @@ be_local_closure(clear_first_time, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("path", -2071507658, 4), - /* K1 */ be_nested_string("remove", -611183107, 6), - /* K2 */ be_nested_string("/.autoconf", -2082892903, 10), + /* K0 */ be_nested_str(path), + /* K1 */ be_nested_str(remove), + /* K2 */ be_nested_str(_X2F_X2Eautoconf), }), - (be_nested_const_str("clear_first_time", 632769909, 16)), - ((bstring*) &be_const_str_input), + &be_const_str_clear_first_time, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0x8C080301, // 0001 GETMET R2 R1 K1 @@ -1296,7 +1296,7 @@ be_local_closure(clear_first_time, /* name */ /******************************************************************** ** Solidified function: get_current_module_path ********************************************************************/ -be_local_closure(get_current_module_path, /* name */ +be_local_closure(Autoconf_get_current_module_path, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1307,10 +1307,10 @@ be_local_closure(get_current_module_path, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("_archive", -290407892, 8), + /* K0 */ be_nested_str(_archive), }), - (be_nested_const_str("get_current_module_path", -1088293888, 23)), - ((bstring*) &be_const_str_input), + &be_const_str_get_current_module_path, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x80040200, // 0001 RET 1 R1 @@ -1328,26 +1328,26 @@ be_local_class(Autoconf, NULL, be_nested_map(18, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("page_autoconf_ctl", -1841585800, 17, -1), be_const_closure(page_autoconf_ctl_closure) }, - { be_nested_key("autoexec", -618105405, 8, -1), be_const_closure(autoexec_closure) }, - { be_nested_key("run_bat", -1758063998, 7, 6), be_const_closure(run_bat_closure) }, - { be_nested_key("page_autoconf_mgr", -651030265, 17, -1), be_const_closure(page_autoconf_mgr_closure) }, - { be_nested_key("get_current_module_name", -1915696556, 23, -1), be_const_closure(get_current_module_name_closure) }, - { be_nested_key("delete_all_configs", -1912899718, 18, 13), be_const_closure(delete_all_configs_closure) }, - { be_nested_key("set_first_time", -1183719746, 14, -1), be_const_closure(set_first_time_closure) }, - { be_nested_key("load_templates", -781097163, 14, -1), be_const_closure(load_templates_closure) }, - { be_nested_key("_archive", -290407892, 8, -1), be_const_var(0) }, - { be_nested_key("web_add_config_button", 639674325, 21, -1), be_const_closure(web_add_config_button_closure) }, - { be_nested_key("is_first_time", 275242384, 13, -1), be_const_closure(is_first_time_closure) }, - { be_nested_key("init", 380752755, 4, -1), be_const_closure(init_closure) }, - { be_nested_key("preinit", -1572960196, 7, 5), be_const_closure(preinit_closure) }, - { be_nested_key("reset", 1695364032, 5, 17), be_const_closure(reset_closure) }, - { be_nested_key("web_add_handler", -304792334, 15, 4), be_const_closure(web_add_handler_closure) }, - { be_nested_key("clear_first_time", 632769909, 16, 11), be_const_closure(clear_first_time_closure) }, - { be_nested_key("_error", 1132109656, 6, -1), be_const_var(1) }, - { be_nested_key("get_current_module_path", -1088293888, 23, -1), be_const_closure(get_current_module_path_closure) }, + { 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(_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(_error, -1), be_const_var(1) }, + { be_const_key(set_first_time, -1), be_const_closure(Autoconf_set_first_time_closure) }, })), - (be_nested_const_str("Autoconf", 984011268, 8)) + be_str_literal("Autoconf") ); /******************************************************************** @@ -1366,8 +1366,8 @@ be_local_closure(_anonymous_, /* name */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_class(be_class_Autoconf), }), - (be_nested_const_str("_anonymous_", 1957281476, 11)), - ((bstring*) &be_const_str_input), + &be_const_str__anonymous_, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x58040000, // 0000 LDCONST R1 K0 0xB4000000, // 0001 CLASS K0 @@ -1387,7 +1387,7 @@ be_local_module(autoconf, "autoconf", be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("init", 380752755, 4, -1), be_const_closure(_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/default/be_display_lib.c b/lib/libesp32/Berry/default/be_display_lib.c index 2d8bf9ff7..3943396fc 100644 --- a/lib/libesp32/Berry/default/be_display_lib.c +++ b/lib/libesp32/Berry/default/be_display_lib.c @@ -11,7 +11,7 @@ // Tasmota specific -extern int be_disp_start(bvm *vm); +extern int be_ntv_display_start(bvm *vm); /******************************************************************** ** Solidified module: display @@ -20,7 +20,7 @@ be_local_module(display, "display", be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("start", 1697318111, 5, -1), be_const_func(be_disp_start) }, + { be_const_key(start, -1), be_const_func(be_ntv_display_start) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(display); diff --git a/lib/libesp32/Berry/default/be_driverlib.c b/lib/libesp32/Berry/default/be_driverlib.c index 13f1d211e..45a611382 100644 --- a/lib/libesp32/Berry/default/be_driverlib.c +++ b/lib/libesp32/Berry/default/be_driverlib.c @@ -9,7 +9,7 @@ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(Driver_init, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -20,8 +20,8 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 0, /* has constants */ NULL, /* no const */ - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[ 1]) { /* code */ 0x80000000, // 0000 RET 0 }) @@ -33,7 +33,7 @@ be_local_closure(init, /* name */ /******************************************************************** ** Solidified function: get_tasmota ********************************************************************/ -be_local_closure(get_tasmota, /* name */ +be_local_closure(Driver_get_tasmota, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -44,10 +44,10 @@ be_local_closure(get_tasmota, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("tasmota", 424643812, 7), + /* K0 */ be_nested_str(tasmota), }), - (be_nested_const_str("get_tasmota", 334356779, 11)), - ((bstring*) &be_const_str_input), + &be_const_str_get_tasmota, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 0x80040200, // 0001 RET 1 R1 @@ -60,7 +60,7 @@ be_local_closure(get_tasmota, /* name */ /******************************************************************** ** Solidified function: add_cmd ********************************************************************/ -be_local_closure(add_cmd, /* name */ +be_local_closure(Driver_add_cmd, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -82,8 +82,8 @@ be_local_closure(add_cmd, /* name */ NULL, /* no sub protos */ 0, /* has constants */ NULL, /* no const */ - (be_nested_const_str("", 607256038, 8)), - ((bstring*) &be_const_str_input), + &be_const_str__X3Clambda_X3E, + &be_const_str_solidified, ( &(const binstruction[ 8]) { /* code */ 0x68100000, // 0000 GETUPV R4 U0 0x68140001, // 0001 GETUPV R5 U1 @@ -98,11 +98,11 @@ be_local_closure(add_cmd, /* name */ }), 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("tasmota", 424643812, 7), - /* K1 */ be_nested_string("add_cmd", -933336417, 7), + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(add_cmd), }), - (be_nested_const_str("add_cmd", -933336417, 7)), - ((bstring*) &be_const_str_input), + &be_const_str_add_cmd, + &be_const_str_solidified, ( &(const binstruction[ 7]) { /* code */ 0xB80E0000, // 0000 GETNGBL R3 K0 0x8C0C0701, // 0001 GETMET R3 R3 K1 @@ -125,24 +125,24 @@ be_local_class(Driver, NULL, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("web_add_main_button", -334599632, 19, 14), be_const_var(4) }, - { be_nested_key("web_add_console_button", -813531104, 22, -1), be_const_var(7) }, - { be_nested_key("web_add_management_button", -1556090110, 25, 8), be_const_var(5) }, - { be_nested_key("init", 380752755, 4, -1), be_const_closure(init_closure) }, - { be_nested_key("json_append", -1292948012, 11, -1), be_const_var(10) }, - { be_nested_key("web_add_config_button", 639674325, 21, 7), be_const_var(6) }, - { be_nested_key("every_100ms", 1546407804, 11, -1), be_const_var(1) }, - { be_nested_key("display", 1164572437, 7, -1), be_const_var(12) }, - { be_nested_key("web_add_button", -757092238, 14, 13), be_const_var(3) }, - { be_nested_key("every_second", 2075451465, 12, -1), be_const_var(0) }, - { be_nested_key("save_before_restart", 1253239338, 19, -1), be_const_var(8) }, - { be_nested_key("get_tasmota", 334356779, 11, -1), be_const_closure(get_tasmota_closure) }, - { be_nested_key("web_sensor", -1394870324, 10, 6), be_const_var(9) }, - { be_nested_key("web_add_handler", -304792334, 15, -1), be_const_var(2) }, - { be_nested_key("button_pressed", 1694209616, 14, 1), be_const_var(11) }, - { be_nested_key("add_cmd", -933336417, 7, -1), be_const_closure(add_cmd_closure) }, + { be_const_key(web_add_main_button, 14), be_const_var(4) }, + { be_const_key(web_add_console_button, -1), be_const_var(7) }, + { be_const_key(web_add_management_button, 8), be_const_var(5) }, + { be_const_key(init, -1), be_const_closure(Driver_init_closure) }, + { be_const_key(json_append, -1), be_const_var(10) }, + { be_const_key(web_add_config_button, 7), be_const_var(6) }, + { be_const_key(every_100ms, -1), be_const_var(1) }, + { be_const_key(display, -1), be_const_var(12) }, + { be_const_key(web_add_button, 13), be_const_var(3) }, + { be_const_key(every_second, -1), be_const_var(0) }, + { be_const_key(save_before_restart, -1), be_const_var(8) }, + { be_const_key(get_tasmota, -1), be_const_closure(Driver_get_tasmota_closure) }, + { be_const_key(web_sensor, 6), be_const_var(9) }, + { be_const_key(web_add_handler, -1), be_const_var(2) }, + { be_const_key(button_pressed, 1), be_const_var(11) }, + { be_const_key(add_cmd, -1), be_const_closure(Driver_add_cmd_closure) }, })), - (be_nested_const_str("Driver", -718580993, 6)) + be_str_literal("Driver") ); /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_energylib.c b/lib/libesp32/Berry/default/be_energylib.c index e115a8507..cbdddbfca 100644 --- a/lib/libesp32/Berry/default/be_energylib.c +++ b/lib/libesp32/Berry/default/be_energylib.c @@ -12,32 +12,127 @@ extern struct ENERGY Energy; /* +_energy = nil # avoid compilation error +energy = module("energy") +energy._ptr = nil + def init(m) import global global._energy = energy_struct(m._ptr) return m end +energy.init = init def read() return _energy.tomap() end +energy.read = read def member(k) return _energy.(k) end +energy.member = member def setmember(k, v) _energy.(k) = v end +energy.setmember = setmember import solidify -solidify.dump(m.init) +solidify.dump(energy) */ + +/******************************************************************** +** Solidified function: member +********************************************************************/ +be_local_closure(energy_member, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str(_energy), + }), + &be_const_str_member, + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0xB8060000, // 0000 GETNGBL R1 K0 + 0x88040200, // 0001 GETMBR R1 R1 R0 + 0x80040200, // 0002 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setmember +********************************************************************/ +be_local_closure(energy_setmember, /* name */ + be_nested_proto( + 3, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str(_energy), + }), + &be_const_str_setmember, + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x90080001, // 0001 SETMBR R2 R0 R1 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read +********************************************************************/ +be_local_closure(energy_read, /* name */ + be_nested_proto( + 2, /* nstack */ + 0, /* argc */ + 0, /* 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(_energy), + /* K1 */ be_nested_str(tomap), + }), + &be_const_str_read, + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0xB8020000, // 0000 GETNGBL R0 K0 + 0x8C000101, // 0001 GETMET R0 R0 K1 + 0x7C000200, // 0002 CALL R0 1 + 0x80040000, // 0003 RET 1 R0 + }) + ) +); +/*******************************************************************/ + + /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(energy_init, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -48,13 +143,13 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_string("global", 503252654, 6), - /* K1 */ be_nested_string("_energy", 535372070, 7), - /* K2 */ be_nested_string("energy_struct", 1655792843, 13), - /* K3 */ be_nested_string("_ptr", 306235816, 4), + /* K0 */ be_nested_str(global), + /* K1 */ be_nested_str(_energy), + /* K2 */ be_nested_str(energy_struct), + /* K3 */ be_nested_str(_ptr), }), - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0xB80A0400, // 0001 GETNGBL R2 K2 @@ -69,100 +164,23 @@ be_local_closure(init, /* name */ /******************************************************************** -** Solidified function: read +** Solidified module: energy ********************************************************************/ -be_local_closure(read, /* name */ - be_nested_proto( - 2, /* nstack */ - 0, /* argc */ - 0, /* 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_string("_energy", 535372070, 7), - /* K1 */ be_nested_string("tomap", 612167626, 5), - }), - (be_nested_const_str("", 1160973142, 11)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[ 4]) { /* code */ - 0xB8020000, // 0000 GETNGBL R0 K0 - 0x8C000101, // 0001 GETMET R0 R0 K1 - 0x7C000200, // 0002 CALL R0 1 - 0x80040000, // 0003 RET 1 R0 - }) - ) +be_local_module(energy, + "energy", + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(init, -1), be_const_closure(energy_init_closure) }, + { be_const_key(member, 2), be_const_closure(energy_member_closure) }, + { be_const_key(_ptr, 3), be_const_comptr(&Energy) }, + { be_const_key(setmember, -1), be_const_closure(energy_setmember_closure) }, + { be_const_key(read, -1), be_const_closure(energy_read_closure) }, + })) ); -/*******************************************************************/ - -/******************************************************************** -** Solidified function: member -********************************************************************/ -be_local_closure(member, /* name */ - be_nested_proto( - 2, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("_energy", 535372070, 7), - }), - (be_nested_const_str("member", 719708611, 6)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[ 3]) { /* code */ - 0xB8060000, // 0000 GETNGBL R1 K0 - 0x88040200, // 0001 GETMBR R1 R1 R0 - 0x80040200, // 0002 RET 1 R1 - }) - ) -); -/*******************************************************************/ +BE_EXPORT_VARIABLE be_define_const_native_module(energy); +/********************************************************************/ -/******************************************************************** -** Solidified function: setmember -********************************************************************/ -be_local_closure(setmember, /* name */ - be_nested_proto( - 3, /* nstack */ - 2, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("_energy", 535372070, 7), - }), - (be_nested_const_str("setmember", 1432909441, 9)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[ 3]) { /* code */ - 0xB80A0000, // 0000 GETNGBL R2 K0 - 0x90080001, // 0001 SETMBR R2 R0 R1 - 0x80000000, // 0002 RET 0 - }) - ) -); -/*******************************************************************/ - - -/* @const_object_info_begin -module energy (scope: global) { - _ptr, comptr(&Energy) - init, closure(init_closure) - - read, closure(read_closure) - member, closure(member_closure) - setmember, closure(setmember_closure) -} -@const_object_info_end */ -#include "../generate/be_fixed_energy.h" +// { be_const_key(_ptr, 3), be_const_comptr(&Energy) }, /* patch */ #endif // USE_ENERGY_SENSOR \ No newline at end of file diff --git a/lib/libesp32/Berry/default/be_i2c_axp192_lib.c b/lib/libesp32/Berry/default/be_i2c_axp192_lib.c index 7449780d6..4f9f02307 100644 --- a/lib/libesp32/Berry/default/be_i2c_axp192_lib.c +++ b/lib/libesp32/Berry/default/be_i2c_axp192_lib.c @@ -6,7 +6,7 @@ /******************************************************************** ** Solidified function: get_warning_level ********************************************************************/ -be_local_closure(get_warning_level, /* name */ +be_local_closure(AXP192_get_warning_level, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -17,11 +17,11 @@ be_local_closure(get_warning_level, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("read12", -3890326, 6), + /* K0 */ be_nested_str(read12), /* K1 */ be_const_int(1), }), - (be_nested_const_str("get_warning_level", 1737834441, 17)), - ((bstring*) &be_const_str_input), + &be_const_str_get_warning_level, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E0046, // 0001 LDINT R3 71 @@ -37,7 +37,7 @@ be_local_closure(get_warning_level, /* name */ /******************************************************************** ** Solidified function: get_vbus_current ********************************************************************/ -be_local_closure(get_vbus_current, /* name */ +be_local_closure(AXP192_get_vbus_current, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -48,11 +48,11 @@ be_local_closure(get_vbus_current, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("read12", -3890326, 6), + /* K0 */ be_nested_str(read12), /* K1 */ be_const_real_hex(0x3EC00000), }), - (be_nested_const_str("get_vbus_current", 1205347942, 16)), - ((bstring*) &be_const_str_input), + &be_const_str_get_vbus_current, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E005B, // 0001 LDINT R3 92 @@ -68,7 +68,7 @@ be_local_closure(get_vbus_current, /* name */ /******************************************************************** ** Solidified function: set_chg_current ********************************************************************/ -be_local_closure(set_chg_current, /* name */ +be_local_closure(AXP192_set_chg_current, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -79,11 +79,11 @@ be_local_closure(set_chg_current, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("write8", -1160975764, 6), - /* K1 */ be_nested_string("read8", -1492179129, 5), + /* K0 */ be_nested_str(write8), + /* K1 */ be_nested_str(read8), }), - (be_nested_const_str("set_chg_current", 336304386, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_set_chg_current, + &be_const_str_solidified, ( &(const binstruction[12]) { /* code */ 0x8C080100, // 0000 GETMET R2 R0 K0 0x54120032, // 0001 LDINT R4 51 @@ -106,7 +106,7 @@ be_local_closure(set_chg_current, /* name */ /******************************************************************** ** Solidified function: get_bat_current ********************************************************************/ -be_local_closure(get_bat_current, /* name */ +be_local_closure(AXP192_get_bat_current, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -117,11 +117,11 @@ be_local_closure(get_bat_current, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("read13", 12887293, 6), + /* K0 */ be_nested_str(read13), /* K1 */ be_const_real_hex(0x3F000000), }), - (be_nested_const_str("get_bat_current", 1912106073, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_get_bat_current, + &be_const_str_solidified, ( &(const binstruction[ 9]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E0079, // 0001 LDINT R3 122 @@ -141,7 +141,7 @@ be_local_closure(get_bat_current, /* name */ /******************************************************************** ** Solidified function: get_bat_power ********************************************************************/ -be_local_closure(get_bat_power, /* name */ +be_local_closure(AXP192_get_bat_power, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -152,11 +152,11 @@ be_local_closure(get_bat_power, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("read24", 1808533811, 6), + /* K0 */ be_nested_str(read24), /* K1 */ be_const_real_hex(0x3A102DE1), }), - (be_nested_const_str("get_bat_power", -1227592443, 13)), - ((bstring*) &be_const_str_input), + &be_const_str_get_bat_power, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E006F, // 0001 LDINT R3 112 @@ -172,7 +172,7 @@ be_local_closure(get_bat_power, /* name */ /******************************************************************** ** Solidified function: json_append ********************************************************************/ -be_local_closure(json_append, /* name */ +be_local_closure(AXP192_json_append, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -183,10 +183,10 @@ be_local_closure(json_append, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("wire", -212213352, 4), + /* K0 */ be_nested_str(wire), }), - (be_nested_const_str("json_append", -1292948012, 11)), - ((bstring*) &be_const_str_input), + &be_const_str_json_append, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x74060001, // 0001 JMPT R1 #0004 @@ -202,7 +202,7 @@ be_local_closure(json_append, /* name */ /******************************************************************** ** Solidified function: get_vbus_voltage ********************************************************************/ -be_local_closure(get_vbus_voltage, /* name */ +be_local_closure(AXP192_get_vbus_voltage, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -213,11 +213,11 @@ be_local_closure(get_vbus_voltage, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("read12", -3890326, 6), + /* K0 */ be_nested_str(read12), /* K1 */ be_const_real_hex(0x3ADED28A), }), - (be_nested_const_str("get_vbus_voltage", -1896756895, 16)), - ((bstring*) &be_const_str_input), + &be_const_str_get_vbus_voltage, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E0059, // 0001 LDINT R3 90 @@ -233,7 +233,7 @@ be_local_closure(get_vbus_voltage, /* name */ /******************************************************************** ** Solidified function: get_temp ********************************************************************/ -be_local_closure(get_temp, /* name */ +be_local_closure(AXP192_get_temp, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -244,12 +244,12 @@ be_local_closure(get_temp, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("read12", -3890326, 6), + /* K0 */ be_nested_str(read12), /* K1 */ be_const_real_hex(0x3DCCCCCD), /* K2 */ be_const_real_hex(0x4310B333), }), - (be_nested_const_str("get_temp", -924047810, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_get_temp, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E005D, // 0001 LDINT R3 94 @@ -266,7 +266,7 @@ be_local_closure(get_temp, /* name */ /******************************************************************** ** Solidified function: battery_present ********************************************************************/ -be_local_closure(battery_present, /* name */ +be_local_closure(AXP192_battery_present, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -277,13 +277,13 @@ be_local_closure(battery_present, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_string("wire", -212213352, 4), - /* K1 */ be_nested_string("read", -824204347, 4), - /* K2 */ be_nested_string("addr", 1087856498, 4), + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(read), + /* K2 */ be_nested_str(addr), /* K3 */ be_const_int(1), }), - (be_nested_const_str("battery_present", -706570238, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_battery_present, + &be_const_str_solidified, ( &(const binstruction[15]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -309,7 +309,7 @@ be_local_closure(battery_present, /* name */ /******************************************************************** ** Solidified function: get_aps_voltage ********************************************************************/ -be_local_closure(get_aps_voltage, /* name */ +be_local_closure(AXP192_get_aps_voltage, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -320,11 +320,11 @@ be_local_closure(get_aps_voltage, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("read12", -3890326, 6), + /* K0 */ be_nested_str(read12), /* K1 */ be_const_real_hex(0x3AB78035), }), - (be_nested_const_str("get_aps_voltage", -2001930861, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_get_aps_voltage, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E007D, // 0001 LDINT R3 126 @@ -340,7 +340,7 @@ be_local_closure(get_aps_voltage, /* name */ /******************************************************************** ** Solidified function: set_dcdc_enable ********************************************************************/ -be_local_closure(set_dcdc_enable, /* name */ +be_local_closure(AXP192_set_dcdc_enable, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -352,13 +352,13 @@ be_local_closure(set_dcdc_enable, /* name */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_int(1), - /* K1 */ be_nested_string("write_bit", -1633976860, 9), + /* K1 */ be_nested_str(write_bit), /* K2 */ be_const_int(0), /* K3 */ be_const_int(2), /* K4 */ be_const_int(3), }), - (be_nested_const_str("set_dcdc_enable", 1594690786, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_set_dcdc_enable, + &be_const_str_solidified, ( &(const binstruction[22]) { /* code */ 0x1C0C0300, // 0000 EQ R3 R1 K0 0x780E0004, // 0001 JMPF R3 #0007 @@ -391,7 +391,7 @@ be_local_closure(set_dcdc_enable, /* name */ /******************************************************************** ** Solidified function: set_ldo_voltage ********************************************************************/ -be_local_closure(set_ldo_voltage, /* name */ +be_local_closure(AXP192_set_ldo_voltage, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -403,12 +403,12 @@ be_local_closure(set_ldo_voltage, /* name */ 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(2), - /* K1 */ be_nested_string("write8", -1160975764, 6), - /* K2 */ be_nested_string("read8", -1492179129, 5), + /* K1 */ be_nested_str(write8), + /* K2 */ be_nested_str(read8), /* K3 */ be_const_int(3), }), - (be_nested_const_str("set_ldo_voltage", -204466136, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_set_ldo_voltage, + &be_const_str_solidified, ( &(const binstruction[39]) { /* code */ 0x540E0CE3, // 0000 LDINT R3 3300 0x240C0403, // 0001 GT R3 R2 R3 @@ -458,7 +458,7 @@ be_local_closure(set_ldo_voltage, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(AXP192_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -469,12 +469,12 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("I2C_Driver", 1714501658, 10), - /* K1 */ be_nested_string("init", 380752755, 4), - /* K2 */ be_nested_string("AXP192", 757230128, 6), + /* K0 */ be_nested_str(I2C_Driver), + /* K1 */ be_nested_str(init), + /* K2 */ be_nested_str(AXP192), }), - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[ 9]) { /* code */ 0x60040003, // 0000 GETGBL R1 G3 0x5C080000, // 0001 MOVE R2 R0 @@ -494,7 +494,7 @@ be_local_closure(init, /* name */ /******************************************************************** ** Solidified function: get_bat_voltage ********************************************************************/ -be_local_closure(get_bat_voltage, /* name */ +be_local_closure(AXP192_get_bat_voltage, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -505,11 +505,11 @@ be_local_closure(get_bat_voltage, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("read12", -3890326, 6), + /* K0 */ be_nested_str(read12), /* K1 */ be_const_real_hex(0x3A902DE0), }), - (be_nested_const_str("get_bat_voltage", 706676538, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_get_bat_voltage, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E0077, // 0001 LDINT R3 120 @@ -525,7 +525,7 @@ be_local_closure(get_bat_voltage, /* name */ /******************************************************************** ** Solidified function: set_ldo_enable ********************************************************************/ -be_local_closure(set_ldo_enable, /* name */ +be_local_closure(AXP192_set_ldo_enable, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -537,11 +537,11 @@ be_local_closure(set_ldo_enable, /* name */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_int(2), - /* K1 */ be_nested_string("write_bit", -1633976860, 9), + /* K1 */ be_nested_str(write_bit), /* K2 */ be_const_int(3), }), - (be_nested_const_str("set_ldo_enable", -1378465255, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_set_ldo_enable, + &be_const_str_solidified, ( &(const binstruction[15]) { /* code */ 0x1C0C0300, // 0000 EQ R3 R1 K0 0x780E0004, // 0001 JMPF R3 #0007 @@ -567,7 +567,7 @@ be_local_closure(set_ldo_enable, /* name */ /******************************************************************** ** Solidified function: set_dc_voltage ********************************************************************/ -be_local_closure(set_dc_voltage, /* name */ +be_local_closure(AXP192_set_dc_voltage, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -582,11 +582,11 @@ be_local_closure(set_dc_voltage, /* name */ /* K1 */ be_const_int(3), /* K2 */ be_const_int(0), /* K3 */ be_const_int(2), - /* K4 */ be_nested_string("write8", -1160975764, 6), - /* K5 */ be_nested_string("read8", -1492179129, 5), + /* K4 */ be_nested_str(write8), + /* K5 */ be_nested_str(read8), }), - (be_nested_const_str("set_dc_voltage", -2112985360, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_set_dc_voltage, + &be_const_str_solidified, ( &(const binstruction[48]) { /* code */ 0x140C0300, // 0000 LT R3 R1 K0 0x740E0001, // 0001 JMPT R3 #0004 @@ -645,7 +645,7 @@ be_local_closure(set_dc_voltage, /* name */ /******************************************************************** ** Solidified function: write_gpio ********************************************************************/ -be_local_closure(write_gpio, /* name */ +be_local_closure(AXP192_write_gpio, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -658,11 +658,11 @@ be_local_closure(write_gpio, /* name */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(0), /* K1 */ be_const_int(2), - /* K2 */ be_nested_string("write_bit", -1633976860, 9), + /* K2 */ be_nested_str(write_bit), /* K3 */ be_const_int(3), }), - (be_nested_const_str("write_gpio", -2027026962, 10)), - ((bstring*) &be_const_str_input), + &be_const_str_write_gpio, + &be_const_str_solidified, ( &(const binstruction[21]) { /* code */ 0x280C0300, // 0000 GE R3 R1 K0 0x780E0007, // 0001 JMPF R3 #000A @@ -694,7 +694,7 @@ be_local_closure(write_gpio, /* name */ /******************************************************************** ** Solidified function: web_sensor ********************************************************************/ -be_local_closure(web_sensor, /* name */ +be_local_closure(AXP192_web_sensor, /* name */ be_nested_proto( 11, /* nstack */ 1, /* argc */ @@ -705,23 +705,23 @@ be_local_closure(web_sensor, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ - /* K0 */ be_nested_string("wire", -212213352, 4), - /* K1 */ be_nested_string("string", 398550328, 6), - /* K2 */ be_nested_string("format", -1180859054, 6), - /* K3 */ be_nested_string("{s}VBus Voltage{m}%.3f V{e}", 165651270, 27), - /* K4 */ be_nested_string("{s}VBus Current{m}%.1f mA{e}", 1032721155, 28), - /* K5 */ be_nested_string("{s}Batt Voltage{m}%.3f V{e}", -1110659097, 27), - /* K6 */ be_nested_string("{s}Batt Current{m}%.1f mA{e}", 866537156, 28), - /* K7 */ be_nested_string("{s}Temp AXP{m}%.1f °C{e}", -1990510004, 25), - /* K8 */ be_nested_string("get_vbus_voltage", -1896756895, 16), - /* K9 */ be_nested_string("get_bat_voltage", 706676538, 15), - /* K10 */ be_nested_string("get_bat_current", 1912106073, 15), - /* K11 */ be_nested_string("get_temp", -924047810, 8), - /* K12 */ be_nested_string("tasmota", 424643812, 7), - /* K13 */ be_nested_string("web_send_decimal", 1407210204, 16), + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(string), + /* K2 */ be_nested_str(format), + /* K3 */ be_nested_str(_X7Bs_X7DVBus_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D), + /* K4 */ be_nested_str(_X7Bs_X7DVBus_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D), + /* K5 */ be_nested_str(_X7Bs_X7DBatt_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D), + /* K6 */ be_nested_str(_X7Bs_X7DBatt_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D), + /* K7 */ be_nested_str(_X7Bs_X7DTemp_X20AXP_X7Bm_X7D_X25_X2E1f_X20_XB0C_X7Be_X7D), + /* K8 */ be_nested_str(get_vbus_voltage), + /* K9 */ be_nested_str(get_bat_voltage), + /* K10 */ be_nested_str(get_bat_current), + /* K11 */ be_nested_str(get_temp), + /* K12 */ be_nested_str(tasmota), + /* K13 */ be_nested_str(web_send_decimal), }), - (be_nested_const_str("web_sensor", -1394870324, 10)), - ((bstring*) &be_const_str_input), + &be_const_str_web_sensor, + &be_const_str_solidified, ( &(const binstruction[26]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x74060001, // 0001 JMPT R1 #0004 @@ -758,7 +758,7 @@ be_local_closure(web_sensor, /* name */ /******************************************************************** ** Solidified function: get_bat_charge_current ********************************************************************/ -be_local_closure(get_bat_charge_current, /* name */ +be_local_closure(AXP192_get_bat_charge_current, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -769,11 +769,11 @@ be_local_closure(get_bat_charge_current, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("read13", 12887293, 6), + /* K0 */ be_nested_str(read13), /* K1 */ be_const_real_hex(0x3F000000), }), - (be_nested_const_str("get_bat_charge_current", 1385293050, 22)), - ((bstring*) &be_const_str_input), + &be_const_str_get_bat_charge_current, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E0079, // 0001 LDINT R3 122 @@ -789,7 +789,7 @@ be_local_closure(get_bat_charge_current, /* name */ /******************************************************************** ** Solidified function: get_battery_chargin_status ********************************************************************/ -be_local_closure(get_battery_chargin_status, /* name */ +be_local_closure(AXP192_get_battery_chargin_status, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -800,13 +800,13 @@ be_local_closure(get_battery_chargin_status, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_string("wire", -212213352, 4), - /* K1 */ be_nested_string("read", -824204347, 4), - /* K2 */ be_nested_string("addr", 1087856498, 4), + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(read), + /* K2 */ be_nested_str(addr), /* K3 */ be_const_int(1), }), - (be_nested_const_str("get_battery_chargin_status", -2061725725, 26)), - ((bstring*) &be_const_str_input), + &be_const_str_get_battery_chargin_status, + &be_const_str_solidified, ( &(const binstruction[ 7]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -824,7 +824,7 @@ be_local_closure(get_battery_chargin_status, /* name */ /******************************************************************** ** Solidified function: get_input_power_status ********************************************************************/ -be_local_closure(get_input_power_status, /* name */ +be_local_closure(AXP192_get_input_power_status, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -835,14 +835,14 @@ be_local_closure(get_input_power_status, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_string("wire", -212213352, 4), - /* K1 */ be_nested_string("read", -824204347, 4), - /* K2 */ be_nested_string("addr", 1087856498, 4), + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(read), + /* K2 */ be_nested_str(addr), /* K3 */ be_const_int(0), /* K4 */ be_const_int(1), }), - (be_nested_const_str("get_input_power_status", -192138119, 22)), - ((bstring*) &be_const_str_input), + &be_const_str_get_input_power_status, + &be_const_str_solidified, ( &(const binstruction[ 7]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -866,29 +866,29 @@ be_local_class(AXP192, &be_class_I2C_Driver, be_nested_map(21, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("get_warning_level", 1737834441, 17, -1), be_const_closure(get_warning_level_closure) }, - { be_nested_key("get_vbus_current", 1205347942, 16, -1), be_const_closure(get_vbus_current_closure) }, - { be_nested_key("set_chg_current", 336304386, 15, 14), be_const_closure(set_chg_current_closure) }, - { be_nested_key("get_bat_current", 1912106073, 15, -1), be_const_closure(get_bat_current_closure) }, - { be_nested_key("get_bat_power", -1227592443, 13, 9), be_const_closure(get_bat_power_closure) }, - { be_nested_key("json_append", -1292948012, 11, -1), be_const_closure(json_append_closure) }, - { be_nested_key("get_vbus_voltage", -1896756895, 16, -1), be_const_closure(get_vbus_voltage_closure) }, - { be_nested_key("get_temp", -924047810, 8, -1), be_const_closure(get_temp_closure) }, - { be_nested_key("battery_present", -706570238, 15, -1), be_const_closure(battery_present_closure) }, - { be_nested_key("get_aps_voltage", -2001930861, 15, -1), be_const_closure(get_aps_voltage_closure) }, - { be_nested_key("set_dcdc_enable", 1594690786, 15, -1), be_const_closure(set_dcdc_enable_closure) }, - { be_nested_key("set_ldo_voltage", -204466136, 15, 7), be_const_closure(set_ldo_voltage_closure) }, - { be_nested_key("init", 380752755, 4, 2), be_const_closure(init_closure) }, - { be_nested_key("get_bat_voltage", 706676538, 15, 18), be_const_closure(get_bat_voltage_closure) }, - { be_nested_key("set_ldo_enable", -1378465255, 14, -1), be_const_closure(set_ldo_enable_closure) }, - { be_nested_key("set_dc_voltage", -2112985360, 14, 13), be_const_closure(set_dc_voltage_closure) }, - { be_nested_key("write_gpio", -2027026962, 10, -1), be_const_closure(write_gpio_closure) }, - { be_nested_key("web_sensor", -1394870324, 10, -1), be_const_closure(web_sensor_closure) }, - { be_nested_key("get_bat_charge_current", 1385293050, 22, 19), be_const_closure(get_bat_charge_current_closure) }, - { be_nested_key("get_battery_chargin_status", -2061725725, 26, -1), be_const_closure(get_battery_chargin_status_closure) }, - { be_nested_key("get_input_power_status", -192138119, 22, -1), be_const_closure(get_input_power_status_closure) }, + { be_const_key(get_warning_level, -1), be_const_closure(AXP192_get_warning_level_closure) }, + { be_const_key(get_vbus_current, -1), 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(get_bat_current, -1), be_const_closure(AXP192_get_bat_current_closure) }, + { be_const_key(get_bat_power, 2), be_const_closure(AXP192_get_bat_power_closure) }, + { be_const_key(json_append, -1), be_const_closure(AXP192_json_append_closure) }, + { be_const_key(get_vbus_voltage, -1), be_const_closure(AXP192_get_vbus_voltage_closure) }, + { be_const_key(get_battery_chargin_status, 9), be_const_closure(AXP192_get_battery_chargin_status_closure) }, + { be_const_key(battery_present, -1), be_const_closure(AXP192_battery_present_closure) }, + { be_const_key(get_bat_charge_current, 14), be_const_closure(AXP192_get_bat_charge_current_closure) }, + { be_const_key(set_dcdc_enable, -1), be_const_closure(AXP192_set_dcdc_enable_closure) }, + { be_const_key(get_temp, 19), be_const_closure(AXP192_get_temp_closure) }, + { be_const_key(set_chg_current, 13), be_const_closure(AXP192_set_chg_current_closure) }, + { be_const_key(set_ldo_enable, 18), be_const_closure(AXP192_set_ldo_enable_closure) }, + { be_const_key(set_dc_voltage, -1), be_const_closure(AXP192_set_dc_voltage_closure) }, + { be_const_key(get_bat_voltage, 7), be_const_closure(AXP192_get_bat_voltage_closure) }, + { be_const_key(write_gpio, -1), be_const_closure(AXP192_write_gpio_closure) }, + { be_const_key(web_sensor, -1), be_const_closure(AXP192_web_sensor_closure) }, + { be_const_key(init, -1), be_const_closure(AXP192_init_closure) }, + { be_const_key(set_ldo_voltage, -1), be_const_closure(AXP192_set_ldo_voltage_closure) }, + { be_const_key(get_input_power_status, -1), be_const_closure(AXP192_get_input_power_status_closure) }, })), - (be_nested_const_str("AXP192", 757230128, 6)) + be_str_literal("AXP192") ); /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_i2c_driverlib.c b/lib/libesp32/Berry/default/be_i2c_driverlib.c index f1cedfe8b..45f829e19 100644 --- a/lib/libesp32/Berry/default/be_i2c_driverlib.c +++ b/lib/libesp32/Berry/default/be_i2c_driverlib.c @@ -9,12 +9,10 @@ *******************************************************************/ #include "be_constobj.h" -extern bclass* be_class_Driver; // Parent class - /******************************************************************** ** Solidified function: read32 ********************************************************************/ -be_local_closure(read32, /* name */ +be_local_closure(I2C_Driver_read32, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -25,16 +23,16 @@ be_local_closure(read32, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_string("wire", -212213352, 4), - /* K1 */ be_nested_string("read_bytes", -718234123, 10), - /* K2 */ be_nested_string("addr", 1087856498, 4), + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(read_bytes), + /* K2 */ be_nested_str(addr), /* K3 */ be_const_int(0), /* K4 */ be_const_int(1), /* K5 */ be_const_int(2), /* K6 */ be_const_int(3), }), - (be_nested_const_str("read32", 1741276240, 6)), - ((bstring*) &be_const_str_input), + &be_const_str_read32, + &be_const_str_solidified, ( &(const binstruction[20]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -65,7 +63,7 @@ be_local_closure(read32, /* name */ /******************************************************************** ** Solidified function: write8 ********************************************************************/ -be_local_closure(write8, /* name */ +be_local_closure(I2C_Driver_write8, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -76,13 +74,13 @@ be_local_closure(write8, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_string("wire", -212213352, 4), - /* K1 */ be_nested_string("write", -1104765092, 5), - /* K2 */ be_nested_string("addr", 1087856498, 4), + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(write), + /* K2 */ be_nested_str(addr), /* K3 */ be_const_int(1), }), - (be_nested_const_str("write8", -1160975764, 6)), - ((bstring*) &be_const_str_input), + &be_const_str_write8, + &be_const_str_solidified, ( &(const binstruction[ 8]) { /* code */ 0x880C0100, // 0000 GETMBR R3 R0 K0 0x8C0C0701, // 0001 GETMET R3 R3 K1 @@ -101,7 +99,7 @@ be_local_closure(write8, /* name */ /******************************************************************** ** Solidified function: read12 ********************************************************************/ -be_local_closure(read12, /* name */ +be_local_closure(I2C_Driver_read12, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -112,15 +110,15 @@ be_local_closure(read12, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_string("wire", -212213352, 4), - /* K1 */ be_nested_string("read_bytes", -718234123, 10), - /* K2 */ be_nested_string("addr", 1087856498, 4), + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(read_bytes), + /* K2 */ be_nested_str(addr), /* K3 */ be_const_int(2), /* K4 */ be_const_int(0), /* K5 */ be_const_int(1), }), - (be_nested_const_str("read12", -3890326, 6)), - ((bstring*) &be_const_str_input), + &be_const_str_read12, + &be_const_str_solidified, ( &(const binstruction[12]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -143,7 +141,7 @@ be_local_closure(read12, /* name */ /******************************************************************** ** Solidified function: write_bit ********************************************************************/ -be_local_closure(write_bit, /* name */ +be_local_closure(I2C_Driver_write_bit, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -156,11 +154,11 @@ be_local_closure(write_bit, /* name */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(0), /* K1 */ be_const_int(1), - /* K2 */ be_nested_string("write8", -1160975764, 6), - /* K3 */ be_nested_string("read8", -1492179129, 5), + /* K2 */ be_nested_str(write8), + /* K3 */ be_nested_str(read8), }), - (be_nested_const_str("write_bit", -1633976860, 9)), - ((bstring*) &be_const_str_input), + &be_const_str_write_bit, + &be_const_str_solidified, ( &(const binstruction[26]) { /* code */ 0x14100500, // 0000 LT R4 R2 K0 0x74120002, // 0001 JMPT R4 #0005 @@ -197,7 +195,7 @@ be_local_closure(write_bit, /* name */ /******************************************************************** ** Solidified function: read24 ********************************************************************/ -be_local_closure(read24, /* name */ +be_local_closure(I2C_Driver_read24, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -208,16 +206,16 @@ be_local_closure(read24, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_string("wire", -212213352, 4), - /* K1 */ be_nested_string("read_bytes", -718234123, 10), - /* K2 */ be_nested_string("addr", 1087856498, 4), + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(read_bytes), + /* K2 */ be_nested_str(addr), /* K3 */ be_const_int(3), /* K4 */ be_const_int(0), /* K5 */ be_const_int(1), /* K6 */ be_const_int(2), }), - (be_nested_const_str("read24", 1808533811, 6)), - ((bstring*) &be_const_str_input), + &be_const_str_read24, + &be_const_str_solidified, ( &(const binstruction[16]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -244,7 +242,7 @@ be_local_closure(read24, /* name */ /******************************************************************** ** Solidified function: read8 ********************************************************************/ -be_local_closure(read8, /* name */ +be_local_closure(I2C_Driver_read8, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -255,13 +253,13 @@ be_local_closure(read8, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_string("wire", -212213352, 4), - /* K1 */ be_nested_string("read", -824204347, 4), - /* K2 */ be_nested_string("addr", 1087856498, 4), + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(read), + /* K2 */ be_nested_str(addr), /* K3 */ be_const_int(1), }), - (be_nested_const_str("read8", -1492179129, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_read8, + &be_const_str_solidified, ( &(const binstruction[ 7]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -279,7 +277,7 @@ be_local_closure(read8, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(I2C_Driver_init, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ @@ -290,19 +288,19 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_string("get_tasmota", 334356779, 11), - /* K1 */ be_nested_string("i2c_enabled", 218388101, 11), - /* K2 */ be_nested_string("addr", 1087856498, 4), - /* K3 */ be_nested_string("wire", -212213352, 4), - /* K4 */ be_nested_string("wire_scan", -1623691416, 9), - /* K5 */ be_nested_string("function", -1630125495, 8), - /* K6 */ be_nested_string("name", -1925595674, 4), - /* K7 */ be_nested_string("I2C:", 813483371, 4), - /* K8 */ be_nested_string("detected on bus", 1432002650, 15), - /* K9 */ be_nested_string("bus", 1607822841, 3), + /* K0 */ be_nested_str(get_tasmota), + /* K1 */ be_nested_str(i2c_enabled), + /* K2 */ be_nested_str(addr), + /* K3 */ be_nested_str(wire), + /* K4 */ be_nested_str(wire_scan), + /* K5 */ be_nested_str(function), + /* K6 */ be_nested_str(name), + /* K7 */ be_nested_str(I2C_X3A), + /* K8 */ be_nested_str(detected_X20on_X20bus), + /* K9 */ be_nested_str(bus), }), - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[44]) { /* code */ 0x8C100100, // 0000 GETMET R4 R0 K0 0x7C100200, // 0001 CALL R4 1 @@ -357,7 +355,7 @@ be_local_closure(init, /* name */ /******************************************************************** ** Solidified function: read13 ********************************************************************/ -be_local_closure(read13, /* name */ +be_local_closure(I2C_Driver_read13, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -368,15 +366,15 @@ be_local_closure(read13, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_string("wire", -212213352, 4), - /* K1 */ be_nested_string("read_bytes", -718234123, 10), - /* K2 */ be_nested_string("addr", 1087856498, 4), + /* K0 */ be_nested_str(wire), + /* K1 */ be_nested_str(read_bytes), + /* K2 */ be_nested_str(addr), /* K3 */ be_const_int(2), /* K4 */ be_const_int(0), /* K5 */ be_const_int(1), }), - (be_nested_const_str("read13", 12887293, 6)), - ((bstring*) &be_const_str_input), + &be_const_str_read13, + &be_const_str_solidified, ( &(const binstruction[12]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -395,27 +393,33 @@ be_local_closure(read13, /* name */ ); /*******************************************************************/ -#include "../generate/be_fixed_be_class_I2C_Driver.h" -void be_load_driver_i2c_lib(bvm *vm) { +/******************************************************************** +** Solidified class: I2C_Driver +********************************************************************/ +be_local_class(I2C_Driver, + 3, + NULL, + be_nested_map(11, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(read32, -1), be_const_closure(I2C_Driver_read32_closure) }, + { be_const_key(write8, 6), be_const_closure(I2C_Driver_write8_closure) }, + { be_const_key(name, -1), be_const_var(2) }, + { be_const_key(addr, 8), be_const_var(1) }, + { be_const_key(read12, -1), be_const_closure(I2C_Driver_read12_closure) }, + { be_const_key(wire, 10), be_const_var(0) }, + { be_const_key(read13, -1), be_const_closure(I2C_Driver_read13_closure) }, + { be_const_key(read24, -1), be_const_closure(I2C_Driver_read24_closure) }, + { be_const_key(read8, -1), be_const_closure(I2C_Driver_read8_closure) }, + { be_const_key(init, -1), be_const_closure(I2C_Driver_init_closure) }, + { be_const_key(write_bit, -1), be_const_closure(I2C_Driver_write_bit_closure) }, + })), + be_str_literal("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); } -/* @const_object_info_begin - -class be_class_I2C_Driver (scope: global, name: I2C_Driver, super: be_class_Driver) { - wire, var - addr, var - name, var - - init, closure(init_closure) - write8, closure(write8_closure) - write_bit, closure(write_bit_closure) - read8, closure(read8_closure) - read12, closure(read12_closure) - read13, closure(read13_closure) - read24, closure(read24_closure) - read32, closure(read32_closure) -} -@const_object_info_end */ diff --git a/lib/libesp32/Berry/default/be_leds_animator_lib.c b/lib/libesp32/Berry/default/be_leds_animator_lib.c index c5783edb9..bd82193b9 100644 --- a/lib/libesp32/Berry/default/be_leds_animator_lib.c +++ b/lib/libesp32/Berry/default/be_leds_animator_lib.c @@ -20,17 +20,17 @@ be_local_closure(Leds_animator_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ - /* K0 */ be_nested_string("strip", -48555823, 5), - /* K1 */ be_nested_string("bri", 2112284244, 3), - /* K2 */ be_nested_string("running", 343848780, 7), - /* K3 */ be_nested_string("pixel_count", -1855836553, 11), - /* K4 */ be_nested_string("animators", 279858213, 9), - /* K5 */ be_nested_string("clear", 1550717474, 5), - /* K6 */ be_nested_string("tasmota", 424643812, 7), - /* K7 */ be_nested_string("add_driver", 1654458371, 10), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(bri), + /* K2 */ be_nested_str(running), + /* K3 */ be_nested_str(pixel_count), + /* K4 */ be_nested_str(animators), + /* K5 */ be_nested_str(clear), + /* K6 */ be_nested_str(tasmota), + /* K7 */ be_nested_str(add_driver), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[18]) { /* code */ 0x90020001, // 0000 SETMBR R0 K0 R1 0x540A0031, // 0001 LDINT R2 50 @@ -70,10 +70,10 @@ be_local_closure(Leds_animator_set_bri, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("bri", 2112284244, 3), + /* K0 */ be_nested_str(bri), }), - (be_nested_const_str("set_bri", -1505848517, 7)), - ((bstring*) &be_const_str_input), + &be_const_str_set_bri, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x90020001, // 0000 SETMBR R0 K0 R1 0x80000000, // 0001 RET 0 @@ -97,10 +97,10 @@ be_local_closure(Leds_animator_stop, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("running", 343848780, 7), + /* K0 */ be_nested_str(running), }), - (be_nested_const_str("stop", -883741979, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_stop, + &be_const_str_solidified, ( &(const binstruction[ 3]) { /* code */ 0x50040000, // 0000 LDBOOL R1 0 0 0x90020001, // 0001 SETMBR R0 K0 R1 @@ -125,8 +125,8 @@ be_local_closure(Leds_animator_animate, /* name */ NULL, /* no sub protos */ 0, /* has constants */ NULL, /* no const */ - (be_nested_const_str("animate", -409180496, 7)), - ((bstring*) &be_const_str_input), + &be_const_str_animate, + &be_const_str_solidified, ( &(const binstruction[ 1]) { /* code */ 0x80000000, // 0000 RET 0 }) @@ -149,11 +149,11 @@ be_local_closure(Leds_animator_remove, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("tasmota", 424643812, 7), - /* K1 */ be_nested_string("remove_driver", 1030243768, 13), + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(remove_driver), }), - (be_nested_const_str("remove", -611183107, 6)), - ((bstring*) &be_const_str_input), + &be_const_str_remove, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -180,16 +180,16 @@ be_local_closure(Leds_animator_every_50ms, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_string("running", 343848780, 7), + /* K0 */ be_nested_str(running), /* K1 */ be_const_int(0), - /* K2 */ be_nested_string("animators", 279858213, 9), - /* K3 */ be_nested_string("is_running", -2068120035, 10), - /* K4 */ be_nested_string("animate", -409180496, 7), + /* K2 */ be_nested_str(animators), + /* K3 */ be_nested_str(is_running), + /* K4 */ be_nested_str(animate), /* K5 */ be_const_int(1), - /* K6 */ be_nested_string("remove", -611183107, 6), + /* K6 */ be_nested_str(remove), }), - (be_nested_const_str("every_50ms", -1911083288, 10)), - ((bstring*) &be_const_str_input), + &be_const_str_every_50ms, + &be_const_str_solidified, ( &(const binstruction[25]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x78060015, // 0001 JMPF R1 #0018 @@ -236,10 +236,10 @@ be_local_closure(Leds_animator_get_bri, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("bri", 2112284244, 3), + /* K0 */ be_nested_str(bri), }), - (be_nested_const_str("get_bri", 2041809895, 7)), - ((bstring*) &be_const_str_input), + &be_const_str_get_bri, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x80040400, // 0001 RET 1 R2 @@ -263,10 +263,10 @@ be_local_closure(Leds_animator_start, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("running", 343848780, 7), + /* K0 */ be_nested_str(running), }), - (be_nested_const_str("start", 1697318111, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_start, + &be_const_str_solidified, ( &(const binstruction[ 3]) { /* code */ 0x50040200, // 0000 LDBOOL R1 1 0 0x90020001, // 0001 SETMBR R0 K0 R1 @@ -291,12 +291,12 @@ be_local_closure(Leds_animator_add_anim, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("animators", 279858213, 9), - /* K1 */ be_nested_string("push", -2022703139, 4), - /* K2 */ be_nested_string("run", 718098122, 3), + /* K0 */ be_nested_str(animators), + /* K1 */ be_nested_str(push), + /* K2 */ be_nested_str(run), }), - (be_nested_const_str("add_anim", -314304628, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_add_anim, + &be_const_str_solidified, ( &(const binstruction[ 7]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -325,12 +325,12 @@ be_local_closure(Leds_animator_clear, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("stop", -883741979, 4), - /* K1 */ be_nested_string("strip", -48555823, 5), - /* K2 */ be_nested_string("clear", 1550717474, 5), + /* K0 */ be_nested_str(stop), + /* K1 */ be_nested_str(strip), + /* K2 */ be_nested_str(clear), }), - (be_nested_const_str("clear", 1550717474, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_clear, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x7C040200, // 0001 CALL R1 1 @@ -352,23 +352,23 @@ be_local_class(Leds_animator, NULL, be_nested_map(15, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("init", 380752755, 4, 7), be_const_closure(Leds_animator_init_closure) }, - { be_nested_key("set_bri", -1505848517, 7, -1), be_const_closure(Leds_animator_set_bri_closure) }, - { be_nested_key("stop", -883741979, 4, -1), be_const_closure(Leds_animator_stop_closure) }, - { be_nested_key("strip", -48555823, 5, 4), be_const_var(0) }, - { be_nested_key("animators", 279858213, 9, 12), be_const_var(4) }, - { be_nested_key("animate", -409180496, 7, -1), be_const_closure(Leds_animator_animate_closure) }, - { be_nested_key("remove", -611183107, 6, -1), be_const_closure(Leds_animator_remove_closure) }, - { be_nested_key("running", 343848780, 7, -1), be_const_var(3) }, - { be_nested_key("every_50ms", -1911083288, 10, -1), be_const_closure(Leds_animator_every_50ms_closure) }, - { be_nested_key("bri", 2112284244, 3, 6), be_const_var(2) }, - { be_nested_key("get_bri", 2041809895, 7, -1), be_const_closure(Leds_animator_get_bri_closure) }, - { be_nested_key("start", 1697318111, 5, -1), be_const_closure(Leds_animator_start_closure) }, - { be_nested_key("add_anim", -314304628, 8, 13), be_const_closure(Leds_animator_add_anim_closure) }, - { be_nested_key("pixel_count", -1855836553, 11, -1), be_const_var(1) }, - { be_nested_key("clear", 1550717474, 5, 1), be_const_closure(Leds_animator_clear_closure) }, + { be_const_key(init, 12), be_const_closure(Leds_animator_init_closure) }, + { be_const_key(clear, -1), be_const_closure(Leds_animator_clear_closure) }, + { be_const_key(stop, -1), be_const_closure(Leds_animator_stop_closure) }, + { be_const_key(strip, 4), be_const_var(0) }, + { be_const_key(pixel_count, 6), be_const_var(1) }, + { be_const_key(animate, -1), be_const_closure(Leds_animator_animate_closure) }, + { be_const_key(add_anim, 13), be_const_closure(Leds_animator_add_anim_closure) }, + { be_const_key(bri, -1), be_const_var(2) }, + { be_const_key(every_50ms, -1), be_const_closure(Leds_animator_every_50ms_closure) }, + { be_const_key(remove, 7), be_const_closure(Leds_animator_remove_closure) }, + { be_const_key(get_bri, -1), be_const_closure(Leds_animator_get_bri_closure) }, + { be_const_key(start, -1), be_const_closure(Leds_animator_start_closure) }, + { be_const_key(running, -1), be_const_var(3) }, + { be_const_key(animators, -1), be_const_var(4) }, + { be_const_key(set_bri, 1), be_const_closure(Leds_animator_set_bri_closure) }, })), - (be_nested_const_str("Leds_animator", 142168673, 13)) + be_str_literal("Leds_animator") ); /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_leds_lib.c b/lib/libesp32/Berry/default/be_leds_lib.c index 06e322c13..58b0a991e 100644 --- a/lib/libesp32/Berry/default/be_leds_lib.c +++ b/lib/libesp32/Berry/default/be_leds_lib.c @@ -20,11 +20,11 @@ be_local_closure(Leds_matrix_pixel_count, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("w"), - /* K1 */ be_nested_str_literal("h"), + /* K0 */ be_nested_str(w), + /* K1 */ be_nested_str(h), }), - (be_nested_const_str("pixel_count", -1855836553, 11)), - ((bstring*) &be_const_str_input), + &be_const_str_pixel_count, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x88080101, // 0001 GETMBR R2 R0 K1 @@ -50,10 +50,10 @@ be_local_closure(Leds_matrix_set_alternate, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_literal("alternate"), + /* K0 */ be_nested_str(alternate), }), - (be_nested_const_str("set_alternate", 1709680562, 13)), - ((bstring*) &be_const_str_input), + &be_const_str_set_alternate, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x90020001, // 0000 SETMBR R0 K0 R1 0x80000000, // 0001 RET 0 @@ -77,11 +77,11 @@ be_local_closure(Leds_matrix_pixel_size, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("pixel_size"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(pixel_size), }), - (be_nested_const_str("pixel_size", -2085831511, 10)), - ((bstring*) &be_const_str_input), + &be_const_str_pixel_size, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -107,12 +107,12 @@ be_local_closure(Leds_matrix_set_pixel_color, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("set_pixel_color"), - /* K2 */ be_nested_str_literal("offset"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(set_pixel_color), + /* K2 */ be_nested_str(offset), }), - (be_nested_const_str("set_pixel_color", 1275248356, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_set_pixel_color, + &be_const_str_solidified, ( &(const binstruction[ 8]) { /* code */ 0x88100100, // 0000 GETMBR R4 R0 K0 0x8C100901, // 0001 GETMET R4 R4 K1 @@ -142,17 +142,17 @@ be_local_closure(Leds_matrix_set_matrix_pixel_color, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ - /* K0 */ be_nested_str_literal("alternate"), + /* K0 */ be_nested_str(alternate), /* K1 */ be_const_int(2), - /* K2 */ be_nested_str_literal("strip"), - /* K3 */ be_nested_str_literal("set_pixel_color"), - /* K4 */ be_nested_str_literal("w"), - /* K5 */ be_nested_str_literal("h"), + /* K2 */ be_nested_str(strip), + /* K3 */ be_nested_str(set_pixel_color), + /* K4 */ be_nested_str(w), + /* K5 */ be_nested_str(h), /* K6 */ be_const_int(1), - /* K7 */ be_nested_str_literal("offset"), + /* K7 */ be_nested_str(offset), }), - (be_nested_const_str("set_matrix_pixel_color", 1197149462, 22)), - ((bstring*) &be_const_str_input), + &be_const_str_set_matrix_pixel_color, + &be_const_str_solidified, ( &(const binstruction[29]) { /* code */ 0x88140100, // 0000 GETMBR R5 R0 K0 0x7816000F, // 0001 JMPF R5 #0012 @@ -203,16 +203,16 @@ be_local_closure(Leds_matrix_show, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_str_literal("offset"), + /* K0 */ be_nested_str(offset), /* K1 */ be_const_int(0), - /* K2 */ be_nested_str_literal("w"), - /* K3 */ be_nested_str_literal("h"), - /* K4 */ be_nested_str_literal("strip"), - /* K5 */ be_nested_str_literal("leds"), - /* K6 */ be_nested_str_literal("show"), + /* K2 */ be_nested_str(w), + /* K3 */ be_nested_str(h), + /* K4 */ be_nested_str(strip), + /* K5 */ be_nested_str(leds), + /* K6 */ be_nested_str(show), }), - (be_nested_const_str("show", -1454906820, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_show, + &be_const_str_solidified, ( &(const binstruction[18]) { /* code */ 0x60080017, // 0000 GETGBL R2 G23 0x5C0C0200, // 0001 MOVE R3 R1 @@ -252,11 +252,11 @@ be_local_closure(Leds_matrix_is_dirty, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("is_dirty"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(is_dirty), }), - (be_nested_const_str("is_dirty", 418034110, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_is_dirty, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -283,15 +283,15 @@ be_local_closure(Leds_matrix_clear_to, /* name */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_const_int(0), - /* K1 */ be_nested_str_literal("w"), - /* K2 */ be_nested_str_literal("h"), - /* K3 */ be_nested_str_literal("strip"), - /* K4 */ be_nested_str_literal("set_pixel_color"), - /* K5 */ be_nested_str_literal("offset"), + /* K1 */ be_nested_str(w), + /* K2 */ be_nested_str(h), + /* K3 */ be_nested_str(strip), + /* K4 */ be_nested_str(set_pixel_color), + /* K5 */ be_nested_str(offset), /* K6 */ be_const_int(1), }), - (be_nested_const_str("clear_to", -766965166, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_clear_to, + &be_const_str_solidified, ( &(const binstruction[16]) { /* code */ 0x580C0000, // 0000 LDCONST R3 K0 0x88100101, // 0001 GETMBR R4 R0 K1 @@ -329,12 +329,12 @@ be_local_closure(Leds_matrix_clear, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_literal("clear_to"), + /* K0 */ be_nested_str(clear_to), /* K1 */ be_const_int(0), - /* K2 */ be_nested_str_literal("show"), + /* K2 */ be_nested_str(show), }), - (be_nested_const_str("clear", 1550717474, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_clear, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x580C0001, // 0001 LDCONST R3 K1 @@ -362,8 +362,8 @@ be_local_closure(Leds_matrix_pixels_buffer, /* name */ NULL, /* no sub protos */ 0, /* has constants */ NULL, /* no const */ - (be_nested_const_str("pixels_buffer", 1229555807, 13)), - ((bstring*) &be_const_str_input), + &be_const_str_pixels_buffer, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x4C040000, // 0000 LDNIL R1 0x80040200, // 0001 RET 1 R1 @@ -387,14 +387,14 @@ be_local_closure(Leds_matrix_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("offset"), - /* K2 */ be_nested_str_literal("h"), - /* K3 */ be_nested_str_literal("w"), - /* K4 */ be_nested_str_literal("alternate"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(offset), + /* K2 */ be_nested_str(h), + /* K3 */ be_nested_str(w), + /* K4 */ be_nested_str(alternate), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[ 7]) { /* code */ 0x90020001, // 0000 SETMBR R0 K0 R1 0x90020204, // 0001 SETMBR R0 K1 R4 @@ -423,11 +423,11 @@ be_local_closure(Leds_matrix_dirty, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("dirty"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(dirty), }), - (be_nested_const_str("dirty", -1627386213, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_dirty, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -453,12 +453,12 @@ be_local_closure(Leds_matrix_get_pixel_color, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("get_pixel_color"), - /* K2 */ be_nested_str_literal("offseta"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(get_pixel_color), + /* K2 */ be_nested_str(offseta), }), - (be_nested_const_str("get_pixel_color", 337490048, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_get_pixel_color, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -486,10 +486,10 @@ be_local_closure(Leds_matrix_get_alternate, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_literal("alternate"), + /* K0 */ be_nested_str(alternate), }), - (be_nested_const_str("get_alternate", 1450148894, 13)), - ((bstring*) &be_const_str_input), + &be_const_str_get_alternate, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x80040200, // 0001 RET 1 R1 @@ -513,8 +513,8 @@ be_local_closure(Leds_matrix_begin, /* name */ NULL, /* no sub protos */ 0, /* has constants */ NULL, /* no const */ - (be_nested_const_str("begin", 1748273790, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_begin, + &be_const_str_solidified, ( &(const binstruction[ 1]) { /* code */ 0x80000000, // 0000 RET 0 }) @@ -537,11 +537,11 @@ be_local_closure(Leds_matrix_can_show, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("can_show"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(can_show), }), - (be_nested_const_str("can_show", 960091187, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_can_show, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -561,27 +561,27 @@ be_local_class(Leds_matrix, NULL, be_nested_map(21, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("pixel_count", -1855836553, 11, -1), be_const_closure(Leds_matrix_pixel_count_closure) }, - { be_nested_key("h", -317966505, 1, 6), be_const_var(2) }, - { be_nested_key("set_alternate", 1709680562, 13, 7), be_const_closure(Leds_matrix_set_alternate_closure) }, - { be_nested_key("pixel_size", -2085831511, 10, 16), be_const_closure(Leds_matrix_pixel_size_closure) }, - { be_nested_key("set_pixel_color", 1275248356, 15, 19), be_const_closure(Leds_matrix_set_pixel_color_closure) }, - { be_nested_key("set_matrix_pixel_color", 1197149462, 22, 10), be_const_closure(Leds_matrix_set_matrix_pixel_color_closure) }, - { be_nested_key("show", -1454906820, 4, -1), be_const_closure(Leds_matrix_show_closure) }, - { be_nested_key("alternate", 1140253277, 9, -1), be_const_var(4) }, - { be_nested_key("strip", -48555823, 5, -1), be_const_var(0) }, - { be_nested_key("clear_to", -766965166, 8, -1), be_const_closure(Leds_matrix_clear_to_closure) }, - { be_nested_key("w", -234078410, 1, 15), be_const_var(3) }, - { be_nested_key("pixels_buffer", 1229555807, 13, -1), be_const_closure(Leds_matrix_pixels_buffer_closure) }, - { be_nested_key("init", 380752755, 4, -1), be_const_closure(Leds_matrix_init_closure) }, - { be_nested_key("dirty", -1627386213, 5, -1), be_const_closure(Leds_matrix_dirty_closure) }, - { be_nested_key("get_pixel_color", 337490048, 15, -1), be_const_closure(Leds_matrix_get_pixel_color_closure) }, - { be_nested_key("get_alternate", 1450148894, 13, 17), be_const_closure(Leds_matrix_get_alternate_closure) }, - { be_nested_key("offset", 348705738, 6, 8), be_const_var(1) }, - { be_nested_key("clear", 1550717474, 5, -1), be_const_closure(Leds_matrix_clear_closure) }, - { be_nested_key("begin", 1748273790, 5, -1), be_const_closure(Leds_matrix_begin_closure) }, - { be_nested_key("is_dirty", 418034110, 8, -1), be_const_closure(Leds_matrix_is_dirty_closure) }, - { be_nested_key("can_show", 960091187, 8, -1), be_const_closure(Leds_matrix_can_show_closure) }, + { be_const_key(pixel_count, -1), be_const_closure(Leds_matrix_pixel_count_closure) }, + { be_const_key(h, 6), be_const_var(2) }, + { be_const_key(set_alternate, 7), be_const_closure(Leds_matrix_set_alternate_closure) }, + { be_const_key(pixel_size, 16), be_const_closure(Leds_matrix_pixel_size_closure) }, + { be_const_key(set_pixel_color, 19), be_const_closure(Leds_matrix_set_pixel_color_closure) }, + { be_const_key(set_matrix_pixel_color, 10), be_const_closure(Leds_matrix_set_matrix_pixel_color_closure) }, + { be_const_key(show, -1), be_const_closure(Leds_matrix_show_closure) }, + { be_const_key(alternate, -1), be_const_var(4) }, + { be_const_key(strip, -1), be_const_var(0) }, + { be_const_key(clear_to, -1), be_const_closure(Leds_matrix_clear_to_closure) }, + { be_const_key(w, 15), be_const_var(3) }, + { be_const_key(pixels_buffer, -1), be_const_closure(Leds_matrix_pixels_buffer_closure) }, + { be_const_key(init, -1), be_const_closure(Leds_matrix_init_closure) }, + { be_const_key(dirty, -1), be_const_closure(Leds_matrix_dirty_closure) }, + { be_const_key(get_pixel_color, -1), be_const_closure(Leds_matrix_get_pixel_color_closure) }, + { be_const_key(get_alternate, 17), be_const_closure(Leds_matrix_get_alternate_closure) }, + { be_const_key(offset, 8), be_const_var(1) }, + { be_const_key(clear, -1), be_const_closure(Leds_matrix_clear_closure) }, + { be_const_key(begin, -1), be_const_closure(Leds_matrix_begin_closure) }, + { be_const_key(is_dirty, -1), be_const_closure(Leds_matrix_is_dirty_closure) }, + { be_const_key(can_show, -1), be_const_closure(Leds_matrix_can_show_closure) }, })), be_str_literal("Leds_matrix") ); @@ -601,13 +601,13 @@ be_local_closure(Leds_create_matrix, /* name */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_int(0), - /* K1 */ be_nested_str_literal("leds"), - /* K2 */ be_nested_str_literal("value_error"), - /* K3 */ be_nested_str_literal("out of range"), + /* K1 */ be_nested_str(leds), + /* K2 */ be_nested_str(value_error), + /* K3 */ be_nested_str(out_X20of_X20range), /* K4 */ be_const_class(be_class_Leds_matrix), }), - (be_nested_const_str("create_matrix", -766781373, 13)), - ((bstring*) &be_const_str_input), + &be_const_str_create_matrix, + &be_const_str_solidified, ( &(const binstruction[37]) { /* code */ 0x60100009, // 0000 GETGBL R4 G9 0x5C140600, // 0001 MOVE R5 R3 @@ -666,11 +666,11 @@ be_local_closure(Leds_begin, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), + /* K0 */ be_nested_str(call_native), /* K1 */ be_const_int(1), }), - (be_nested_const_str("begin", 1748273790, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_begin, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x580C0001, // 0001 LDCONST R3 K1 @@ -696,16 +696,16 @@ be_local_closure(Leds_to_gamma, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_str_literal("tasmota"), - /* K1 */ be_nested_str_literal("scale_uint"), + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(scale_uint), /* K2 */ be_const_int(0), /* K3 */ be_const_int(16711680), - /* K4 */ be_nested_str_literal("gamma"), - /* K5 */ be_nested_str_literal("light"), - /* K6 */ be_nested_str_literal("gamma8"), + /* K4 */ be_nested_str(gamma), + /* K5 */ be_nested_str(light), + /* K6 */ be_nested_str(gamma8), }), - (be_nested_const_str("to_gamma", 1597139862, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_to_gamma, + &be_const_str_solidified, ( &(const binstruction[67]) { /* code */ 0x4C0C0000, // 0000 LDNIL R3 0x200C0403, // 0001 NE R3 R2 R3 @@ -794,10 +794,10 @@ be_local_closure(Leds_pixel_count, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), + /* K0 */ be_nested_str(call_native), }), - (be_nested_const_str("pixel_count", -1855836553, 11)), - ((bstring*) &be_const_str_input), + &be_const_str_pixel_count, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E0007, // 0001 LDINT R3 8 @@ -823,12 +823,12 @@ be_local_closure(Leds_matrix, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_literal("Leds"), - /* K1 */ be_nested_str_literal("create_matrix"), + /* K0 */ be_nested_str(Leds), + /* K1 */ be_nested_str(create_matrix), /* K2 */ be_const_int(0), }), - (be_nested_const_str("matrix", 365099244, 6)), - ((bstring*) &be_const_str_input), + &be_const_str_matrix, + &be_const_str_solidified, ( &(const binstruction[11]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x08140001, // 0001 MUL R5 R0 R1 @@ -861,10 +861,10 @@ be_local_closure(Leds_pixel_size, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), + /* K0 */ be_nested_str(call_native), }), - (be_nested_const_str("pixel_size", -2085831511, 10)), - ((bstring*) &be_const_str_input), + &be_const_str_pixel_size, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E0006, // 0001 LDINT R3 7 @@ -890,10 +890,10 @@ be_local_closure(Leds_pixels_buffer, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), + /* K0 */ be_nested_str(call_native), }), - (be_nested_const_str("pixels_buffer", 1229555807, 13)), - ((bstring*) &be_const_str_input), + &be_const_str_pixels_buffer, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E0005, // 0001 LDINT R3 6 @@ -919,10 +919,10 @@ be_local_closure(Leds_get_pixel_color, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), + /* K0 */ be_nested_str(call_native), }), - (be_nested_const_str("get_pixel_color", 337490048, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_get_pixel_color, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x8C080100, // 0000 GETMET R2 R0 K0 0x5412000A, // 0001 LDINT R4 11 @@ -949,11 +949,11 @@ be_local_closure(Leds_set_pixel_color, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), - /* K1 */ be_nested_str_literal("to_gamma"), + /* K0 */ be_nested_str(call_native), + /* K1 */ be_nested_str(to_gamma), }), - (be_nested_const_str("set_pixel_color", 1275248356, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_set_pixel_color, + &be_const_str_solidified, ( &(const binstruction[ 9]) { /* code */ 0x8C100100, // 0000 GETMET R4 R0 K0 0x541A0009, // 0001 LDINT R6 10 @@ -984,10 +984,10 @@ be_local_closure(Leds_is_dirty, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), + /* K0 */ be_nested_str(call_native), }), - (be_nested_const_str("is_dirty", 418034110, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_is_dirty, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E0003, // 0001 LDINT R3 4 @@ -1013,21 +1013,21 @@ be_local_closure(Leds_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ - /* K0 */ be_nested_str_literal("gamma"), - /* K1 */ be_nested_str_literal("leds"), - /* K2 */ be_nested_str_literal("pin"), - /* K3 */ be_nested_str_literal("WS2812"), + /* K0 */ be_nested_str(gamma), + /* K1 */ be_nested_str(leds), + /* K2 */ be_nested_str(pin), + /* K3 */ be_nested_str(WS2812), /* K4 */ be_const_int(0), - /* K5 */ be_nested_str_literal("valuer_error"), - /* K6 */ be_nested_str_literal("no GPIO specified for neopixelbus"), - /* K7 */ be_nested_str_literal("ctor"), - /* K8 */ be_nested_str_literal("_p"), - /* K9 */ be_nested_str_literal("internal_error"), - /* K10 */ be_nested_str_literal("couldn't not initialize noepixelbus"), - /* K11 */ be_nested_str_literal("begin"), + /* K5 */ be_nested_str(valuer_error), + /* K6 */ be_nested_str(no_X20GPIO_X20specified_X20for_X20neopixelbus), + /* K7 */ be_nested_str(ctor), + /* K8 */ be_nested_str(_p), + /* K9 */ be_nested_str(internal_error), + /* K10 */ be_nested_str(couldn_X27t_X20not_X20initialize_X20noepixelbus), + /* K11 */ be_nested_str(begin), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[36]) { /* code */ 0x50140200, // 0000 LDBOOL R5 1 0 0x90020005, // 0001 SETMBR R0 K0 R5 @@ -1085,11 +1085,11 @@ be_local_closure(Leds_clear_to, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), - /* K1 */ be_nested_str_literal("to_gamma"), + /* K0 */ be_nested_str(call_native), + /* K1 */ be_nested_str(to_gamma), }), - (be_nested_const_str("clear_to", -766965166, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_clear_to, + &be_const_str_solidified, ( &(const binstruction[ 8]) { /* code */ 0x8C0C0100, // 0000 GETMET R3 R0 K0 0x54160008, // 0001 LDINT R5 9 @@ -1119,11 +1119,11 @@ be_local_closure(Leds_can_show, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), + /* K0 */ be_nested_str(call_native), /* K1 */ be_const_int(3), }), - (be_nested_const_str("can_show", 960091187, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_can_show, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x580C0001, // 0001 LDCONST R3 K1 @@ -1149,12 +1149,12 @@ be_local_closure(Leds_clear, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_literal("clear_to"), + /* K0 */ be_nested_str(clear_to), /* K1 */ be_const_int(0), - /* K2 */ be_nested_str_literal("show"), + /* K2 */ be_nested_str(show), }), - (be_nested_const_str("clear", 1550717474, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_clear, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x580C0001, // 0001 LDCONST R3 K1 @@ -1182,11 +1182,11 @@ be_local_closure(Leds_show, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), + /* K0 */ be_nested_str(call_native), /* K1 */ be_const_int(2), }), - (be_nested_const_str("show", -1454906820, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_show, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x580C0001, // 0001 LDCONST R3 K1 @@ -1212,11 +1212,11 @@ be_local_closure(Leds_ctor, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), + /* K0 */ be_nested_str(call_native), /* K1 */ be_const_int(0), }), - (be_nested_const_str("ctor", 375399343, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_ctor, + &be_const_str_solidified, ( &(const binstruction[16]) { /* code */ 0x4C100000, // 0000 LDNIL R4 0x1C100604, // 0001 EQ R4 R3 R4 @@ -1254,10 +1254,10 @@ be_local_closure(Leds_dirty, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_literal("call_native"), + /* K0 */ be_nested_str(call_native), }), - (be_nested_const_str("dirty", -1627386213, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_dirty, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x540E0004, // 0001 LDINT R3 5 @@ -1283,12 +1283,12 @@ be_local_closure(Leds_segment_get_pixel_color, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("get_pixel_color"), - /* K2 */ be_nested_str_literal("offseta"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(get_pixel_color), + /* K2 */ be_nested_str(offseta), }), - (be_nested_const_str("get_pixel_color", 337490048, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_get_pixel_color, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -1317,14 +1317,14 @@ be_local_closure(Leds_segment_clear_to, /* name */ 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_int(0), - /* K1 */ be_nested_str_literal("leds"), - /* K2 */ be_nested_str_literal("strip"), - /* K3 */ be_nested_str_literal("set_pixel_color"), - /* K4 */ be_nested_str_literal("offset"), + /* K1 */ be_nested_str(leds), + /* K2 */ be_nested_str(strip), + /* K3 */ be_nested_str(set_pixel_color), + /* K4 */ be_nested_str(offset), /* K5 */ be_const_int(1), }), - (be_nested_const_str("clear_to", -766965166, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_clear_to, + &be_const_str_solidified, ( &(const binstruction[14]) { /* code */ 0x580C0000, // 0000 LDCONST R3 K0 0x88100101, // 0001 GETMBR R4 R0 K1 @@ -1360,11 +1360,11 @@ be_local_closure(Leds_segment_can_show, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("can_show"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(can_show), }), - (be_nested_const_str("can_show", 960091187, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_can_show, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -1390,12 +1390,12 @@ be_local_closure(Leds_segment_set_pixel_color, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("set_pixel_color"), - /* K2 */ be_nested_str_literal("offset"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(set_pixel_color), + /* K2 */ be_nested_str(offset), }), - (be_nested_const_str("set_pixel_color", 1275248356, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_set_pixel_color, + &be_const_str_solidified, ( &(const binstruction[ 8]) { /* code */ 0x88100100, // 0000 GETMBR R4 R0 K0 0x8C100901, // 0001 GETMET R4 R4 K1 @@ -1425,12 +1425,12 @@ be_local_closure(Leds_segment_clear, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_literal("clear_to"), + /* K0 */ be_nested_str(clear_to), /* K1 */ be_const_int(0), - /* K2 */ be_nested_str_literal("show"), + /* K2 */ be_nested_str(show), }), - (be_nested_const_str("clear", 1550717474, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_clear, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x8C040100, // 0000 GETMET R1 R0 K0 0x580C0001, // 0001 LDCONST R3 K1 @@ -1458,8 +1458,8 @@ be_local_closure(Leds_segment_begin, /* name */ NULL, /* no sub protos */ 0, /* has constants */ NULL, /* no const */ - (be_nested_const_str("begin", 1748273790, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_begin, + &be_const_str_solidified, ( &(const binstruction[ 1]) { /* code */ 0x80000000, // 0000 RET 0 }) @@ -1482,10 +1482,10 @@ be_local_closure(Leds_segment_pixel_count, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_literal("leds"), + /* K0 */ be_nested_str(leds), }), - (be_nested_const_str("pixel_count", -1855836553, 11)), - ((bstring*) &be_const_str_input), + &be_const_str_pixel_count, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x80040200, // 0001 RET 1 R1 @@ -1509,12 +1509,12 @@ be_local_closure(Leds_segment_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("offset"), - /* K2 */ be_nested_str_literal("leds"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(offset), + /* K2 */ be_nested_str(leds), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[10]) { /* code */ 0x90020001, // 0000 SETMBR R0 K0 R1 0x60100009, // 0001 GETGBL R4 G9 @@ -1546,11 +1546,11 @@ be_local_closure(Leds_segment_pixel_size, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("pixel_size"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(pixel_size), }), - (be_nested_const_str("pixel_size", -2085831511, 10)), - ((bstring*) &be_const_str_input), + &be_const_str_pixel_size, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -1576,11 +1576,11 @@ be_local_closure(Leds_segment_dirty, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("dirty"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(dirty), }), - (be_nested_const_str("dirty", -1627386213, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_dirty, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -1606,14 +1606,14 @@ be_local_closure(Leds_segment_show, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str_literal("offset"), + /* K0 */ be_nested_str(offset), /* K1 */ be_const_int(0), - /* K2 */ be_nested_str_literal("leds"), - /* K3 */ be_nested_str_literal("strip"), - /* K4 */ be_nested_str_literal("show"), + /* K2 */ be_nested_str(leds), + /* K3 */ be_nested_str(strip), + /* K4 */ be_nested_str(show), }), - (be_nested_const_str("show", -1454906820, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_show, + &be_const_str_solidified, ( &(const binstruction[16]) { /* code */ 0x60080017, // 0000 GETGBL R2 G23 0x5C0C0200, // 0001 MOVE R3 R1 @@ -1651,11 +1651,11 @@ be_local_closure(Leds_segment_is_dirty, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("strip"), - /* K1 */ be_nested_str_literal("is_dirty"), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(is_dirty), }), - (be_nested_const_str("is_dirty", 418034110, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_is_dirty, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -1681,8 +1681,8 @@ be_local_closure(Leds_segment_pixels_buffer, /* name */ NULL, /* no sub protos */ 0, /* has constants */ NULL, /* no const */ - (be_nested_const_str("pixels_buffer", 1229555807, 13)), - ((bstring*) &be_const_str_input), + &be_const_str_pixels_buffer, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x4C040000, // 0000 LDNIL R1 0x80040200, // 0001 RET 1 R1 @@ -1700,22 +1700,22 @@ be_local_class(Leds_segment, NULL, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("get_pixel_color", 337490048, 15, -1), be_const_closure(Leds_segment_get_pixel_color_closure) }, - { be_nested_key("strip", -48555823, 5, -1), be_const_var(0) }, - { be_nested_key("clear_to", -766965166, 8, 5), be_const_closure(Leds_segment_clear_to_closure) }, - { be_nested_key("can_show", 960091187, 8, 13), be_const_closure(Leds_segment_can_show_closure) }, - { be_nested_key("set_pixel_color", 1275248356, 15, -1), be_const_closure(Leds_segment_set_pixel_color_closure) }, - { be_nested_key("clear", 1550717474, 5, -1), be_const_closure(Leds_segment_clear_closure) }, - { be_nested_key("is_dirty", 418034110, 8, -1), be_const_closure(Leds_segment_is_dirty_closure) }, - { be_nested_key("pixel_count", -1855836553, 11, -1), be_const_closure(Leds_segment_pixel_count_closure) }, - { be_nested_key("leds", 558858555, 4, -1), be_const_var(2) }, - { be_nested_key("pixel_size", -2085831511, 10, -1), be_const_closure(Leds_segment_pixel_size_closure) }, - { be_nested_key("offset", 348705738, 6, -1), be_const_var(1) }, - { be_nested_key("dirty", -1627386213, 5, 8), be_const_closure(Leds_segment_dirty_closure) }, - { be_nested_key("show", -1454906820, 4, -1), be_const_closure(Leds_segment_show_closure) }, - { be_nested_key("init", 380752755, 4, -1), be_const_closure(Leds_segment_init_closure) }, - { be_nested_key("begin", 1748273790, 5, 6), be_const_closure(Leds_segment_begin_closure) }, - { be_nested_key("pixels_buffer", 1229555807, 13, -1), be_const_closure(Leds_segment_pixels_buffer_closure) }, + { be_const_key(get_pixel_color, -1), be_const_closure(Leds_segment_get_pixel_color_closure) }, + { be_const_key(strip, -1), be_const_var(0) }, + { be_const_key(clear_to, 5), be_const_closure(Leds_segment_clear_to_closure) }, + { be_const_key(can_show, 13), be_const_closure(Leds_segment_can_show_closure) }, + { be_const_key(set_pixel_color, -1), be_const_closure(Leds_segment_set_pixel_color_closure) }, + { be_const_key(clear, -1), be_const_closure(Leds_segment_clear_closure) }, + { be_const_key(is_dirty, -1), be_const_closure(Leds_segment_is_dirty_closure) }, + { be_const_key(pixel_count, -1), be_const_closure(Leds_segment_pixel_count_closure) }, + { be_const_key(leds, -1), be_const_var(2) }, + { be_const_key(pixel_size, -1), be_const_closure(Leds_segment_pixel_size_closure) }, + { be_const_key(offset, -1), be_const_var(1) }, + { be_const_key(dirty, 8), be_const_closure(Leds_segment_dirty_closure) }, + { be_const_key(show, -1), be_const_closure(Leds_segment_show_closure) }, + { be_const_key(init, -1), be_const_closure(Leds_segment_init_closure) }, + { be_const_key(begin, 6), be_const_closure(Leds_segment_begin_closure) }, + { be_const_key(pixels_buffer, -1), be_const_closure(Leds_segment_pixels_buffer_closure) }, })), be_str_literal("Leds_segment") ); @@ -1734,14 +1734,14 @@ be_local_closure(Leds_create_segment, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str_literal("leds"), + /* K0 */ be_nested_str(leds), /* K1 */ be_const_int(0), - /* K2 */ be_nested_str_literal("value_error"), - /* K3 */ be_nested_str_literal("out of range"), + /* K2 */ be_nested_str(value_error), + /* K3 */ be_nested_str(out_X20of_X20range), /* K4 */ be_const_class(be_class_Leds_segment), }), - (be_nested_const_str("create_segment", -431444577, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_create_segment, + &be_const_str_solidified, ( &(const binstruction[23]) { /* code */ 0x600C0009, // 0000 GETGBL R3 G9 0x5C100200, // 0001 MOVE R4 R1 @@ -1781,26 +1781,26 @@ be_local_class(Leds, &be_class_Leds_ntv, be_nested_map(20, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("pixel_count", -1855836553, 11, -1), be_const_closure(Leds_pixel_count_closure) }, - { be_nested_key("dirty", -1627386213, 5, 6), be_const_closure(Leds_dirty_closure) }, - { be_nested_key("to_gamma", 1597139862, 8, -1), be_const_closure(Leds_to_gamma_closure) }, - { be_nested_key("create_matrix", -766781373, 13, 1), be_const_closure(Leds_create_matrix_closure) }, - { be_nested_key("matrix", 365099244, 6, -1), be_const_static_closure(Leds_matrix_closure) }, - { be_nested_key("pixel_size", -2085831511, 10, -1), be_const_closure(Leds_pixel_size_closure) }, - { be_nested_key("ctor", 375399343, 4, 0), be_const_closure(Leds_ctor_closure) }, - { be_nested_key("pixels_buffer", 1229555807, 13, 13), be_const_closure(Leds_pixels_buffer_closure) }, - { be_nested_key("get_pixel_color", 337490048, 15, -1), be_const_closure(Leds_get_pixel_color_closure) }, - { be_nested_key("show", -1454906820, 4, -1), be_const_closure(Leds_show_closure) }, - { be_nested_key("begin", 1748273790, 5, 17), be_const_closure(Leds_begin_closure) }, - { be_nested_key("leds", 558858555, 4, -1), be_const_var(1) }, - { be_nested_key("clear", 1550717474, 5, -1), be_const_closure(Leds_clear_closure) }, - { be_nested_key("can_show", 960091187, 8, -1), be_const_closure(Leds_can_show_closure) }, - { be_nested_key("gamma", -802614262, 5, 12), be_const_var(0) }, - { be_nested_key("init", 380752755, 4, 11), be_const_closure(Leds_init_closure) }, - { be_nested_key("set_pixel_color", 1275248356, 15, 9), be_const_closure(Leds_set_pixel_color_closure) }, - { be_nested_key("clear_to", -766965166, 8, 18), be_const_closure(Leds_clear_to_closure) }, - { be_nested_key("is_dirty", 418034110, 8, -1), be_const_closure(Leds_is_dirty_closure) }, - { be_nested_key("create_segment", -431444577, 14, -1), be_const_closure(Leds_create_segment_closure) }, + { be_const_key(pixel_count, -1), be_const_closure(Leds_pixel_count_closure) }, + { be_const_key(dirty, 6), be_const_closure(Leds_dirty_closure) }, + { be_const_key(to_gamma, -1), be_const_closure(Leds_to_gamma_closure) }, + { be_const_key(create_matrix, 1), be_const_closure(Leds_create_matrix_closure) }, + { be_const_key(matrix, -1), be_const_static_closure(Leds_matrix_closure) }, + { be_const_key(pixel_size, -1), be_const_closure(Leds_pixel_size_closure) }, + { be_const_key(ctor, 0), be_const_closure(Leds_ctor_closure) }, + { be_const_key(pixels_buffer, 13), be_const_closure(Leds_pixels_buffer_closure) }, + { be_const_key(get_pixel_color, -1), be_const_closure(Leds_get_pixel_color_closure) }, + { be_const_key(show, -1), be_const_closure(Leds_show_closure) }, + { be_const_key(begin, 17), be_const_closure(Leds_begin_closure) }, + { be_const_key(leds, -1), be_const_var(1) }, + { be_const_key(clear, -1), be_const_closure(Leds_clear_closure) }, + { be_const_key(can_show, -1), be_const_closure(Leds_can_show_closure) }, + { be_const_key(gamma, 12), be_const_var(0) }, + { be_const_key(init, 11), be_const_closure(Leds_init_closure) }, + { be_const_key(set_pixel_color, 9), be_const_closure(Leds_set_pixel_color_closure) }, + { be_const_key(clear_to, 18), be_const_closure(Leds_clear_to_closure) }, + { be_const_key(is_dirty, -1), be_const_closure(Leds_is_dirty_closure) }, + { be_const_key(create_segment, -1), be_const_closure(Leds_create_segment_closure) }, })), be_str_literal("Leds") ); diff --git a/lib/libesp32/Berry/default/be_leds_ntv_lib.c b/lib/libesp32/Berry/default/be_leds_ntv_lib.c index 357786978..4d5b07bb6 100644 --- a/lib/libesp32/Berry/default/be_leds_ntv_lib.c +++ b/lib/libesp32/Berry/default/be_leds_ntv_lib.c @@ -30,11 +30,11 @@ be_local_class(Leds_ntv, NULL, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("call_native", 1389147405, 11, -1), be_const_func(be_neopixelbus_call_native) }, - { be_nested_key("_t", 1527481326, 2, -1), be_const_var(1) }, - { be_nested_key("_p", 1594591802, 2, 3), be_const_var(0) }, - { be_nested_key("SK6812_GRBW", 81157857, 11, 4), be_const_int(2) }, - { be_nested_key("WS2812_GRB", 1736405692, 10, -1), be_const_int(1) }, + { be_const_key(call_native, -1), be_const_func(be_neopixelbus_call_native) }, + { be_const_key(_t, -1), be_const_var(1) }, + { be_const_key(_p, 3), be_const_var(0) }, + { be_const_key(SK6812_GRBW, 4), be_const_int(2) }, + { be_const_key(WS2812_GRB, -1), be_const_int(1) }, })), be_str_literal("Leds_ntv") ); diff --git a/lib/libesp32/Berry/default/be_lvgl_clock_icon_lib.c b/lib/libesp32/Berry/default/be_lvgl_clock_icon_lib.c index 4cef73ac9..c9cf7f207 100644 --- a/lib/libesp32/Berry/default/be_lvgl_clock_icon_lib.c +++ b/lib/libesp32/Berry/default/be_lvgl_clock_icon_lib.c @@ -10,7 +10,7 @@ /******************************************************************** ** Solidified function: set_time ********************************************************************/ -be_local_closure(set_time, /* name */ +be_local_closure(lv_clock_icon_set_time, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -21,19 +21,19 @@ be_local_closure(set_time, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_string("string", 398550328, 6), - /* K1 */ be_nested_string("hour", -1241306097, 4), - /* K2 */ be_nested_string("minute", 954666857, 6), - /* K3 */ be_nested_string("sec", -1155074638, 3), - /* K4 */ be_nested_string("format", -1180859054, 6), - /* K5 */ be_nested_string("%02d%s%02d", 1587999717, 10), + /* K0 */ be_nested_str(string), + /* K1 */ be_nested_str(hour), + /* K2 */ be_nested_str(minute), + /* K3 */ be_nested_str(sec), + /* K4 */ be_nested_str(format), + /* K5 */ be_nested_str(_X2502d_X25s_X2502d), /* K6 */ be_const_int(2), - /* K7 */ be_nested_string(":", 1057798253, 1), - /* K8 */ be_nested_string(" ", 621580159, 1), - /* K9 */ be_nested_string("set_text", 1849641155, 8), + /* K7 */ be_nested_str(_X3A), + /* K8 */ be_nested_str(_X20), + /* K9 */ be_nested_str(set_text), }), - (be_nested_const_str("set_time", 900236405, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_set_time, + &be_const_str_solidified, ( &(const binstruction[27]) { /* code */ 0xA4120000, // 0000 IMPORT R4 K0 0x88140101, // 0001 GETMBR R5 R0 K1 @@ -71,7 +71,7 @@ be_local_closure(set_time, /* name */ /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(every_second, /* name */ +be_local_closure(lv_clock_icon_every_second, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -82,18 +82,18 @@ be_local_closure(every_second, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ - /* K0 */ be_nested_string("tasmota", 424643812, 7), - /* K1 */ be_nested_string("time_dump", -964556549, 9), - /* K2 */ be_nested_string("rtc", 1070575216, 3), - /* K3 */ be_nested_string("local", -1673304312, 5), - /* K4 */ be_nested_string("year", -1367388900, 4), - /* K5 */ be_nested_string("set_time", 900236405, 8), - /* K6 */ be_nested_string("hour", -1241306097, 4), - /* K7 */ be_nested_string("min", -913357481, 3), - /* K8 */ be_nested_string("sec", -1155074638, 3), + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(time_dump), + /* K2 */ be_nested_str(rtc), + /* K3 */ be_nested_str(local), + /* K4 */ be_nested_str(year), + /* K5 */ be_nested_str(set_time), + /* K6 */ be_nested_str(hour), + /* K7 */ be_nested_str(min), + /* K8 */ be_nested_str(sec), }), - (be_nested_const_str("every_second", 2075451465, 12)), - ((bstring*) &be_const_str_input), + &be_const_str_every_second, + &be_const_str_solidified, ( &(const binstruction[17]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -121,7 +121,7 @@ be_local_closure(every_second, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(lv_clock_icon_init, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -132,31 +132,31 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[22]) { /* constants */ - /* K0 */ be_nested_string("init", 380752755, 4), - /* K1 */ be_nested_string("lv", 1529997255, 2), - /* K2 */ be_nested_string("seg7_font", -195276607, 9), - /* K3 */ be_nested_string("set_style_text_font", 1028590019, 19), - /* K4 */ be_nested_string("PART_MAIN", -1821475788, 9), - /* K5 */ be_nested_string("STATE_DEFAULT", 712406428, 13), - /* K6 */ be_nested_string("get_height", -723211773, 10), - /* K7 */ be_nested_string("set_text", 1849641155, 8), - /* K8 */ be_nested_string("--:--", 1370615441, 5), - /* K9 */ be_nested_string("refr_size", 1958144468, 9), - /* K10 */ be_nested_string("get_width", -1001549996, 9), - /* K11 */ be_nested_string("set_y", 1866178391, 5), + /* K0 */ be_nested_str(init), + /* K1 */ be_nested_str(lv), + /* K2 */ be_nested_str(seg7_font), + /* K3 */ be_nested_str(set_style_text_font), + /* K4 */ be_nested_str(PART_MAIN), + /* K5 */ be_nested_str(STATE_DEFAULT), + /* K6 */ be_nested_str(get_height), + /* K7 */ be_nested_str(set_text), + /* K8 */ be_nested_str(_X2D_X2D_X3A_X2D_X2D), + /* K9 */ be_nested_str(refr_size), + /* K10 */ be_nested_str(get_width), + /* K11 */ be_nested_str(set_y), /* K12 */ be_const_int(2), - /* K13 */ be_nested_string("get_style_pad_right", -1144679830, 19), - /* K14 */ be_nested_string("set_x", 1849400772, 5), + /* K13 */ be_nested_str(get_style_pad_right), + /* K14 */ be_nested_str(set_x), /* K15 */ be_const_int(3), - /* K16 */ be_nested_string("set_style_pad_right", -980898242, 19), - /* K17 */ be_nested_string("set_style_bg_color", 1689513089, 18), - /* K18 */ be_nested_string("color", 1031692888, 5), - /* K19 */ be_nested_string("COLOR_BLACK", 264427940, 11), - /* K20 */ be_nested_string("tasmota", 424643812, 7), - /* K21 */ be_nested_string("add_driver", 1654458371, 10), + /* K16 */ be_nested_str(set_style_pad_right), + /* K17 */ be_nested_str(set_style_bg_color), + /* K18 */ be_nested_str(color), + /* K19 */ be_nested_str(COLOR_BLACK), + /* K20 */ be_nested_str(tasmota), + /* K21 */ be_nested_str(add_driver), }), - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[82]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 0x5C0C0000, // 0001 MOVE R3 R0 @@ -249,7 +249,7 @@ be_local_closure(init, /* name */ /******************************************************************** ** Solidified function: del ********************************************************************/ -be_local_closure(del, /* name */ +be_local_closure(lv_clock_icon_del, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -260,12 +260,12 @@ be_local_closure(del, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("del", -816214454, 3), - /* K1 */ be_nested_string("tasmota", 424643812, 7), - /* K2 */ be_nested_string("remove_driver", 1030243768, 13), + /* K0 */ be_nested_str(del), + /* K1 */ be_nested_str(tasmota), + /* K2 */ be_nested_str(remove_driver), }), - (be_nested_const_str("del", -816214454, 3)), - ((bstring*) &be_const_str_input), + &be_const_str_del, + &be_const_str_solidified, ( &(const binstruction[10]) { /* code */ 0x60040003, // 0000 GETGBL R1 G3 0x5C080000, // 0001 MOVE R2 R0 @@ -292,15 +292,15 @@ be_local_class(lv_clock_icon, &be_class_lv_label, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("sec", -1155074638, 3, -1), be_const_var(2) }, - { be_nested_key("hour", -1241306097, 4, -1), be_const_var(0) }, - { be_nested_key("set_time", 900236405, 8, 6), be_const_closure(set_time_closure) }, - { be_nested_key("every_second", 2075451465, 12, -1), be_const_closure(every_second_closure) }, - { be_nested_key("minute", 954666857, 6, -1), be_const_var(1) }, - { be_nested_key("init", 380752755, 4, 2), be_const_closure(init_closure) }, - { be_nested_key("del", -816214454, 3, -1), be_const_closure(del_closure) }, + { be_const_key(sec, -1), be_const_var(2) }, + { be_const_key(hour, -1), be_const_var(0) }, + { be_const_key(set_time, 6), be_const_closure(lv_clock_icon_set_time_closure) }, + { be_const_key(every_second, -1), be_const_closure(lv_clock_icon_every_second_closure) }, + { be_const_key(minute, -1), be_const_var(1) }, + { be_const_key(init, 2), be_const_closure(lv_clock_icon_init_closure) }, + { be_const_key(del, -1), be_const_closure(lv_clock_icon_del_closure) }, })), - (be_nested_const_str("lv_clock_icon", -1037751086, 13)) + be_str_literal("lv_clock_icon") ); /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_lvgl_glob_lib.c b/lib/libesp32/Berry/default/be_lvgl_glob_lib.c index 31619f1c4..01bd4ed1d 100644 --- a/lib/libesp32/Berry/default/be_lvgl_glob_lib.c +++ b/lib/libesp32/Berry/default/be_lvgl_glob_lib.c @@ -10,7 +10,7 @@ /******************************************************************** ** Solidified function: get_object_from_ptr ********************************************************************/ -be_local_closure(get_object_from_ptr, /* name */ +be_local_closure(LVGL_glob_get_object_from_ptr, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -21,11 +21,11 @@ be_local_closure(get_object_from_ptr, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("cb_obj", 1195696482, 6), - /* K1 */ be_nested_string("find", -1108310694, 4), + /* K0 */ be_nested_str(cb_obj), + /* K1 */ be_nested_str(find), }), - (be_nested_const_str("get_object_from_ptr", -1949948095, 19)), - ((bstring*) &be_const_str_input), + &be_const_str_get_object_from_ptr, + &be_const_str_solidified, ( &(const binstruction[10]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x4C0C0000, // 0001 LDNIL R3 @@ -46,7 +46,7 @@ be_local_closure(get_object_from_ptr, /* name */ /******************************************************************** ** Solidified function: widget_event_impl ********************************************************************/ -be_local_closure(widget_event_impl, /* name */ +be_local_closure(LVGL_glob_widget_event_impl, /* name */ be_nested_proto( 12, /* nstack */ 3, /* argc */ @@ -57,18 +57,18 @@ be_local_closure(widget_event_impl, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ - /* K0 */ be_nested_string("introspect", 164638290, 10), - /* K1 */ be_nested_string("lv", 1529997255, 2), - /* K2 */ be_nested_string("lv_obj_class", -255311002, 12), - /* K3 */ be_nested_string("lv_event", -1860877328, 8), - /* K4 */ be_nested_string("target", 845187144, 6), - /* K5 */ be_nested_string("get_object_from_ptr", -1949948095, 19), - /* K6 */ be_nested_string("instance", 193386898, 8), - /* K7 */ be_nested_string("get", 1410115415, 3), - /* K8 */ be_nested_string("widget_event", 1951408186, 12), + /* K0 */ be_nested_str(introspect), + /* K1 */ be_nested_str(lv), + /* K2 */ be_nested_str(lv_obj_class), + /* K3 */ be_nested_str(lv_event), + /* K4 */ be_nested_str(target), + /* K5 */ be_nested_str(get_object_from_ptr), + /* K6 */ be_nested_str(instance), + /* K7 */ be_nested_str(get), + /* K8 */ be_nested_str(widget_event), }), - (be_nested_const_str("widget_event_impl", -2116536735, 17)), - ((bstring*) &be_const_str_input), + &be_const_str_widget_event_impl, + &be_const_str_solidified, ( &(const binstruction[30]) { /* code */ 0xA40E0000, // 0000 IMPORT R3 K0 0xB8120200, // 0001 GETNGBL R4 K1 @@ -109,7 +109,7 @@ be_local_closure(widget_event_impl, /* name */ /******************************************************************** ** Solidified function: lvgl_event_dispatch ********************************************************************/ -be_local_closure(lvgl_event_dispatch, /* name */ +be_local_closure(LVGL_glob_lvgl_event_dispatch, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -120,16 +120,16 @@ be_local_closure(lvgl_event_dispatch, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_string("introspect", 164638290, 10), - /* K1 */ be_nested_string("lv", 1529997255, 2), - /* K2 */ be_nested_string("lv_event", -1860877328, 8), - /* K3 */ be_nested_string("toptr", -915119842, 5), - /* K4 */ be_nested_string("target", 845187144, 6), - /* K5 */ be_nested_string("cb_event_closure", -466699971, 16), - /* K6 */ be_nested_string("get_object_from_ptr", -1949948095, 19), + /* K0 */ be_nested_str(introspect), + /* K1 */ be_nested_str(lv), + /* K2 */ be_nested_str(lv_event), + /* K3 */ be_nested_str(toptr), + /* K4 */ be_nested_str(target), + /* K5 */ be_nested_str(cb_event_closure), + /* K6 */ be_nested_str(get_object_from_ptr), }), - (be_nested_const_str("lvgl_event_dispatch", 2104396622, 19)), - ((bstring*) &be_const_str_input), + &be_const_str_lvgl_event_dispatch, + &be_const_str_solidified, ( &(const binstruction[20]) { /* code */ 0xA40A0000, // 0000 IMPORT R2 K0 0xB80E0200, // 0001 GETNGBL R3 K1 @@ -160,7 +160,7 @@ be_local_closure(lvgl_event_dispatch, /* name */ /******************************************************************** ** Solidified function: widget_dtor_impl ********************************************************************/ -be_local_closure(widget_dtor_impl, /* name */ +be_local_closure(LVGL_glob_widget_dtor_impl, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -171,16 +171,16 @@ be_local_closure(widget_dtor_impl, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_string("introspect", 164638290, 10), - /* K1 */ be_nested_string("lv", 1529997255, 2), - /* K2 */ be_nested_string("lv_obj_class", -255311002, 12), - /* K3 */ be_nested_string("get_object_from_ptr", -1949948095, 19), - /* K4 */ be_nested_string("instance", 193386898, 8), - /* K5 */ be_nested_string("get", 1410115415, 3), - /* K6 */ be_nested_string("widget_destructor", -87578951, 17), + /* K0 */ be_nested_str(introspect), + /* K1 */ be_nested_str(lv), + /* K2 */ be_nested_str(lv_obj_class), + /* K3 */ be_nested_str(get_object_from_ptr), + /* K4 */ be_nested_str(instance), + /* K5 */ be_nested_str(get), + /* K6 */ be_nested_str(widget_destructor), }), - (be_nested_const_str("widget_dtor_impl", 520430610, 16)), - ((bstring*) &be_const_str_input), + &be_const_str_widget_dtor_impl, + &be_const_str_solidified, ( &(const binstruction[22]) { /* code */ 0xA40E0000, // 0000 IMPORT R3 K0 0xB8120200, // 0001 GETNGBL R4 K1 @@ -213,7 +213,7 @@ be_local_closure(widget_dtor_impl, /* name */ /******************************************************************** ** Solidified function: register_obj ********************************************************************/ -be_local_closure(register_obj, /* name */ +be_local_closure(LVGL_glob_register_obj, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -224,11 +224,11 @@ be_local_closure(register_obj, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("cb_obj", 1195696482, 6), - /* K1 */ be_nested_string("_p", 1594591802, 2), + /* K0 */ be_nested_str(cb_obj), + /* K1 */ be_nested_str(_p), }), - (be_nested_const_str("register_obj", -312352526, 12)), - ((bstring*) &be_const_str_input), + &be_const_str_register_obj, + &be_const_str_solidified, ( &(const binstruction[13]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x4C0C0000, // 0001 LDNIL R3 @@ -252,7 +252,7 @@ be_local_closure(register_obj, /* name */ /******************************************************************** ** Solidified function: gen_cb ********************************************************************/ -be_local_closure(gen_cb, /* name */ +be_local_closure(LVGL_glob_gen_cb, /* name */ be_nested_proto( 8, /* nstack */ 5, /* argc */ @@ -273,10 +273,10 @@ be_local_closure(gen_cb, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("lvgl_event_dispatch", 2104396622, 19), + /* K0 */ be_nested_str(lvgl_event_dispatch), }), - (be_nested_const_str("", 607256038, 8)), - ((bstring*) &be_const_str_input), + &be_const_str__X3Clambda_X3E, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x68040000, // 0000 GETUPV R1 U0 0x8C040300, // 0001 GETMET R1 R1 K0 @@ -288,17 +288,17 @@ be_local_closure(gen_cb, /* name */ }), 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ - /* K0 */ be_nested_string("lv_event_cb", -1814236280, 11), - /* K1 */ be_nested_string("cb_event_closure", -466699971, 16), - /* K2 */ be_nested_string("event_cb", -1166269279, 8), - /* K3 */ be_nested_string("tasmota", 424643812, 7), - /* K4 */ be_nested_string("gen_cb", -1049739745, 6), - /* K5 */ be_nested_string("register_obj", -312352526, 12), - /* K6 */ be_nested_string("null_cb", -1961430836, 7), - /* K7 */ be_nested_string("cb_do_nothing", 1488730702, 13), + /* K0 */ be_nested_str(lv_event_cb), + /* K1 */ be_nested_str(cb_event_closure), + /* K2 */ be_nested_str(event_cb), + /* K3 */ be_nested_str(tasmota), + /* K4 */ be_nested_str(gen_cb), + /* K5 */ be_nested_str(register_obj), + /* K6 */ be_nested_str(null_cb), + /* K7 */ be_nested_str(cb_do_nothing), }), - (be_nested_const_str("gen_cb", -1049739745, 6)), - ((bstring*) &be_const_str_input), + &be_const_str_gen_cb, + &be_const_str_solidified, ( &(const binstruction[41]) { /* code */ 0x1C140300, // 0000 EQ R5 R1 K0 0x78160018, // 0001 JMPF R5 #001B @@ -350,7 +350,7 @@ be_local_closure(gen_cb, /* name */ /******************************************************************** ** Solidified function: deregister_obj ********************************************************************/ -be_local_closure(deregister_obj, /* name */ +be_local_closure(LVGL_glob_deregister_obj, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -361,12 +361,12 @@ be_local_closure(deregister_obj, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("cb_obj", 1195696482, 6), - /* K1 */ be_nested_string("remove", -611183107, 6), - /* K2 */ be_nested_string("cb_event_closure", -466699971, 16), + /* K0 */ be_nested_str(cb_obj), + /* K1 */ be_nested_str(remove), + /* K2 */ be_nested_str(cb_event_closure), }), - (be_nested_const_str("deregister_obj", -385000303, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_deregister_obj, + &be_const_str_solidified, ( &(const binstruction[17]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x4C0C0000, // 0001 LDNIL R3 @@ -394,7 +394,7 @@ be_local_closure(deregister_obj, /* name */ /******************************************************************** ** Solidified function: widget_cb ********************************************************************/ -be_local_closure(widget_cb, /* name */ +be_local_closure(LVGL_glob_widget_cb, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -415,10 +415,10 @@ be_local_closure(widget_cb, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("widget_ctor_impl", 194252479, 16), + /* K0 */ be_nested_str(widget_ctor_impl), }), - (be_nested_const_str("", 607256038, 8)), - ((bstring*) &be_const_str_input), + &be_const_str__X3Clambda_X3E, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x68080000, // 0000 GETUPV R2 U0 0x8C080500, // 0001 GETMET R2 R2 K0 @@ -440,10 +440,10 @@ be_local_closure(widget_cb, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("widget_dtor_impl", 520430610, 16), + /* K0 */ be_nested_str(widget_dtor_impl), }), - (be_nested_const_str("", 607256038, 8)), - ((bstring*) &be_const_str_input), + &be_const_str__X3Clambda_X3E, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x68080000, // 0000 GETUPV R2 U0 0x8C080500, // 0001 GETMET R2 R2 K0 @@ -465,10 +465,10 @@ be_local_closure(widget_cb, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("widget_event_impl", -2116536735, 17), + /* K0 */ be_nested_str(widget_event_impl), }), - (be_nested_const_str("", 607256038, 8)), - ((bstring*) &be_const_str_input), + &be_const_str__X3Clambda_X3E, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x68080000, // 0000 GETUPV R2 U0 0x8C080500, // 0001 GETMET R2 R2 K0 @@ -481,24 +481,24 @@ be_local_closure(widget_cb, /* name */ }), 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ - /* K0 */ be_nested_string("widget_ctor_cb", 876007560, 14), - /* K1 */ be_nested_string("tasmota", 424643812, 7), - /* K2 */ be_nested_string("gen_cb", -1049739745, 6), - /* K3 */ be_nested_string("widget_dtor_cb", -1143421451, 14), - /* K4 */ be_nested_string("widget_event_cb", 1508466754, 15), - /* K5 */ be_nested_string("widget_struct_default", 781673633, 21), - /* K6 */ be_nested_string("lv", 1529997255, 2), - /* K7 */ be_nested_string("lv_obj_class", -255311002, 12), - /* K8 */ be_nested_string("lv_obj", -37134147, 6), - /* K9 */ be_nested_string("_class", -1562820946, 6), - /* K10 */ be_nested_string("copy", -446502332, 4), - /* K11 */ be_nested_string("base_class", 1107737279, 10), - /* K12 */ be_nested_string("constructor_cb", -1805861999, 14), - /* K13 */ be_nested_string("destructor_cb", 1930283190, 13), - /* K14 */ be_nested_string("event_cb", -1166269279, 8), + /* K0 */ be_nested_str(widget_ctor_cb), + /* K1 */ be_nested_str(tasmota), + /* K2 */ be_nested_str(gen_cb), + /* K3 */ be_nested_str(widget_dtor_cb), + /* K4 */ be_nested_str(widget_event_cb), + /* K5 */ be_nested_str(widget_struct_default), + /* K6 */ be_nested_str(lv), + /* K7 */ be_nested_str(lv_obj_class), + /* K8 */ be_nested_str(lv_obj), + /* K9 */ be_nested_str(_class), + /* K10 */ be_nested_str(copy), + /* K11 */ be_nested_str(base_class), + /* K12 */ be_nested_str(constructor_cb), + /* K13 */ be_nested_str(destructor_cb), + /* K14 */ be_nested_str(event_cb), }), - (be_nested_const_str("widget_cb", -1531384241, 9)), - ((bstring*) &be_const_str_input), + &be_const_str_widget_cb, + &be_const_str_solidified, ( &(const binstruction[56]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x4C080000, // 0001 LDNIL R2 @@ -565,7 +565,7 @@ be_local_closure(widget_cb, /* name */ /******************************************************************** ** Solidified function: _anonymous_ ********************************************************************/ -be_local_closure(_anonymous_, /* name */ +be_local_closure(LVGL_glob__anonymous_, /* name */ be_nested_proto( 2, /* nstack */ 0, /* argc */ @@ -576,10 +576,10 @@ be_local_closure(_anonymous_, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("LVG: call to unsupported callback", 504176819, 33), + /* K0 */ be_nested_str(LVG_X3A_X20call_X20to_X20unsupported_X20callback), }), - (be_nested_const_str("_anonymous_", 1957281476, 11)), - ((bstring*) &be_const_str_input), + &be_const_str__anonymous_, + &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x60000001, // 0000 GETGBL R0 G1 0x58040000, // 0001 LDCONST R1 K0 @@ -594,7 +594,7 @@ be_local_closure(_anonymous_, /* name */ /******************************************************************** ** Solidified function: create_custom_widget ********************************************************************/ -be_local_closure(create_custom_widget, /* name */ +be_local_closure(LVGL_glob_create_custom_widget, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -605,36 +605,36 @@ be_local_closure(create_custom_widget, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[27]) { /* constants */ - /* K0 */ be_nested_string("introspect", 164638290, 10), - /* K1 */ be_nested_string("lv", 1529997255, 2), - /* K2 */ be_nested_string("lv_obj", -37134147, 6), - /* K3 */ be_nested_string("value_error", 773297791, 11), - /* K4 */ be_nested_string("arg must be a subclass of lv_obj", 1641882079, 32), - /* K5 */ be_nested_string("widget_struct_by_class", -488593454, 22), - /* K6 */ be_nested_string("find", -1108310694, 4), - /* K7 */ be_nested_string("widget_cb", -1531384241, 9), - /* K8 */ be_nested_string("widget_struct_default", 781673633, 21), - /* K9 */ be_nested_string("copy", -446502332, 4), - /* K10 */ be_nested_string("base_class", 1107737279, 10), - /* K11 */ be_nested_string("_class", -1562820946, 6), - /* K12 */ be_nested_string("get", 1410115415, 3), - /* K13 */ be_nested_string("widget_width_def", -308888434, 16), - /* K14 */ be_nested_string("width_def", 1143717879, 9), - /* K15 */ be_nested_string("widget_height_def", -1163299483, 17), - /* K16 */ be_nested_string("height_def", -1946728458, 10), - /* K17 */ be_nested_string("widget_editable", -473174010, 15), - /* K18 */ be_nested_string("editable", 60532369, 8), - /* K19 */ be_nested_string("widget_group_def", 1246968785, 16), - /* K20 */ be_nested_string("group_def", 1524213328, 9), - /* K21 */ be_nested_string("widget_instance_size", 2055354779, 20), - /* K22 */ be_nested_string("instance_size", -14697778, 13), - /* K23 */ be_nested_string("obj_class_create_obj", -990576664, 20), - /* K24 */ be_nested_string("_p", 1594591802, 2), - /* K25 */ be_nested_string("register_obj", -312352526, 12), - /* K26 */ be_nested_string("class_init_obj", 178410604, 14), + /* K0 */ be_nested_str(introspect), + /* K1 */ be_nested_str(lv), + /* K2 */ be_nested_str(lv_obj), + /* K3 */ be_nested_str(value_error), + /* K4 */ be_nested_str(arg_X20must_X20be_X20a_X20subclass_X20of_X20lv_obj), + /* K5 */ be_nested_str(widget_struct_by_class), + /* K6 */ be_nested_str(find), + /* K7 */ be_nested_str(widget_cb), + /* K8 */ be_nested_str(widget_struct_default), + /* K9 */ be_nested_str(copy), + /* K10 */ be_nested_str(base_class), + /* K11 */ be_nested_str(_class), + /* K12 */ be_nested_str(get), + /* K13 */ be_nested_str(widget_width_def), + /* K14 */ be_nested_str(width_def), + /* K15 */ be_nested_str(widget_height_def), + /* K16 */ be_nested_str(height_def), + /* K17 */ be_nested_str(widget_editable), + /* K18 */ be_nested_str(editable), + /* K19 */ be_nested_str(widget_group_def), + /* K20 */ be_nested_str(group_def), + /* K21 */ be_nested_str(widget_instance_size), + /* K22 */ be_nested_str(instance_size), + /* K23 */ be_nested_str(obj_class_create_obj), + /* K24 */ be_nested_str(_p), + /* K25 */ be_nested_str(register_obj), + /* K26 */ be_nested_str(class_init_obj), }), - (be_nested_const_str("create_custom_widget", 1140594778, 20)), - ((bstring*) &be_const_str_input), + &be_const_str_create_custom_widget, + &be_const_str_solidified, ( &(const binstruction[86]) { /* code */ 0xA40E0000, // 0000 IMPORT R3 K0 0x6010000F, // 0001 GETGBL R4 G15 @@ -731,7 +731,7 @@ be_local_closure(create_custom_widget, /* name */ /******************************************************************** ** Solidified function: widget_ctor_impl ********************************************************************/ -be_local_closure(widget_ctor_impl, /* name */ +be_local_closure(LVGL_glob_widget_ctor_impl, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -742,18 +742,18 @@ be_local_closure(widget_ctor_impl, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ - /* K0 */ be_nested_string("introspect", 164638290, 10), - /* K1 */ be_nested_string("lv", 1529997255, 2), - /* K2 */ be_nested_string("lv_obj_class", -255311002, 12), - /* K3 */ be_nested_string("get_object_from_ptr", -1949948095, 19), - /* K4 */ be_nested_string("cb_obj", 1195696482, 6), - /* K5 */ be_nested_string("find", -1108310694, 4), - /* K6 */ be_nested_string("instance", 193386898, 8), - /* K7 */ be_nested_string("get", 1410115415, 3), - /* K8 */ be_nested_string("widget_constructor", -1751181362, 18), + /* K0 */ be_nested_str(introspect), + /* K1 */ be_nested_str(lv), + /* K2 */ be_nested_str(lv_obj_class), + /* K3 */ be_nested_str(get_object_from_ptr), + /* K4 */ be_nested_str(cb_obj), + /* K5 */ be_nested_str(find), + /* K6 */ be_nested_str(instance), + /* K7 */ be_nested_str(get), + /* K8 */ be_nested_str(widget_constructor), }), - (be_nested_const_str("widget_ctor_impl", 194252479, 16)), - ((bstring*) &be_const_str_input), + &be_const_str_widget_ctor_impl, + &be_const_str_solidified, ( &(const binstruction[29]) { /* code */ 0xA40E0000, // 0000 IMPORT R3 K0 0xB8120200, // 0001 GETNGBL R4 K1 @@ -798,28 +798,28 @@ be_local_class(LVGL_glob, NULL, be_nested_map(20, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("widget_ctor_cb", 876007560, 14, 9), be_const_var(4) }, - { be_nested_key("get_object_from_ptr", -1949948095, 19, 4), be_const_closure(get_object_from_ptr_closure) }, - { be_nested_key("cb_obj", 1195696482, 6, 7), be_const_var(0) }, - { be_nested_key("widget_struct_by_class", -488593454, 22, -1), be_const_var(8) }, - { be_nested_key("widget_event_impl", -2116536735, 17, -1), be_const_closure(widget_event_impl_closure) }, - { be_nested_key("widget_dtor_cb", -1143421451, 14, 6), be_const_var(5) }, - { be_nested_key("cb_event_closure", -466699971, 16, -1), be_const_var(1) }, - { be_nested_key("lvgl_event_dispatch", 2104396622, 19, 16), be_const_closure(lvgl_event_dispatch_closure) }, - { be_nested_key("widget_dtor_impl", 520430610, 16, -1), be_const_closure(widget_dtor_impl_closure) }, - { be_nested_key("null_cb", -1961430836, 7, -1), be_const_var(3) }, - { be_nested_key("register_obj", -312352526, 12, 8), be_const_closure(register_obj_closure) }, - { be_nested_key("gen_cb", -1049739745, 6, -1), be_const_closure(gen_cb_closure) }, - { be_nested_key("widget_struct_default", 781673633, 21, -1), be_const_var(7) }, - { be_nested_key("deregister_obj", -385000303, 14, 12), be_const_closure(deregister_obj_closure) }, - { be_nested_key("widget_event_cb", 1508466754, 15, -1), be_const_var(6) }, - { be_nested_key("widget_cb", -1531384241, 9, -1), be_const_closure(widget_cb_closure) }, - { be_nested_key("cb_do_nothing", 1488730702, 13, 3), be_const_closure(_anonymous__closure) }, - { be_nested_key("event_cb", -1166269279, 8, -1), be_const_var(2) }, - { be_nested_key("create_custom_widget", 1140594778, 20, -1), be_const_closure(create_custom_widget_closure) }, - { be_nested_key("widget_ctor_impl", 194252479, 16, -1), be_const_closure(widget_ctor_impl_closure) }, + { be_const_key(widget_ctor_cb, 9), be_const_var(4) }, + { be_const_key(get_object_from_ptr, 4), be_const_closure(LVGL_glob_get_object_from_ptr_closure) }, + { be_const_key(cb_obj, 7), be_const_var(0) }, + { be_const_key(widget_struct_by_class, -1), be_const_var(8) }, + { be_const_key(widget_event_impl, -1), be_const_closure(LVGL_glob_widget_event_impl_closure) }, + { be_const_key(widget_dtor_cb, 6), be_const_var(5) }, + { be_const_key(cb_event_closure, -1), be_const_var(1) }, + { be_const_key(lvgl_event_dispatch, 16), be_const_closure(LVGL_glob_lvgl_event_dispatch_closure) }, + { be_const_key(widget_dtor_impl, -1), be_const_closure(LVGL_glob_widget_dtor_impl_closure) }, + { be_const_key(null_cb, -1), be_const_var(3) }, + { be_const_key(register_obj, 8), be_const_closure(LVGL_glob_register_obj_closure) }, + { be_const_key(gen_cb, -1), be_const_closure(LVGL_glob_gen_cb_closure) }, + { be_const_key(widget_struct_default, -1), be_const_var(7) }, + { be_const_key(deregister_obj, 12), be_const_closure(LVGL_glob_deregister_obj_closure) }, + { be_const_key(widget_event_cb, -1), be_const_var(6) }, + { be_const_key(widget_cb, -1), be_const_closure(LVGL_glob_widget_cb_closure) }, + { be_const_key(cb_do_nothing, 3), be_const_closure(LVGL_glob__anonymous__closure) }, + { be_const_key(event_cb, -1), be_const_var(2) }, + { be_const_key(create_custom_widget, -1), be_const_closure(LVGL_glob_create_custom_widget_closure) }, + { be_const_key(widget_ctor_impl, -1), be_const_closure(LVGL_glob_widget_ctor_impl_closure) }, })), - (be_nested_const_str("LVGL_glob", 315437079, 9)) + be_str_literal("LVGL_glob") ); /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_lvgl_signal_arcs_lib.c b/lib/libesp32/Berry/default/be_lvgl_signal_arcs_lib.c index f3452ba57..a127cddd9 100644 --- a/lib/libesp32/Berry/default/be_lvgl_signal_arcs_lib.c +++ b/lib/libesp32/Berry/default/be_lvgl_signal_arcs_lib.c @@ -10,7 +10,7 @@ /******************************************************************** ** Solidified function: set_percentage ********************************************************************/ -be_local_closure(set_percentage, /* name */ +be_local_closure(lv_signal_arcs_set_percentage, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -21,12 +21,12 @@ be_local_closure(set_percentage, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("percentage", -1756136011, 10), + /* K0 */ be_nested_str(percentage), /* K1 */ be_const_int(0), - /* K2 */ be_nested_string("invalidate", -1645232368, 10), + /* K2 */ be_nested_str(invalidate), }), - (be_nested_const_str("set_percentage", -1342944572, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_set_percentage, + &be_const_str_solidified, ( &(const binstruction[18]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x540E0018, // 0001 LDINT R3 25 @@ -55,7 +55,7 @@ be_local_closure(set_percentage, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(lv_signal_arcs_init, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -66,19 +66,19 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_string("_lvgl", -1605747813, 5), - /* K1 */ be_nested_string("create_custom_widget", 1140594778, 20), - /* K2 */ be_nested_string("percentage", -1756136011, 10), - /* K3 */ be_nested_string("p1", -1605446022, 2), - /* K4 */ be_nested_string("lv", 1529997255, 2), - /* K5 */ be_nested_string("point", 414084241, 5), - /* K6 */ be_nested_string("p2", -1622223641, 2), - /* K7 */ be_nested_string("area", -1693507260, 4), - /* K8 */ be_nested_string("line_dsc", -200476318, 8), - /* K9 */ be_nested_string("draw_line_dsc", -74291093, 13), + /* K0 */ be_nested_str(_lvgl), + /* K1 */ be_nested_str(create_custom_widget), + /* K2 */ be_nested_str(percentage), + /* K3 */ be_nested_str(p1), + /* K4 */ be_nested_str(lv), + /* K5 */ be_nested_str(point), + /* K6 */ be_nested_str(p2), + /* K7 */ be_nested_str(area), + /* K8 */ be_nested_str(line_dsc), + /* K9 */ be_nested_str(draw_line_dsc), }), - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[24]) { /* code */ 0xB80A0000, // 0000 GETNGBL R2 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -113,7 +113,7 @@ be_local_closure(init, /* name */ /******************************************************************** ** Solidified function: widget_event ********************************************************************/ -be_local_closure(widget_event, /* name */ +be_local_closure(lv_signal_arcs_widget_event, /* name */ be_nested_proto( 28, /* nstack */ 3, /* argc */ @@ -134,8 +134,8 @@ be_local_closure(widget_event, /* name */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_int(1), }), - (be_nested_const_str("atleast1", 1956331672, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_atleast1, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x28040100, // 0000 GE R1 R0 K0 0x78060001, // 0001 JMPF R1 #0004 @@ -148,44 +148,44 @@ be_local_closure(widget_event, /* name */ }), 1, /* has constants */ ( &(const bvalue[35]) { /* constants */ - /* K0 */ be_nested_string("lv", 1529997255, 2), - /* K1 */ be_nested_string("obj_event_base", 1624064363, 14), - /* K2 */ be_nested_string("RES_OK", 1233817284, 6), - /* K3 */ be_nested_string("code", -114201356, 4), - /* K4 */ be_nested_string("math", -293037681, 4), - /* K5 */ be_nested_string("get_height", -723211773, 10), - /* K6 */ be_nested_string("get_width", -1001549996, 9), + /* K0 */ be_nested_str(lv), + /* K1 */ be_nested_str(obj_event_base), + /* K2 */ be_nested_str(RES_OK), + /* K3 */ be_nested_str(code), + /* K4 */ be_nested_str(math), + /* K5 */ be_nested_str(get_height), + /* K6 */ be_nested_str(get_width), /* K7 */ be_const_int(2), /* K8 */ be_const_int(3), - /* K9 */ be_nested_string("EVENT_DRAW_MAIN", 1955620614, 15), - /* K10 */ be_nested_string("area", -1693507260, 4), - /* K11 */ be_nested_string("param", 1309554226, 5), - /* K12 */ be_nested_string("get_coords", 1044089006, 10), - /* K13 */ be_nested_string("x1", 274927234, 2), - /* K14 */ be_nested_string("y1", -1939865569, 2), - /* K15 */ be_nested_string("draw_line_dsc_init", -428273650, 18), - /* K16 */ be_nested_string("line_dsc", -200476318, 8), - /* K17 */ be_nested_string("init_draw_line_dsc", -1787031256, 18), - /* K18 */ be_nested_string("PART_MAIN", -1821475788, 9), - /* K19 */ be_nested_string("round_start", -1345482912, 11), + /* K9 */ be_nested_str(EVENT_DRAW_MAIN), + /* K10 */ be_nested_str(area), + /* K11 */ be_nested_str(param), + /* K12 */ be_nested_str(get_coords), + /* K13 */ be_nested_str(x1), + /* K14 */ be_nested_str(y1), + /* K15 */ be_nested_str(draw_line_dsc_init), + /* K16 */ be_nested_str(line_dsc), + /* K17 */ be_nested_str(init_draw_line_dsc), + /* K18 */ be_nested_str(PART_MAIN), + /* K19 */ be_nested_str(round_start), /* K20 */ be_const_int(1), - /* K21 */ be_nested_string("round_end", 985288225, 9), - /* K22 */ be_nested_string("width", -1786286561, 5), - /* K23 */ be_nested_string("get_style_line_color", 805371932, 20), - /* K24 */ be_nested_string("STATE_DEFAULT", 712406428, 13), - /* K25 */ be_nested_string("get_style_bg_color", 964794381, 18), - /* K26 */ be_nested_string("deg", -967213025, 3), - /* K27 */ be_nested_string("acos", 1006755615, 4), - /* K28 */ be_nested_string("p1", -1605446022, 2), - /* K29 */ be_nested_string("x", -49524601, 1), - /* K30 */ be_nested_string("y", -66302220, 1), - /* K31 */ be_nested_string("color", 1031692888, 5), - /* K32 */ be_nested_string("percentage", -1756136011, 10), - /* K33 */ be_nested_string("draw_arc", 1828251676, 8), + /* K21 */ be_nested_str(round_end), + /* K22 */ be_nested_str(width), + /* K23 */ be_nested_str(get_style_line_color), + /* K24 */ be_nested_str(STATE_DEFAULT), + /* K25 */ be_nested_str(get_style_bg_color), + /* K26 */ be_nested_str(deg), + /* K27 */ be_nested_str(acos), + /* K28 */ be_nested_str(p1), + /* K29 */ be_nested_str(x), + /* K30 */ be_nested_str(y), + /* K31 */ be_nested_str(color), + /* K32 */ be_nested_str(percentage), + /* K33 */ be_nested_str(draw_arc), /* K34 */ be_const_int(0), }), - (be_nested_const_str("widget_event", 1951408186, 12)), - ((bstring*) &be_const_str_input), + &be_const_str_widget_event, + &be_const_str_solidified, ( &(const binstruction[182]) { /* code */ 0xB80E0000, // 0000 GETNGBL R3 K0 0x8C0C0701, // 0001 GETMET R3 R3 K1 @@ -378,7 +378,7 @@ be_local_closure(widget_event, /* name */ /******************************************************************** ** Solidified function: get_percentage ********************************************************************/ -be_local_closure(get_percentage, /* name */ +be_local_closure(lv_signal_arcs_get_percentage, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -389,10 +389,10 @@ be_local_closure(get_percentage, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("percentage", -1756136011, 10), + /* K0 */ be_nested_str(percentage), }), - (be_nested_const_str("get_percentage", -1414483304, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_get_percentage, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x80040200, // 0001 RET 1 R1 @@ -411,17 +411,17 @@ be_local_class(lv_signal_arcs, &be_class_lv_obj, be_nested_map(9, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("percentage", -1756136011, 10, 4), be_const_var(0) }, - { be_nested_key("p1", -1605446022, 2, 3), be_const_var(1) }, - { be_nested_key("p2", -1622223641, 2, -1), be_const_var(2) }, - { be_nested_key("area", -1693507260, 4, -1), be_const_var(3) }, - { be_nested_key("line_dsc", -200476318, 8, -1), be_const_var(4) }, - { be_nested_key("set_percentage", -1342944572, 14, -1), be_const_closure(set_percentage_closure) }, - { be_nested_key("init", 380752755, 4, -1), be_const_closure(init_closure) }, - { be_nested_key("widget_event", 1951408186, 12, -1), be_const_closure(widget_event_closure) }, - { be_nested_key("get_percentage", -1414483304, 14, 5), be_const_closure(get_percentage_closure) }, + { be_const_key(percentage, 4), be_const_var(0) }, + { be_const_key(p1, 3), be_const_var(1) }, + { be_const_key(p2, -1), be_const_var(2) }, + { be_const_key(area, -1), be_const_var(3) }, + { be_const_key(line_dsc, -1), be_const_var(4) }, + { be_const_key(set_percentage, -1), be_const_closure(lv_signal_arcs_set_percentage_closure) }, + { be_const_key(init, -1), be_const_closure(lv_signal_arcs_init_closure) }, + { be_const_key(widget_event, -1), be_const_closure(lv_signal_arcs_widget_event_closure) }, + { be_const_key(get_percentage, 5), be_const_closure(lv_signal_arcs_get_percentage_closure) }, })), - (be_nested_const_str("lv_signal_arcs", -1455810308, 14)) + be_str_literal("lv_signal_arcs") ); /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_lvgl_signal_bars_lib.c b/lib/libesp32/Berry/default/be_lvgl_signal_bars_lib.c index 161afc65d..18452ae34 100644 --- a/lib/libesp32/Berry/default/be_lvgl_signal_bars_lib.c +++ b/lib/libesp32/Berry/default/be_lvgl_signal_bars_lib.c @@ -10,7 +10,7 @@ /******************************************************************** ** Solidified function: set_percentage ********************************************************************/ -be_local_closure(set_percentage, /* name */ +be_local_closure(lv_signal_bars_set_percentage, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -21,12 +21,12 @@ be_local_closure(set_percentage, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("percentage", -1756136011, 10), + /* K0 */ be_nested_str(percentage), /* K1 */ be_const_int(0), - /* K2 */ be_nested_string("invalidate", -1645232368, 10), + /* K2 */ be_nested_str(invalidate), }), - (be_nested_const_str("set_percentage", -1342944572, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_set_percentage, + &be_const_str_solidified, ( &(const binstruction[18]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x540E0013, // 0001 LDINT R3 20 @@ -55,7 +55,7 @@ be_local_closure(set_percentage, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(lv_signal_bars_init, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -66,19 +66,19 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_string("_lvgl", -1605747813, 5), - /* K1 */ be_nested_string("create_custom_widget", 1140594778, 20), - /* K2 */ be_nested_string("percentage", -1756136011, 10), - /* K3 */ be_nested_string("p1", -1605446022, 2), - /* K4 */ be_nested_string("lv", 1529997255, 2), - /* K5 */ be_nested_string("point", 414084241, 5), - /* K6 */ be_nested_string("p2", -1622223641, 2), - /* K7 */ be_nested_string("area", -1693507260, 4), - /* K8 */ be_nested_string("line_dsc", -200476318, 8), - /* K9 */ be_nested_string("draw_line_dsc", -74291093, 13), + /* K0 */ be_nested_str(_lvgl), + /* K1 */ be_nested_str(create_custom_widget), + /* K2 */ be_nested_str(percentage), + /* K3 */ be_nested_str(p1), + /* K4 */ be_nested_str(lv), + /* K5 */ be_nested_str(point), + /* K6 */ be_nested_str(p2), + /* K7 */ be_nested_str(area), + /* K8 */ be_nested_str(line_dsc), + /* K9 */ be_nested_str(draw_line_dsc), }), - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[24]) { /* code */ 0xB80A0000, // 0000 GETNGBL R2 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -113,7 +113,7 @@ be_local_closure(init, /* name */ /******************************************************************** ** Solidified function: widget_event ********************************************************************/ -be_local_closure(widget_event, /* name */ +be_local_closure(lv_signal_bars_widget_event, /* name */ be_nested_proto( 23, /* nstack */ 3, /* argc */ @@ -134,8 +134,8 @@ be_local_closure(widget_event, /* name */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_int(1), }), - (be_nested_const_str("atleast1", 1956331672, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_atleast1, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x28040100, // 0000 GE R1 R0 K0 0x78060001, // 0001 JMPF R1 #0004 @@ -148,46 +148,46 @@ be_local_closure(widget_event, /* name */ }), 1, /* has constants */ ( &(const bvalue[37]) { /* constants */ - /* K0 */ be_nested_string("lv", 1529997255, 2), - /* K1 */ be_nested_string("obj_event_base", 1624064363, 14), - /* K2 */ be_nested_string("RES_OK", 1233817284, 6), - /* K3 */ be_nested_string("code", -114201356, 4), - /* K4 */ be_nested_string("get_height", -723211773, 10), - /* K5 */ be_nested_string("get_width", -1001549996, 9), + /* K0 */ be_nested_str(lv), + /* K1 */ be_nested_str(obj_event_base), + /* K2 */ be_nested_str(RES_OK), + /* K3 */ be_nested_str(code), + /* K4 */ be_nested_str(get_height), + /* K5 */ be_nested_str(get_width), /* K6 */ be_const_int(3), /* K7 */ be_const_int(2), - /* K8 */ be_nested_string("EVENT_DRAW_MAIN", 1955620614, 15), - /* K9 */ be_nested_string("area", -1693507260, 4), - /* K10 */ be_nested_string("param", 1309554226, 5), - /* K11 */ be_nested_string("get_coords", 1044089006, 10), - /* K12 */ be_nested_string("x1", 274927234, 2), - /* K13 */ be_nested_string("y1", -1939865569, 2), - /* K14 */ be_nested_string("draw_line_dsc_init", -428273650, 18), - /* K15 */ be_nested_string("line_dsc", -200476318, 8), - /* K16 */ be_nested_string("init_draw_line_dsc", -1787031256, 18), - /* K17 */ be_nested_string("PART_MAIN", -1821475788, 9), - /* K18 */ be_nested_string("round_start", -1345482912, 11), + /* K8 */ be_nested_str(EVENT_DRAW_MAIN), + /* K9 */ be_nested_str(area), + /* K10 */ be_nested_str(param), + /* K11 */ be_nested_str(get_coords), + /* K12 */ be_nested_str(x1), + /* K13 */ be_nested_str(y1), + /* K14 */ be_nested_str(draw_line_dsc_init), + /* K15 */ be_nested_str(line_dsc), + /* K16 */ be_nested_str(init_draw_line_dsc), + /* K17 */ be_nested_str(PART_MAIN), + /* K18 */ be_nested_str(round_start), /* K19 */ be_const_int(1), - /* K20 */ be_nested_string("round_end", 985288225, 9), - /* K21 */ be_nested_string("width", -1786286561, 5), - /* K22 */ be_nested_string("get_style_line_color", 805371932, 20), - /* K23 */ be_nested_string("STATE_DEFAULT", 712406428, 13), - /* K24 */ be_nested_string("get_style_bg_color", 964794381, 18), - /* K25 */ be_nested_string("event_send", 598925582, 10), - /* K26 */ be_nested_string("EVENT_DRAW_PART_BEGIN", -903102272, 21), + /* K20 */ be_nested_str(round_end), + /* K21 */ be_nested_str(width), + /* K22 */ be_nested_str(get_style_line_color), + /* K23 */ be_nested_str(STATE_DEFAULT), + /* K24 */ be_nested_str(get_style_bg_color), + /* K25 */ be_nested_str(event_send), + /* K26 */ be_nested_str(EVENT_DRAW_PART_BEGIN), /* K27 */ be_const_int(0), - /* K28 */ be_nested_string("color", 1031692888, 5), - /* K29 */ be_nested_string("percentage", -1756136011, 10), - /* K30 */ be_nested_string("p1", -1605446022, 2), - /* K31 */ be_nested_string("y", -66302220, 1), - /* K32 */ be_nested_string("x", -49524601, 1), - /* K33 */ be_nested_string("p2", -1622223641, 2), - /* K34 */ be_nested_string("draw_line", 1634465686, 9), - /* K35 */ be_nested_string("stop_iteration", -121173395, 14), - /* K36 */ be_nested_string("EVENT_DRAW_PART_END", -993342004, 19), + /* K28 */ be_nested_str(color), + /* K29 */ be_nested_str(percentage), + /* K30 */ be_nested_str(p1), + /* K31 */ be_nested_str(y), + /* K32 */ be_nested_str(x), + /* K33 */ be_nested_str(p2), + /* K34 */ be_nested_str(draw_line), + /* K35 */ be_nested_str(stop_iteration), + /* K36 */ be_nested_str(EVENT_DRAW_PART_END), }), - (be_nested_const_str("widget_event", 1951408186, 12)), - ((bstring*) &be_const_str_input), + &be_const_str_widget_event, + &be_const_str_solidified, ( &(const binstruction[138]) { /* code */ 0xB80E0000, // 0000 GETNGBL R3 K0 0x8C0C0701, // 0001 GETMET R3 R3 K1 @@ -336,7 +336,7 @@ be_local_closure(widget_event, /* name */ /******************************************************************** ** Solidified function: get_percentage ********************************************************************/ -be_local_closure(get_percentage, /* name */ +be_local_closure(lv_signal_bars_get_percentage, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -347,10 +347,10 @@ be_local_closure(get_percentage, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_string("percentage", -1756136011, 10), + /* K0 */ be_nested_str(percentage), }), - (be_nested_const_str("get_percentage", -1414483304, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_get_percentage, + &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 0x80040200, // 0001 RET 1 R1 @@ -369,17 +369,17 @@ be_local_class(lv_signal_bars, &be_class_lv_obj, be_nested_map(9, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("percentage", -1756136011, 10, 4), be_const_var(0) }, - { be_nested_key("p1", -1605446022, 2, 3), be_const_var(1) }, - { be_nested_key("p2", -1622223641, 2, -1), be_const_var(2) }, - { be_nested_key("area", -1693507260, 4, -1), be_const_var(3) }, - { be_nested_key("line_dsc", -200476318, 8, -1), be_const_var(4) }, - { be_nested_key("set_percentage", -1342944572, 14, -1), be_const_closure(set_percentage_closure) }, - { be_nested_key("init", 380752755, 4, -1), be_const_closure(init_closure) }, - { be_nested_key("widget_event", 1951408186, 12, -1), be_const_closure(widget_event_closure) }, - { be_nested_key("get_percentage", -1414483304, 14, 5), be_const_closure(get_percentage_closure) }, + { be_const_key(percentage, 4), be_const_var(0) }, + { be_const_key(p1, 3), be_const_var(1) }, + { be_const_key(p2, -1), be_const_var(2) }, + { be_const_key(area, -1), be_const_var(3) }, + { be_const_key(line_dsc, -1), be_const_var(4) }, + { be_const_key(set_percentage, -1), be_const_closure(lv_signal_bars_set_percentage_closure) }, + { be_const_key(init, -1), be_const_closure(lv_signal_bars_init_closure) }, + { be_const_key(widget_event, -1), be_const_closure(lv_signal_bars_widget_event_closure) }, + { be_const_key(get_percentage, 5), be_const_closure(lv_signal_bars_get_percentage_closure) }, })), - (be_nested_const_str("lv_signal_bars", -780994737, 14)) + be_str_literal("lv_signal_bars") ); /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_lvgl_wifi_arcs_icon_lib.c b/lib/libesp32/Berry/default/be_lvgl_wifi_arcs_icon_lib.c index 9a2c742ff..d8fe9ce08 100644 --- a/lib/libesp32/Berry/default/be_lvgl_wifi_arcs_icon_lib.c +++ b/lib/libesp32/Berry/default/be_lvgl_wifi_arcs_icon_lib.c @@ -10,7 +10,7 @@ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(lv_wifi_arcs_icon_init, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -21,27 +21,27 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ - /* K0 */ be_nested_string("init", 380752755, 4), - /* K1 */ be_nested_string("set_style_line_color", -629728320, 20), - /* K2 */ be_nested_string("lv", 1529997255, 2), - /* K3 */ be_nested_string("color", 1031692888, 5), - /* K4 */ be_nested_string("COLOR_WHITE", -1758096026, 11), - /* K5 */ be_nested_string("PART_MAIN", -1821475788, 9), - /* K6 */ be_nested_string("STATE_DEFAULT", 712406428, 13), - /* K7 */ be_nested_string("set_style_bg_color", 1689513089, 18), - /* K8 */ be_nested_string("COLOR_BLACK", 264427940, 11), - /* K9 */ be_nested_string("get_height", -723211773, 10), - /* K10 */ be_nested_string("get_style_pad_right", -1144679830, 19), - /* K11 */ be_nested_string("set_height", 1080207399, 10), + /* K0 */ be_nested_str(init), + /* K1 */ be_nested_str(set_style_line_color), + /* K2 */ be_nested_str(lv), + /* K3 */ be_nested_str(color), + /* K4 */ be_nested_str(COLOR_WHITE), + /* K5 */ be_nested_str(PART_MAIN), + /* K6 */ be_nested_str(STATE_DEFAULT), + /* K7 */ be_nested_str(set_style_bg_color), + /* K8 */ be_nested_str(COLOR_BLACK), + /* K9 */ be_nested_str(get_height), + /* K10 */ be_nested_str(get_style_pad_right), + /* K11 */ be_nested_str(set_height), /* K12 */ be_const_int(3), - /* K13 */ be_nested_string("set_width", 484671920, 9), - /* K14 */ be_nested_string("set_x", 1849400772, 5), - /* K15 */ be_nested_string("get_width", -1001549996, 9), - /* K16 */ be_nested_string("set_style_pad_right", -980898242, 19), + /* K13 */ be_nested_str(set_width), + /* K14 */ be_nested_str(set_x), + /* K15 */ be_nested_str(get_width), + /* K16 */ be_nested_str(set_style_pad_right), /* K17 */ be_const_int(1), }), - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[67]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 0x5C0C0000, // 0001 MOVE R3 R0 @@ -125,9 +125,9 @@ be_local_class(lv_wifi_arcs_icon, &be_class_lv_wifi_arcs, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("init", 380752755, 4, -1), be_const_closure(init_closure) }, + { be_const_key(init, -1), be_const_closure(lv_wifi_arcs_icon_init_closure) }, })), - (be_nested_const_str("lv_wifi_arcs_icon", 1507982909, 17)) + be_str_literal("lv_wifi_arcs_icon") ); /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_lvgl_wifi_arcs_lib.c b/lib/libesp32/Berry/default/be_lvgl_wifi_arcs_lib.c index 59132af9e..57cbf18a9 100644 --- a/lib/libesp32/Berry/default/be_lvgl_wifi_arcs_lib.c +++ b/lib/libesp32/Berry/default/be_lvgl_wifi_arcs_lib.c @@ -10,7 +10,7 @@ /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(every_second, /* name */ +be_local_closure(lv_wifi_arcs_every_second, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -21,16 +21,16 @@ be_local_closure(every_second, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_string("tasmota", 424643812, 7), - /* K1 */ be_nested_string("wifi", 120087624, 4), - /* K2 */ be_nested_string("find", -1108310694, 4), - /* K3 */ be_nested_string("quality", -1697296346, 7), - /* K4 */ be_nested_string("ip", 1261996636, 2), - /* K5 */ be_nested_string("set_percentage", -1342944572, 14), + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(wifi), + /* K2 */ be_nested_str(find), + /* K3 */ be_nested_str(quality), + /* K4 */ be_nested_str(ip), + /* K5 */ be_nested_str(set_percentage), /* K6 */ be_const_int(0), }), - (be_nested_const_str("every_second", 2075451465, 12)), - ((bstring*) &be_const_str_input), + &be_const_str_every_second, + &be_const_str_solidified, ( &(const binstruction[23]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -64,7 +64,7 @@ be_local_closure(every_second, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(lv_wifi_arcs_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -75,14 +75,14 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_string("init", 380752755, 4), - /* K1 */ be_nested_string("tasmota", 424643812, 7), - /* K2 */ be_nested_string("add_driver", 1654458371, 10), - /* K3 */ be_nested_string("set_percentage", -1342944572, 14), + /* K0 */ be_nested_str(init), + /* K1 */ be_nested_str(tasmota), + /* K2 */ be_nested_str(add_driver), + /* K3 */ be_nested_str(set_percentage), /* K4 */ be_const_int(0), }), - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[14]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 0x5C0C0000, // 0001 MOVE R3 R0 @@ -107,7 +107,7 @@ be_local_closure(init, /* name */ /******************************************************************** ** Solidified function: del ********************************************************************/ -be_local_closure(del, /* name */ +be_local_closure(lv_wifi_arcs_del, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -118,12 +118,12 @@ be_local_closure(del, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("del", -816214454, 3), - /* K1 */ be_nested_string("tasmota", 424643812, 7), - /* K2 */ be_nested_string("remove_driver", 1030243768, 13), + /* K0 */ be_nested_str(del), + /* K1 */ be_nested_str(tasmota), + /* K2 */ be_nested_str(remove_driver), }), - (be_nested_const_str("del", -816214454, 3)), - ((bstring*) &be_const_str_input), + &be_const_str_del, + &be_const_str_solidified, ( &(const binstruction[10]) { /* code */ 0x60040003, // 0000 GETGBL R1 G3 0x5C080000, // 0001 MOVE R2 R0 @@ -150,11 +150,11 @@ be_local_class(lv_wifi_arcs, &be_class_lv_signal_arcs, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("every_second", 2075451465, 12, 1), be_const_closure(every_second_closure) }, - { be_nested_key("init", 380752755, 4, -1), be_const_closure(init_closure) }, - { be_nested_key("del", -816214454, 3, -1), be_const_closure(del_closure) }, + { be_const_key(every_second, 1), be_const_closure(lv_wifi_arcs_every_second_closure) }, + { be_const_key(init, -1), be_const_closure(lv_wifi_arcs_init_closure) }, + { be_const_key(del, -1), be_const_closure(lv_wifi_arcs_del_closure) }, })), - (be_nested_const_str("lv_wifi_arcs", 2082091963, 12)) + be_str_literal("lv_wifi_arcs") ); /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_lvgl_wifi_bars_icon_lib.c b/lib/libesp32/Berry/default/be_lvgl_wifi_bars_icon_lib.c index 9adcdeba5..a1cf693e5 100644 --- a/lib/libesp32/Berry/default/be_lvgl_wifi_bars_icon_lib.c +++ b/lib/libesp32/Berry/default/be_lvgl_wifi_bars_icon_lib.c @@ -10,7 +10,7 @@ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(lv_wifi_bars_icon_init, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -21,26 +21,26 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ - /* K0 */ be_nested_string("init", 380752755, 4), - /* K1 */ be_nested_string("set_style_line_color", -629728320, 20), - /* K2 */ be_nested_string("lv", 1529997255, 2), - /* K3 */ be_nested_string("color", 1031692888, 5), - /* K4 */ be_nested_string("COLOR_WHITE", -1758096026, 11), - /* K5 */ be_nested_string("PART_MAIN", -1821475788, 9), - /* K6 */ be_nested_string("STATE_DEFAULT", 712406428, 13), - /* K7 */ be_nested_string("set_style_bg_color", 1689513089, 18), - /* K8 */ be_nested_string("COLOR_BLACK", 264427940, 11), - /* K9 */ be_nested_string("get_height", -723211773, 10), - /* K10 */ be_nested_string("get_style_pad_right", -1144679830, 19), - /* K11 */ be_nested_string("set_height", 1080207399, 10), - /* K12 */ be_nested_string("set_width", 484671920, 9), - /* K13 */ be_nested_string("set_x", 1849400772, 5), - /* K14 */ be_nested_string("get_width", -1001549996, 9), - /* K15 */ be_nested_string("set_style_pad_right", -980898242, 19), + /* K0 */ be_nested_str(init), + /* K1 */ be_nested_str(set_style_line_color), + /* K2 */ be_nested_str(lv), + /* K3 */ be_nested_str(color), + /* K4 */ be_nested_str(COLOR_WHITE), + /* K5 */ be_nested_str(PART_MAIN), + /* K6 */ be_nested_str(STATE_DEFAULT), + /* K7 */ be_nested_str(set_style_bg_color), + /* K8 */ be_nested_str(COLOR_BLACK), + /* K9 */ be_nested_str(get_height), + /* K10 */ be_nested_str(get_style_pad_right), + /* K11 */ be_nested_str(set_height), + /* K12 */ be_nested_str(set_width), + /* K13 */ be_nested_str(set_x), + /* K14 */ be_nested_str(get_width), + /* K15 */ be_nested_str(set_style_pad_right), /* K16 */ be_const_int(1), }), - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[64]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 0x5C0C0000, // 0001 MOVE R3 R0 @@ -121,9 +121,9 @@ be_local_class(lv_wifi_bars_icon, &be_class_lv_wifi_bars, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("init", 380752755, 4, -1), be_const_closure(init_closure) }, + { be_const_key(init, -1), be_const_closure(lv_wifi_bars_icon_init_closure) }, })), - (be_nested_const_str("lv_wifi_bars_icon", -1489151756, 17)) + be_str_literal("lv_wifi_bars_icon") ); /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_lvgl_wifi_bars_lib.c b/lib/libesp32/Berry/default/be_lvgl_wifi_bars_lib.c index 9bbb51bf0..c61cb2bb3 100644 --- a/lib/libesp32/Berry/default/be_lvgl_wifi_bars_lib.c +++ b/lib/libesp32/Berry/default/be_lvgl_wifi_bars_lib.c @@ -10,7 +10,7 @@ /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(every_second, /* name */ +be_local_closure(lv_wifi_bars_every_second, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -21,16 +21,16 @@ be_local_closure(every_second, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_string("tasmota", 424643812, 7), - /* K1 */ be_nested_string("wifi", 120087624, 4), - /* K2 */ be_nested_string("find", -1108310694, 4), - /* K3 */ be_nested_string("quality", -1697296346, 7), - /* K4 */ be_nested_string("ip", 1261996636, 2), - /* K5 */ be_nested_string("set_percentage", -1342944572, 14), + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(wifi), + /* K2 */ be_nested_str(find), + /* K3 */ be_nested_str(quality), + /* K4 */ be_nested_str(ip), + /* K5 */ be_nested_str(set_percentage), /* K6 */ be_const_int(0), }), - (be_nested_const_str("every_second", 2075451465, 12)), - ((bstring*) &be_const_str_input), + &be_const_str_every_second, + &be_const_str_solidified, ( &(const binstruction[23]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -64,7 +64,7 @@ be_local_closure(every_second, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(init, /* name */ +be_local_closure(lv_wifi_bars_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -75,14 +75,14 @@ be_local_closure(init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_string("init", 380752755, 4), - /* K1 */ be_nested_string("tasmota", 424643812, 7), - /* K2 */ be_nested_string("add_driver", 1654458371, 10), - /* K3 */ be_nested_string("set_percentage", -1342944572, 14), + /* K0 */ be_nested_str(init), + /* K1 */ be_nested_str(tasmota), + /* K2 */ be_nested_str(add_driver), + /* K3 */ be_nested_str(set_percentage), /* K4 */ be_const_int(0), }), - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[14]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 0x5C0C0000, // 0001 MOVE R3 R0 @@ -107,7 +107,7 @@ be_local_closure(init, /* name */ /******************************************************************** ** Solidified function: del ********************************************************************/ -be_local_closure(del, /* name */ +be_local_closure(lv_wifi_bars_del, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -118,12 +118,12 @@ be_local_closure(del, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("del", -816214454, 3), - /* K1 */ be_nested_string("tasmota", 424643812, 7), - /* K2 */ be_nested_string("remove_driver", 1030243768, 13), + /* K0 */ be_nested_str(del), + /* K1 */ be_nested_str(tasmota), + /* K2 */ be_nested_str(remove_driver), }), - (be_nested_const_str("del", -816214454, 3)), - ((bstring*) &be_const_str_input), + &be_const_str_del, + &be_const_str_solidified, ( &(const binstruction[10]) { /* code */ 0x60040003, // 0000 GETGBL R1 G3 0x5C080000, // 0001 MOVE R2 R0 @@ -150,11 +150,11 @@ be_local_class(lv_wifi_bars, &be_class_lv_signal_bars, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("every_second", 2075451465, 12, 1), be_const_closure(every_second_closure) }, - { be_nested_key("init", 380752755, 4, -1), be_const_closure(init_closure) }, - { be_nested_key("del", -816214454, 3, -1), be_const_closure(del_closure) }, + { be_const_key(every_second, 1), be_const_closure(lv_wifi_bars_every_second_closure) }, + { be_const_key(init, -1), be_const_closure(lv_wifi_bars_init_closure) }, + { be_const_key(del, -1), be_const_closure(lv_wifi_bars_del_closure) }, })), - (be_nested_const_str("lv_wifi_bars", 2109539196, 12)) + be_str_literal("lv_wifi_bars") ); /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_modtab.c b/lib/libesp32/Berry/default/be_modtab.c index 0c54ce990..5f4279c27 100644 --- a/lib/libesp32/Berry/default/be_modtab.c +++ b/lib/libesp32/Berry/default/be_modtab.c @@ -131,7 +131,7 @@ extern void be_load_onewirelib(bvm *vm); extern void be_load_serial_lib(bvm *vm); extern void be_load_Driver_class(bvm *vm); extern void be_load_Timer_class(bvm *vm); -extern void be_load_driver_i2c_lib(bvm *vm); +extern void be_load_I2C_Driver_class(bvm *vm); extern void be_load_AXP192_class(bvm *vm); extern void be_load_md5_lib(bvm *vm); extern void be_load_webclient_lib(bvm *vm); @@ -181,7 +181,7 @@ BERRY_API void be_load_custom_libs(bvm *vm) #endif #ifdef USE_I2C be_load_wirelib(vm); - be_load_driver_i2c_lib(vm); + be_load_I2C_Driver_class(vm); be_load_AXP192_class(vm); #endif // USE_I2C #ifdef USE_ENERGY_SENSOR diff --git a/lib/libesp32/Berry/default/be_persist_lib.c b/lib/libesp32/Berry/default/be_persist_lib.c index 4684283d4..0581081c7 100644 --- a/lib/libesp32/Berry/default/be_persist_lib.c +++ b/lib/libesp32/Berry/default/be_persist_lib.c @@ -21,19 +21,19 @@ be_local_closure(Persist_json_fdump_map, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str_literal("json"), - /* K1 */ be_nested_str_literal("write"), - /* K2 */ be_nested_str_literal("{"), - /* K3 */ be_nested_str_literal("keys"), - /* K4 */ be_nested_str_literal("dump"), - /* K5 */ be_nested_str_literal(":"), - /* K6 */ be_nested_str_literal("json_fdump_any"), - /* K7 */ be_nested_str_literal(","), - /* K8 */ be_nested_str_literal("stop_iteration"), - /* K9 */ be_nested_str_literal("}"), + /* K0 */ be_nested_str(json), + /* K1 */ be_nested_str(write), + /* K2 */ be_nested_str(_X7B), + /* K3 */ be_nested_str(keys), + /* K4 */ be_nested_str(dump), + /* K5 */ be_nested_str(_X3A), + /* K6 */ be_nested_str(json_fdump_any), + /* K7 */ be_nested_str(_X2C), + /* K8 */ be_nested_str(stop_iteration), + /* K9 */ be_nested_str(_X7D), }), - (be_nested_const_str("json_fdump_map", -203012643, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_json_fdump_map, + &be_const_str_solidified, ( &(const binstruction[41]) { /* code */ 0xA40E0000, // 0000 IMPORT R3 K0 0x8C100301, // 0001 GETMET R4 R1 K1 @@ -96,11 +96,11 @@ be_local_closure(Persist_setmember, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("_p"), - /* K1 */ be_nested_str_literal("_dirty"), + /* K0 */ be_nested_str(_p), + /* K1 */ be_nested_str(_dirty), }), - (be_nested_const_str("setmember", 1432909441, 9)), - ((bstring*) &be_const_str_input), + &be_const_str_setmember, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x880C0100, // 0000 GETMBR R3 R0 K0 0x980C0202, // 0001 SETIDX R3 R1 R2 @@ -127,11 +127,11 @@ be_local_closure(Persist_zero, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("_p"), - /* K1 */ be_nested_str_literal("_dirty"), + /* K0 */ be_nested_str(_p), + /* K1 */ be_nested_str(_dirty), }), - (be_nested_const_str("zero", -1955600541, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_zero, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x60040013, // 0000 GETGBL R1 G19 0x7C040000, // 0001 CALL R1 0 @@ -159,11 +159,11 @@ be_local_closure(Persist_member, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("_p"), - /* K1 */ be_nested_str_literal("find"), + /* K0 */ be_nested_str(_p), + /* K1 */ be_nested_str(find), }), - (be_nested_const_str("member", 719708611, 6)), - ((bstring*) &be_const_str_input), + &be_const_str_member, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -190,14 +190,14 @@ be_local_closure(Persist_json_fdump, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str_literal("json"), - /* K1 */ be_nested_str_literal("_p"), - /* K2 */ be_nested_str_literal("json_fdump_map"), - /* K3 */ be_nested_str_literal("internal_error"), - /* K4 */ be_nested_str_literal("persist._p is not a map"), + /* K0 */ be_nested_str(json), + /* K1 */ be_nested_str(_p), + /* K2 */ be_nested_str(json_fdump_map), + /* K3 */ be_nested_str(internal_error), + /* K4 */ be_nested_str(persist_X2E_p_X20is_X20not_X20a_X20map), }), - (be_nested_const_str("json_fdump", 1694216580, 10)), - ((bstring*) &be_const_str_input), + &be_const_str_json_fdump, + &be_const_str_solidified, ( &(const binstruction[13]) { /* code */ 0xA40A0000, // 0000 IMPORT R2 K0 0x600C000F, // 0001 GETGBL R3 G15 @@ -232,12 +232,12 @@ be_local_closure(Persist_remove, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_literal("_p"), - /* K1 */ be_nested_str_literal("remove"), - /* K2 */ be_nested_str_literal("_dirty"), + /* K0 */ be_nested_str(_p), + /* K1 */ be_nested_str(remove), + /* K2 */ be_nested_str(_dirty), }), - (be_nested_const_str("remove", -611183107, 6)), - ((bstring*) &be_const_str_input), + &be_const_str_remove, + &be_const_str_solidified, ( &(const binstruction[ 7]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -266,14 +266,14 @@ be_local_closure(Persist_json_fdump_any, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str_literal("json"), - /* K1 */ be_nested_str_literal("json_fdump_map"), - /* K2 */ be_nested_str_literal("json_fdump_list"), - /* K3 */ be_nested_str_literal("write"), - /* K4 */ be_nested_str_literal("dump"), + /* K0 */ be_nested_str(json), + /* K1 */ be_nested_str(json_fdump_map), + /* K2 */ be_nested_str(json_fdump_list), + /* K3 */ be_nested_str(write), + /* K4 */ be_nested_str(dump), }), - (be_nested_const_str("json_fdump_any", -946337911, 14)), - ((bstring*) &be_const_str_input), + &be_const_str_json_fdump_any, + &be_const_str_solidified, ( &(const binstruction[27]) { /* code */ 0xA40E0000, // 0000 IMPORT R3 K0 0x6010000F, // 0001 GETGBL R4 G15 @@ -322,16 +322,16 @@ be_local_closure(Persist_save, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_str_literal("_filename"), - /* K1 */ be_nested_str_literal("w"), - /* K2 */ be_nested_str_literal("json_fdump"), - /* K3 */ be_nested_str_literal("close"), - /* K4 */ be_nested_str_literal("write"), - /* K5 */ be_nested_str_literal("{}"), - /* K6 */ be_nested_str_literal("_dirty"), + /* K0 */ be_nested_str(_filename), + /* K1 */ be_nested_str(w), + /* K2 */ be_nested_str(json_fdump), + /* K3 */ be_nested_str(close), + /* K4 */ be_nested_str(write), + /* K5 */ be_nested_str(_X7B_X7D), + /* K6 */ be_nested_str(_dirty), }), - (be_nested_const_str("save", -855671224, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_save, + &be_const_str_solidified, ( &(const binstruction[37]) { /* code */ 0x4C040000, // 0000 LDNIL R1 0xA802000B, // 0001 EXBLK 0 #000E @@ -390,21 +390,21 @@ be_local_closure(Persist_load, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ - /* K0 */ be_nested_str_literal("json"), - /* K1 */ be_nested_str_literal("path"), - /* K2 */ be_nested_str_literal("exists"), - /* K3 */ be_nested_str_literal("_filename"), - /* K4 */ be_nested_str_literal("r"), - /* K5 */ be_nested_str_literal("load"), - /* K6 */ be_nested_str_literal("read"), - /* K7 */ be_nested_str_literal("close"), - /* K8 */ be_nested_str_literal("_p"), - /* K9 */ be_nested_str_literal("BRY: failed to load _persist.json"), - /* K10 */ be_nested_str_literal("_dirty"), - /* K11 */ be_nested_str_literal("save"), + /* K0 */ be_nested_str(json), + /* K1 */ be_nested_str(path), + /* K2 */ be_nested_str(exists), + /* K3 */ be_nested_str(_filename), + /* K4 */ be_nested_str(r), + /* K5 */ be_nested_str(load), + /* K6 */ be_nested_str(read), + /* K7 */ be_nested_str(close), + /* K8 */ be_nested_str(_p), + /* K9 */ be_nested_str(BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson), + /* K10 */ be_nested_str(_dirty), + /* K11 */ be_nested_str(save), }), - (be_nested_const_str("load", -435725847, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_load, + &be_const_str_solidified, ( &(const binstruction[49]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0xA40A0200, // 0001 IMPORT R2 K1 @@ -475,11 +475,11 @@ be_local_closure(Persist_find, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("_p"), - /* K1 */ be_nested_str_literal("find"), + /* K0 */ be_nested_str(_p), + /* K1 */ be_nested_str(find), }), - (be_nested_const_str("find", -1108310694, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_find, + &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x880C0100, // 0000 GETMBR R3 R0 K0 0x8C0C0701, // 0001 GETMET R3 R3 K1 @@ -507,15 +507,15 @@ be_local_closure(Persist_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_str_literal("_filename"), - /* K1 */ be_nested_str_literal("_persist.json"), - /* K2 */ be_nested_str_literal("_p"), - /* K3 */ be_nested_str_literal("copy"), - /* K4 */ be_nested_str_literal("load"), - /* K5 */ be_nested_str_literal("_dirty"), + /* K0 */ be_nested_str(_filename), + /* K1 */ be_nested_str(_persist_X2Ejson), + /* K2 */ be_nested_str(_p), + /* K3 */ be_nested_str(copy), + /* K4 */ be_nested_str(load), + /* K5 */ be_nested_str(_dirty), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[20]) { /* code */ 0x90020101, // 0000 SETMBR R0 K0 K1 0x6008000F, // 0001 GETGBL R2 G15 @@ -557,17 +557,17 @@ be_local_closure(Persist_json_fdump_list, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ - /* K0 */ be_nested_str_literal("json"), - /* K1 */ be_nested_str_literal("write"), - /* K2 */ be_nested_str_literal("["), + /* K0 */ be_nested_str(json), + /* K1 */ be_nested_str(write), + /* K2 */ be_nested_str(_X5B), /* K3 */ be_const_int(0), - /* K4 */ be_nested_str_literal(","), - /* K5 */ be_nested_str_literal("json_fdump_any"), + /* K4 */ be_nested_str(_X2C), + /* K5 */ be_nested_str(json_fdump_any), /* K6 */ be_const_int(1), - /* K7 */ be_nested_str_literal("]"), + /* K7 */ be_nested_str(_X5D), }), - (be_nested_const_str("json_fdump_list", -391087443, 15)), - ((bstring*) &be_const_str_input), + &be_const_str_json_fdump_list, + &be_const_str_solidified, ( &(const binstruction[25]) { /* code */ 0xA40E0000, // 0000 IMPORT R3 K0 0x8C100301, // 0001 GETMET R4 R1 K1 @@ -614,11 +614,11 @@ be_local_closure(Persist_has, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("_p"), - /* K1 */ be_nested_str_literal("has"), + /* K0 */ be_nested_str(_p), + /* K1 */ be_nested_str(has), }), - (be_nested_const_str("has", -306245661, 3)), - ((bstring*) &be_const_str_input), + &be_const_str_has, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 0x8C080501, // 0001 GETMET R2 R2 K1 @@ -639,22 +639,22 @@ be_local_class(Persist, NULL, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("has", -306245661, 3, 6), be_const_closure(Persist_has_closure) }, - { be_nested_key("setmember", 1432909441, 9, -1), be_const_closure(Persist_setmember_closure) }, - { be_nested_key("remove", -611183107, 6, -1), be_const_closure(Persist_remove_closure) }, - { be_nested_key("zero", -1955600541, 4, 0), be_const_closure(Persist_zero_closure) }, - { be_nested_key("json_fdump", 1694216580, 10, -1), be_const_closure(Persist_json_fdump_closure) }, - { be_nested_key("json_fdump_list", -391087443, 15, 2), be_const_closure(Persist_json_fdump_list_closure) }, - { be_nested_key("init", 380752755, 4, 15), be_const_closure(Persist_init_closure) }, - { be_nested_key("find", -1108310694, 4, -1), be_const_closure(Persist_find_closure) }, - { be_nested_key("save", -855671224, 4, -1), be_const_closure(Persist_save_closure) }, - { be_nested_key("json_fdump_any", -946337911, 14, 12), be_const_closure(Persist_json_fdump_any_closure) }, - { be_nested_key("_p", 1594591802, 2, 7), be_const_var(1) }, - { be_nested_key("_filename", 1430813195, 9, -1), be_const_var(0) }, - { be_nested_key("load", -435725847, 4, -1), be_const_closure(Persist_load_closure) }, - { be_nested_key("json_fdump_map", -203012643, 14, 5), be_const_closure(Persist_json_fdump_map_closure) }, - { be_nested_key("_dirty", 283846766, 6, -1), be_const_var(2) }, - { be_nested_key("member", 719708611, 6, -1), be_const_closure(Persist_member_closure) }, + { 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(_p, 7), be_const_var(1) }, + { be_const_key(_filename, -1), be_const_var(0) }, + { 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(_dirty, -1), be_const_var(2) }, + { be_const_key(member, -1), be_const_closure(Persist_member_closure) }, })), be_str_literal("Persist") ); @@ -675,8 +675,8 @@ be_local_closure(persist__anonymous_, /* name */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_class(be_class_Persist), }), - (be_nested_const_str("_anonymous_", 1957281476, 11)), - ((bstring*) &be_const_str_input), + &be_const_str__anonymous_, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x58040000, // 0000 LDCONST R1 K0 0xB4000000, // 0001 CLASS K0 @@ -696,7 +696,7 @@ be_local_module(persist, "persist", be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("init", 380752755, 4, -1), be_const_closure(persist__anonymous__closure) }, + { be_const_key(init, -1), be_const_closure(persist__anonymous__closure) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(persist); diff --git a/lib/libesp32/Berry/default/be_python_compat.c b/lib/libesp32/Berry/default/be_python_compat.c index 7213c10ad..5b3ec64d0 100644 --- a/lib/libesp32/Berry/default/be_python_compat.c +++ b/lib/libesp32/Berry/default/be_python_compat.c @@ -8,7 +8,7 @@ /******************************************************************** ** Solidified function: _anonymous_ ********************************************************************/ -be_local_closure(_anonymous_, /* name */ +be_local_closure(python_compat__anonymous_, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -19,25 +19,25 @@ be_local_closure(_anonymous_, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_string("global", 503252654, 6), - /* K1 */ be_nested_string("True", -841064955, 4), - /* K2 */ be_nested_string("False", -1753917960, 5), - /* K3 */ be_nested_string("None", 810547195, 4), - /* K4 */ be_nested_string("b", -418632219, 1), + /* K0 */ be_nested_str(global), + /* K1 */ be_nested_str(True), + /* K2 */ be_nested_str(False), + /* K3 */ be_nested_str(None), + /* K4 */ be_nested_str(b), }), - (be_nested_const_str("_anonymous_", 1957281476, 11)), - (be_nested_const_str("python_compat.be", -225667571, 16)), + &be_const_str__anonymous_, + &be_const_str_solidified, ( &(const binstruction[10]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x50080200, // 0001 LDBOOL R2 1 0 - 0x90060202, // 0002 SETMBR R1 K1 R2 - 0x50080000, // 0003 LDBOOL R2 0 0 - 0x90060402, // 0004 SETMBR R1 K2 R2 - 0x4C080000, // 0005 LDNIL R2 - 0x90060602, // 0006 SETMBR R1 K3 R2 - 0x60080015, // 0007 GETGBL R2 G21 - 0x90060802, // 0008 SETMBR R1 K4 R2 - 0x80040000, // 0009 RET 1 R0 + 0xA4060000, // 0000 IMPORT R1 K0 + 0x50080200, // 0001 LDBOOL R2 1 0 + 0x90060202, // 0002 SETMBR R1 K1 R2 + 0x50080000, // 0003 LDBOOL R2 0 0 + 0x90060402, // 0004 SETMBR R1 K2 R2 + 0x4C080000, // 0005 LDNIL R2 + 0x90060602, // 0006 SETMBR R1 K3 R2 + 0x60080015, // 0007 GETGBL R2 G21 + 0x90060802, // 0008 SETMBR R1 K4 R2 + 0x80040000, // 0009 RET 1 R0 }) ) ); @@ -51,7 +51,7 @@ be_local_module(python_compat, "python_compat", be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("init", 380752755, 4, -1), be_const_closure(_anonymous__closure) }, + { be_const_key(init, -1), be_const_closure(python_compat__anonymous__closure) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(python_compat); diff --git a/lib/libesp32/Berry/default/be_tapp_lib.c b/lib/libesp32/Berry/default/be_tapp_lib.c index 47ef170f7..1a312d110 100644 --- a/lib/libesp32/Berry/default/be_tapp_lib.c +++ b/lib/libesp32/Berry/default/be_tapp_lib.c @@ -20,11 +20,11 @@ be_local_closure(Tapp_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_literal("tasmota"), - /* K1 */ be_nested_str_literal("add_driver"), + /* K0 */ be_nested_str(tasmota), + /* K1 */ be_nested_str(add_driver), }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), + &be_const_str_init, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 0x8C040301, // 0001 GETMET R1 R1 K1 @@ -51,24 +51,24 @@ be_local_closure(Tapp_autoexec, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ - /* K0 */ be_nested_str_literal("path"), - /* K1 */ be_nested_str_literal("string"), - /* K2 */ be_nested_str_literal("listdir"), - /* K3 */ be_nested_str_literal("/"), - /* K4 */ be_nested_str_literal("find"), - /* K5 */ be_nested_str_literal(".tapp"), + /* K0 */ be_nested_str(path), + /* K1 */ be_nested_str(string), + /* K2 */ be_nested_str(listdir), + /* K3 */ be_nested_str(_X2F), + /* K4 */ be_nested_str(find), + /* K5 */ be_nested_str(_X2Etapp), /* K6 */ be_const_int(0), - /* K7 */ be_nested_str_literal("tasmota"), - /* K8 */ be_nested_str_literal("log"), - /* K9 */ be_nested_str_literal("format"), - /* K10 */ be_nested_str_literal("TAP: found Tasmota App '%s'"), + /* K7 */ be_nested_str(tasmota), + /* K8 */ be_nested_str(log), + /* K9 */ be_nested_str(format), + /* K10 */ be_nested_str(TAP_X3A_X20found_X20Tasmota_X20App_X20_X27_X25s_X27), /* K11 */ be_const_int(2), - /* K12 */ be_nested_str_literal("load"), - /* K13 */ be_nested_str_literal("#autoexec.be"), - /* K14 */ be_nested_str_literal("stop_iteration"), + /* K12 */ be_nested_str(load), + /* K13 */ be_nested_str(_X23autoexec_X2Ebe), + /* K14 */ be_nested_str(stop_iteration), }), - (be_nested_const_str("autoexec", -618105405, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_autoexec, + &be_const_str_solidified, ( &(const binstruction[34]) { /* code */ 0xA4060000, // 0000 IMPORT R1 K0 0xA40A0200, // 0001 IMPORT R2 K1 @@ -118,8 +118,8 @@ be_local_class(Tapp, NULL, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("autoexec", -618105405, 8, -1), be_const_closure(Tapp_autoexec_closure) }, - { be_nested_key("init", 380752755, 4, 0), be_const_closure(Tapp_init_closure) }, + { be_const_key(autoexec, -1), be_const_closure(Tapp_autoexec_closure) }, + { be_const_key(init, 0), be_const_closure(Tapp_init_closure) }, })), be_str_literal("Tapp") ); @@ -140,8 +140,8 @@ be_local_closure(tapp__anonymous_, /* name */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_class(be_class_Tapp), }), - (be_nested_const_str("_anonymous_", 1957281476, 11)), - ((bstring*) &be_const_str_input), + &be_const_str__anonymous_, + &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0x58040000, // 0000 LDCONST R1 K0 0xB4000000, // 0001 CLASS K0 @@ -161,7 +161,7 @@ be_local_module(tapp, "tapp", be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("init", 380752755, 4, -1), be_const_closure(tapp__anonymous__closure) }, + { be_const_key(init, -1), be_const_closure(tapp__anonymous__closure) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(tapp); diff --git a/lib/libesp32/Berry/default/be_tasmotalib.c b/lib/libesp32/Berry/default/be_tasmotalib.c index a5c0307b8..b073287f4 100644 --- a/lib/libesp32/Berry/default/be_tasmotalib.c +++ b/lib/libesp32/Berry/default/be_tasmotalib.c @@ -53,161 +53,11 @@ extern int l_getswitch(bvm *vm); extern int l_i2cenabled(bvm *vm); -// KV class -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(kv_init, /* name */ - be_nested_proto( - 3, /* nstack */ - 3, /* argc */ - 0, /* 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_string("k", -301188886, 1), - /* K1 */ be_nested_string("v", -217300791, 1), - }), - ((bstring*) &be_const_str_init), - ((bstring*) &be_const_str_input), - ( &(const binstruction[ 3]) { /* code */ - 0x90020001, // 0000 SETMBR R0 K0 R1 - 0x90020202, // 0001 SETMBR R0 K1 R2 - 0x80000000, // 0002 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified class: KV -********************************************************************/ -be_local_class(KV, - 2, - NULL, - be_nested_map(3, - ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("k", -301188886, 1, 2), be_const_var(0) }, - { be_nested_key("v", -217300791, 1, -1), be_const_var(1) }, - { be_nested_key("init", 380752755, 4, -1), be_const_closure(kv_init_closure) }, - })), - (be_nested_const_str("KV", 955173972, 2)) -); - -/******************************************************************** -** Solidified function: kv -********************************************************************/ -be_local_closure(kv, /* name */ - be_nested_proto( - 7, /* nstack */ - 3, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_const_class(be_class_KV), - }), - (be_nested_const_str("kv", 1497177492, 2)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[ 7]) { /* code */ - 0x580C0000, // 0000 LDCONST R3 K0 - 0xB4000000, // 0001 CLASS K0 - 0x5C100600, // 0002 MOVE R4 R3 - 0x5C140200, // 0003 MOVE R5 R1 - 0x5C180400, // 0004 MOVE R6 R2 - 0x7C100400, // 0005 CALL R4 2 - 0x80040800, // 0006 RET 1 R4 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(init, /* name */ - be_nested_proto( - 7, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[15]) { /* constants */ - /* K0 */ be_nested_str_literal("global"), - /* K1 */ be_nested_str_literal("ctypes_bytes_dyn"), - /* K2 */ be_nested_str_literal("_global_addr"), - /* K3 */ be_nested_str_literal("_global_def"), - /* K4 */ be_nested_str_literal("introspect"), - /* K5 */ be_nested_str_literal("_settings_ptr"), - /* K6 */ be_nested_str_literal("get"), - /* K7 */ be_const_int(0), - /* K8 */ be_nested_str_literal("settings"), - /* K9 */ be_nested_str_literal("toptr"), - /* K10 */ be_nested_str_literal("_settings_def"), - /* K11 */ be_nested_str_literal("wd"), - /* K12 */ be_nested_str_literal(""), - /* K13 */ be_nested_str_literal("_debug_present"), - /* K14 */ be_nested_str_literal("debug"), - }), - (be_nested_const_str("init", 380752755, 4)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[36]) { /* code */ - 0xB8060200, // 0000 GETNGBL R1 K1 - 0x88080102, // 0001 GETMBR R2 R0 K2 - 0x880C0103, // 0002 GETMBR R3 R0 K3 - 0x7C040400, // 0003 CALL R1 2 - 0x90020001, // 0004 SETMBR R0 K0 R1 - 0xA4060800, // 0005 IMPORT R1 K4 - 0x60080015, // 0006 GETGBL R2 G21 - 0x880C0105, // 0007 GETMBR R3 R0 K5 - 0x54120003, // 0008 LDINT R4 4 - 0x7C080400, // 0009 CALL R2 2 - 0x8C080506, // 000A GETMET R2 R2 K6 - 0x58100007, // 000B LDCONST R4 K7 - 0x54160003, // 000C LDINT R5 4 - 0x7C080600, // 000D CALL R2 3 - 0x780A0006, // 000E JMPF R2 #0016 - 0xB80E0200, // 000F GETNGBL R3 K1 - 0x8C100309, // 0010 GETMET R4 R1 K9 - 0x5C180400, // 0011 MOVE R6 R2 - 0x7C100400, // 0012 CALL R4 2 - 0x8814010A, // 0013 GETMBR R5 R0 K10 - 0x7C0C0400, // 0014 CALL R3 2 - 0x90021003, // 0015 SETMBR R0 K8 R3 - 0x9002170C, // 0016 SETMBR R0 K11 K12 - 0x500C0000, // 0017 LDBOOL R3 0 0 - 0x90021A03, // 0018 SETMBR R0 K13 R3 - 0xA8020004, // 0019 EXBLK 0 #001F - 0xA40E1C00, // 001A IMPORT R3 K14 - 0x50100200, // 001B LDBOOL R4 1 0 - 0x90021A04, // 001C SETMBR R0 K13 R4 - 0xA8040001, // 001D EXBLK 1 1 - 0x70020003, // 001E JMP #0023 - 0xAC0C0000, // 001F CATCH R3 0 0 - 0x70020000, // 0020 JMP #0022 - 0x70020000, // 0021 JMP #0023 - 0xB0080000, // 0022 RAISE 2 R0 R0 - 0x80000000, // 0023 RET 0 - }) - ) -); -/*******************************************************************/ /******************************************************************** ** Solidified function: add_driver ********************************************************************/ -be_local_closure(add_driver, /* name */ +be_local_closure(Tasmota_add_driver, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -218,24 +68,24 @@ be_local_closure(add_driver, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("_drivers", -1034638311, 8), - /* K1 */ be_nested_string("push", -2022703139, 4), + /* K0 */ be_nested_str(_drivers), + /* K1 */ be_nested_str(push), }), - (be_nested_const_str("add_driver", 1654458371, 10)), - ((bstring*) &be_const_str_input), + &be_const_str_add_driver, + &be_const_str_solidified, ( &(const binstruction[12]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x780A0004, // 0001 JMPF R2 #0007 - 0x88080100, // 0002 GETMBR R2 R0 K0 - 0x8C080501, // 0003 GETMET R2 R2 K1 - 0x5C100200, // 0004 MOVE R4 R1 - 0x7C080400, // 0005 CALL R2 2 - 0x70020003, // 0006 JMP #000B - 0x60080012, // 0007 GETGBL R2 G18 - 0x7C080000, // 0008 CALL R2 0 - 0x400C0401, // 0009 CONNECT R3 R2 R1 - 0x90020002, // 000A SETMBR R0 K0 R2 - 0x80000000, // 000B RET 0 + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x780A0004, // 0001 JMPF R2 #0007 + 0x88080100, // 0002 GETMBR R2 R0 K0 + 0x8C080501, // 0003 GETMET R2 R2 K1 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x70020003, // 0006 JMP #000B + 0x60080012, // 0007 GETGBL R2 G18 + 0x7C080000, // 0008 CALL R2 0 + 0x400C0401, // 0009 CONNECT R3 R2 R1 + 0x90020002, // 000A SETMBR R0 K0 R2 + 0x80000000, // 000B RET 0 }) ) ); @@ -243,77 +93,12 @@ be_local_closure(add_driver, /* name */ /******************************************************************** -** Solidified function: gen_cb +** Solidified function: gc ********************************************************************/ -be_local_closure(gen_cb, /* name */ +be_local_closure(Tasmota_gc, /* name */ be_nested_proto( - 7, /* nstack */ - 2, /* argc */ - 0, /* 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_string("_cb", -251666929, 3), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_string("find", -1108310694, 4), - /* K3 */ be_nested_string("_get_cb", 1448849122, 7), - /* K4 */ be_nested_string("stop_iteration", -121173395, 14), - /* K5 */ be_nested_string("internal_error", -1775809127, 14), - /* K6 */ be_nested_string("No callback available", 633786138, 21), - }), - (be_nested_const_str("gen_cb", -1049739745, 6)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[34]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x4C0C0000, // 0001 LDNIL R3 - 0x1C080403, // 0002 EQ R2 R2 R3 - 0x780A0002, // 0003 JMPF R2 #0007 - 0x60080013, // 0004 GETGBL R2 G19 - 0x7C080000, // 0005 CALL R2 0 - 0x90020002, // 0006 SETMBR R0 K0 R2 - 0x60080010, // 0007 GETGBL R2 G16 - 0x540E0012, // 0008 LDINT R3 19 - 0x400E0203, // 0009 CONNECT R3 K1 R3 - 0x7C080200, // 000A CALL R2 1 - 0xA8020010, // 000B EXBLK 0 #001D - 0x5C0C0400, // 000C MOVE R3 R2 - 0x7C0C0000, // 000D CALL R3 0 - 0x88100100, // 000E GETMBR R4 R0 K0 - 0x8C100902, // 000F GETMET R4 R4 K2 - 0x5C180600, // 0010 MOVE R6 R3 - 0x7C100400, // 0011 CALL R4 2 - 0x4C140000, // 0012 LDNIL R5 - 0x1C100805, // 0013 EQ R4 R4 R5 - 0x78120006, // 0014 JMPF R4 #001C - 0x88100100, // 0015 GETMBR R4 R0 K0 - 0x98100601, // 0016 SETIDX R4 R3 R1 - 0x8C100103, // 0017 GETMET R4 R0 K3 - 0x5C180600, // 0018 MOVE R6 R3 - 0x7C100400, // 0019 CALL R4 2 - 0xA8040001, // 001A EXBLK 1 1 - 0x80040800, // 001B RET 1 R4 - 0x7001FFEE, // 001C JMP #000C - 0x58080004, // 001D LDCONST R2 K4 - 0xAC080200, // 001E CATCH R2 1 0 - 0xB0080000, // 001F RAISE 2 R0 R0 - 0xB0060B06, // 0020 RAISE 1 K5 K6 - 0x80000000, // 0021 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: set_light -********************************************************************/ -be_local_closure(set_light, /* name */ - be_nested_proto( - 8, /* nstack */ - 3, /* argc */ + 4, /* nstack */ + 1, /* argc */ 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ @@ -321,776 +106,19 @@ be_local_closure(set_light, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("tasmota.set_light() is deprecated, use light.set()", 2124937871, 50), - /* K1 */ be_nested_string("light", -493019601, 5), - /* K2 */ be_nested_string("set", -970520829, 3), + /* K0 */ be_nested_str(gc), + /* K1 */ be_nested_str(collect), + /* K2 */ be_nested_str(allocated), }), - (be_nested_const_str("set_light", -1118891144, 9)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[18]) { /* code */ - 0x600C0001, // 0000 GETGBL R3 G1 - 0x58100000, // 0001 LDCONST R4 K0 - 0x7C0C0200, // 0002 CALL R3 1 - 0xA40E0200, // 0003 IMPORT R3 K1 - 0x4C100000, // 0004 LDNIL R4 - 0x20100404, // 0005 NE R4 R2 R4 - 0x78120005, // 0006 JMPF R4 #000D - 0x8C100702, // 0007 GETMET R4 R3 K2 - 0x5C180200, // 0008 MOVE R6 R1 - 0x5C1C0400, // 0009 MOVE R7 R2 - 0x7C100600, // 000A CALL R4 3 - 0x80040800, // 000B RET 1 R4 - 0x70020003, // 000C JMP #0011 - 0x8C100702, // 000D GETMET R4 R3 K2 - 0x5C180200, // 000E MOVE R6 R1 - 0x7C100400, // 000F CALL R4 2 - 0x80040800, // 0010 RET 1 R4 - 0x80000000, // 0011 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: remove_rule -********************************************************************/ -be_local_closure(remove_rule, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 0, /* 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_string("_rules", -28750191, 6), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_string("k", -301188886, 1), - /* K3 */ be_nested_string("remove", -611183107, 6), - /* K4 */ be_const_int(1), - }), - (be_nested_const_str("remove_rule", -838755968, 11)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[21]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x780A0011, // 0001 JMPF R2 #0014 - 0x58080001, // 0002 LDCONST R2 K1 - 0x600C000C, // 0003 GETGBL R3 G12 - 0x88100100, // 0004 GETMBR R4 R0 K0 - 0x7C0C0200, // 0005 CALL R3 1 - 0x140C0403, // 0006 LT R3 R2 R3 - 0x780E000B, // 0007 JMPF R3 #0014 - 0x880C0100, // 0008 GETMBR R3 R0 K0 - 0x940C0602, // 0009 GETIDX R3 R3 R2 - 0x880C0702, // 000A GETMBR R3 R3 K2 - 0x1C0C0601, // 000B EQ R3 R3 R1 - 0x780E0004, // 000C JMPF R3 #0012 - 0x880C0100, // 000D GETMBR R3 R0 K0 - 0x8C0C0703, // 000E GETMET R3 R3 K3 - 0x5C140400, // 000F MOVE R5 R2 - 0x7C0C0400, // 0010 CALL R3 2 - 0x70020000, // 0011 JMP #0013 - 0x00080504, // 0012 ADD R2 R2 K4 - 0x7001FFEE, // 0013 JMP #0003 - 0x80000000, // 0014 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: add_cmd -********************************************************************/ -be_local_closure(add_cmd, /* name */ - be_nested_proto( - 5, /* nstack */ - 3, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_string("_ccmd", -2131545883, 5), - /* K1 */ be_nested_string("function", -1630125495, 8), - /* K2 */ be_nested_string("value_error", 773297791, 11), - /* K3 */ be_nested_string("the second argument is not a function", -340392827, 37), - }), - (be_nested_const_str("add_cmd", -933336417, 7)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[15]) { /* code */ - 0x880C0100, // 0000 GETMBR R3 R0 K0 - 0x740E0002, // 0001 JMPT R3 #0005 - 0x600C0013, // 0002 GETGBL R3 G19 - 0x7C0C0000, // 0003 CALL R3 0 - 0x90020003, // 0004 SETMBR R0 K0 R3 - 0x600C0004, // 0005 GETGBL R3 G4 - 0x5C100400, // 0006 MOVE R4 R2 - 0x7C0C0200, // 0007 CALL R3 1 - 0x1C0C0701, // 0008 EQ R3 R3 K1 - 0x780E0002, // 0009 JMPF R3 #000D - 0x880C0100, // 000A GETMBR R3 R0 K0 - 0x980C0202, // 000B SETIDX R3 R1 R2 - 0x70020000, // 000C JMP #000E - 0xB0060503, // 000D RAISE 1 K2 K3 - 0x80000000, // 000E RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: wire_scan -********************************************************************/ -be_local_closure(wire_scan, /* name */ - be_nested_proto( - 6, /* nstack */ - 3, /* argc */ - 0, /* 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_string("i2c_enabled", 218388101, 11), - /* K1 */ be_nested_string("wire1", -1082245877, 5), - /* K2 */ be_nested_string("enabled", 49525662, 7), - /* K3 */ be_nested_string("detect", 8884370, 6), - /* K4 */ be_nested_string("wire2", -1065468258, 5), - }), - (be_nested_const_str("wire_scan", -1623691416, 9)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[33]) { /* code */ - 0x4C0C0000, // 0000 LDNIL R3 - 0x200C0403, // 0001 NE R3 R2 R3 - 0x780E0005, // 0002 JMPF R3 #0009 - 0x8C0C0100, // 0003 GETMET R3 R0 K0 - 0x5C140400, // 0004 MOVE R5 R2 - 0x7C0C0400, // 0005 CALL R3 2 - 0x740E0001, // 0006 JMPT R3 #0009 - 0x4C0C0000, // 0007 LDNIL R3 - 0x80040600, // 0008 RET 1 R3 - 0x880C0101, // 0009 GETMBR R3 R0 K1 - 0x8C0C0702, // 000A GETMET R3 R3 K2 - 0x7C0C0200, // 000B CALL R3 1 - 0x780E0006, // 000C JMPF R3 #0014 - 0x880C0101, // 000D GETMBR R3 R0 K1 - 0x8C0C0703, // 000E GETMET R3 R3 K3 - 0x5C140200, // 000F MOVE R5 R1 - 0x7C0C0400, // 0010 CALL R3 2 - 0x780E0001, // 0011 JMPF R3 #0014 - 0x880C0101, // 0012 GETMBR R3 R0 K1 - 0x80040600, // 0013 RET 1 R3 - 0x880C0104, // 0014 GETMBR R3 R0 K4 - 0x8C0C0702, // 0015 GETMET R3 R3 K2 - 0x7C0C0200, // 0016 CALL R3 1 - 0x780E0006, // 0017 JMPF R3 #001F - 0x880C0104, // 0018 GETMBR R3 R0 K4 - 0x8C0C0703, // 0019 GETMET R3 R3 K3 - 0x5C140200, // 001A MOVE R5 R1 - 0x7C0C0400, // 001B CALL R3 2 - 0x780E0001, // 001C JMPF R3 #001F - 0x880C0104, // 001D GETMBR R3 R0 K4 - 0x80040600, // 001E RET 1 R3 - 0x4C0C0000, // 001F LDNIL R3 - 0x80040600, // 0020 RET 1 R3 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: find_key_i -********************************************************************/ -be_local_closure(find_key_i, /* name */ - be_nested_proto( - 10, /* nstack */ - 3, /* argc */ - 0, /* 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_string("string", 398550328, 6), - /* K1 */ be_nested_string("toupper", -602983720, 7), - /* K2 */ be_nested_string("keys", -112588595, 4), - /* K3 */ be_nested_string("?", 973910158, 1), - /* K4 */ be_nested_string("stop_iteration", -121173395, 14), - }), - (be_nested_const_str("find_key_i", 850136726, 10)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[30]) { /* code */ - 0xA40E0000, // 0000 IMPORT R3 K0 - 0x8C100701, // 0001 GETMET R4 R3 K1 - 0x5C180400, // 0002 MOVE R6 R2 - 0x7C100400, // 0003 CALL R4 2 - 0x6014000F, // 0004 GETGBL R5 G15 - 0x5C180200, // 0005 MOVE R6 R1 - 0x601C0013, // 0006 GETGBL R7 G19 - 0x7C140400, // 0007 CALL R5 2 - 0x78160013, // 0008 JMPF R5 #001D - 0x60140010, // 0009 GETGBL R5 G16 - 0x8C180302, // 000A GETMET R6 R1 K2 - 0x7C180200, // 000B CALL R6 1 - 0x7C140200, // 000C CALL R5 1 - 0xA802000B, // 000D EXBLK 0 #001A - 0x5C180A00, // 000E MOVE R6 R5 - 0x7C180000, // 000F CALL R6 0 - 0x8C1C0701, // 0010 GETMET R7 R3 K1 - 0x5C240C00, // 0011 MOVE R9 R6 - 0x7C1C0400, // 0012 CALL R7 2 - 0x1C1C0E04, // 0013 EQ R7 R7 R4 - 0x741E0001, // 0014 JMPT R7 #0017 - 0x1C1C0503, // 0015 EQ R7 R2 K3 - 0x781E0001, // 0016 JMPF R7 #0019 - 0xA8040001, // 0017 EXBLK 1 1 - 0x80040C00, // 0018 RET 1 R6 - 0x7001FFF3, // 0019 JMP #000E - 0x58140004, // 001A LDCONST R5 K4 - 0xAC140200, // 001B CATCH R5 1 0 - 0xB0080000, // 001C RAISE 2 R0 R0 - 0x80000000, // 001D RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: chars_in_string -********************************************************************/ -be_local_closure(chars_in_string, /* name */ - be_nested_proto( - 10, /* nstack */ - 4, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_const_int(0), - /* K1 */ be_const_int(1), - }), - (be_nested_const_str("chars_in_string", -1146182164, 15)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[31]) { /* code */ - 0x780E0001, // 0000 JMPF R3 #0003 - 0x50100200, // 0001 LDBOOL R4 1 0 - 0x70020000, // 0002 JMP #0004 - 0x50100000, // 0003 LDBOOL R4 0 0 - 0x58140000, // 0004 LDCONST R5 K0 - 0x6018000C, // 0005 GETGBL R6 G12 - 0x5C1C0200, // 0006 MOVE R7 R1 - 0x7C180200, // 0007 CALL R6 1 - 0x14180A06, // 0008 LT R6 R5 R6 - 0x781A0012, // 0009 JMPF R6 #001D - 0x50180000, // 000A LDBOOL R6 0 0 - 0x581C0000, // 000B LDCONST R7 K0 - 0x6020000C, // 000C GETGBL R8 G12 - 0x5C240400, // 000D MOVE R9 R2 - 0x7C200200, // 000E CALL R8 1 - 0x14200E08, // 000F LT R8 R7 R8 - 0x78220006, // 0010 JMPF R8 #0018 - 0x94200205, // 0011 GETIDX R8 R1 R5 - 0x94240407, // 0012 GETIDX R9 R2 R7 - 0x1C201009, // 0013 EQ R8 R8 R9 - 0x78220000, // 0014 JMPF R8 #0016 - 0x50180200, // 0015 LDBOOL R6 1 0 - 0x001C0F01, // 0016 ADD R7 R7 K1 - 0x7001FFF3, // 0017 JMP #000C - 0x20200806, // 0018 NE R8 R4 R6 - 0x78220000, // 0019 JMPF R8 #001B - 0x80040A00, // 001A RET 1 R5 - 0x00140B01, // 001B ADD R5 R5 K1 - 0x7001FFE7, // 001C JMP #0005 - 0x5419FFFE, // 001D LDINT R6 -1 - 0x80040C00, // 001E RET 1 R6 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: set_timer -********************************************************************/ -be_local_closure(set_timer, /* name */ - be_nested_proto( - 10, /* nstack */ - 4, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_string("_timers", -1694866380, 7), - /* K1 */ be_nested_string("push", -2022703139, 4), - /* K2 */ be_nested_string("Timer", -346839614, 5), - /* K3 */ be_nested_string("millis", 1214679063, 6), - }), - (be_nested_const_str("set_timer", 2135414533, 9)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[16]) { /* code */ - 0x88100100, // 0000 GETMBR R4 R0 K0 - 0x74120002, // 0001 JMPT R4 #0005 - 0x60100012, // 0002 GETGBL R4 G18 - 0x7C100000, // 0003 CALL R4 0 - 0x90020004, // 0004 SETMBR R0 K0 R4 - 0x88100100, // 0005 GETMBR R4 R0 K0 - 0x8C100901, // 0006 GETMET R4 R4 K1 - 0xB81A0400, // 0007 GETNGBL R6 K2 - 0x8C1C0103, // 0008 GETMET R7 R0 K3 - 0x5C240200, // 0009 MOVE R9 R1 - 0x7C1C0400, // 000A CALL R7 2 - 0x5C200400, // 000B MOVE R8 R2 - 0x5C240600, // 000C MOVE R9 R3 - 0x7C180600, // 000D CALL R6 3 - 0x7C100400, // 000E CALL R4 2 - 0x80000000, // 000F RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: add_rule -********************************************************************/ -be_local_closure(add_rule, /* name */ - be_nested_proto( - 9, /* nstack */ - 3, /* argc */ - 0, /* 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_string("_rules", -28750191, 6), - /* K1 */ be_nested_string("function", -1630125495, 8), - /* K2 */ be_nested_string("push", -2022703139, 4), - /* K3 */ be_nested_string("kv", 1497177492, 2), - /* K4 */ be_nested_string("value_error", 773297791, 11), - /* K5 */ be_nested_string("the second argument is not a function", -340392827, 37), - }), - (be_nested_const_str("add_rule", 596540743, 8)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[20]) { /* code */ - 0x880C0100, // 0000 GETMBR R3 R0 K0 - 0x740E0002, // 0001 JMPT R3 #0005 - 0x600C0012, // 0002 GETGBL R3 G18 - 0x7C0C0000, // 0003 CALL R3 0 - 0x90020003, // 0004 SETMBR R0 K0 R3 - 0x600C0004, // 0005 GETGBL R3 G4 - 0x5C100400, // 0006 MOVE R4 R2 - 0x7C0C0200, // 0007 CALL R3 1 - 0x1C0C0701, // 0008 EQ R3 R3 K1 - 0x780E0007, // 0009 JMPF R3 #0012 - 0x880C0100, // 000A GETMBR R3 R0 K0 - 0x8C0C0702, // 000B GETMET R3 R3 K2 - 0x8C140103, // 000C GETMET R5 R0 K3 - 0x5C1C0200, // 000D MOVE R7 R1 - 0x5C200400, // 000E MOVE R8 R2 - 0x7C140600, // 000F CALL R5 3 - 0x7C0C0400, // 0010 CALL R3 2 - 0x70020000, // 0011 JMP #0013 - 0xB0060905, // 0012 RAISE 1 K4 K5 - 0x80000000, // 0013 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: run_deferred -********************************************************************/ -be_local_closure(run_deferred, /* name */ - be_nested_proto( - 6, /* nstack */ - 1, /* argc */ - 0, /* 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_string("_timers", -1694866380, 7), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_string("size", 597743964, 4), - /* K3 */ be_nested_string("time_reached", 2075136773, 12), - /* K4 */ be_nested_string("due", -399437003, 3), - /* K5 */ be_nested_string("f", -485742695, 1), - /* K6 */ be_nested_string("remove", -611183107, 6), - /* K7 */ be_const_int(1), - }), - (be_nested_const_str("run_deferred", 371594696, 12)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[27]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x78060017, // 0001 JMPF R1 #001A - 0x58040001, // 0002 LDCONST R1 K1 - 0x88080100, // 0003 GETMBR R2 R0 K0 - 0x8C080502, // 0004 GETMET R2 R2 K2 - 0x7C080200, // 0005 CALL R2 1 - 0x14080202, // 0006 LT R2 R1 R2 - 0x780A0011, // 0007 JMPF R2 #001A - 0x8C080103, // 0008 GETMET R2 R0 K3 - 0x88100100, // 0009 GETMBR R4 R0 K0 - 0x94100801, // 000A GETIDX R4 R4 R1 - 0x88100904, // 000B GETMBR R4 R4 K4 - 0x7C080400, // 000C CALL R2 2 - 0x780A0009, // 000D JMPF R2 #0018 - 0x88080100, // 000E GETMBR R2 R0 K0 - 0x94080401, // 000F GETIDX R2 R2 R1 - 0x88080505, // 0010 GETMBR R2 R2 K5 - 0x880C0100, // 0011 GETMBR R3 R0 K0 - 0x8C0C0706, // 0012 GETMET R3 R3 K6 - 0x5C140200, // 0013 MOVE R5 R1 - 0x7C0C0400, // 0014 CALL R3 2 - 0x5C0C0400, // 0015 MOVE R3 R2 - 0x7C0C0000, // 0016 CALL R3 0 - 0x70020000, // 0017 JMP #0019 - 0x00040307, // 0018 ADD R1 R1 K7 - 0x7001FFE8, // 0019 JMP #0003 - 0x80000000, // 001A RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: cmd -********************************************************************/ -be_local_closure(cmd, /* name */ - be_nested_proto( - 5, /* nstack */ - 2, /* argc */ - 0, /* 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_string("cmd_res", 921166762, 7), - /* K1 */ be_nested_string("_cmd", -875145154, 4), - }), - (be_nested_const_str("cmd", -158181397, 3)), - (be_nested_const_str("tasmota.be", 1128870755, 10)), - ( &(const binstruction[14]) { /* code */ - 0x50080200, // 0000 LDBOOL R2 1 0 - 0x90020002, // 0001 SETMBR R0 K0 R2 - 0x8C080101, // 0002 GETMET R2 R0 K1 - 0x5C100200, // 0003 MOVE R4 R1 - 0x7C080400, // 0004 CALL R2 2 - 0x4C080000, // 0005 LDNIL R2 - 0x880C0100, // 0006 GETMBR R3 R0 K0 - 0x50100200, // 0007 LDBOOL R4 1 0 - 0x200C0604, // 0008 NE R3 R3 R4 - 0x780E0000, // 0009 JMPF R3 #000B - 0x88080100, // 000A GETMBR R2 R0 K0 - 0x4C0C0000, // 000B LDNIL R3 - 0x90020003, // 000C SETMBR R0 K0 R3 - 0x80040400, // 000D RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: time_str -********************************************************************/ -be_local_closure(time_str, /* name */ - be_nested_proto( - 13, /* nstack */ - 2, /* argc */ - 0, /* 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_string("string", 398550328, 6), - /* K1 */ be_nested_string("time_dump", -964556549, 9), - /* K2 */ be_nested_string("format", -1180859054, 6), - /* K3 */ be_nested_string("%04d-%02d-%02dT%02d:%02d:%02d", -869438695, 29), - /* K4 */ be_nested_string("year", -1367388900, 4), - /* K5 */ be_nested_string("month", -696646139, 5), - /* K6 */ be_nested_string("day", -464576003, 3), - /* K7 */ be_nested_string("hour", -1241306097, 4), - /* K8 */ be_nested_string("min", -913357481, 3), - /* K9 */ be_nested_string("sec", -1155074638, 3), - }), - (be_nested_const_str("time_str", -1681139684, 8)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[14]) { /* code */ - 0xA40A0000, // 0000 IMPORT R2 K0 - 0x8C0C0101, // 0001 GETMET R3 R0 K1 - 0x5C140200, // 0002 MOVE R5 R1 - 0x7C0C0400, // 0003 CALL R3 2 - 0x8C100502, // 0004 GETMET R4 R2 K2 - 0x58180003, // 0005 LDCONST R6 K3 - 0x941C0704, // 0006 GETIDX R7 R3 K4 - 0x94200705, // 0007 GETIDX R8 R3 K5 - 0x94240706, // 0008 GETIDX R9 R3 K6 - 0x94280707, // 0009 GETIDX R10 R3 K7 - 0x942C0708, // 000A GETIDX R11 R3 K8 - 0x94300709, // 000B GETIDX R12 R3 K9 - 0x7C101000, // 000C CALL R4 8 - 0x80040800, // 000D RET 1 R4 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: load -********************************************************************/ -be_local_closure(load, /* name */ - be_nested_proto( - 21, /* nstack */ - 2, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 1, /* has sup protos */ - ( &(const struct bproto*[ 2]) { - be_nested_proto( - 6, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_str_literal("sys"), - /* K1 */ be_nested_str_literal("path"), - /* K2 */ be_nested_str_literal("find"), - /* K3 */ be_nested_str_literal("push"), - }), - (be_nested_const_str("push_path", 1155254157, 9)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[13]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x8C080301, // 0001 GETMET R2 R1 K1 - 0x7C080200, // 0002 CALL R2 1 - 0x8C0C0502, // 0003 GETMET R3 R2 K2 - 0x5C140000, // 0004 MOVE R5 R0 - 0x7C0C0400, // 0005 CALL R3 2 - 0x4C100000, // 0006 LDNIL R4 - 0x1C0C0604, // 0007 EQ R3 R3 R4 - 0x780E0002, // 0008 JMPF R3 #000C - 0x8C0C0503, // 0009 GETMET R3 R2 K3 - 0x5C140000, // 000A MOVE R5 R0 - 0x7C0C0400, // 000B CALL R3 2 - 0x80000000, // 000C RET 0 - }) - ), - be_nested_proto( - 7, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_str_literal("sys"), - /* K1 */ be_nested_str_literal("path"), - /* K2 */ be_nested_str_literal("find"), - /* K3 */ be_nested_str_literal("remove"), - }), - (be_nested_const_str("pop_path", -1891723298, 8)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[13]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x8C080301, // 0001 GETMET R2 R1 K1 - 0x7C080200, // 0002 CALL R2 1 - 0x8C0C0502, // 0003 GETMET R3 R2 K2 - 0x5C140000, // 0004 MOVE R5 R0 - 0x7C0C0400, // 0005 CALL R3 2 - 0x4C100000, // 0006 LDNIL R4 - 0x20100604, // 0007 NE R4 R3 R4 - 0x78120002, // 0008 JMPF R4 #000C - 0x8C100503, // 0009 GETMET R4 R2 K3 - 0x5C180600, // 000A MOVE R6 R3 - 0x7C100400, // 000B CALL R4 2 - 0x80000000, // 000C RET 0 - }) - ), - }), - 1, /* has constants */ - ( &(const bvalue[21]) { /* constants */ - /* K0 */ be_nested_str_literal("string"), - /* K1 */ be_nested_str_literal("path"), - /* K2 */ be_const_int(0), - /* K3 */ be_nested_str_literal("/"), - /* K4 */ be_nested_str_literal("split"), - /* K5 */ be_nested_str_literal("#"), - /* K6 */ be_const_int(1), - /* K7 */ be_nested_str_literal("find"), - /* K8 */ be_nested_str_literal("."), - /* K9 */ be_nested_str_literal(".be"), - /* K10 */ be_nested_str_literal(".bec"), - /* K11 */ be_nested_str_literal("io_error"), - /* K12 */ be_nested_str_literal("file extension is not '.be' or '.bec'"), - /* K13 */ be_nested_str_literal("last_modified"), - /* K14 */ be_nested_str_literal("c"), - /* K15 */ be_nested_str_literal("wd"), - /* K16 */ be_nested_str_literal(""), - /* K17 */ be_nested_str_literal("file"), - /* K18 */ be_nested_str_literal("save"), - /* K19 */ be_nested_str_literal("format"), - /* K20 */ be_nested_str_literal("BRY: could not save compiled file %s (%s)"), - }), - (be_nested_const_str("load", -435725847, 4)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[121]) { /* code */ - 0x84080000, // 0000 CLOSURE R2 P0 - 0x840C0001, // 0001 CLOSURE R3 P1 - 0xA4120000, // 0002 IMPORT R4 K0 - 0xA4160200, // 0003 IMPORT R5 K1 - 0x6018000C, // 0004 GETGBL R6 G12 - 0x5C1C0200, // 0005 MOVE R7 R1 - 0x7C180200, // 0006 CALL R6 1 - 0x1C180D02, // 0007 EQ R6 R6 K2 - 0x781A0001, // 0008 JMPF R6 #000B - 0x50180000, // 0009 LDBOOL R6 0 0 - 0x80040C00, // 000A RET 1 R6 - 0x94180302, // 000B GETIDX R6 R1 K2 - 0x20180D03, // 000C NE R6 R6 K3 - 0x781A0000, // 000D JMPF R6 #000F - 0x00060601, // 000E ADD R1 K3 R1 - 0x8C180904, // 000F GETMET R6 R4 K4 - 0x5C200200, // 0010 MOVE R8 R1 - 0x58240005, // 0011 LDCONST R9 K5 - 0x7C180600, // 0012 CALL R6 3 - 0x941C0D02, // 0013 GETIDX R7 R6 K2 - 0x5421FFFE, // 0014 LDINT R8 -1 - 0x94200C08, // 0015 GETIDX R8 R6 R8 - 0x6024000C, // 0016 GETGBL R9 G12 - 0x5C280C00, // 0017 MOVE R10 R6 - 0x7C240200, // 0018 CALL R9 1 - 0x24241306, // 0019 GT R9 R9 K6 - 0x8C280907, // 001A GETMET R10 R4 K7 - 0x5C301000, // 001B MOVE R12 R8 - 0x58340008, // 001C LDCONST R13 K8 - 0x7C280600, // 001D CALL R10 3 - 0x14281502, // 001E LT R10 R10 K2 - 0x782A0001, // 001F JMPF R10 #0022 - 0x00040309, // 0020 ADD R1 R1 K9 - 0x00201109, // 0021 ADD R8 R8 K9 - 0x5429FFFC, // 0022 LDINT R10 -3 - 0x542DFFFE, // 0023 LDINT R11 -1 - 0x4028140B, // 0024 CONNECT R10 R10 R11 - 0x9428100A, // 0025 GETIDX R10 R8 R10 - 0x1C281509, // 0026 EQ R10 R10 K9 - 0x542DFFFB, // 0027 LDINT R11 -4 - 0x5431FFFE, // 0028 LDINT R12 -1 - 0x402C160C, // 0029 CONNECT R11 R11 R12 - 0x942C100B, // 002A GETIDX R11 R8 R11 - 0x1C2C170A, // 002B EQ R11 R11 K10 - 0x5C301400, // 002C MOVE R12 R10 - 0x74320002, // 002D JMPT R12 #0031 - 0x5C301600, // 002E MOVE R12 R11 - 0x74320000, // 002F JMPT R12 #0031 - 0xB006170C, // 0030 RAISE 1 K11 K12 - 0x8C300B0D, // 0031 GETMET R12 R5 K13 - 0x5C380E00, // 0032 MOVE R14 R7 - 0x7C300400, // 0033 CALL R12 2 - 0x782E0005, // 0034 JMPF R11 #003B - 0x4C340000, // 0035 LDNIL R13 - 0x1C34180D, // 0036 EQ R13 R12 R13 - 0x78360001, // 0037 JMPF R13 #003A - 0x50340000, // 0038 LDBOOL R13 0 0 - 0x80041A00, // 0039 RET 1 R13 - 0x70020013, // 003A JMP #004F - 0x8C340B0D, // 003B GETMET R13 R5 K13 - 0x003C030E, // 003C ADD R15 R1 K14 - 0x7C340400, // 003D CALL R13 2 - 0x4C380000, // 003E LDNIL R14 - 0x1C38180E, // 003F EQ R14 R12 R14 - 0x783A0004, // 0040 JMPF R14 #0046 - 0x4C380000, // 0041 LDNIL R14 - 0x1C381A0E, // 0042 EQ R14 R13 R14 - 0x783A0001, // 0043 JMPF R14 #0046 - 0x50380000, // 0044 LDBOOL R14 0 0 - 0x80041C00, // 0045 RET 1 R14 - 0x4C380000, // 0046 LDNIL R14 - 0x20381A0E, // 0047 NE R14 R13 R14 - 0x783A0005, // 0048 JMPF R14 #004F - 0x4C380000, // 0049 LDNIL R14 - 0x1C38180E, // 004A EQ R14 R12 R14 - 0x743A0001, // 004B JMPT R14 #004E - 0x28381A0C, // 004C GE R14 R13 R12 - 0x783A0000, // 004D JMPF R14 #004F - 0x502C0200, // 004E LDBOOL R11 1 0 - 0x78260005, // 004F JMPF R9 #0056 - 0x00340F05, // 0050 ADD R13 R7 K5 - 0x90021E0D, // 0051 SETMBR R0 K15 R13 - 0x5C340400, // 0052 MOVE R13 R2 - 0x8838010F, // 0053 GETMBR R14 R0 K15 - 0x7C340200, // 0054 CALL R13 1 - 0x70020000, // 0055 JMP #0057 - 0x90021F10, // 0056 SETMBR R0 K15 K16 - 0x6034000D, // 0057 GETGBL R13 G13 - 0x5C380200, // 0058 MOVE R14 R1 - 0x583C0011, // 0059 LDCONST R15 K17 - 0x7C340400, // 005A CALL R13 2 - 0x5C381600, // 005B MOVE R14 R11 - 0x743A0013, // 005C JMPT R14 #0071 - 0x5C381200, // 005D MOVE R14 R9 - 0x743A0011, // 005E JMPT R14 #0071 - 0xA8020005, // 005F EXBLK 0 #0066 - 0x8C380112, // 0060 GETMET R14 R0 K18 - 0x0040030E, // 0061 ADD R16 R1 K14 - 0x5C441A00, // 0062 MOVE R17 R13 - 0x7C380600, // 0063 CALL R14 3 - 0xA8040001, // 0064 EXBLK 1 1 - 0x7002000A, // 0065 JMP #0071 - 0xAC380001, // 0066 CATCH R14 0 1 - 0x70020007, // 0067 JMP #0070 - 0x603C0001, // 0068 GETGBL R15 G1 - 0x8C400913, // 0069 GETMET R16 R4 K19 - 0x58480014, // 006A LDCONST R18 K20 - 0x004C030E, // 006B ADD R19 R1 K14 - 0x5C501C00, // 006C MOVE R20 R14 - 0x7C400800, // 006D CALL R16 4 - 0x7C3C0200, // 006E CALL R15 1 - 0x70020000, // 006F JMP #0071 - 0xB0080000, // 0070 RAISE 2 R0 R0 - 0x5C381A00, // 0071 MOVE R14 R13 - 0x7C380000, // 0072 CALL R14 0 - 0x78260002, // 0073 JMPF R9 #0077 - 0x5C380600, // 0074 MOVE R14 R3 - 0x003C0F05, // 0075 ADD R15 R7 K5 - 0x7C380200, // 0076 CALL R14 1 - 0x50380200, // 0077 LDBOOL R14 1 0 - 0x80041C00, // 0078 RET 1 R14 + &be_const_str_gc, + &be_const_str_solidified, + ( &(const binstruction[ 6]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080301, // 0001 GETMET R2 R1 K1 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080302, // 0003 GETMET R2 R1 K2 + 0x7C080200, // 0004 CALL R2 1 + 0x80040400, // 0005 RET 1 R2 }) ) ); @@ -1100,7 +128,7 @@ be_local_closure(load, /* name */ /******************************************************************** ** Solidified function: find_op ********************************************************************/ -be_local_closure(find_op, /* name */ +be_local_closure(Tasmota_find_op, /* name */ be_nested_proto( 13, /* nstack */ 2, /* argc */ @@ -1111,357 +139,58 @@ be_local_closure(find_op, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_string("string", 398550328, 6), - /* K1 */ be_nested_string("=<>!", -1630497019, 4), - /* K2 */ be_nested_string("chars_in_string", -1146182164, 15), + /* K0 */ be_nested_str(string), + /* K1 */ be_nested_str(_X3D_X3C_X3E_X21), + /* K2 */ be_nested_str(chars_in_string), /* K3 */ be_const_int(0), - /* K4 */ be_nested_string("split", -2017972765, 5), + /* K4 */ be_nested_str(split), /* K5 */ be_const_int(1), }), - (be_nested_const_str("find_op", -528253920, 7)), - ((bstring*) &be_const_str_input), + &be_const_str_find_op, + &be_const_str_solidified, ( &(const binstruction[42]) { /* code */ - 0xA40A0000, // 0000 IMPORT R2 K0 - 0x580C0001, // 0001 LDCONST R3 K1 - 0x8C100102, // 0002 GETMET R4 R0 K2 - 0x5C180200, // 0003 MOVE R6 R1 - 0x5C1C0600, // 0004 MOVE R7 R3 - 0x7C100600, // 0005 CALL R4 3 - 0x28140903, // 0006 GE R5 R4 K3 - 0x78160019, // 0007 JMPF R5 #0022 - 0x8C140504, // 0008 GETMET R5 R2 K4 - 0x5C1C0200, // 0009 MOVE R7 R1 - 0x5C200800, // 000A MOVE R8 R4 - 0x7C140600, // 000B CALL R5 3 - 0x94180B03, // 000C GETIDX R6 R5 K3 - 0x941C0B05, // 000D GETIDX R7 R5 K5 - 0x8C200102, // 000E GETMET R8 R0 K2 - 0x5C280E00, // 000F MOVE R10 R7 - 0x5C2C0600, // 0010 MOVE R11 R3 - 0x50300200, // 0011 LDBOOL R12 1 0 - 0x7C200800, // 0012 CALL R8 4 - 0x5C101000, // 0013 MOVE R4 R8 - 0x28200903, // 0014 GE R8 R4 K3 - 0x7822000B, // 0015 JMPF R8 #0022 - 0x8C200504, // 0016 GETMET R8 R2 K4 - 0x5C280E00, // 0017 MOVE R10 R7 - 0x5C2C0800, // 0018 MOVE R11 R4 - 0x7C200600, // 0019 CALL R8 3 - 0x94241103, // 001A GETIDX R9 R8 K3 - 0x94281105, // 001B GETIDX R10 R8 K5 - 0x602C0012, // 001C GETGBL R11 G18 - 0x7C2C0000, // 001D CALL R11 0 - 0x40301606, // 001E CONNECT R12 R11 R6 - 0x40301609, // 001F CONNECT R12 R11 R9 - 0x4030160A, // 0020 CONNECT R12 R11 R10 - 0x80041600, // 0021 RET 1 R11 - 0x60140012, // 0022 GETGBL R5 G18 - 0x7C140000, // 0023 CALL R5 0 - 0x40180A01, // 0024 CONNECT R6 R5 R1 - 0x4C180000, // 0025 LDNIL R6 - 0x40180A06, // 0026 CONNECT R6 R5 R6 - 0x4C180000, // 0027 LDNIL R6 - 0x40180A06, // 0028 CONNECT R6 R5 R6 - 0x80040A00, // 0029 RET 1 R5 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: remove_timer -********************************************************************/ -be_local_closure(remove_timer, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 0, /* 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_string("tasmota", 424643812, 7), - /* K1 */ be_nested_string("_timers", -1694866380, 7), - /* K2 */ be_const_int(0), - /* K3 */ be_nested_string("size", 597743964, 4), - /* K4 */ be_nested_string("id", 926444256, 2), - /* K5 */ be_nested_string("remove", -611183107, 6), - /* K6 */ be_const_int(1), - }), - (be_nested_const_str("remove_timer", -153495081, 12)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[23]) { /* code */ - 0xB80A0000, // 0000 GETNGBL R2 K0 - 0x88080501, // 0001 GETMBR R2 R2 K1 - 0x780A0012, // 0002 JMPF R2 #0016 - 0x58080002, // 0003 LDCONST R2 K2 - 0xB80E0000, // 0004 GETNGBL R3 K0 - 0x880C0701, // 0005 GETMBR R3 R3 K1 - 0x8C0C0703, // 0006 GETMET R3 R3 K3 - 0x7C0C0200, // 0007 CALL R3 1 - 0x140C0403, // 0008 LT R3 R2 R3 - 0x780E000B, // 0009 JMPF R3 #0016 - 0x880C0101, // 000A GETMBR R3 R0 K1 - 0x940C0602, // 000B GETIDX R3 R3 R2 - 0x880C0704, // 000C GETMBR R3 R3 K4 - 0x1C0C0601, // 000D EQ R3 R3 R1 - 0x780E0004, // 000E JMPF R3 #0014 - 0x880C0101, // 000F GETMBR R3 R0 K1 - 0x8C0C0705, // 0010 GETMET R3 R3 K5 - 0x5C140400, // 0011 MOVE R5 R2 - 0x7C0C0400, // 0012 CALL R3 2 - 0x70020000, // 0013 JMP #0015 - 0x00080506, // 0014 ADD R2 R2 K6 - 0x7001FFED, // 0015 JMP #0004 - 0x80000000, // 0016 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: get_light -********************************************************************/ -be_local_closure(get_light, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("tasmota.get_light() is deprecated, use light.get()", -769213649, 50), - /* K1 */ be_nested_string("light", -493019601, 5), - /* K2 */ be_nested_string("get", 1410115415, 3), - }), - (be_nested_const_str("get_light", 381930476, 9)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[16]) { /* code */ - 0x60080001, // 0000 GETGBL R2 G1 - 0x580C0000, // 0001 LDCONST R3 K0 - 0x7C080200, // 0002 CALL R2 1 - 0xA40A0200, // 0003 IMPORT R2 K1 - 0x4C0C0000, // 0004 LDNIL R3 - 0x200C0203, // 0005 NE R3 R1 R3 - 0x780E0004, // 0006 JMPF R3 #000C - 0x8C0C0502, // 0007 GETMET R3 R2 K2 - 0x5C140200, // 0008 MOVE R5 R1 - 0x7C0C0400, // 0009 CALL R3 2 - 0x80040600, // 000A RET 1 R3 - 0x70020002, // 000B JMP #000F - 0x8C0C0502, // 000C GETMET R3 R2 K2 - 0x7C0C0200, // 000D CALL R3 1 - 0x80040600, // 000E RET 1 R3 - 0x80000000, // 000F RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: exec_rules -********************************************************************/ -be_local_closure(exec_rules, /* name */ - be_nested_proto( - 12, /* nstack */ - 2, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[12]) { /* constants */ - /* K0 */ be_nested_string("_rules", -28750191, 6), - /* K1 */ be_nested_string("cmd_res", 921166762, 7), - /* K2 */ be_nested_string("json", 916562499, 4), - /* K3 */ be_nested_string("load", -435725847, 4), - /* K4 */ be_nested_string("log", 1062293841, 3), - /* K5 */ be_nested_string("BRY: ERROR, bad json: ", -1579831487, 22), - /* K6 */ be_const_int(3), - /* K7 */ be_const_int(0), - /* K8 */ be_nested_string("try_rule", 1986449405, 8), - /* K9 */ be_nested_string("k", -301188886, 1), - /* K10 */ be_nested_string("v", -217300791, 1), - /* K11 */ be_const_int(1), - }), - (be_nested_const_str("exec_rules", 1445221092, 10)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[48]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x740A0003, // 0001 JMPT R2 #0006 - 0x88080101, // 0002 GETMBR R2 R0 K1 - 0x4C0C0000, // 0003 LDNIL R3 - 0x20080403, // 0004 NE R2 R2 R3 - 0x780A0027, // 0005 JMPF R2 #002E - 0xA40A0400, // 0006 IMPORT R2 K2 - 0x8C0C0503, // 0007 GETMET R3 R2 K3 - 0x5C140200, // 0008 MOVE R5 R1 - 0x7C0C0400, // 0009 CALL R3 2 - 0x50100000, // 000A LDBOOL R4 0 0 - 0x4C140000, // 000B LDNIL R5 - 0x1C140605, // 000C EQ R5 R3 R5 - 0x78160004, // 000D JMPF R5 #0013 - 0x8C140104, // 000E GETMET R5 R0 K4 - 0x001E0A01, // 000F ADD R7 K5 R1 - 0x58200006, // 0010 LDCONST R8 K6 - 0x7C140600, // 0011 CALL R5 3 - 0x5C0C0200, // 0012 MOVE R3 R1 - 0x88140101, // 0013 GETMBR R5 R0 K1 - 0x4C180000, // 0014 LDNIL R6 - 0x20140A06, // 0015 NE R5 R5 R6 - 0x78160000, // 0016 JMPF R5 #0018 - 0x90020203, // 0017 SETMBR R0 K1 R3 - 0x88140100, // 0018 GETMBR R5 R0 K0 - 0x78160012, // 0019 JMPF R5 #002D - 0x58140007, // 001A LDCONST R5 K7 - 0x6018000C, // 001B GETGBL R6 G12 - 0x881C0100, // 001C GETMBR R7 R0 K0 - 0x7C180200, // 001D CALL R6 1 - 0x14180A06, // 001E LT R6 R5 R6 - 0x781A000C, // 001F JMPF R6 #002D - 0x88180100, // 0020 GETMBR R6 R0 K0 - 0x94180C05, // 0021 GETIDX R6 R6 R5 - 0x8C1C0108, // 0022 GETMET R7 R0 K8 - 0x5C240600, // 0023 MOVE R9 R3 - 0x88280D09, // 0024 GETMBR R10 R6 K9 - 0x882C0D0A, // 0025 GETMBR R11 R6 K10 - 0x7C1C0800, // 0026 CALL R7 4 - 0x741E0001, // 0027 JMPT R7 #002A - 0x74120000, // 0028 JMPT R4 #002A - 0x50100001, // 0029 LDBOOL R4 0 1 - 0x50100200, // 002A LDBOOL R4 1 0 - 0x00140B0B, // 002B ADD R5 R5 K11 - 0x7001FFED, // 002C JMP #001B - 0x80040800, // 002D RET 1 R4 - 0x50080000, // 002E LDBOOL R2 0 0 - 0x80040400, // 002F RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: exec_tele -********************************************************************/ -be_local_closure(exec_tele, /* name */ - be_nested_proto( - 12, /* nstack */ - 2, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[12]) { /* constants */ - /* K0 */ be_nested_string("_rules", -28750191, 6), - /* K1 */ be_nested_string("json", 916562499, 4), - /* K2 */ be_nested_string("load", -435725847, 4), - /* K3 */ be_nested_string("log", 1062293841, 3), - /* K4 */ be_nested_string("BRY: ERROR, bad json: ", -1579831487, 22), - /* K5 */ be_const_int(3), - /* K6 */ be_nested_string("Tele", 1329980653, 4), - /* K7 */ be_const_int(0), - /* K8 */ be_nested_string("try_rule", 1986449405, 8), - /* K9 */ be_nested_string("k", -301188886, 1), - /* K10 */ be_nested_string("v", -217300791, 1), - /* K11 */ be_const_int(1), - }), - (be_nested_const_str("exec_tele", 1020751601, 9)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[41]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x780A0024, // 0001 JMPF R2 #0027 - 0xA40A0200, // 0002 IMPORT R2 K1 - 0x8C0C0502, // 0003 GETMET R3 R2 K2 - 0x5C140200, // 0004 MOVE R5 R1 - 0x7C0C0400, // 0005 CALL R3 2 - 0x50100000, // 0006 LDBOOL R4 0 0 - 0x4C140000, // 0007 LDNIL R5 - 0x1C140605, // 0008 EQ R5 R3 R5 - 0x78160004, // 0009 JMPF R5 #000F - 0x8C140103, // 000A GETMET R5 R0 K3 - 0x001E0801, // 000B ADD R7 K4 R1 - 0x58200005, // 000C LDCONST R8 K5 - 0x7C140600, // 000D CALL R5 3 - 0x5C0C0200, // 000E MOVE R3 R1 - 0x60140013, // 000F GETGBL R5 G19 - 0x7C140000, // 0010 CALL R5 0 - 0x98160C03, // 0011 SETIDX R5 K6 R3 - 0x5C0C0A00, // 0012 MOVE R3 R5 - 0x58140007, // 0013 LDCONST R5 K7 - 0x6018000C, // 0014 GETGBL R6 G12 - 0x881C0100, // 0015 GETMBR R7 R0 K0 - 0x7C180200, // 0016 CALL R6 1 - 0x14180A06, // 0017 LT R6 R5 R6 - 0x781A000C, // 0018 JMPF R6 #0026 - 0x88180100, // 0019 GETMBR R6 R0 K0 - 0x94180C05, // 001A GETIDX R6 R6 R5 - 0x8C1C0108, // 001B GETMET R7 R0 K8 - 0x5C240600, // 001C MOVE R9 R3 - 0x88280D09, // 001D GETMBR R10 R6 K9 - 0x882C0D0A, // 001E GETMBR R11 R6 K10 - 0x7C1C0800, // 001F CALL R7 4 - 0x741E0001, // 0020 JMPT R7 #0023 - 0x74120000, // 0021 JMPT R4 #0023 - 0x50100001, // 0022 LDBOOL R4 0 1 - 0x50100200, // 0023 LDBOOL R4 1 0 - 0x00140B0B, // 0024 ADD R5 R5 K11 - 0x7001FFED, // 0025 JMP #0014 - 0x80040800, // 0026 RET 1 R4 - 0x50080000, // 0027 LDBOOL R2 0 0 - 0x80040400, // 0028 RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: remove_driver -********************************************************************/ -be_local_closure(remove_driver, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("_drivers", -1034638311, 8), - /* K1 */ be_nested_string("find", -1108310694, 4), - /* K2 */ be_nested_string("pop", 1362321360, 3), - }), - (be_nested_const_str("remove_driver", 1030243768, 13)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[14]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x780A000A, // 0001 JMPF R2 #000D - 0x88080100, // 0002 GETMBR R2 R0 K0 - 0x8C080501, // 0003 GETMET R2 R2 K1 - 0x5C100200, // 0004 MOVE R4 R1 - 0x7C080400, // 0005 CALL R2 2 - 0x4C0C0000, // 0006 LDNIL R3 - 0x200C0403, // 0007 NE R3 R2 R3 - 0x780E0003, // 0008 JMPF R3 #000D - 0x880C0100, // 0009 GETMBR R3 R0 K0 - 0x8C0C0702, // 000A GETMET R3 R3 K2 - 0x5C140400, // 000B MOVE R5 R2 - 0x7C0C0400, // 000C CALL R3 2 - 0x80000000, // 000D RET 0 + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x580C0001, // 0001 LDCONST R3 K1 + 0x8C100102, // 0002 GETMET R4 R0 K2 + 0x5C180200, // 0003 MOVE R6 R1 + 0x5C1C0600, // 0004 MOVE R7 R3 + 0x7C100600, // 0005 CALL R4 3 + 0x28140903, // 0006 GE R5 R4 K3 + 0x78160019, // 0007 JMPF R5 #0022 + 0x8C140504, // 0008 GETMET R5 R2 K4 + 0x5C1C0200, // 0009 MOVE R7 R1 + 0x5C200800, // 000A MOVE R8 R4 + 0x7C140600, // 000B CALL R5 3 + 0x94180B03, // 000C GETIDX R6 R5 K3 + 0x941C0B05, // 000D GETIDX R7 R5 K5 + 0x8C200102, // 000E GETMET R8 R0 K2 + 0x5C280E00, // 000F MOVE R10 R7 + 0x5C2C0600, // 0010 MOVE R11 R3 + 0x50300200, // 0011 LDBOOL R12 1 0 + 0x7C200800, // 0012 CALL R8 4 + 0x5C101000, // 0013 MOVE R4 R8 + 0x28200903, // 0014 GE R8 R4 K3 + 0x7822000B, // 0015 JMPF R8 #0022 + 0x8C200504, // 0016 GETMET R8 R2 K4 + 0x5C280E00, // 0017 MOVE R10 R7 + 0x5C2C0800, // 0018 MOVE R11 R4 + 0x7C200600, // 0019 CALL R8 3 + 0x94241103, // 001A GETIDX R9 R8 K3 + 0x94281105, // 001B GETIDX R10 R8 K5 + 0x602C0012, // 001C GETGBL R11 G18 + 0x7C2C0000, // 001D CALL R11 0 + 0x40301606, // 001E CONNECT R12 R11 R6 + 0x40301609, // 001F CONNECT R12 R11 R9 + 0x4030160A, // 0020 CONNECT R12 R11 R10 + 0x80041600, // 0021 RET 1 R11 + 0x60140012, // 0022 GETGBL R5 G18 + 0x7C140000, // 0023 CALL R5 0 + 0x40180A01, // 0024 CONNECT R6 R5 R1 + 0x4C180000, // 0025 LDNIL R6 + 0x40180A06, // 0026 CONNECT R6 R5 R6 + 0x4C180000, // 0027 LDNIL R6 + 0x40180A06, // 0028 CONNECT R6 R5 R6 + 0x80040A00, // 0029 RET 1 R5 }) ) ); @@ -1471,7 +200,7 @@ be_local_closure(remove_driver, /* name */ /******************************************************************** ** Solidified function: try_rule ********************************************************************/ -be_local_closure(try_rule, /* name */ +be_local_closure(Tasmota_try_rule, /* name */ be_nested_proto( 15, /* nstack */ 4, /* argc */ @@ -1482,25 +211,25 @@ be_local_closure(try_rule, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ - /* K0 */ be_nested_string("string", 398550328, 6), - /* K1 */ be_nested_string("find_op", -528253920, 7), - /* K2 */ be_nested_string("split", -2017972765, 5), + /* K0 */ be_nested_str(string), + /* K1 */ be_nested_str(find_op), + /* K2 */ be_nested_str(split), /* K3 */ be_const_int(0), - /* K4 */ be_nested_string("#", 638357778, 1), - /* K5 */ be_nested_string("find_key_i", 850136726, 10), + /* K4 */ be_nested_str(_X23), + /* K5 */ be_nested_str(find_key_i), /* K6 */ be_const_int(1), /* K7 */ be_const_int(2), - /* K8 */ be_nested_string("==", -1863000881, 2), - /* K9 */ be_nested_string("!==", 559817114, 3), - /* K10 */ be_nested_string("=", 940354920, 1), - /* K11 */ be_nested_string("!=", -1866252285, 2), - /* K12 */ be_nested_string(">", 990687777, 1), - /* K13 */ be_nested_string(">=", 284975636, 2), - /* K14 */ be_nested_string("<", 957132539, 1), - /* K15 */ be_nested_string("<=", -1795743310, 2), + /* K8 */ be_nested_str(_X3D_X3D), + /* K9 */ be_nested_str(_X21_X3D_X3D), + /* K10 */ be_nested_str(_X3D), + /* K11 */ be_nested_str(_X21_X3D), + /* K12 */ be_nested_str(_X3E), + /* K13 */ be_nested_str(_X3E_X3D), + /* K14 */ be_nested_str(_X3C), + /* K15 */ be_nested_str(_X3C_X3D), }), - (be_nested_const_str("try_rule", 1986449405, 8)), - ((bstring*) &be_const_str_input), + &be_const_str_try_rule, + &be_const_str_solidified, ( &(const binstruction[141]) { /* code */ 0xA4120000, // 0000 IMPORT R4 K0 0x8C140101, // 0001 GETMET R5 R0 K1 @@ -1650,46 +379,64 @@ be_local_closure(try_rule, /* name */ /******************************************************************** -** Solidified function: cb_dispatch +** Solidified function: gen_cb ********************************************************************/ -be_local_closure(cb_dispatch, /* name */ +be_local_closure(Tasmota_gen_cb, /* name */ be_nested_proto( - 12, /* nstack */ - 6, /* argc */ + 7, /* nstack */ + 2, /* argc */ 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("_cb", -251666929, 3), + ( &(const bvalue[ 7]) { /* constants */ + /* K0 */ be_nested_str(_cb), /* K1 */ be_const_int(0), - /* K2 */ be_nested_string("find", -1108310694, 4), + /* K2 */ be_nested_str(find), + /* K3 */ be_nested_str(_get_cb), + /* K4 */ be_nested_str(stop_iteration), + /* K5 */ be_nested_str(internal_error), + /* K6 */ be_nested_str(No_X20callback_X20available), }), - (be_nested_const_str("cb_dispatch", 1741510499, 11)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[20]) { /* code */ - 0x88180100, // 0000 GETMBR R6 R0 K0 - 0x4C1C0000, // 0001 LDNIL R7 - 0x1C180C07, // 0002 EQ R6 R6 R7 - 0x781A0000, // 0003 JMPF R6 #0005 - 0x80060200, // 0004 RET 1 K1 - 0x88180100, // 0005 GETMBR R6 R0 K0 - 0x8C180D02, // 0006 GETMET R6 R6 K2 - 0x5C200200, // 0007 MOVE R8 R1 - 0x7C180400, // 0008 CALL R6 2 - 0x4C1C0000, // 0009 LDNIL R7 - 0x201C0C07, // 000A NE R7 R6 R7 - 0x781E0006, // 000B JMPF R7 #0013 - 0x5C1C0C00, // 000C MOVE R7 R6 - 0x5C200400, // 000D MOVE R8 R2 - 0x5C240600, // 000E MOVE R9 R3 - 0x5C280800, // 000F MOVE R10 R4 - 0x5C2C0A00, // 0010 MOVE R11 R5 - 0x7C1C0800, // 0011 CALL R7 4 - 0x80040E00, // 0012 RET 1 R7 - 0x80060200, // 0013 RET 1 K1 + &be_const_str_gen_cb, + &be_const_str_solidified, + ( &(const binstruction[34]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x4C0C0000, // 0001 LDNIL R3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x780A0002, // 0003 JMPF R2 #0007 + 0x60080013, // 0004 GETGBL R2 G19 + 0x7C080000, // 0005 CALL R2 0 + 0x90020002, // 0006 SETMBR R0 K0 R2 + 0x60080010, // 0007 GETGBL R2 G16 + 0x540E0012, // 0008 LDINT R3 19 + 0x400E0203, // 0009 CONNECT R3 K1 R3 + 0x7C080200, // 000A CALL R2 1 + 0xA8020010, // 000B EXBLK 0 #001D + 0x5C0C0400, // 000C MOVE R3 R2 + 0x7C0C0000, // 000D CALL R3 0 + 0x88100100, // 000E GETMBR R4 R0 K0 + 0x8C100902, // 000F GETMET R4 R4 K2 + 0x5C180600, // 0010 MOVE R6 R3 + 0x7C100400, // 0011 CALL R4 2 + 0x4C140000, // 0012 LDNIL R5 + 0x1C100805, // 0013 EQ R4 R4 R5 + 0x78120006, // 0014 JMPF R4 #001C + 0x88100100, // 0015 GETMBR R4 R0 K0 + 0x98100601, // 0016 SETIDX R4 R3 R1 + 0x8C100103, // 0017 GETMET R4 R0 K3 + 0x5C180600, // 0018 MOVE R6 R3 + 0x7C100400, // 0019 CALL R4 2 + 0xA8040001, // 001A EXBLK 1 1 + 0x80040800, // 001B RET 1 R4 + 0x7001FFEE, // 001C JMP #000C + 0x58080004, // 001D LDCONST R2 K4 + 0xAC080200, // 001E CATCH R2 1 0 + 0xB0080000, // 001F RAISE 2 R0 R0 + 0xB0060B06, // 0020 RAISE 1 K5 K6 + 0x80000000, // 0021 RET 0 }) ) ); @@ -1697,12 +444,12 @@ be_local_closure(cb_dispatch, /* name */ /******************************************************************** -** Solidified function: gc +** Solidified function: set_light ********************************************************************/ -be_local_closure(gc, /* name */ +be_local_closure(Tasmota_set_light, /* name */ be_nested_proto( - 4, /* nstack */ - 1, /* argc */ + 8, /* nstack */ + 3, /* argc */ 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ @@ -1710,19 +457,208 @@ be_local_closure(gc, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_string("gc", 1042313471, 2), - /* K1 */ be_nested_string("collect", -1895928271, 7), - /* K2 */ be_nested_string("allocated", 429986098, 9), + /* K0 */ be_nested_str(tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29), + /* K1 */ be_nested_str(light), + /* K2 */ be_nested_str(set), }), - (be_nested_const_str("gc", 1042313471, 2)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[ 6]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x8C080301, // 0001 GETMET R2 R1 K1 - 0x7C080200, // 0002 CALL R2 1 - 0x8C080302, // 0003 GETMET R2 R1 K2 - 0x7C080200, // 0004 CALL R2 1 - 0x80040400, // 0005 RET 1 R2 + &be_const_str_set_light, + &be_const_str_solidified, + ( &(const binstruction[18]) { /* code */ + 0x600C0001, // 0000 GETGBL R3 G1 + 0x58100000, // 0001 LDCONST R4 K0 + 0x7C0C0200, // 0002 CALL R3 1 + 0xA40E0200, // 0003 IMPORT R3 K1 + 0x4C100000, // 0004 LDNIL R4 + 0x20100404, // 0005 NE R4 R2 R4 + 0x78120005, // 0006 JMPF R4 #000D + 0x8C100702, // 0007 GETMET R4 R3 K2 + 0x5C180200, // 0008 MOVE R6 R1 + 0x5C1C0400, // 0009 MOVE R7 R2 + 0x7C100600, // 000A CALL R4 3 + 0x80040800, // 000B RET 1 R4 + 0x70020003, // 000C JMP #0011 + 0x8C100702, // 000D GETMET R4 R3 K2 + 0x5C180200, // 000E MOVE R6 R1 + 0x7C100400, // 000F CALL R4 2 + 0x80040800, // 0010 RET 1 R4 + 0x80000000, // 0011 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: exec_tele +********************************************************************/ +be_local_closure(Tasmota_exec_tele, /* name */ + be_nested_proto( + 12, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[12]) { /* constants */ + /* K0 */ be_nested_str(_rules), + /* K1 */ be_nested_str(json), + /* K2 */ be_nested_str(load), + /* K3 */ be_nested_str(log), + /* K4 */ be_nested_str(BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20), + /* K5 */ be_const_int(3), + /* K6 */ be_nested_str(Tele), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str(try_rule), + /* K9 */ be_nested_str(k), + /* K10 */ be_nested_str(v), + /* K11 */ be_const_int(1), + }), + &be_const_str_exec_tele, + &be_const_str_solidified, + ( &(const binstruction[41]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x780A0024, // 0001 JMPF R2 #0027 + 0xA40A0200, // 0002 IMPORT R2 K1 + 0x8C0C0502, // 0003 GETMET R3 R2 K2 + 0x5C140200, // 0004 MOVE R5 R1 + 0x7C0C0400, // 0005 CALL R3 2 + 0x50100000, // 0006 LDBOOL R4 0 0 + 0x4C140000, // 0007 LDNIL R5 + 0x1C140605, // 0008 EQ R5 R3 R5 + 0x78160004, // 0009 JMPF R5 #000F + 0x8C140103, // 000A GETMET R5 R0 K3 + 0x001E0801, // 000B ADD R7 K4 R1 + 0x58200005, // 000C LDCONST R8 K5 + 0x7C140600, // 000D CALL R5 3 + 0x5C0C0200, // 000E MOVE R3 R1 + 0x60140013, // 000F GETGBL R5 G19 + 0x7C140000, // 0010 CALL R5 0 + 0x98160C03, // 0011 SETIDX R5 K6 R3 + 0x5C0C0A00, // 0012 MOVE R3 R5 + 0x58140007, // 0013 LDCONST R5 K7 + 0x6018000C, // 0014 GETGBL R6 G12 + 0x881C0100, // 0015 GETMBR R7 R0 K0 + 0x7C180200, // 0016 CALL R6 1 + 0x14180A06, // 0017 LT R6 R5 R6 + 0x781A000C, // 0018 JMPF R6 #0026 + 0x88180100, // 0019 GETMBR R6 R0 K0 + 0x94180C05, // 001A GETIDX R6 R6 R5 + 0x8C1C0108, // 001B GETMET R7 R0 K8 + 0x5C240600, // 001C MOVE R9 R3 + 0x88280D09, // 001D GETMBR R10 R6 K9 + 0x882C0D0A, // 001E GETMBR R11 R6 K10 + 0x7C1C0800, // 001F CALL R7 4 + 0x741E0001, // 0020 JMPT R7 #0023 + 0x74120000, // 0021 JMPT R4 #0023 + 0x50100001, // 0022 LDBOOL R4 0 1 + 0x50100200, // 0023 LDBOOL R4 1 0 + 0x00140B0B, // 0024 ADD R5 R5 K11 + 0x7001FFED, // 0025 JMP #0014 + 0x80040800, // 0026 RET 1 R4 + 0x50080000, // 0027 LDBOOL R2 0 0 + 0x80040400, // 0028 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: run_deferred +********************************************************************/ +be_local_closure(Tasmota_run_deferred, /* name */ + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 0, /* 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(_timers), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str(size), + /* K3 */ be_nested_str(time_reached), + /* K4 */ be_nested_str(due), + /* K5 */ be_nested_str(f), + /* K6 */ be_nested_str(remove), + /* K7 */ be_const_int(1), + }), + &be_const_str_run_deferred, + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x78060017, // 0001 JMPF R1 #001A + 0x58040001, // 0002 LDCONST R1 K1 + 0x88080100, // 0003 GETMBR R2 R0 K0 + 0x8C080502, // 0004 GETMET R2 R2 K2 + 0x7C080200, // 0005 CALL R2 1 + 0x14080202, // 0006 LT R2 R1 R2 + 0x780A0011, // 0007 JMPF R2 #001A + 0x8C080103, // 0008 GETMET R2 R0 K3 + 0x88100100, // 0009 GETMBR R4 R0 K0 + 0x94100801, // 000A GETIDX R4 R4 R1 + 0x88100904, // 000B GETMBR R4 R4 K4 + 0x7C080400, // 000C CALL R2 2 + 0x780A0009, // 000D JMPF R2 #0018 + 0x88080100, // 000E GETMBR R2 R0 K0 + 0x94080401, // 000F GETIDX R2 R2 R1 + 0x88080505, // 0010 GETMBR R2 R2 K5 + 0x880C0100, // 0011 GETMBR R3 R0 K0 + 0x8C0C0706, // 0012 GETMET R3 R3 K6 + 0x5C140200, // 0013 MOVE R5 R1 + 0x7C0C0400, // 0014 CALL R3 2 + 0x5C0C0400, // 0015 MOVE R3 R2 + 0x7C0C0000, // 0016 CALL R3 0 + 0x70020000, // 0017 JMP #0019 + 0x00040307, // 0018 ADD R1 R1 K7 + 0x7001FFE8, // 0019 JMP #0003 + 0x80000000, // 001A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_driver +********************************************************************/ +be_local_closure(Tasmota_remove_driver, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str(_drivers), + /* K1 */ be_nested_str(find), + /* K2 */ be_nested_str(pop), + }), + &be_const_str_remove_driver, + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x780A000A, // 0001 JMPF R2 #000D + 0x88080100, // 0002 GETMBR R2 R0 K0 + 0x8C080501, // 0003 GETMET R2 R2 K1 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x4C0C0000, // 0006 LDNIL R3 + 0x200C0403, // 0007 NE R3 R2 R3 + 0x780E0003, // 0008 JMPF R3 #000D + 0x880C0100, // 0009 GETMBR R3 R0 K0 + 0x8C0C0702, // 000A GETMET R3 R3 K2 + 0x5C140400, // 000B MOVE R5 R2 + 0x7C0C0400, // 000C CALL R3 2 + 0x80000000, // 000D RET 0 }) ) ); @@ -1732,7 +668,7 @@ be_local_closure(gc, /* name */ /******************************************************************** ** Solidified function: event ********************************************************************/ -be_local_closure(event, /* name */ +be_local_closure(Tasmota_event, /* name */ be_nested_proto( 20, /* nstack */ 6, /* argc */ @@ -1743,32 +679,32 @@ be_local_closure(event, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[23]) { /* constants */ - /* K0 */ be_nested_string("introspect", 164638290, 10), - /* K1 */ be_nested_string("string", 398550328, 6), - /* K2 */ be_nested_string("every_50ms", -1911083288, 10), - /* K3 */ be_nested_string("run_deferred", 371594696, 12), - /* K4 */ be_nested_string("cmd", -158181397, 3), - /* K5 */ be_nested_string("exec_cmd", 493567399, 8), - /* K6 */ be_nested_string("tele", -820509235, 4), - /* K7 */ be_nested_string("exec_tele", 1020751601, 9), - /* K8 */ be_nested_string("rule", -64077613, 4), - /* K9 */ be_nested_string("exec_rules", 1445221092, 10), - /* K10 */ be_nested_string("gc", 1042313471, 2), - /* K11 */ be_nested_string("_drivers", -1034638311, 8), + /* K0 */ be_nested_str(introspect), + /* K1 */ be_nested_str(string), + /* K2 */ be_nested_str(every_50ms), + /* K3 */ be_nested_str(run_deferred), + /* K4 */ be_nested_str(cmd), + /* K5 */ be_nested_str(exec_cmd), + /* K6 */ be_nested_str(tele), + /* K7 */ be_nested_str(exec_tele), + /* K8 */ be_nested_str(rule), + /* K9 */ be_nested_str(exec_rules), + /* K10 */ be_nested_str(gc), + /* K11 */ be_nested_str(_drivers), /* K12 */ be_const_int(0), - /* K13 */ be_nested_string("get", 1410115415, 3), - /* K14 */ be_nested_string("function", -1630125495, 8), - /* K15 */ be_nested_string("format", -1180859054, 6), - /* K16 */ be_nested_string("BRY: Exception> '%s' - %s", -2047976332, 25), - /* K17 */ be_nested_string("debug", 1483009432, 5), - /* K18 */ be_nested_string("traceback", -909779187, 9), + /* K13 */ be_nested_str(get), + /* K14 */ be_nested_str(function), + /* K15 */ be_nested_str(format), + /* K16 */ be_nested_str(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), + /* K17 */ be_nested_str(debug), + /* K18 */ be_nested_str(traceback), /* K19 */ be_const_int(1), - /* K20 */ be_nested_string("save_before_restart", 1253239338, 19), - /* K21 */ be_nested_string("persist", -377883517, 7), - /* K22 */ be_nested_string("save", -855671224, 4), + /* K20 */ be_nested_str(save_before_restart), + /* K21 */ be_nested_str(persist), + /* K22 */ be_nested_str(save), }), - (be_nested_const_str("event", -30355297, 5)), - ((bstring*) &be_const_str_input), + &be_const_str_event, + &be_const_str_solidified, ( &(const binstruction[91]) { /* code */ 0xA41A0000, // 0000 IMPORT R6 K0 0xA41E0200, // 0001 IMPORT R7 K1 @@ -1868,9 +804,593 @@ be_local_closure(event, /* name */ /******************************************************************** -** Solidified function: remove_cmd +** Solidified function: find_key_i ********************************************************************/ -be_local_closure(remove_cmd, /* name */ +be_local_closure(Tasmota_find_key_i, /* name */ + be_nested_proto( + 10, /* nstack */ + 3, /* argc */ + 0, /* 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(string), + /* K1 */ be_nested_str(toupper), + /* K2 */ be_nested_str(keys), + /* K3 */ be_nested_str(_X3F), + /* K4 */ be_nested_str(stop_iteration), + }), + &be_const_str_find_key_i, + &be_const_str_solidified, + ( &(const binstruction[30]) { /* code */ + 0xA40E0000, // 0000 IMPORT R3 K0 + 0x8C100701, // 0001 GETMET R4 R3 K1 + 0x5C180400, // 0002 MOVE R6 R2 + 0x7C100400, // 0003 CALL R4 2 + 0x6014000F, // 0004 GETGBL R5 G15 + 0x5C180200, // 0005 MOVE R6 R1 + 0x601C0013, // 0006 GETGBL R7 G19 + 0x7C140400, // 0007 CALL R5 2 + 0x78160013, // 0008 JMPF R5 #001D + 0x60140010, // 0009 GETGBL R5 G16 + 0x8C180302, // 000A GETMET R6 R1 K2 + 0x7C180200, // 000B CALL R6 1 + 0x7C140200, // 000C CALL R5 1 + 0xA802000B, // 000D EXBLK 0 #001A + 0x5C180A00, // 000E MOVE R6 R5 + 0x7C180000, // 000F CALL R6 0 + 0x8C1C0701, // 0010 GETMET R7 R3 K1 + 0x5C240C00, // 0011 MOVE R9 R6 + 0x7C1C0400, // 0012 CALL R7 2 + 0x1C1C0E04, // 0013 EQ R7 R7 R4 + 0x741E0001, // 0014 JMPT R7 #0017 + 0x1C1C0503, // 0015 EQ R7 R2 K3 + 0x781E0001, // 0016 JMPF R7 #0019 + 0xA8040001, // 0017 EXBLK 1 1 + 0x80040C00, // 0018 RET 1 R6 + 0x7001FFF3, // 0019 JMP #000E + 0x58140004, // 001A LDCONST R5 K4 + 0xAC140200, // 001B CATCH R5 1 0 + 0xB0080000, // 001C RAISE 2 R0 R0 + 0x80000000, // 001D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: wire_scan +********************************************************************/ +be_local_closure(Tasmota_wire_scan, /* name */ + be_nested_proto( + 6, /* nstack */ + 3, /* argc */ + 0, /* 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(i2c_enabled), + /* K1 */ be_nested_str(wire1), + /* K2 */ be_nested_str(enabled), + /* K3 */ be_nested_str(detect), + /* K4 */ be_nested_str(wire2), + }), + &be_const_str_wire_scan, + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0x4C0C0000, // 0000 LDNIL R3 + 0x200C0403, // 0001 NE R3 R2 R3 + 0x780E0005, // 0002 JMPF R3 #0009 + 0x8C0C0100, // 0003 GETMET R3 R0 K0 + 0x5C140400, // 0004 MOVE R5 R2 + 0x7C0C0400, // 0005 CALL R3 2 + 0x740E0001, // 0006 JMPT R3 #0009 + 0x4C0C0000, // 0007 LDNIL R3 + 0x80040600, // 0008 RET 1 R3 + 0x880C0101, // 0009 GETMBR R3 R0 K1 + 0x8C0C0702, // 000A GETMET R3 R3 K2 + 0x7C0C0200, // 000B CALL R3 1 + 0x780E0006, // 000C JMPF R3 #0014 + 0x880C0101, // 000D GETMBR R3 R0 K1 + 0x8C0C0703, // 000E GETMET R3 R3 K3 + 0x5C140200, // 000F MOVE R5 R1 + 0x7C0C0400, // 0010 CALL R3 2 + 0x780E0001, // 0011 JMPF R3 #0014 + 0x880C0101, // 0012 GETMBR R3 R0 K1 + 0x80040600, // 0013 RET 1 R3 + 0x880C0104, // 0014 GETMBR R3 R0 K4 + 0x8C0C0702, // 0015 GETMET R3 R3 K2 + 0x7C0C0200, // 0016 CALL R3 1 + 0x780E0006, // 0017 JMPF R3 #001F + 0x880C0104, // 0018 GETMBR R3 R0 K4 + 0x8C0C0703, // 0019 GETMET R3 R3 K3 + 0x5C140200, // 001A MOVE R5 R1 + 0x7C0C0400, // 001B CALL R3 2 + 0x780E0001, // 001C JMPF R3 #001F + 0x880C0104, // 001D GETMBR R3 R0 K4 + 0x80040600, // 001E RET 1 R3 + 0x4C0C0000, // 001F LDNIL R3 + 0x80040600, // 0020 RET 1 R3 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(Tasmota_init, /* name */ + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[15]) { /* constants */ + /* K0 */ be_nested_str(global), + /* K1 */ be_nested_str(ctypes_bytes_dyn), + /* K2 */ be_nested_str(_global_addr), + /* K3 */ be_nested_str(_global_def), + /* K4 */ be_nested_str(introspect), + /* K5 */ be_nested_str(_settings_ptr), + /* K6 */ be_nested_str(get), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str(settings), + /* K9 */ be_nested_str(toptr), + /* K10 */ be_nested_str(_settings_def), + /* K11 */ be_nested_str(wd), + /* K12 */ be_nested_str(), + /* K13 */ be_nested_str(_debug_present), + /* K14 */ be_nested_str(debug), + }), + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[36]) { /* code */ + 0xB8060200, // 0000 GETNGBL R1 K1 + 0x88080102, // 0001 GETMBR R2 R0 K2 + 0x880C0103, // 0002 GETMBR R3 R0 K3 + 0x7C040400, // 0003 CALL R1 2 + 0x90020001, // 0004 SETMBR R0 K0 R1 + 0xA4060800, // 0005 IMPORT R1 K4 + 0x60080015, // 0006 GETGBL R2 G21 + 0x880C0105, // 0007 GETMBR R3 R0 K5 + 0x54120003, // 0008 LDINT R4 4 + 0x7C080400, // 0009 CALL R2 2 + 0x8C080506, // 000A GETMET R2 R2 K6 + 0x58100007, // 000B LDCONST R4 K7 + 0x54160003, // 000C LDINT R5 4 + 0x7C080600, // 000D CALL R2 3 + 0x780A0006, // 000E JMPF R2 #0016 + 0xB80E0200, // 000F GETNGBL R3 K1 + 0x8C100309, // 0010 GETMET R4 R1 K9 + 0x5C180400, // 0011 MOVE R6 R2 + 0x7C100400, // 0012 CALL R4 2 + 0x8814010A, // 0013 GETMBR R5 R0 K10 + 0x7C0C0400, // 0014 CALL R3 2 + 0x90021003, // 0015 SETMBR R0 K8 R3 + 0x9002170C, // 0016 SETMBR R0 K11 K12 + 0x500C0000, // 0017 LDBOOL R3 0 0 + 0x90021A03, // 0018 SETMBR R0 K13 R3 + 0xA8020004, // 0019 EXBLK 0 #001F + 0xA40E1C00, // 001A IMPORT R3 K14 + 0x50100200, // 001B LDBOOL R4 1 0 + 0x90021A04, // 001C SETMBR R0 K13 R4 + 0xA8040001, // 001D EXBLK 1 1 + 0x70020003, // 001E JMP #0023 + 0xAC0C0000, // 001F CATCH R3 0 0 + 0x70020000, // 0020 JMP #0022 + 0x70020000, // 0021 JMP #0023 + 0xB0080000, // 0022 RAISE 2 R0 R0 + 0x80000000, // 0023 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: time_str +********************************************************************/ +be_local_closure(Tasmota_time_str, /* name */ + be_nested_proto( + 13, /* nstack */ + 2, /* argc */ + 0, /* 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(string), + /* K1 */ be_nested_str(time_dump), + /* K2 */ be_nested_str(format), + /* K3 */ be_nested_str(_X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d), + /* K4 */ be_nested_str(year), + /* K5 */ be_nested_str(month), + /* K6 */ be_nested_str(day), + /* K7 */ be_nested_str(hour), + /* K8 */ be_nested_str(min), + /* K9 */ be_nested_str(sec), + }), + &be_const_str_time_str, + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0xA40A0000, // 0000 IMPORT R2 K0 + 0x8C0C0101, // 0001 GETMET R3 R0 K1 + 0x5C140200, // 0002 MOVE R5 R1 + 0x7C0C0400, // 0003 CALL R3 2 + 0x8C100502, // 0004 GETMET R4 R2 K2 + 0x58180003, // 0005 LDCONST R6 K3 + 0x941C0704, // 0006 GETIDX R7 R3 K4 + 0x94200705, // 0007 GETIDX R8 R3 K5 + 0x94240706, // 0008 GETIDX R9 R3 K6 + 0x94280707, // 0009 GETIDX R10 R3 K7 + 0x942C0708, // 000A GETIDX R11 R3 K8 + 0x94300709, // 000B GETIDX R12 R3 K9 + 0x7C101000, // 000C CALL R4 8 + 0x80040800, // 000D RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_rule +********************************************************************/ +be_local_closure(Tasmota_remove_rule, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 0, /* 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(_rules), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str(k), + /* K3 */ be_nested_str(remove), + /* K4 */ be_const_int(1), + }), + &be_const_str_remove_rule, + &be_const_str_solidified, + ( &(const binstruction[21]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x780A0011, // 0001 JMPF R2 #0014 + 0x58080001, // 0002 LDCONST R2 K1 + 0x600C000C, // 0003 GETGBL R3 G12 + 0x88100100, // 0004 GETMBR R4 R0 K0 + 0x7C0C0200, // 0005 CALL R3 1 + 0x140C0403, // 0006 LT R3 R2 R3 + 0x780E000B, // 0007 JMPF R3 #0014 + 0x880C0100, // 0008 GETMBR R3 R0 K0 + 0x940C0602, // 0009 GETIDX R3 R3 R2 + 0x880C0702, // 000A GETMBR R3 R3 K2 + 0x1C0C0601, // 000B EQ R3 R3 R1 + 0x780E0004, // 000C JMPF R3 #0012 + 0x880C0100, // 000D GETMBR R3 R0 K0 + 0x8C0C0703, // 000E GETMET R3 R3 K3 + 0x5C140400, // 000F MOVE R5 R2 + 0x7C0C0400, // 0010 CALL R3 2 + 0x70020000, // 0011 JMP #0013 + 0x00080504, // 0012 ADD R2 R2 K4 + 0x7001FFEE, // 0013 JMP #0003 + 0x80000000, // 0014 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: load +********************************************************************/ +be_local_closure(Tasmota_load, /* name */ + be_nested_proto( + 21, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 1, /* has sup protos */ + ( &(const struct bproto*[ 2]) { + be_nested_proto( + 6, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str(sys), + /* K1 */ be_nested_str(path), + /* K2 */ be_nested_str(find), + /* K3 */ be_nested_str(push), + }), + &be_const_str_push_path, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080301, // 0001 GETMET R2 R1 K1 + 0x7C080200, // 0002 CALL R2 1 + 0x8C0C0502, // 0003 GETMET R3 R2 K2 + 0x5C140000, // 0004 MOVE R5 R0 + 0x7C0C0400, // 0005 CALL R3 2 + 0x4C100000, // 0006 LDNIL R4 + 0x1C0C0604, // 0007 EQ R3 R3 R4 + 0x780E0002, // 0008 JMPF R3 #000C + 0x8C0C0503, // 0009 GETMET R3 R2 K3 + 0x5C140000, // 000A MOVE R5 R0 + 0x7C0C0400, // 000B CALL R3 2 + 0x80000000, // 000C RET 0 + }) + ), + be_nested_proto( + 7, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str(sys), + /* K1 */ be_nested_str(path), + /* K2 */ be_nested_str(find), + /* K3 */ be_nested_str(remove), + }), + &be_const_str_pop_path, + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080301, // 0001 GETMET R2 R1 K1 + 0x7C080200, // 0002 CALL R2 1 + 0x8C0C0502, // 0003 GETMET R3 R2 K2 + 0x5C140000, // 0004 MOVE R5 R0 + 0x7C0C0400, // 0005 CALL R3 2 + 0x4C100000, // 0006 LDNIL R4 + 0x20100604, // 0007 NE R4 R3 R4 + 0x78120002, // 0008 JMPF R4 #000C + 0x8C100503, // 0009 GETMET R4 R2 K3 + 0x5C180600, // 000A MOVE R6 R3 + 0x7C100400, // 000B CALL R4 2 + 0x80000000, // 000C RET 0 + }) + ), + }), + 1, /* has constants */ + ( &(const bvalue[21]) { /* constants */ + /* K0 */ be_nested_str(string), + /* K1 */ be_nested_str(path), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str(_X2F), + /* K4 */ be_nested_str(split), + /* K5 */ be_nested_str(_X23), + /* K6 */ be_const_int(1), + /* K7 */ be_nested_str(find), + /* K8 */ be_nested_str(_X2E), + /* K9 */ be_nested_str(_X2Ebe), + /* K10 */ be_nested_str(_X2Ebec), + /* K11 */ be_nested_str(io_error), + /* K12 */ be_nested_str(file_X20extension_X20is_X20not_X20_X27_X2Ebe_X27_X20or_X20_X27_X2Ebec_X27), + /* K13 */ be_nested_str(last_modified), + /* K14 */ be_nested_str(c), + /* K15 */ be_nested_str(wd), + /* K16 */ be_nested_str(), + /* K17 */ be_nested_str(file), + /* K18 */ be_nested_str(save), + /* K19 */ be_nested_str(format), + /* K20 */ be_nested_str(BRY_X3A_X20could_X20not_X20save_X20compiled_X20file_X20_X25s_X20_X28_X25s_X29), + }), + &be_const_str_load, + &be_const_str_solidified, + ( &(const binstruction[121]) { /* code */ + 0x84080000, // 0000 CLOSURE R2 P0 + 0x840C0001, // 0001 CLOSURE R3 P1 + 0xA4120000, // 0002 IMPORT R4 K0 + 0xA4160200, // 0003 IMPORT R5 K1 + 0x6018000C, // 0004 GETGBL R6 G12 + 0x5C1C0200, // 0005 MOVE R7 R1 + 0x7C180200, // 0006 CALL R6 1 + 0x1C180D02, // 0007 EQ R6 R6 K2 + 0x781A0001, // 0008 JMPF R6 #000B + 0x50180000, // 0009 LDBOOL R6 0 0 + 0x80040C00, // 000A RET 1 R6 + 0x94180302, // 000B GETIDX R6 R1 K2 + 0x20180D03, // 000C NE R6 R6 K3 + 0x781A0000, // 000D JMPF R6 #000F + 0x00060601, // 000E ADD R1 K3 R1 + 0x8C180904, // 000F GETMET R6 R4 K4 + 0x5C200200, // 0010 MOVE R8 R1 + 0x58240005, // 0011 LDCONST R9 K5 + 0x7C180600, // 0012 CALL R6 3 + 0x941C0D02, // 0013 GETIDX R7 R6 K2 + 0x5421FFFE, // 0014 LDINT R8 -1 + 0x94200C08, // 0015 GETIDX R8 R6 R8 + 0x6024000C, // 0016 GETGBL R9 G12 + 0x5C280C00, // 0017 MOVE R10 R6 + 0x7C240200, // 0018 CALL R9 1 + 0x24241306, // 0019 GT R9 R9 K6 + 0x8C280907, // 001A GETMET R10 R4 K7 + 0x5C301000, // 001B MOVE R12 R8 + 0x58340008, // 001C LDCONST R13 K8 + 0x7C280600, // 001D CALL R10 3 + 0x14281502, // 001E LT R10 R10 K2 + 0x782A0001, // 001F JMPF R10 #0022 + 0x00040309, // 0020 ADD R1 R1 K9 + 0x00201109, // 0021 ADD R8 R8 K9 + 0x5429FFFC, // 0022 LDINT R10 -3 + 0x542DFFFE, // 0023 LDINT R11 -1 + 0x4028140B, // 0024 CONNECT R10 R10 R11 + 0x9428100A, // 0025 GETIDX R10 R8 R10 + 0x1C281509, // 0026 EQ R10 R10 K9 + 0x542DFFFB, // 0027 LDINT R11 -4 + 0x5431FFFE, // 0028 LDINT R12 -1 + 0x402C160C, // 0029 CONNECT R11 R11 R12 + 0x942C100B, // 002A GETIDX R11 R8 R11 + 0x1C2C170A, // 002B EQ R11 R11 K10 + 0x5C301400, // 002C MOVE R12 R10 + 0x74320002, // 002D JMPT R12 #0031 + 0x5C301600, // 002E MOVE R12 R11 + 0x74320000, // 002F JMPT R12 #0031 + 0xB006170C, // 0030 RAISE 1 K11 K12 + 0x8C300B0D, // 0031 GETMET R12 R5 K13 + 0x5C380E00, // 0032 MOVE R14 R7 + 0x7C300400, // 0033 CALL R12 2 + 0x782E0005, // 0034 JMPF R11 #003B + 0x4C340000, // 0035 LDNIL R13 + 0x1C34180D, // 0036 EQ R13 R12 R13 + 0x78360001, // 0037 JMPF R13 #003A + 0x50340000, // 0038 LDBOOL R13 0 0 + 0x80041A00, // 0039 RET 1 R13 + 0x70020013, // 003A JMP #004F + 0x8C340B0D, // 003B GETMET R13 R5 K13 + 0x003C030E, // 003C ADD R15 R1 K14 + 0x7C340400, // 003D CALL R13 2 + 0x4C380000, // 003E LDNIL R14 + 0x1C38180E, // 003F EQ R14 R12 R14 + 0x783A0004, // 0040 JMPF R14 #0046 + 0x4C380000, // 0041 LDNIL R14 + 0x1C381A0E, // 0042 EQ R14 R13 R14 + 0x783A0001, // 0043 JMPF R14 #0046 + 0x50380000, // 0044 LDBOOL R14 0 0 + 0x80041C00, // 0045 RET 1 R14 + 0x4C380000, // 0046 LDNIL R14 + 0x20381A0E, // 0047 NE R14 R13 R14 + 0x783A0005, // 0048 JMPF R14 #004F + 0x4C380000, // 0049 LDNIL R14 + 0x1C38180E, // 004A EQ R14 R12 R14 + 0x743A0001, // 004B JMPT R14 #004E + 0x28381A0C, // 004C GE R14 R13 R12 + 0x783A0000, // 004D JMPF R14 #004F + 0x502C0200, // 004E LDBOOL R11 1 0 + 0x78260005, // 004F JMPF R9 #0056 + 0x00340F05, // 0050 ADD R13 R7 K5 + 0x90021E0D, // 0051 SETMBR R0 K15 R13 + 0x5C340400, // 0052 MOVE R13 R2 + 0x8838010F, // 0053 GETMBR R14 R0 K15 + 0x7C340200, // 0054 CALL R13 1 + 0x70020000, // 0055 JMP #0057 + 0x90021F10, // 0056 SETMBR R0 K15 K16 + 0x6034000D, // 0057 GETGBL R13 G13 + 0x5C380200, // 0058 MOVE R14 R1 + 0x583C0011, // 0059 LDCONST R15 K17 + 0x7C340400, // 005A CALL R13 2 + 0x5C381600, // 005B MOVE R14 R11 + 0x743A0013, // 005C JMPT R14 #0071 + 0x5C381200, // 005D MOVE R14 R9 + 0x743A0011, // 005E JMPT R14 #0071 + 0xA8020005, // 005F EXBLK 0 #0066 + 0x8C380112, // 0060 GETMET R14 R0 K18 + 0x0040030E, // 0061 ADD R16 R1 K14 + 0x5C441A00, // 0062 MOVE R17 R13 + 0x7C380600, // 0063 CALL R14 3 + 0xA8040001, // 0064 EXBLK 1 1 + 0x7002000A, // 0065 JMP #0071 + 0xAC380001, // 0066 CATCH R14 0 1 + 0x70020007, // 0067 JMP #0070 + 0x603C0001, // 0068 GETGBL R15 G1 + 0x8C400913, // 0069 GETMET R16 R4 K19 + 0x58480014, // 006A LDCONST R18 K20 + 0x004C030E, // 006B ADD R19 R1 K14 + 0x5C501C00, // 006C MOVE R20 R14 + 0x7C400800, // 006D CALL R16 4 + 0x7C3C0200, // 006E CALL R15 1 + 0x70020000, // 006F JMP #0071 + 0xB0080000, // 0070 RAISE 2 R0 R0 + 0x5C381A00, // 0071 MOVE R14 R13 + 0x7C380000, // 0072 CALL R14 0 + 0x78260002, // 0073 JMPF R9 #0077 + 0x5C380600, // 0074 MOVE R14 R3 + 0x003C0F05, // 0075 ADD R15 R7 K5 + 0x7C380200, // 0076 CALL R14 1 + 0x50380200, // 0077 LDBOOL R14 1 0 + 0x80041C00, // 0078 RET 1 R14 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: chars_in_string +********************************************************************/ +be_local_closure(Tasmota_chars_in_string, /* name */ + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_const_int(0), + /* K1 */ be_const_int(1), + }), + &be_const_str_chars_in_string, + &be_const_str_solidified, + ( &(const binstruction[31]) { /* code */ + 0x780E0001, // 0000 JMPF R3 #0003 + 0x50100200, // 0001 LDBOOL R4 1 0 + 0x70020000, // 0002 JMP #0004 + 0x50100000, // 0003 LDBOOL R4 0 0 + 0x58140000, // 0004 LDCONST R5 K0 + 0x6018000C, // 0005 GETGBL R6 G12 + 0x5C1C0200, // 0006 MOVE R7 R1 + 0x7C180200, // 0007 CALL R6 1 + 0x14180A06, // 0008 LT R6 R5 R6 + 0x781A0012, // 0009 JMPF R6 #001D + 0x50180000, // 000A LDBOOL R6 0 0 + 0x581C0000, // 000B LDCONST R7 K0 + 0x6020000C, // 000C GETGBL R8 G12 + 0x5C240400, // 000D MOVE R9 R2 + 0x7C200200, // 000E CALL R8 1 + 0x14200E08, // 000F LT R8 R7 R8 + 0x78220006, // 0010 JMPF R8 #0018 + 0x94200205, // 0011 GETIDX R8 R1 R5 + 0x94240407, // 0012 GETIDX R9 R2 R7 + 0x1C201009, // 0013 EQ R8 R8 R9 + 0x78220000, // 0014 JMPF R8 #0016 + 0x50180200, // 0015 LDBOOL R6 1 0 + 0x001C0F01, // 0016 ADD R7 R7 K1 + 0x7001FFF3, // 0017 JMP #000C + 0x20200806, // 0018 NE R8 R4 R6 + 0x78220000, // 0019 JMPF R8 #001B + 0x80040A00, // 001A RET 1 R5 + 0x00140B01, // 001B ADD R5 R5 K1 + 0x7001FFE7, // 001C JMP #0005 + 0x5419FFFE, // 001D LDINT R6 -1 + 0x80040C00, // 001E RET 1 R6 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: cmd +********************************************************************/ +be_local_closure(Tasmota_cmd, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1881,19 +1401,26 @@ be_local_closure(remove_cmd, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_string("_ccmd", -2131545883, 5), - /* K1 */ be_nested_string("remove", -611183107, 6), + /* K0 */ be_nested_str(cmd_res), + /* K1 */ be_nested_str(_cmd), }), - (be_nested_const_str("remove_cmd", -462651594, 10)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[ 7]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x780A0003, // 0001 JMPF R2 #0006 - 0x88080100, // 0002 GETMBR R2 R0 K0 - 0x8C080501, // 0003 GETMET R2 R2 K1 - 0x5C100200, // 0004 MOVE R4 R1 - 0x7C080400, // 0005 CALL R2 2 - 0x80000000, // 0006 RET 0 + &be_const_str_cmd, + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x50080200, // 0000 LDBOOL R2 1 0 + 0x90020002, // 0001 SETMBR R0 K0 R2 + 0x8C080101, // 0002 GETMET R2 R0 K1 + 0x5C100200, // 0003 MOVE R4 R1 + 0x7C080400, // 0004 CALL R2 2 + 0x4C080000, // 0005 LDNIL R2 + 0x880C0100, // 0006 GETMBR R3 R0 K0 + 0x50100200, // 0007 LDBOOL R4 1 0 + 0x200C0604, // 0008 NE R3 R3 R4 + 0x780E0000, // 0009 JMPF R3 #000B + 0x88080100, // 000A GETMBR R2 R0 K0 + 0x4C0C0000, // 000B LDNIL R3 + 0x90020003, // 000C SETMBR R0 K0 R3 + 0x80040400, // 000D RET 1 R2 }) ) ); @@ -1901,64 +1428,233 @@ be_local_closure(remove_cmd, /* name */ /******************************************************************** -** Solidified function: exec_cmd +** Solidified function: add_cmd ********************************************************************/ -be_local_closure(exec_cmd, /* name */ +be_local_closure(Tasmota_add_cmd, /* name */ be_nested_proto( - 12, /* nstack */ - 4, /* argc */ + 5, /* nstack */ + 3, /* argc */ 0, /* 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_string("_ccmd", -2131545883, 5), - /* K1 */ be_nested_string("json", 916562499, 4), - /* K2 */ be_nested_string("load", -435725847, 4), - /* K3 */ be_nested_string("find_key_i", 850136726, 10), - /* K4 */ be_nested_string("resolvecmnd", 993361485, 11), + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str(_ccmd), + /* K1 */ be_nested_str(function), + /* K2 */ be_nested_str(value_error), + /* K3 */ be_nested_str(the_X20second_X20argument_X20is_X20not_X20a_X20function), }), - (be_nested_const_str("exec_cmd", 493567399, 8)), - ((bstring*) &be_const_str_input), - ( &(const binstruction[27]) { /* code */ - 0x88100100, // 0000 GETMBR R4 R0 K0 - 0x78120016, // 0001 JMPF R4 #0019 - 0xA4120200, // 0002 IMPORT R4 K1 - 0x8C140902, // 0003 GETMET R5 R4 K2 - 0x5C1C0600, // 0004 MOVE R7 R3 - 0x7C140400, // 0005 CALL R5 2 - 0x8C180103, // 0006 GETMET R6 R0 K3 - 0x88200100, // 0007 GETMBR R8 R0 K0 - 0x5C240200, // 0008 MOVE R9 R1 - 0x7C180600, // 0009 CALL R6 3 - 0x4C1C0000, // 000A LDNIL R7 - 0x201C0C07, // 000B NE R7 R6 R7 - 0x781E000B, // 000C JMPF R7 #0019 - 0x8C1C0104, // 000D GETMET R7 R0 K4 - 0x5C240C00, // 000E MOVE R9 R6 - 0x7C1C0400, // 000F CALL R7 2 - 0x881C0100, // 0010 GETMBR R7 R0 K0 - 0x941C0E06, // 0011 GETIDX R7 R7 R6 - 0x5C200C00, // 0012 MOVE R8 R6 - 0x5C240400, // 0013 MOVE R9 R2 - 0x5C280600, // 0014 MOVE R10 R3 - 0x5C2C0A00, // 0015 MOVE R11 R5 - 0x7C1C0800, // 0016 CALL R7 4 - 0x501C0200, // 0017 LDBOOL R7 1 0 - 0x80040E00, // 0018 RET 1 R7 - 0x50100000, // 0019 LDBOOL R4 0 0 - 0x80040800, // 001A RET 1 R4 + &be_const_str_add_cmd, + &be_const_str_solidified, + ( &(const binstruction[15]) { /* code */ + 0x880C0100, // 0000 GETMBR R3 R0 K0 + 0x740E0002, // 0001 JMPT R3 #0005 + 0x600C0013, // 0002 GETGBL R3 G19 + 0x7C0C0000, // 0003 CALL R3 0 + 0x90020003, // 0004 SETMBR R0 K0 R3 + 0x600C0004, // 0005 GETGBL R3 G4 + 0x5C100400, // 0006 MOVE R4 R2 + 0x7C0C0200, // 0007 CALL R3 1 + 0x1C0C0701, // 0008 EQ R3 R3 K1 + 0x780E0002, // 0009 JMPF R3 #000D + 0x880C0100, // 000A GETMBR R3 R0 K0 + 0x980C0202, // 000B SETIDX R3 R1 R2 + 0x70020000, // 000C JMP #000E + 0xB0060503, // 000D RAISE 1 K2 K3 + 0x80000000, // 000E RET 0 }) ) ); /*******************************************************************/ + +/******************************************************************** +** Solidified function: add_rule +********************************************************************/ +be_local_closure(Tasmota_add_rule, /* name */ + be_nested_proto( + 9, /* nstack */ + 3, /* argc */ + 0, /* 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(_rules), + /* K1 */ be_nested_str(function), + /* K2 */ be_nested_str(push), + /* K3 */ be_nested_str(kv), + /* K4 */ be_nested_str(value_error), + /* K5 */ be_nested_str(the_X20second_X20argument_X20is_X20not_X20a_X20function), + }), + &be_const_str_add_rule, + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x880C0100, // 0000 GETMBR R3 R0 K0 + 0x740E0002, // 0001 JMPT R3 #0005 + 0x600C0012, // 0002 GETGBL R3 G18 + 0x7C0C0000, // 0003 CALL R3 0 + 0x90020003, // 0004 SETMBR R0 K0 R3 + 0x600C0004, // 0005 GETGBL R3 G4 + 0x5C100400, // 0006 MOVE R4 R2 + 0x7C0C0200, // 0007 CALL R3 1 + 0x1C0C0701, // 0008 EQ R3 R3 K1 + 0x780E0007, // 0009 JMPF R3 #0012 + 0x880C0100, // 000A GETMBR R3 R0 K0 + 0x8C0C0702, // 000B GETMET R3 R3 K2 + 0x8C140103, // 000C GETMET R5 R0 K3 + 0x5C1C0200, // 000D MOVE R7 R1 + 0x5C200400, // 000E MOVE R8 R2 + 0x7C140600, // 000F CALL R5 3 + 0x7C0C0400, // 0010 CALL R3 2 + 0x70020000, // 0011 JMP #0013 + 0xB0060905, // 0012 RAISE 1 K4 K5 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: exec_rules +********************************************************************/ +be_local_closure(Tasmota_exec_rules, /* name */ + be_nested_proto( + 12, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[12]) { /* constants */ + /* K0 */ be_nested_str(_rules), + /* K1 */ be_nested_str(cmd_res), + /* K2 */ be_nested_str(json), + /* K3 */ be_nested_str(load), + /* K4 */ be_nested_str(log), + /* K5 */ be_nested_str(BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20), + /* K6 */ be_const_int(3), + /* K7 */ be_const_int(0), + /* K8 */ be_nested_str(try_rule), + /* K9 */ be_nested_str(k), + /* K10 */ be_nested_str(v), + /* K11 */ be_const_int(1), + }), + &be_const_str_exec_rules, + &be_const_str_solidified, + ( &(const binstruction[48]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x740A0003, // 0001 JMPT R2 #0006 + 0x88080101, // 0002 GETMBR R2 R0 K1 + 0x4C0C0000, // 0003 LDNIL R3 + 0x20080403, // 0004 NE R2 R2 R3 + 0x780A0027, // 0005 JMPF R2 #002E + 0xA40A0400, // 0006 IMPORT R2 K2 + 0x8C0C0503, // 0007 GETMET R3 R2 K3 + 0x5C140200, // 0008 MOVE R5 R1 + 0x7C0C0400, // 0009 CALL R3 2 + 0x50100000, // 000A LDBOOL R4 0 0 + 0x4C140000, // 000B LDNIL R5 + 0x1C140605, // 000C EQ R5 R3 R5 + 0x78160004, // 000D JMPF R5 #0013 + 0x8C140104, // 000E GETMET R5 R0 K4 + 0x001E0A01, // 000F ADD R7 K5 R1 + 0x58200006, // 0010 LDCONST R8 K6 + 0x7C140600, // 0011 CALL R5 3 + 0x5C0C0200, // 0012 MOVE R3 R1 + 0x88140101, // 0013 GETMBR R5 R0 K1 + 0x4C180000, // 0014 LDNIL R6 + 0x20140A06, // 0015 NE R5 R5 R6 + 0x78160000, // 0016 JMPF R5 #0018 + 0x90020203, // 0017 SETMBR R0 K1 R3 + 0x88140100, // 0018 GETMBR R5 R0 K0 + 0x78160012, // 0019 JMPF R5 #002D + 0x58140007, // 001A LDCONST R5 K7 + 0x6018000C, // 001B GETGBL R6 G12 + 0x881C0100, // 001C GETMBR R7 R0 K0 + 0x7C180200, // 001D CALL R6 1 + 0x14180A06, // 001E LT R6 R5 R6 + 0x781A000C, // 001F JMPF R6 #002D + 0x88180100, // 0020 GETMBR R6 R0 K0 + 0x94180C05, // 0021 GETIDX R6 R6 R5 + 0x8C1C0108, // 0022 GETMET R7 R0 K8 + 0x5C240600, // 0023 MOVE R9 R3 + 0x88280D09, // 0024 GETMBR R10 R6 K9 + 0x882C0D0A, // 0025 GETMBR R11 R6 K10 + 0x7C1C0800, // 0026 CALL R7 4 + 0x741E0001, // 0027 JMPT R7 #002A + 0x74120000, // 0028 JMPT R4 #002A + 0x50100001, // 0029 LDBOOL R4 0 1 + 0x50100200, // 002A LDBOOL R4 1 0 + 0x00140B0B, // 002B ADD R5 R5 K11 + 0x7001FFED, // 002C JMP #001B + 0x80040800, // 002D RET 1 R4 + 0x50080000, // 002E LDBOOL R2 0 0 + 0x80040400, // 002F RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: cb_dispatch +********************************************************************/ +be_local_closure(Tasmota_cb_dispatch, /* name */ + be_nested_proto( + 12, /* nstack */ + 6, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str(_cb), + /* K1 */ be_const_int(0), + /* K2 */ be_nested_str(find), + }), + &be_const_str_cb_dispatch, + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x88180100, // 0000 GETMBR R6 R0 K0 + 0x4C1C0000, // 0001 LDNIL R7 + 0x1C180C07, // 0002 EQ R6 R6 R7 + 0x781A0000, // 0003 JMPF R6 #0005 + 0x80060200, // 0004 RET 1 K1 + 0x88180100, // 0005 GETMBR R6 R0 K0 + 0x8C180D02, // 0006 GETMET R6 R6 K2 + 0x5C200200, // 0007 MOVE R8 R1 + 0x7C180400, // 0008 CALL R6 2 + 0x4C1C0000, // 0009 LDNIL R7 + 0x201C0C07, // 000A NE R7 R6 R7 + 0x781E0006, // 000B JMPF R7 #0013 + 0x5C1C0C00, // 000C MOVE R7 R6 + 0x5C200400, // 000D MOVE R8 R2 + 0x5C240600, // 000E MOVE R9 R3 + 0x5C280800, // 000F MOVE R10 R4 + 0x5C2C0A00, // 0010 MOVE R11 R5 + 0x7C1C0800, // 0011 CALL R7 4 + 0x80040E00, // 0012 RET 1 R7 + 0x80060200, // 0013 RET 1 K1 + }) + ) +); +/*******************************************************************/ + + /******************************************************************** ** Solidified function: hs2rgb ********************************************************************/ -be_local_closure(hs2rgb, /* name */ +be_local_closure(Tasmota_hs2rgb, /* name */ be_nested_proto( 17, /* nstack */ 3, /* argc */ @@ -1970,14 +1666,14 @@ be_local_closure(hs2rgb, /* name */ 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_int(0), - /* K1 */ be_nested_string("tasmota", 424643812, 7), - /* K2 */ be_nested_string("scale_uint", -1204156202, 10), + /* K1 */ be_nested_str(tasmota), + /* K2 */ be_nested_str(scale_uint), /* K3 */ be_const_int(1), /* K4 */ be_const_int(2), /* K5 */ be_const_int(3), }), - (be_nested_const_str("hs2rgb", 1040816349, 6)), - ((bstring*) &be_const_str_input), + &be_const_str_hs2rgb, + &be_const_str_solidified, ( &(const binstruction[68]) { /* code */ 0x4C0C0000, // 0000 LDNIL R3 0x1C0C0403, // 0001 EQ R3 R2 R3 @@ -2052,6 +1748,312 @@ be_local_closure(hs2rgb, /* name */ ); /*******************************************************************/ + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(KV_init, /* name */ + be_nested_proto( + 3, /* nstack */ + 3, /* argc */ + 0, /* 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(k), + /* K1 */ be_nested_str(v), + }), + &be_const_str_init, + &be_const_str_solidified, + ( &(const binstruction[ 3]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x90020202, // 0001 SETMBR R0 K1 R2 + 0x80000000, // 0002 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: KV +********************************************************************/ +be_local_class(KV, + 2, + NULL, + be_nested_map(3, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(k, 2), be_const_var(0) }, + { be_const_key(v, -1), be_const_var(1) }, + { be_const_key(init, -1), be_const_closure(KV_init_closure) }, + })), + be_str_literal("KV") +); + +/******************************************************************** +** Solidified function: kv +********************************************************************/ +be_local_closure(Tasmota_kv, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_const_class(be_class_KV), + }), + &be_const_str_kv, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x580C0000, // 0000 LDCONST R3 K0 + 0xB4000000, // 0001 CLASS K0 + 0x5C100600, // 0002 MOVE R4 R3 + 0x5C140200, // 0003 MOVE R5 R1 + 0x5C180400, // 0004 MOVE R6 R2 + 0x7C100400, // 0005 CALL R4 2 + 0x80040800, // 0006 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_cmd +********************************************************************/ +be_local_closure(Tasmota_remove_cmd, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 0, /* 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(_ccmd), + /* K1 */ be_nested_str(remove), + }), + &be_const_str_remove_cmd, + &be_const_str_solidified, + ( &(const binstruction[ 7]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x780A0003, // 0001 JMPF R2 #0006 + 0x88080100, // 0002 GETMBR R2 R0 K0 + 0x8C080501, // 0003 GETMET R2 R2 K1 + 0x5C100200, // 0004 MOVE R4 R1 + 0x7C080400, // 0005 CALL R2 2 + 0x80000000, // 0006 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_timer +********************************************************************/ +be_local_closure(Tasmota_set_timer, /* name */ + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_nested_str(_timers), + /* K1 */ be_nested_str(push), + /* K2 */ be_nested_str(Timer), + /* K3 */ be_nested_str(millis), + }), + &be_const_str_set_timer, + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x88100100, // 0000 GETMBR R4 R0 K0 + 0x74120002, // 0001 JMPT R4 #0005 + 0x60100012, // 0002 GETGBL R4 G18 + 0x7C100000, // 0003 CALL R4 0 + 0x90020004, // 0004 SETMBR R0 K0 R4 + 0x88100100, // 0005 GETMBR R4 R0 K0 + 0x8C100901, // 0006 GETMET R4 R4 K1 + 0xB81A0400, // 0007 GETNGBL R6 K2 + 0x8C1C0103, // 0008 GETMET R7 R0 K3 + 0x5C240200, // 0009 MOVE R9 R1 + 0x7C1C0400, // 000A CALL R7 2 + 0x5C200400, // 000B MOVE R8 R2 + 0x5C240600, // 000C MOVE R9 R3 + 0x7C180600, // 000D CALL R6 3 + 0x7C100400, // 000E CALL R4 2 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: remove_timer +********************************************************************/ +be_local_closure(Tasmota_remove_timer, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 0, /* 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(tasmota), + /* K1 */ be_nested_str(_timers), + /* K2 */ be_const_int(0), + /* K3 */ be_nested_str(size), + /* K4 */ be_nested_str(id), + /* K5 */ be_nested_str(remove), + /* K6 */ be_const_int(1), + }), + &be_const_str_remove_timer, + &be_const_str_solidified, + ( &(const binstruction[23]) { /* code */ + 0xB80A0000, // 0000 GETNGBL R2 K0 + 0x88080501, // 0001 GETMBR R2 R2 K1 + 0x780A0012, // 0002 JMPF R2 #0016 + 0x58080002, // 0003 LDCONST R2 K2 + 0xB80E0000, // 0004 GETNGBL R3 K0 + 0x880C0701, // 0005 GETMBR R3 R3 K1 + 0x8C0C0703, // 0006 GETMET R3 R3 K3 + 0x7C0C0200, // 0007 CALL R3 1 + 0x140C0403, // 0008 LT R3 R2 R3 + 0x780E000B, // 0009 JMPF R3 #0016 + 0x880C0101, // 000A GETMBR R3 R0 K1 + 0x940C0602, // 000B GETIDX R3 R3 R2 + 0x880C0704, // 000C GETMBR R3 R3 K4 + 0x1C0C0601, // 000D EQ R3 R3 R1 + 0x780E0004, // 000E JMPF R3 #0014 + 0x880C0101, // 000F GETMBR R3 R0 K1 + 0x8C0C0705, // 0010 GETMET R3 R3 K5 + 0x5C140400, // 0011 MOVE R5 R2 + 0x7C0C0400, // 0012 CALL R3 2 + 0x70020000, // 0013 JMP #0015 + 0x00080506, // 0014 ADD R2 R2 K6 + 0x7001FFED, // 0015 JMP #0004 + 0x80000000, // 0016 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: exec_cmd +********************************************************************/ +be_local_closure(Tasmota_exec_cmd, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 0, /* 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(_ccmd), + /* K1 */ be_nested_str(json), + /* K2 */ be_nested_str(load), + /* K3 */ be_nested_str(find_key_i), + /* K4 */ be_nested_str(resolvecmnd), + }), + &be_const_str_exec_cmd, + &be_const_str_solidified, + ( &(const binstruction[27]) { /* code */ + 0x88100100, // 0000 GETMBR R4 R0 K0 + 0x78120016, // 0001 JMPF R4 #0019 + 0xA4120200, // 0002 IMPORT R4 K1 + 0x8C140902, // 0003 GETMET R5 R4 K2 + 0x5C1C0600, // 0004 MOVE R7 R3 + 0x7C140400, // 0005 CALL R5 2 + 0x8C180103, // 0006 GETMET R6 R0 K3 + 0x88200100, // 0007 GETMBR R8 R0 K0 + 0x5C240200, // 0008 MOVE R9 R1 + 0x7C180600, // 0009 CALL R6 3 + 0x4C1C0000, // 000A LDNIL R7 + 0x201C0C07, // 000B NE R7 R6 R7 + 0x781E000B, // 000C JMPF R7 #0019 + 0x8C1C0104, // 000D GETMET R7 R0 K4 + 0x5C240C00, // 000E MOVE R9 R6 + 0x7C1C0400, // 000F CALL R7 2 + 0x881C0100, // 0010 GETMBR R7 R0 K0 + 0x941C0E06, // 0011 GETIDX R7 R7 R6 + 0x5C200C00, // 0012 MOVE R8 R6 + 0x5C240400, // 0013 MOVE R9 R2 + 0x5C280600, // 0014 MOVE R10 R3 + 0x5C2C0A00, // 0015 MOVE R11 R5 + 0x7C1C0800, // 0016 CALL R7 4 + 0x501C0200, // 0017 LDBOOL R7 1 0 + 0x80040E00, // 0018 RET 1 R7 + 0x50100000, // 0019 LDBOOL R4 0 0 + 0x80040800, // 001A RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_light +********************************************************************/ +be_local_closure(Tasmota_get_light, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str(tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29), + /* K1 */ be_nested_str(light), + /* K2 */ be_nested_str(get), + }), + &be_const_str_get_light, + &be_const_str_solidified, + ( &(const binstruction[16]) { /* code */ + 0x60080001, // 0000 GETGBL R2 G1 + 0x580C0000, // 0001 LDCONST R3 K0 + 0x7C080200, // 0002 CALL R2 1 + 0xA40A0200, // 0003 IMPORT R2 K1 + 0x4C0C0000, // 0004 LDNIL R3 + 0x200C0203, // 0005 NE R3 R1 R3 + 0x780E0004, // 0006 JMPF R3 #000C + 0x8C0C0502, // 0007 GETMET R3 R2 K2 + 0x5C140200, // 0008 MOVE R5 R1 + 0x7C0C0400, // 0009 CALL R3 2 + 0x80040600, // 000A RET 1 R3 + 0x70020002, // 000B JMP #000F + 0x8C0C0502, // 000C GETMET R3 R2 K2 + 0x7C0C0200, // 000D CALL R3 1 + 0x80040600, // 000E RET 1 R3 + 0x80000000, // 000F RET 0 + }) + ) +); +/*******************************************************************/ + #include "../generate/be_fixed_be_class_tasmota.h" @@ -2083,8 +2085,8 @@ class be_class_tasmota (scope: global, name: Tasmota) { _global_addr, comptr(&TasmotaGlobal) _settings_ptr, comptr(&Settings) - init, closure(init_closure) - kv, closure(kv_closure) + init, closure(Tasmota_init_closure) + kv, closure(Tasmota_kv_closure) get_free_heap, func(l_getFreeHeap) arch, func(l_arch) @@ -2126,35 +2128,35 @@ class be_class_tasmota (scope: global, name: Tasmota) { i2c_enabled, func(l_i2cenabled) - cmd, closure(cmd_closure) - chars_in_string, closure(chars_in_string_closure) - find_key_i, closure(find_key_i_closure) - find_op, closure(find_op_closure) - add_rule, closure(add_rule_closure) - remove_rule, closure(remove_rule_closure) - try_rule, closure(try_rule_closure) - exec_rules, closure(exec_rules_closure) - exec_tele, closure(exec_tele_closure) - set_timer, closure(set_timer_closure) - run_deferred, closure(run_deferred_closure) - remove_timer, closure(remove_timer_closure) - add_cmd, closure(add_cmd_closure) - remove_cmd, closure(remove_cmd_closure) - exec_cmd, closure(exec_cmd_closure) - gc, closure(gc_closure) - event, closure(event_closure) - add_driver, closure(add_driver_closure) - remove_driver, closure(remove_driver_closure) - load, closure(load_closure) - wire_scan, closure(wire_scan_closure) - time_str, closure(time_str_closure) + cmd, closure(Tasmota_cmd_closure) + chars_in_string, closure(Tasmota_chars_in_string_closure) + find_key_i, closure(Tasmota_find_key_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) + wire_scan, closure(Tasmota_wire_scan_closure) + time_str, closure(Tasmota_time_str_closure) - hs2rgb, closure(hs2rgb_closure) + hs2rgb, closure(Tasmota_hs2rgb_closure) - cb_dispatch, closure(cb_dispatch_closure) - gen_cb, closure(gen_cb_closure) + cb_dispatch, closure(Tasmota_cb_dispatch_closure) + gen_cb, closure(Tasmota_gen_cb_closure) - get_light, closure(get_light_closure) - set_light, closure(set_light_closure) + get_light, closure(Tasmota_get_light_closure) + set_light, closure(Tasmota_set_light_closure) } @const_object_info_end */ diff --git a/lib/libesp32/Berry/default/be_timer_class.c b/lib/libesp32/Berry/default/be_timer_class.c index 2646fd6b2..6664e408e 100644 --- a/lib/libesp32/Berry/default/be_timer_class.c +++ b/lib/libesp32/Berry/default/be_timer_class.c @@ -8,7 +8,7 @@ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(tostring, /* name */ +be_local_closure(Timer_tostring, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -19,35 +19,35 @@ be_local_closure(tostring, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_string("string", 398550328, 6), - /* K1 */ be_nested_string("format", -1180859054, 6), - /* K2 */ be_nested_string("

", 3546571739u, 0, 11, &be_const_str_autorun); +be_define_const_str(_X3C_X2Fselect_X3E_X3Cp_X3E_X3C_X2Fp_X3E, "

", 1863865923u, 0, 16, &be_const_str_id); +be_define_const_str(_X3C_X3D, "<=", 2499223986u, 0, 2, NULL); +be_define_const_str(_X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, "", 3147934216u, 0, 82, &be_const_str__get_cb); +be_define_const_str(_X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, "", 1205771629u, 0, 72, &be_const_str_erase); +be_define_const_str(_X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, "
", 842307168u, 0, 77, &be_const_str_web_add_config_button); +be_define_const_str(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29, "Choose a device configuration:
", 1336654704u, 0, 49, &be_const_str_RES_OK); +be_define_const_str(_X3Clambda_X3E, "", 607256038u, 0, 8, NULL); +be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Current auto-configuration", 4212500780u, 0, 82, &be_const_str_GET); +be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Select new auto-configuration", 1926223891u, 0, 80, &be_const_str_add); +be_define_const_str(_X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, "", 510303524u, 0, 30, &be_const_str_codedump); +be_define_const_str(_X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E, "", 3994619755u, 0, 54, NULL); +be_define_const_str(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E, "

Exception:
'%s'
%s

", 4252565082u, 0, 59, &be_const_str__class); +be_define_const_str(_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E, "

", 2052843416u, 0, 25, &be_const_str_cb_dispatch); +be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3E_X26_X23129668_X3B_X20Auto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E, "

", 452285201u, 0, 120, NULL); +be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, "

 (This feature requires an internet connection)

", 2719266486u, 0, 74, &be_const_str__ccmd); +be_define_const_str(_X3Cp_X3ECurrent_X20configuration_X3A_X20_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E, "

Current configuration:

%s

", 4115655761u, 0, 46, &be_const_str_COLOR_BLACK); +be_define_const_str(_X3Cselect_X20name_X3D_X27zip_X27_X3E, "

", 1863865923u, 0, 16, &be_const_str_id); -be_define_const_str(_X3C_X3D, "<=", 2499223986u, 0, 2, NULL); -be_define_const_str(_X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, "", 3147934216u, 0, 82, &be_const_str__get_cb); -be_define_const_str(_X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, "", 1205771629u, 0, 72, &be_const_str_erase); -be_define_const_str(_X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, "
", 842307168u, 0, 77, &be_const_str_web_add_config_button); -be_define_const_str(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29, "Choose a device configuration:
", 1336654704u, 0, 49, &be_const_str_RES_OK); -be_define_const_str(_X3Clambda_X3E, "", 607256038u, 0, 8, NULL); -be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Current auto-configuration", 4212500780u, 0, 82, &be_const_str_GET); -be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Select new auto-configuration", 1926223891u, 0, 80, &be_const_str_add); -be_define_const_str(_X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, "", 510303524u, 0, 30, &be_const_str_codedump); +be_define_const_str(, "", 2166136261u, 0, 0, NULL); +be_define_const_str(_X0A, "\n", 252472541u, 0, 1, &be_const_str_Unknown_X20command); +be_define_const_str(_X20, " ", 621580159u, 0, 1, &be_const_str_geti); +be_define_const_str(_X21_X3D, "!=", 2428715011u, 0, 2, &be_const_str_asstring); +be_define_const_str(_X21_X3D_X3D, "!==", 559817114u, 0, 3, &be_const_str_type); +be_define_const_str(_X23, "#", 638357778u, 0, 1, &be_const_str_CFG_X3A_X20no_X20_X27_X2A_X2Eautoconf_X27_X20file_X20found); +be_define_const_str(_X23autoexec_X2Ebat, "#autoexec.bat", 3382890497u, 0, 13, &be_const_str_arg_size); +be_define_const_str(_X23autoexec_X2Ebe, "#autoexec.be", 1181757091u, 0, 12, &be_const_str_file_X20extension_X20is_X20not_X20_X27_X2Ebe_X27_X20or_X20_X27_X2Ebec_X27); +be_define_const_str(_X23display_X2Eini, "#display.ini", 182218220u, 0, 12, &be_const_str___lower__); +be_define_const_str(_X23init_X2Ebat, "#init.bat", 3297595077u, 0, 9, &be_const_str_SERIAL_7O2); +be_define_const_str(_X23preinit_X2Ebe, "#preinit.be", 687035716u, 0, 11, &be_const_str_SERIAL_8O2); +be_define_const_str(_X2502d_X25s_X2502d, "%02d%s%02d", 1587999717u, 0, 10, &be_const_str_yield); +be_define_const_str(_X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d, "%04d-%02d-%02dT%02d:%02d:%02d", 3425528601u, 0, 29, &be_const_str__global_def); +be_define_const_str(_X25s_X2Eautoconf, "%s.autoconf", 3560383524u, 0, 11, &be_const_str_every_second); +be_define_const_str(_X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B, "<Error: apply new or remove>", 2855507949u, 0, 34, &be_const_str_add_driver); +be_define_const_str(_X26lt_X3BNone_X26gt_X3B, "<None>", 2602165498u, 0, 12, &be_const_str_rand); +be_define_const_str(_X28_X29, "()", 685372826u, 0, 2, &be_const_str__X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29); +be_define_const_str(_X2B, "+", 772578730u, 0, 1, &be_const_str_gpio); +be_define_const_str(_X2C, ",", 688690635u, 0, 1, &be_const_str_add_cmd); +be_define_const_str(_X2D_X2D_X3A_X2D_X2D, "--:--", 1370615441u, 0, 5, &be_const_str_AudioOutputI2S); +be_define_const_str(_X2E, ".", 722245873u, 0, 1, NULL); +be_define_const_str(_X2E_X2E, "..", 2748622605u, 0, 2, &be_const_str__X2Ep2); +be_define_const_str(_X2Eautoconf, ".autoconf", 2524679088u, 0, 9, NULL); +be_define_const_str(_X2Ebe, ".be", 1325797348u, 0, 3, &be_const_str_sinh); +be_define_const_str(_X2Ebec, ".bec", 3985273221u, 0, 4, &be_const_str__debug_present); +be_define_const_str(_X2Elen, ".len", 850842136u, 0, 4, NULL); +be_define_const_str(_X2Ep, ".p", 1171526419u, 0, 2, &be_const_str_COLOR_WHITE); +be_define_const_str(_X2Ep1, ".p1", 249175686u, 0, 3, &be_const_str_sin); +be_define_const_str(_X2Ep2, ".p2", 232398067u, 0, 3, &be_const_str_json_fdump_map); +be_define_const_str(_X2Esize, ".size", 1965188224u, 0, 5, &be_const_str__X2Fac); +be_define_const_str(_X2Etapp, ".tapp", 1363391594u, 0, 5, NULL); +be_define_const_str(_X2Ew, ".w", 1255414514u, 0, 2, &be_const_str_member); +be_define_const_str(_X2F, "/", 705468254u, 0, 1, &be_const_str_None); +be_define_const_str(_X2F_X2Eautoconf, "/.autoconf", 2212074393u, 0, 10, &be_const_str_set_dc_voltage); +be_define_const_str(_X2F_X3Frst_X3D, "/?rst=", 580074707u, 0, 6, &be_const_str_AES_GCM); +be_define_const_str(_X2Fac, "/ac", 3904651978u, 0, 3, &be_const_str_get_current_module_path); +be_define_const_str(_X3A, ":", 1057798253u, 0, 1, &be_const_str_json_fdump); +be_define_const_str(_X3C, "<", 957132539u, 0, 1, NULL); +be_define_const_str(_X3C_X2Fform_X3E_X3C_X2Fp_X3E, "

", 3546571739u, 0, 11, &be_const_str_atan); +be_define_const_str(_X3C_X2Fselect_X3E_X3Cp_X3E_X3C_X2Fp_X3E, "

", 1863865923u, 0, 16, NULL); +be_define_const_str(_X3C_X3D, "<=", 2499223986u, 0, 2, &be_const_str_HTTP_POST); +be_define_const_str(_X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, "", 3147934216u, 0, 82, &be_const_str_Wire); +be_define_const_str(_X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, "", 1205771629u, 0, 72, &be_const_str_color); +be_define_const_str(_X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, "
", 842307168u, 0, 77, &be_const_str_set_power); +be_define_const_str(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29, "Choose a device configuration:
", 1336654704u, 0, 49, &be_const_str_bus); +be_define_const_str(_X3Clambda_X3E, "", 607256038u, 0, 8, &be_const_str_No_X20callback_X20available); +be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Current auto-configuration", 4212500780u, 0, 82, &be_const_str_get_warning_level); +be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Select new auto-configuration", 1926223891u, 0, 80, &be_const_str_get_vbus_current); +be_define_const_str(_X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, "", 510303524u, 0, 30, &be_const_str_cb_event_closure); be_define_const_str(_X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E, "", 3994619755u, 0, 54, NULL); -be_define_const_str(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E, "

Exception:
'%s'
%s

", 4252565082u, 0, 59, &be_const_str__class); -be_define_const_str(_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E, "

", 2052843416u, 0, 25, &be_const_str_cb_dispatch); +be_define_const_str(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E, "

Exception:
'%s'
%s

", 4252565082u, 0, 59, &be_const_str_arg); +be_define_const_str(_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E, "

", 2052843416u, 0, 25, &be_const_str_area); be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3E_X26_X23129668_X3B_X20Auto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E, "

", 452285201u, 0, 120, NULL); -be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, "

 (This feature requires an internet connection)

", 2719266486u, 0, 74, &be_const_str__ccmd); -be_define_const_str(_X3Cp_X3ECurrent_X20configuration_X3A_X20_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E, "

Current configuration:

%s

", 4115655761u, 0, 46, &be_const_str_COLOR_BLACK); -be_define_const_str(_X3Cselect_X20name_X3D_X27zip_X27_X3E, "", 4247924536u, 0, 19, &be_const_str_find_key_i); +be_define_const_str(_X3D, "=", 940354920u, 0, 1, &be_const_str_listdir); +be_define_const_str(_X3D_X3C_X3E_X21, "=<>!", 2664470277u, 0, 4, &be_const_str_shared_key); +be_define_const_str(_X3D_X3D, "==", 2431966415u, 0, 2, &be_const_str_json_append); +be_define_const_str(_X3E, ">", 990687777u, 0, 1, &be_const_str_battery_present); +be_define_const_str(_X3E_X3D, ">=", 284975636u, 0, 2, &be_const_str_get_style_pad_right); +be_define_const_str(_X3F, "?", 973910158u, 0, 1, &be_const_str_redirect); +be_define_const_str(AES_GCM, "AES_GCM", 3832208678u, 0, 7, &be_const_str_clear_to); +be_define_const_str(AXP192, "AXP192", 757230128u, 0, 6, &be_const_str_BRY_X3A_X20could_X20not_X20save_X20compiled_X20file_X20_X25s_X20_X28_X25s_X29); +be_define_const_str(Animate_X20pc_X20is_X20out_X20of_X20range, "Animate pc is out of range", 1854929421u, 0, 26, &be_const_str_detected_X20on_X20bus); +be_define_const_str(AudioFileSource, "AudioFileSource", 2959980058u, 0, 15, &be_const_str_a); +be_define_const_str(AudioFileSourceFS, "AudioFileSourceFS", 1839147653u, 0, 17, &be_const_str_ip); be_define_const_str(AudioGenerator, "AudioGenerator", 1839297342u, 0, 14, NULL); -be_define_const_str(AudioGeneratorMP3, "AudioGeneratorMP3", 2199818488u, 0, 17, &be_const_str__end_transmission); -be_define_const_str(AudioGeneratorWAV, "AudioGeneratorWAV", 2746509368u, 0, 17, &be_const_str_get_switch); -be_define_const_str(AudioOutput, "AudioOutput", 3257792048u, 0, 11, &be_const_str_OneWire); -be_define_const_str(AudioOutputI2S, "AudioOutputI2S", 638031784u, 0, 14, &be_const_str__global_addr); -be_define_const_str(Auto_X2Dconfiguration, "Auto-configuration", 1665006109u, 0, 18, NULL); -be_define_const_str(BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20, "BRY: ERROR, bad json: ", 2715135809u, 0, 22, NULL); -be_define_const_str(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, "BRY: Exception> '%s' - %s", 2246990964u, 0, 25, &be_const_str__cb); -be_define_const_str(BRY_X3A_X20could_X20not_X20save_X20compiled_X20file_X20_X25s_X20_X28_X25s_X29, "BRY: could not save compiled file %s (%s)", 736659787u, 0, 41, &be_const_str__settings_ptr); -be_define_const_str(BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson, "BRY: failed to load _persist.json", 2991913445u, 0, 33, &be_const_str_CFG_X3A_X20no_X20_X27_X2A_X2Eautoconf_X27_X20file_X20found); -be_define_const_str(BUTTON_CONFIGURATION, "BUTTON_CONFIGURATION", 70820856u, 0, 20, &be_const_str_preinit); -be_define_const_str(CFG_X3A_X20_X27init_X2Ebat_X27_X20done_X2C_X20restarting, "CFG: 'init.bat' done, restarting", 1569670677u, 0, 32, &be_const_str_get_battery_chargin_status); -be_define_const_str(CFG_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, "CFG: Exception> '%s' - %s", 1228874553u, 0, 25, &be_const_str_CFG_X3A_X20loading_X20_X27_X25s_X27); -be_define_const_str(CFG_X3A_X20could_X20not_X20run_X20_X25s_X20_X28_X25s_X20_X2D_X20_X25s_X29, "CFG: could not run %s (%s - %s)", 1428829580u, 0, 31, NULL); -be_define_const_str(CFG_X3A_X20downloading_X20_X27_X25s_X27, "CFG: downloading '%s'", 589480701u, 0, 21, &be_const_str_asin); -be_define_const_str(CFG_X3A_X20exception_X20_X27_X25s_X27_X20_X2D_X20_X27_X25s_X27, "CFG: exception '%s' - '%s'", 4095407913u, 0, 26, &be_const_str_floor); -be_define_const_str(CFG_X3A_X20loaded_X20_X20, "CFG: loaded ", 3710273538u, 0, 13, &be_const_str_arg_size); -be_define_const_str(CFG_X3A_X20loaded_X20_X27_X25s_X27, "CFG: loaded '%s'", 1699028828u, 0, 16, &be_const_str_SERIAL_7N2); -be_define_const_str(CFG_X3A_X20loading_X20, "CFG: loading ", 4010361503u, 0, 13, &be_const_str_get_percentage); -be_define_const_str(CFG_X3A_X20loading_X20_X27_X25s_X27, "CFG: loading '%s'", 2285306097u, 0, 17, &be_const_str_SERIAL_8E2); -be_define_const_str(CFG_X3A_X20multiple_X20autoconf_X20files_X20found_X2C_X20aborting_X20_X28_X27_X25s_X27_X20_X2B_X20_X27_X25s_X27_X29, "CFG: multiple autoconf files found, aborting ('%s' + '%s')", 197663371u, 0, 58, &be_const_str_rad); -be_define_const_str(CFG_X3A_X20no_X20_X27_X2A_X2Eautoconf_X27_X20file_X20found, "CFG: no '*.autoconf' file found", 127493957u, 0, 31, &be_const_str_web_sensor); -be_define_const_str(CFG_X3A_X20ran_X20_X20, "CFG: ran ", 3579570472u, 0, 10, &be_const_str_SERIAL_5O2); -be_define_const_str(CFG_X3A_X20removed_X20file_X20_X27_X25s_X27, "CFG: removed file '%s'", 2048602473u, 0, 22, &be_const_str_web_send_decimal); -be_define_const_str(CFG_X3A_X20removing_X20autoconf_X20files, "CFG: removing autoconf files", 4014704970u, 0, 28, NULL); -be_define_const_str(CFG_X3A_X20removing_X20first_X20time_X20marker, "CFG: removing first time marker", 2125556683u, 0, 31, &be_const_str_arg_name); -be_define_const_str(CFG_X3A_X20return_code_X3D_X25i, "CFG: return_code=%i", 2059897320u, 0, 19, &be_const_str_set_ldo_enable); -be_define_const_str(CFG_X3A_X20running_X20, "CFG: running ", 2478334534u, 0, 13, NULL); -be_define_const_str(CFG_X3A_X20skipping_X20_X27display_X2Eini_X27_X20because_X20already_X20present_X20in_X20file_X2Dsystem, "CFG: skipping 'display.ini' because already present in file-system", 3965549264u, 0, 66, &be_const_str_set_first_time); -be_define_const_str(COLOR_BLACK, "COLOR_BLACK", 264427940u, 0, 11, &be_const_str_refr_size); -be_define_const_str(COLOR_WHITE, "COLOR_WHITE", 2536871270u, 0, 11, &be_const_str_stop); -be_define_const_str(EC_C25519, "EC_C25519", 95492591u, 0, 9, &be_const_str_elif); -be_define_const_str(EVENT_DRAW_MAIN, "EVENT_DRAW_MAIN", 1955620614u, 0, 15, &be_const_str_web_add_management_button); -be_define_const_str(EVENT_DRAW_PART_BEGIN, "EVENT_DRAW_PART_BEGIN", 3391865024u, 0, 21, &be_const_str__X7B); -be_define_const_str(EVENT_DRAW_PART_END, "EVENT_DRAW_PART_END", 3301625292u, 0, 19, &be_const_str_files); -be_define_const_str(False, "False", 2541049336u, 0, 5, &be_const_str_draw_line); -be_define_const_str(GET, "GET", 2531704439u, 0, 3, NULL); -be_define_const_str(HTTP_GET, "HTTP_GET", 1722467738u, 0, 8, &be_const_str_json_append); -be_define_const_str(HTTP_POST, "HTTP_POST", 1999554144u, 0, 9, &be_const_str_log); -be_define_const_str(I2C_X3A, "I2C:", 813483371u, 0, 4, &be_const_str_copy); -be_define_const_str(I2C_Driver, "I2C_Driver", 1714501658u, 0, 10, &be_const_str__energy); -be_define_const_str(LVG_X3A_X20call_X20to_X20unsupported_X20callback, "LVG: call to unsupported callback", 504176819u, 0, 33, &be_const_str_getbits); -be_define_const_str(Leds, "Leds", 2709245275u, 0, 4, NULL); -be_define_const_str(MD5, "MD5", 1935726387u, 0, 3, &be_const_str_write8); -be_define_const_str(No_X20callback_X20available, "No callback available", 633786138u, 0, 21, &be_const_str_atan); -be_define_const_str(None, "None", 810547195u, 0, 4, &be_const_str_widget_editable); -be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_get_object_from_ptr); -be_define_const_str(OneWire, "OneWire", 2298990722u, 0, 7, &be_const_str_f); -be_define_const_str(PART_MAIN, "PART_MAIN", 2473491508u, 0, 9, NULL); -be_define_const_str(POST, "POST", 1929554311u, 0, 4, &be_const_str_p1); -be_define_const_str(Parameter_X20error, "Parameter error", 3840042038u, 0, 15, &be_const_str_format); -be_define_const_str(RES_OK, "RES_OK", 1233817284u, 0, 6, &be_const_str_https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_manifest_X2Ejson); -be_define_const_str(Restart_X201, "Restart 1", 3504455855u, 0, 9, NULL); -be_define_const_str(SERIAL_5E1, "SERIAL_5E1", 1163775235u, 0, 10, NULL); -be_define_const_str(SERIAL_5E2, "SERIAL_5E2", 1180552854u, 0, 10, &be_const_str_acos); +be_define_const_str(AudioGeneratorMP3, "AudioGeneratorMP3", 2199818488u, 0, 17, &be_const_str_remove_cmd); +be_define_const_str(AudioGeneratorWAV, "AudioGeneratorWAV", 2746509368u, 0, 17, &be_const_str_SERIAL_7E1); +be_define_const_str(AudioOutput, "AudioOutput", 3257792048u, 0, 11, &be_const_str_wire); +be_define_const_str(AudioOutputI2S, "AudioOutputI2S", 638031784u, 0, 14, NULL); +be_define_const_str(Auto_X2Dconfiguration, "Auto-configuration", 1665006109u, 0, 18, &be_const_str_Tasmota); +be_define_const_str(BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20, "BRY: ERROR, bad json: ", 2715135809u, 0, 22, &be_const_str_I2C_X3A); +be_define_const_str(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, "BRY: Exception> '%s' - %s", 2246990964u, 0, 25, NULL); +be_define_const_str(BRY_X3A_X20could_X20not_X20save_X20compiled_X20file_X20_X25s_X20_X28_X25s_X29, "BRY: could not save compiled file %s (%s)", 736659787u, 0, 41, &be_const_str_bri); +be_define_const_str(BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson, "BRY: failed to load _persist.json", 2991913445u, 0, 33, &be_const_str_target); +be_define_const_str(BUTTON_CONFIGURATION, "BUTTON_CONFIGURATION", 70820856u, 0, 20, &be_const_str_SERIAL_5O1); +be_define_const_str(CFG_X3A_X20_X27init_X2Ebat_X27_X20done_X2C_X20restarting, "CFG: 'init.bat' done, restarting", 1569670677u, 0, 32, &be_const_str_delay); +be_define_const_str(CFG_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, "CFG: Exception> '%s' - %s", 1228874553u, 0, 25, &be_const_str__p); +be_define_const_str(CFG_X3A_X20could_X20not_X20run_X20_X25s_X20_X28_X25s_X20_X2D_X20_X25s_X29, "CFG: could not run %s (%s - %s)", 1428829580u, 0, 31, &be_const_str_arg_X20must_X20be_X20a_X20subclass_X20of_X20lv_obj); +be_define_const_str(CFG_X3A_X20downloading_X20_X27_X25s_X27, "CFG: downloading '%s'", 589480701u, 0, 21, &be_const_str_add_header); +be_define_const_str(CFG_X3A_X20exception_X20_X27_X25s_X27_X20_X2D_X20_X27_X25s_X27, "CFG: exception '%s' - '%s'", 4095407913u, 0, 26, &be_const_str_Tele); +be_define_const_str(CFG_X3A_X20loaded_X20_X20, "CFG: loaded ", 3710273538u, 0, 13, NULL); +be_define_const_str(CFG_X3A_X20loaded_X20_X27_X25s_X27, "CFG: loaded '%s'", 1699028828u, 0, 16, &be_const_str_fromb64); +be_define_const_str(CFG_X3A_X20loading_X20, "CFG: loading ", 4010361503u, 0, 13, &be_const_str_floor); +be_define_const_str(CFG_X3A_X20loading_X20_X27_X25s_X27, "CFG: loading '%s'", 2285306097u, 0, 17, &be_const_str_Timer); +be_define_const_str(CFG_X3A_X20multiple_X20autoconf_X20files_X20found_X2C_X20aborting_X20_X28_X27_X25s_X27_X20_X2B_X20_X27_X25s_X27_X29, "CFG: multiple autoconf files found, aborting ('%s' + '%s')", 197663371u, 0, 58, &be_const_str_content_stop); +be_define_const_str(CFG_X3A_X20no_X20_X27_X2A_X2Eautoconf_X27_X20file_X20found, "CFG: no '*.autoconf' file found", 127493957u, 0, 31, &be_const_str_byte); +be_define_const_str(CFG_X3A_X20ran_X20_X20, "CFG: ran ", 3579570472u, 0, 10, &be_const_str_draw_line_dsc_init); +be_define_const_str(CFG_X3A_X20removed_X20file_X20_X27_X25s_X27, "CFG: removed file '%s'", 2048602473u, 0, 22, &be_const_str_pixel_size); +be_define_const_str(CFG_X3A_X20removing_X20autoconf_X20files, "CFG: removing autoconf files", 4014704970u, 0, 28, &be_const_str_issubclass); +be_define_const_str(CFG_X3A_X20removing_X20first_X20time_X20marker, "CFG: removing first time marker", 2125556683u, 0, 31, NULL); +be_define_const_str(CFG_X3A_X20return_code_X3D_X25i, "CFG: return_code=%i", 2059897320u, 0, 19, &be_const_str_get_option); +be_define_const_str(CFG_X3A_X20running_X20, "CFG: running ", 2478334534u, 0, 13, &be_const_str_get_vbus_voltage); +be_define_const_str(CFG_X3A_X20skipping_X20_X27display_X2Eini_X27_X20because_X20already_X20present_X20in_X20file_X2Dsystem, "CFG: skipping 'display.ini' because already present in file-system", 3965549264u, 0, 66, &be_const_str_create_custom_widget); +be_define_const_str(COLOR_BLACK, "COLOR_BLACK", 264427940u, 0, 11, &be_const_str_SERIAL_6N2); +be_define_const_str(COLOR_WHITE, "COLOR_WHITE", 2536871270u, 0, 11, &be_const_str_wd); +be_define_const_str(EC_C25519, "EC_C25519", 95492591u, 0, 9, &be_const_str__filename); +be_define_const_str(EVENT_DRAW_MAIN, "EVENT_DRAW_MAIN", 1955620614u, 0, 15, &be_const_str_from_to); +be_define_const_str(EVENT_DRAW_PART_BEGIN, "EVENT_DRAW_PART_BEGIN", 3391865024u, 0, 21, NULL); +be_define_const_str(EVENT_DRAW_PART_END, "EVENT_DRAW_PART_END", 3301625292u, 0, 19, &be_const_str_set_pixel_color); +be_define_const_str(False, "False", 2541049336u, 0, 5, &be_const_str_get_style_line_color); +be_define_const_str(GET, "GET", 2531704439u, 0, 3, &be_const_str_SERIAL_5N1); +be_define_const_str(HTTP_GET, "HTTP_GET", 1722467738u, 0, 8, &be_const_str_dac_voltage); +be_define_const_str(HTTP_POST, "HTTP_POST", 1999554144u, 0, 9, &be_const_str_widget_event_impl); +be_define_const_str(I2C_X3A, "I2C:", 813483371u, 0, 4, &be_const_str_WS2812); +be_define_const_str(I2C_Driver, "I2C_Driver", 1714501658u, 0, 10, &be_const_str_SERIAL_5O2); +be_define_const_str(LVG_X3A_X20call_X20to_X20unsupported_X20callback, "LVG: call to unsupported callback", 504176819u, 0, 33, &be_const_str__end_transmission); +be_define_const_str(Leds, "Leds", 2709245275u, 0, 4, &be_const_str_display_X2Eini); +be_define_const_str(MD5, "MD5", 1935726387u, 0, 3, NULL); +be_define_const_str(No_X20callback_X20available, "No callback available", 633786138u, 0, 21, &be_const_str_point); +be_define_const_str(None, "None", 810547195u, 0, 4, &be_const_str_day); +be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_isnan); +be_define_const_str(OneWire, "OneWire", 2298990722u, 0, 7, &be_const_str_is_first_time); +be_define_const_str(PART_MAIN, "PART_MAIN", 2473491508u, 0, 9, &be_const_str__ccmd); +be_define_const_str(POST, "POST", 1929554311u, 0, 4, &be_const_str_getbits); +be_define_const_str(Parameter_X20error, "Parameter error", 3840042038u, 0, 15, NULL); +be_define_const_str(RES_OK, "RES_OK", 1233817284u, 0, 6, &be_const_str_k); +be_define_const_str(Restart_X201, "Restart 1", 3504455855u, 0, 9, &be_const_str_year); +be_define_const_str(SERIAL_5E1, "SERIAL_5E1", 1163775235u, 0, 10, &be_const_str_SERIAL_8N1); +be_define_const_str(SERIAL_5E2, "SERIAL_5E2", 1180552854u, 0, 10, &be_const_str_SERIAL_8N2); be_define_const_str(SERIAL_5N1, "SERIAL_5N1", 3313031680u, 0, 10, NULL); -be_define_const_str(SERIAL_5N2, "SERIAL_5N2", 3363364537u, 0, 10, &be_const_str__settings_def); -be_define_const_str(SERIAL_5O1, "SERIAL_5O1", 3782657917u, 0, 10, NULL); -be_define_const_str(SERIAL_5O2, "SERIAL_5O2", 3732325060u, 0, 10, &be_const_str_color); -be_define_const_str(SERIAL_6E1, "SERIAL_6E1", 334249486u, 0, 10, &be_const_str_is_first_time); -be_define_const_str(SERIAL_6E2, "SERIAL_6E2", 317471867u, 0, 10, NULL); -be_define_const_str(SERIAL_6N1, "SERIAL_6N1", 198895701u, 0, 10, &be_const_str_back_forth); -be_define_const_str(SERIAL_6N2, "SERIAL_6N2", 148562844u, 0, 10, &be_const_str__global_def); -be_define_const_str(SERIAL_6O1, "SERIAL_6O1", 266153272u, 0, 10, &be_const_str_iter); -be_define_const_str(SERIAL_6O2, "SERIAL_6O2", 316486129u, 0, 10, &be_const_str_get_vbus_current); -be_define_const_str(SERIAL_7E1, "SERIAL_7E1", 147718061u, 0, 10, &be_const_str_addr); -be_define_const_str(SERIAL_7E2, "SERIAL_7E2", 97385204u, 0, 10, &be_const_str__X7D); -be_define_const_str(SERIAL_7N1, "SERIAL_7N1", 1891060246u, 0, 10, &be_const_str_sin); -be_define_const_str(SERIAL_7N2, "SERIAL_7N2", 1874282627u, 0, 10, &be_const_str_nan); -be_define_const_str(SERIAL_7O1, "SERIAL_7O1", 1823802675u, 0, 10, &be_const_str_geti); -be_define_const_str(SERIAL_7O2, "SERIAL_7O2", 1840580294u, 0, 10, &be_const_str__filename); -be_define_const_str(SERIAL_8E1, "SERIAL_8E1", 2371121616u, 0, 10, &be_const_str_json_fdump_any); -be_define_const_str(SERIAL_8E2, "SERIAL_8E2", 2421454473u, 0, 10, &be_const_str_draw_line_dsc_init); -be_define_const_str(SERIAL_8N1, "SERIAL_8N1", 2369297235u, 0, 10, &be_const_str_SK6812_GRBW); -be_define_const_str(SERIAL_8N2, "SERIAL_8N2", 2386074854u, 0, 10, &be_const_str_digital_write); -be_define_const_str(SERIAL_8O1, "SERIAL_8O1", 289122742u, 0, 10, NULL); -be_define_const_str(SERIAL_8O2, "SERIAL_8O2", 272345123u, 0, 10, &be_const_str_attrdump); -be_define_const_str(SK6812_GRBW, "SK6812_GRBW", 81157857u, 0, 11, NULL); -be_define_const_str(STATE_DEFAULT, "STATE_DEFAULT", 712406428u, 0, 13, &be_const_str_y); -be_define_const_str(TAP_X3A_X20found_X20Tasmota_X20App_X20_X27_X25s_X27, "TAP: found Tasmota App '%s'", 2643152398u, 0, 27, NULL); -be_define_const_str(Tasmota, "Tasmota", 4047617668u, 0, 7, &be_const_str_flush); -be_define_const_str(Tele, "Tele", 1329980653u, 0, 4, &be_const_str_setbits); -be_define_const_str(Timer, "Timer", 3948127682u, 0, 5, &be_const_str__buffer); -be_define_const_str(True, "True", 3453902341u, 0, 4, &be_const_str__X5D); -be_define_const_str(Unknown_X20command, "Unknown command", 1830905432u, 0, 15, &be_const_str_https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_X2F_X25s_X2Eautoconf); -be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, &be_const_str__error); -be_define_const_str(WS2812_GRB, "WS2812_GRB", 1736405692u, 0, 10, &be_const_str_create_segment); -be_define_const_str(Wire, "Wire", 1938276536u, 0, 4, &be_const_str_read24); -be_define_const_str(_X5B, "[", 3725336506u, 0, 1, &be_const_str_set_useragent); -be_define_const_str(_X5D, "]", 3624670792u, 0, 1, &be_const_str_add_rule); -be_define_const_str(_, "_", 3658226030u, 0, 1, NULL); -be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str_resp_cmnd); -be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, &be_const_str_clear); -be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, NULL); -be_define_const_str(_anonymous_, "_anonymous_", 1957281476u, 0, 11, &be_const_str_out_X20of_X20range); -be_define_const_str(_archive, "_archive", 4004559404u, 0, 8, NULL); -be_define_const_str(_available, "_available", 1306196581u, 0, 10, NULL); -be_define_const_str(_begin_transmission, "_begin_transmission", 2779461176u, 0, 19, &be_const_str_deg); -be_define_const_str(_buffer, "_buffer", 2044888568u, 0, 7, &be_const_str_exec_tele); -be_define_const_str(_cb, "_cb", 4043300367u, 0, 3, &be_const_str_save_before_restart); -be_define_const_str(_ccmd, "_ccmd", 2163421413u, 0, 5, &be_const_str_count); -be_define_const_str(_class, "_class", 2732146350u, 0, 6, &be_const_str_strip); -be_define_const_str(_cmd, "_cmd", 3419822142u, 0, 4, &be_const_str_clear_first_time); -be_define_const_str(_debug_present, "_debug_present", 4063411725u, 0, 14, &be_const_str_input); -be_define_const_str(_def, "_def", 1985022181u, 0, 4, &be_const_str__write); -be_define_const_str(_dirty, "_dirty", 283846766u, 0, 6, &be_const_str_setitem); -be_define_const_str(_drivers, "_drivers", 3260328985u, 0, 8, &be_const_str_imax); -be_define_const_str(_end_transmission, "_end_transmission", 3237480400u, 0, 17, &be_const_str_content_send); -be_define_const_str(_energy, "_energy", 535372070u, 0, 7, &be_const_str_public_key); -be_define_const_str(_error, "_error", 1132109656u, 0, 6, &be_const_str_member); -be_define_const_str(_filename, "_filename", 1430813195u, 0, 9, &be_const_str_zip); -be_define_const_str(_get_cb, "_get_cb", 1448849122u, 0, 7, &be_const_str_area); -be_define_const_str(_global_addr, "_global_addr", 533766721u, 0, 12, &be_const_str_math); -be_define_const_str(_global_def, "_global_def", 646007001u, 0, 11, &be_const_str_chars_in_string); -be_define_const_str(_lvgl, "_lvgl", 2689219483u, 0, 5, &be_const_str_ins_goto); -be_define_const_str(_p, "_p", 1594591802u, 0, 2, &be_const_str_get_input_power_status); -be_define_const_str(_persist_X2Ejson, "_persist.json", 2008425138u, 0, 13, &be_const_str_number); +be_define_const_str(SERIAL_5N2, "SERIAL_5N2", 3363364537u, 0, 10, &be_const_str_read_sensors); +be_define_const_str(SERIAL_5O1, "SERIAL_5O1", 3782657917u, 0, 10, &be_const_str_return); +be_define_const_str(SERIAL_5O2, "SERIAL_5O2", 3732325060u, 0, 10, &be_const_str__t); +be_define_const_str(SERIAL_6E1, "SERIAL_6E1", 334249486u, 0, 10, NULL); +be_define_const_str(SERIAL_6E2, "SERIAL_6E2", 317471867u, 0, 10, &be_const_str_digital_write); +be_define_const_str(SERIAL_6N1, "SERIAL_6N1", 198895701u, 0, 10, &be_const_str__X5D); +be_define_const_str(SERIAL_6N2, "SERIAL_6N2", 148562844u, 0, 10, &be_const_str__settings_def); +be_define_const_str(SERIAL_6O1, "SERIAL_6O1", 266153272u, 0, 10, &be_const_str_couldn_X27t_X20not_X20initialize_X20noepixelbus); +be_define_const_str(SERIAL_6O2, "SERIAL_6O2", 316486129u, 0, 10, &be_const_str_deregister_obj); +be_define_const_str(SERIAL_7E1, "SERIAL_7E1", 147718061u, 0, 10, &be_const_str_call); +be_define_const_str(SERIAL_7E2, "SERIAL_7E2", 97385204u, 0, 10, &be_const_str_global); +be_define_const_str(SERIAL_7N1, "SERIAL_7N1", 1891060246u, 0, 10, &be_const_str_encrypt); +be_define_const_str(SERIAL_7N2, "SERIAL_7N2", 1874282627u, 0, 10, &be_const_str_alternate); +be_define_const_str(SERIAL_7O1, "SERIAL_7O1", 1823802675u, 0, 10, NULL); +be_define_const_str(SERIAL_7O2, "SERIAL_7O2", 1840580294u, 0, 10, &be_const_str_arch); +be_define_const_str(SERIAL_8E1, "SERIAL_8E1", 2371121616u, 0, 10, &be_const_str__available); +be_define_const_str(SERIAL_8E2, "SERIAL_8E2", 2421454473u, 0, 10, NULL); +be_define_const_str(SERIAL_8N1, "SERIAL_8N1", 2369297235u, 0, 10, &be_const_str_imin); +be_define_const_str(SERIAL_8N2, "SERIAL_8N2", 2386074854u, 0, 10, &be_const_str_gen_cb); +be_define_const_str(SERIAL_8O1, "SERIAL_8O1", 289122742u, 0, 10, &be_const_str_return_X20code_X3D_X25i); +be_define_const_str(SERIAL_8O2, "SERIAL_8O2", 272345123u, 0, 10, &be_const_str_tag); +be_define_const_str(SK6812_GRBW, "SK6812_GRBW", 81157857u, 0, 11, &be_const_str_item); +be_define_const_str(STATE_DEFAULT, "STATE_DEFAULT", 712406428u, 0, 13, &be_const_str_pop); +be_define_const_str(TAP_X3A_X20found_X20Tasmota_X20App_X20_X27_X25s_X27, "TAP: found Tasmota App '%s'", 2643152398u, 0, 27, &be_const_str_closure); +be_define_const_str(Tasmota, "Tasmota", 4047617668u, 0, 7, &be_const_str_dump); +be_define_const_str(Tele, "Tele", 1329980653u, 0, 4, &be_const_str_f); +be_define_const_str(Timer, "Timer", 3948127682u, 0, 5, &be_const_str_check_privileged_access); +be_define_const_str(True, "True", 3453902341u, 0, 4, &be_const_str_hs2rgb); +be_define_const_str(Unknown_X20command, "Unknown command", 1830905432u, 0, 15, &be_const_str_map); +be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, NULL); +be_define_const_str(WS2812_GRB, "WS2812_GRB", 1736405692u, 0, 10, NULL); +be_define_const_str(Wire, "Wire", 1938276536u, 0, 4, NULL); +be_define_const_str(_X5B, "[", 3725336506u, 0, 1, &be_const_str_get_object_from_ptr); +be_define_const_str(_X5D, "]", 3624670792u, 0, 1, &be_const_str_x1); +be_define_const_str(_, "_", 3658226030u, 0, 1, &be_const_str_widget_struct_by_class); +be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str_asin); +be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, &be_const_str_public_key); +be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, &be_const_str_class_init_obj); +be_define_const_str(_anonymous_, "_anonymous_", 1957281476u, 0, 11, &be_const_str_matrix); +be_define_const_str(_archive, "_archive", 4004559404u, 0, 8, &be_const_str_isrunning); +be_define_const_str(_available, "_available", 1306196581u, 0, 10, &be_const_str_setitem); +be_define_const_str(_begin_transmission, "_begin_transmission", 2779461176u, 0, 19, NULL); +be_define_const_str(_buffer, "_buffer", 2044888568u, 0, 7, &be_const_str_seti); +be_define_const_str(_cb, "_cb", 4043300367u, 0, 3, &be_const_str_copy); +be_define_const_str(_ccmd, "_ccmd", 2163421413u, 0, 5, &be_const_str_enabled); +be_define_const_str(_class, "_class", 2732146350u, 0, 6, &be_const_str__dirty); +be_define_const_str(_cmd, "_cmd", 3419822142u, 0, 4, &be_const_str_nan); +be_define_const_str(_debug_present, "_debug_present", 4063411725u, 0, 14, NULL); +be_define_const_str(_def, "_def", 1985022181u, 0, 4, NULL); +be_define_const_str(_dirty, "_dirty", 283846766u, 0, 6, &be_const_str_content_start); +be_define_const_str(_drivers, "_drivers", 3260328985u, 0, 8, &be_const_str_del); +be_define_const_str(_end_transmission, "_end_transmission", 3237480400u, 0, 17, &be_const_str_math); +be_define_const_str(_energy, "_energy", 535372070u, 0, 7, &be_const_str_reduce); +be_define_const_str(_error, "_error", 1132109656u, 0, 6, NULL); +be_define_const_str(_filename, "_filename", 1430813195u, 0, 9, NULL); +be_define_const_str(_get_cb, "_get_cb", 1448849122u, 0, 7, &be_const_str_begin); +be_define_const_str(_global_addr, "_global_addr", 533766721u, 0, 12, &be_const_str_add_rule); +be_define_const_str(_global_def, "_global_def", 646007001u, 0, 11, &be_const_str_destructor_cb); +be_define_const_str(_lvgl, "_lvgl", 2689219483u, 0, 5, NULL); +be_define_const_str(_p, "_p", 1594591802u, 0, 2, &be_const_str_scan); +be_define_const_str(_persist_X2Ejson, "_persist.json", 2008425138u, 0, 13, NULL); be_define_const_str(_ptr, "_ptr", 306235816u, 0, 4, NULL); -be_define_const_str(_read, "_read", 346717030u, 0, 5, NULL); -be_define_const_str(_request_from, "_request_from", 3965148604u, 0, 13, &be_const_str_point); -be_define_const_str(_rules, "_rules", 4266217105u, 0, 6, &be_const_str_find); -be_define_const_str(_settings_def, "_settings_def", 3775560307u, 0, 13, &be_const_str_content_stop); -be_define_const_str(_settings_ptr, "_settings_ptr", 1825772182u, 0, 13, &be_const_str_local); -be_define_const_str(_t, "_t", 1527481326u, 0, 2, NULL); -be_define_const_str(_timers, "_timers", 2600100916u, 0, 7, &be_const_str_set_style_line_color); -be_define_const_str(_write, "_write", 2215462825u, 0, 6, NULL); -be_define_const_str(a, "a", 3826002220u, 0, 1, &be_const_str_cmd_res); +be_define_const_str(_read, "_read", 346717030u, 0, 5, &be_const_str_calldepth); +be_define_const_str(_request_from, "_request_from", 3965148604u, 0, 13, &be_const_str_set_x); +be_define_const_str(_rules, "_rules", 4266217105u, 0, 6, NULL); +be_define_const_str(_settings_def, "_settings_def", 3775560307u, 0, 13, &be_const_str_offseta); +be_define_const_str(_settings_ptr, "_settings_ptr", 1825772182u, 0, 13, &be_const_str_event_send); +be_define_const_str(_t, "_t", 1527481326u, 0, 2, &be_const_str_resolvecmnd); +be_define_const_str(_timers, "_timers", 2600100916u, 0, 7, &be_const_str_add); +be_define_const_str(_write, "_write", 2215462825u, 0, 6, &be_const_str_read12); +be_define_const_str(a, "a", 3826002220u, 0, 1, &be_const_str_get_string); be_define_const_str(abs, "abs", 709362235u, 0, 3, NULL); -be_define_const_str(acos, "acos", 1006755615u, 0, 4, &be_const_str_content_flush); -be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_rtc); -be_define_const_str(add_anim, "add_anim", 3980662668u, 0, 8, &be_const_str_lv); -be_define_const_str(add_cmd, "add_cmd", 3361630879u, 0, 7, &be_const_str_instance); -be_define_const_str(add_driver, "add_driver", 1654458371u, 0, 10, &be_const_str_content_button); -be_define_const_str(add_header, "add_header", 927130612u, 0, 10, NULL); -be_define_const_str(add_rule, "add_rule", 596540743u, 0, 8, &be_const_str_finish); -be_define_const_str(addr, "addr", 1087856498u, 0, 4, NULL); -be_define_const_str(allocated, "allocated", 429986098u, 0, 9, &be_const_str_check_privileged_access); +be_define_const_str(acos, "acos", 1006755615u, 0, 4, &be_const_str_def); +be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_zero); +be_define_const_str(add_anim, "add_anim", 3980662668u, 0, 8, &be_const_str_content_flush); +be_define_const_str(add_cmd, "add_cmd", 3361630879u, 0, 7, NULL); +be_define_const_str(add_driver, "add_driver", 1654458371u, 0, 10, &be_const_str_atan2); +be_define_const_str(add_header, "add_header", 927130612u, 0, 10, &be_const_str_set_percentage); +be_define_const_str(add_rule, "add_rule", 596540743u, 0, 8, &be_const_str_call_native); +be_define_const_str(addr, "addr", 1087856498u, 0, 4, &be_const_str_create_matrix); +be_define_const_str(allocated, "allocated", 429986098u, 0, 9, &be_const_str_toptr); be_define_const_str(alternate, "alternate", 1140253277u, 0, 9, NULL); -be_define_const_str(animate, "animate", 3885786800u, 0, 7, &be_const_str_hex); -be_define_const_str(animators, "animators", 279858213u, 0, 9, &be_const_str_bool); -be_define_const_str(arch, "arch", 2952804297u, 0, 4, &be_const_str_deregister_obj); -be_define_const_str(area, "area", 2601460036u, 0, 4, &be_const_str_ins_ramp); -be_define_const_str(arg, "arg", 1047474471u, 0, 3, &be_const_str_webserver); -be_define_const_str(arg_X20must_X20be_X20a_X20subclass_X20of_X20lv_obj, "arg must be a subclass of lv_obj", 1641882079u, 0, 32, &be_const_str_tasmota); -be_define_const_str(arg_name, "arg_name", 1345046155u, 0, 8, NULL); -be_define_const_str(arg_size, "arg_size", 3310243257u, 0, 8, &be_const_str_compile); +be_define_const_str(animate, "animate", 3885786800u, 0, 7, &be_const_str_function); +be_define_const_str(animators, "animators", 279858213u, 0, 9, &be_const_str_traceback); +be_define_const_str(arch, "arch", 2952804297u, 0, 4, NULL); +be_define_const_str(area, "area", 2601460036u, 0, 4, &be_const_str_find); +be_define_const_str(arg, "arg", 1047474471u, 0, 3, NULL); +be_define_const_str(arg_X20must_X20be_X20a_X20subclass_X20of_X20lv_obj, "arg must be a subclass of lv_obj", 1641882079u, 0, 32, &be_const_str_as); +be_define_const_str(arg_name, "arg_name", 1345046155u, 0, 8, &be_const_str_widget_height_def); +be_define_const_str(arg_size, "arg_size", 3310243257u, 0, 8, NULL); be_define_const_str(as, "as", 1579491469u, 67, 2, NULL); -be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_dac_voltage); -be_define_const_str(assert, "assert", 2774883451u, 0, 6, &be_const_str_ctor); -be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, &be_const_str_size); -be_define_const_str(atan, "atan", 108579519u, 0, 4, NULL); -be_define_const_str(atan2, "atan2", 3173440503u, 0, 5, &be_const_str_close); -be_define_const_str(atleast1, "atleast1", 1956331672u, 0, 8, &be_const_str_from_to); -be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_calldepth); -be_define_const_str(autoexec, "autoexec", 3676861891u, 0, 8, &be_const_str_v); -be_define_const_str(autorun, "autorun", 1447527407u, 0, 7, NULL); -be_define_const_str(available, "available", 1727918744u, 0, 9, &be_const_str_publish); +be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_get_current_module_name); +be_define_const_str(assert, "assert", 2774883451u, 0, 6, &be_const_str_display); +be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, &be_const_str_get_temp); +be_define_const_str(atan, "atan", 108579519u, 0, 4, &be_const_str_publish); +be_define_const_str(atan2, "atan2", 3173440503u, 0, 5, &be_const_str_json_fdump_list); +be_define_const_str(atleast1, "atleast1", 1956331672u, 0, 8, &be_const_str_exp); +be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_cb_do_nothing); +be_define_const_str(autoexec, "autoexec", 3676861891u, 0, 8, &be_const_str_cmd_res); +be_define_const_str(autorun, "autorun", 1447527407u, 0, 7, &be_const_str_log); +be_define_const_str(available, "available", 1727918744u, 0, 9, NULL); be_define_const_str(b, "b", 3876335077u, 0, 1, &be_const_str_get_bri); -be_define_const_str(back_forth, "back_forth", 2665042062u, 0, 10, &be_const_str_toptr); -be_define_const_str(base_class, "base_class", 1107737279u, 0, 10, &be_const_str_get_string); -be_define_const_str(battery_present, "battery_present", 3588397058u, 0, 15, &be_const_str_day); -be_define_const_str(begin, "begin", 1748273790u, 0, 5, NULL); -be_define_const_str(bool, "bool", 3365180733u, 0, 4, NULL); +be_define_const_str(back_forth, "back_forth", 2665042062u, 0, 10, &be_const_str_debug); +be_define_const_str(base_class, "base_class", 1107737279u, 0, 10, &be_const_str_is_running); +be_define_const_str(battery_present, "battery_present", 3588397058u, 0, 15, NULL); +be_define_const_str(begin, "begin", 1748273790u, 0, 5, &be_const_str_char); +be_define_const_str(bool, "bool", 3365180733u, 0, 4, &be_const_str_log10); be_define_const_str(break, "break", 3378807160u, 58, 5, NULL); -be_define_const_str(bri, "bri", 2112284244u, 0, 3, &be_const_str_get_warning_level); -be_define_const_str(bus, "bus", 1607822841u, 0, 3, &be_const_str_false); -be_define_const_str(button_pressed, "button_pressed", 1694209616u, 0, 14, NULL); -be_define_const_str(byte, "byte", 1683620383u, 0, 4, &be_const_str_load_templates); -be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, NULL); -be_define_const_str(c, "c", 3859557458u, 0, 1, NULL); -be_define_const_str(call, "call", 3018949801u, 0, 4, &be_const_str_round_start); -be_define_const_str(call_native, "call_native", 1389147405u, 0, 11, &be_const_str_delete_all_configs); -be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, NULL); -be_define_const_str(can_show, "can_show", 960091187u, 0, 8, &be_const_str_pin_mode); -be_define_const_str(cb_dispatch, "cb_dispatch", 1741510499u, 0, 11, &be_const_str_register_obj); -be_define_const_str(cb_do_nothing, "cb_do_nothing", 1488730702u, 0, 13, NULL); -be_define_const_str(cb_event_closure, "cb_event_closure", 3828267325u, 0, 16, &be_const_str_remove_driver); +be_define_const_str(bri, "bri", 2112284244u, 0, 3, &be_const_str_set_style_pad_right); +be_define_const_str(bus, "bus", 1607822841u, 0, 3, &be_const_str_minute); +be_define_const_str(button_pressed, "button_pressed", 1694209616u, 0, 14, &be_const_str_editable); +be_define_const_str(byte, "byte", 1683620383u, 0, 4, &be_const_str_set_timeouts); +be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, &be_const_str_read); +be_define_const_str(c, "c", 3859557458u, 0, 1, &be_const_str_state); +be_define_const_str(call, "call", 3018949801u, 0, 4, &be_const_str_get_coords); +be_define_const_str(call_native, "call_native", 1389147405u, 0, 11, &be_const_str_read8); +be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, &be_const_str__X7Bs_X7DVBus_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D); +be_define_const_str(can_show, "can_show", 960091187u, 0, 8, &be_const_str_month); +be_define_const_str(cb_dispatch, "cb_dispatch", 1741510499u, 0, 11, &be_const_str_offset); +be_define_const_str(cb_do_nothing, "cb_do_nothing", 1488730702u, 0, 13, &be_const_str_contains); +be_define_const_str(cb_event_closure, "cb_event_closure", 3828267325u, 0, 16, &be_const_str_onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20change_X20the_X20current_X20configuration_X20and_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E); be_define_const_str(cb_obj, "cb_obj", 1195696482u, 0, 6, NULL); be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, NULL); -be_define_const_str(char, "char", 2823553821u, 0, 4, &be_const_str_enabled); -be_define_const_str(chars_in_string, "chars_in_string", 3148785132u, 0, 15, &be_const_str_file); -be_define_const_str(check_privileged_access, "check_privileged_access", 3692933968u, 0, 23, &be_const_str_json_fdump_map); +be_define_const_str(char, "char", 2823553821u, 0, 4, &be_const_str_every_50ms); +be_define_const_str(chars_in_string, "chars_in_string", 3148785132u, 0, 15, &be_const_str_draw_line_dsc); +be_define_const_str(check_privileged_access, "check_privileged_access", 3692933968u, 0, 23, &be_const_str_solidified); be_define_const_str(class, "class", 2872970239u, 57, 5, NULL); -be_define_const_str(class_init_obj, "class_init_obj", 178410604u, 0, 14, &be_const_str_widget_ctor_impl); +be_define_const_str(class_init_obj, "class_init_obj", 178410604u, 0, 14, NULL); be_define_const_str(classname, "classname", 1998589948u, 0, 9, NULL); -be_define_const_str(classof, "classof", 1796577762u, 0, 7, &be_const_str_json_fdump); -be_define_const_str(clear, "clear", 1550717474u, 0, 5, &be_const_str_counters); -be_define_const_str(clear_first_time, "clear_first_time", 632769909u, 0, 16, NULL); -be_define_const_str(clear_to, "clear_to", 3528002130u, 0, 8, NULL); -be_define_const_str(close, "close", 667630371u, 0, 5, &be_const_str_issubclass); -be_define_const_str(closure, "closure", 1548407746u, 0, 7, NULL); -be_define_const_str(cmd, "cmd", 4136785899u, 0, 3, NULL); -be_define_const_str(cmd_res, "cmd_res", 921166762u, 0, 7, &be_const_str_zero); -be_define_const_str(code, "code", 4180765940u, 0, 4, NULL); -be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, &be_const_str_decrypt); -be_define_const_str(collect, "collect", 2399039025u, 0, 7, &be_const_str_fromb64); -be_define_const_str(color, "color", 1031692888u, 0, 5, &be_const_str_debug); -be_define_const_str(compile, "compile", 1000265118u, 0, 7, &be_const_str_page_autoconf_ctl); -be_define_const_str(compress, "compress", 2818084237u, 0, 8, &be_const_str_has_arg); -be_define_const_str(concat, "concat", 4124019837u, 0, 6, &be_const_str_raise); -be_define_const_str(connection_error, "connection_error", 1358926260u, 0, 16, &be_const_str_strftime); -be_define_const_str(constructor_cb, "constructor_cb", 2489105297u, 0, 14, NULL); -be_define_const_str(contains, "contains", 1825239352u, 0, 8, NULL); -be_define_const_str(content_button, "content_button", 1956476087u, 0, 14, NULL); -be_define_const_str(content_flush, "content_flush", 214922475u, 0, 13, &be_const_str_except); -be_define_const_str(content_send, "content_send", 1673733649u, 0, 12, &be_const_str_lower); -be_define_const_str(content_send_style, "content_send_style", 1087907647u, 0, 18, &be_const_str_create_custom_widget); -be_define_const_str(content_start, "content_start", 2937509069u, 0, 13, &be_const_str_del); -be_define_const_str(content_stop, "content_stop", 658554751u, 0, 12, &be_const_str_update); +be_define_const_str(classof, "classof", 1796577762u, 0, 7, &be_const_str_gamma); +be_define_const_str(clear, "clear", 1550717474u, 0, 5, NULL); +be_define_const_str(clear_first_time, "clear_first_time", 632769909u, 0, 16, &be_const_str_get_power); +be_define_const_str(clear_to, "clear_to", 3528002130u, 0, 8, &be_const_str_tanh); +be_define_const_str(close, "close", 667630371u, 0, 5, &be_const_str_write_bit); +be_define_const_str(closure, "closure", 1548407746u, 0, 7, &be_const_str_cmd); +be_define_const_str(cmd, "cmd", 4136785899u, 0, 3, &be_const_str_get_switch); +be_define_const_str(cmd_res, "cmd_res", 921166762u, 0, 7, NULL); +be_define_const_str(code, "code", 4180765940u, 0, 4, &be_const_str_group_def); +be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, &be_const_str_members); +be_define_const_str(collect, "collect", 2399039025u, 0, 7, &be_const_str_file); +be_define_const_str(color, "color", 1031692888u, 0, 5, &be_const_str_get_width); +be_define_const_str(compile, "compile", 1000265118u, 0, 7, &be_const_str_ctypes_bytes); +be_define_const_str(compress, "compress", 2818084237u, 0, 8, &be_const_str_find_op); +be_define_const_str(concat, "concat", 4124019837u, 0, 6, &be_const_str_widget_dtor_impl); +be_define_const_str(connect, "connect", 2866859257u, 0, 7, &be_const_str_stop); +be_define_const_str(connected, "connected", 1424938192u, 0, 9, &be_const_str_obj_event_base); +be_define_const_str(connection_error, "connection_error", 1358926260u, 0, 16, &be_const_str_wifi); +be_define_const_str(constructor_cb, "constructor_cb", 2489105297u, 0, 14, &be_const_str_round_start); +be_define_const_str(contains, "contains", 1825239352u, 0, 8, &be_const_str_deinit); +be_define_const_str(content_button, "content_button", 1956476087u, 0, 14, &be_const_str_write); +be_define_const_str(content_flush, "content_flush", 214922475u, 0, 13, NULL); +be_define_const_str(content_send, "content_send", 1673733649u, 0, 12, NULL); +be_define_const_str(content_send_style, "content_send_style", 1087907647u, 0, 18, &be_const_str_is_dirty); +be_define_const_str(content_start, "content_start", 2937509069u, 0, 13, NULL); +be_define_const_str(content_stop, "content_stop", 658554751u, 0, 12, &be_const_str_line_dsc); be_define_const_str(continue, "continue", 2977070660u, 59, 8, NULL); -be_define_const_str(copy, "copy", 3848464964u, 0, 4, &be_const_str_detected_X20on_X20bus); -be_define_const_str(cos, "cos", 4220379804u, 0, 3, &be_const_str_obj_class_create_obj); -be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, &be_const_str_get_style_line_color); -be_define_const_str(couldn_X27t_X20not_X20initialize_X20noepixelbus, "couldn't not initialize noepixelbus", 2536490812u, 0, 35, &be_const_str__X7B_X7D); -be_define_const_str(count, "count", 967958004u, 0, 5, &be_const_str_hs2rgb); -be_define_const_str(counters, "counters", 4095866864u, 0, 8, &be_const_str_set_width); -be_define_const_str(create_custom_widget, "create_custom_widget", 1140594778u, 0, 20, &be_const_str_super); -be_define_const_str(create_matrix, "create_matrix", 3528185923u, 0, 13, &be_const_str_exec_cmd); -be_define_const_str(create_segment, "create_segment", 3863522719u, 0, 14, &be_const_str_reverse); -be_define_const_str(ctor, "ctor", 375399343u, 0, 4, NULL); -be_define_const_str(ctypes_bytes, "ctypes_bytes", 3879019703u, 0, 12, &be_const_str_lvgl_event_dispatch); -be_define_const_str(ctypes_bytes_dyn, "ctypes_bytes_dyn", 915205307u, 0, 16, &be_const_str_global); -be_define_const_str(dac_voltage, "dac_voltage", 1552257222u, 0, 11, &be_const_str_read12); -be_define_const_str(day, "day", 3830391293u, 0, 3, &be_const_str_fromstring); -be_define_const_str(debug, "debug", 1483009432u, 0, 5, &be_const_str_write_gpio); -be_define_const_str(decompress, "decompress", 2887031650u, 0, 10, &be_const_str_widget_event_impl); -be_define_const_str(decrypt, "decrypt", 2886974618u, 0, 7, &be_const_str_tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29); +be_define_const_str(copy, "copy", 3848464964u, 0, 4, &be_const_str_rad); +be_define_const_str(cos, "cos", 4220379804u, 0, 3, &be_const_str_start); +be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, &be_const_str_h); +be_define_const_str(couldn_X27t_X20not_X20initialize_X20noepixelbus, "couldn't not initialize noepixelbus", 2536490812u, 0, 35, NULL); +be_define_const_str(count, "count", 967958004u, 0, 5, &be_const_str_web_add_console_button); +be_define_const_str(counters, "counters", 4095866864u, 0, 8, &be_const_str_save); +be_define_const_str(create_custom_widget, "create_custom_widget", 1140594778u, 0, 20, &be_const_str_quality); +be_define_const_str(create_matrix, "create_matrix", 3528185923u, 0, 13, &be_const_str_y1); +be_define_const_str(create_segment, "create_segment", 3863522719u, 0, 14, &be_const_str_open); +be_define_const_str(ctor, "ctor", 375399343u, 0, 4, &be_const_str_push); +be_define_const_str(ctypes_bytes, "ctypes_bytes", 3879019703u, 0, 12, NULL); +be_define_const_str(ctypes_bytes_dyn, "ctypes_bytes_dyn", 915205307u, 0, 16, &be_const_str_reapply); +be_define_const_str(dac_voltage, "dac_voltage", 1552257222u, 0, 11, &be_const_str_time_reached); +be_define_const_str(day, "day", 3830391293u, 0, 3, &be_const_str_every_100ms); +be_define_const_str(debug, "debug", 1483009432u, 0, 5, &be_const_str_exec_rules); +be_define_const_str(decompress, "decompress", 2887031650u, 0, 10, NULL); +be_define_const_str(decrypt, "decrypt", 2886974618u, 0, 7, NULL); be_define_const_str(def, "def", 3310976652u, 55, 3, NULL); -be_define_const_str(deg, "deg", 3327754271u, 0, 3, &be_const_str_get_size); -be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, &be_const_str_setmember); -be_define_const_str(del, "del", 3478752842u, 0, 3, &be_const_str_get_alternate); -be_define_const_str(delay, "delay", 1322381784u, 0, 5, &be_const_str_type); -be_define_const_str(delete_all_configs, "delete_all_configs", 2382067578u, 0, 18, NULL); -be_define_const_str(depower, "depower", 3563819571u, 0, 7, &be_const_str_event); -be_define_const_str(deregister_obj, "deregister_obj", 3909966993u, 0, 14, &be_const_str_gamma); -be_define_const_str(destructor_cb, "destructor_cb", 1930283190u, 0, 13, NULL); -be_define_const_str(detect, "detect", 8884370u, 0, 6, &be_const_str_energy_struct); -be_define_const_str(detected_X20on_X20bus, "detected on bus", 1432002650u, 0, 15, &be_const_str_p2); -be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, &be_const_str_listdir); -be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, &be_const_str_get_coords); -be_define_const_str(dirty, "dirty", 2667581083u, 0, 5, NULL); -be_define_const_str(display, "display", 1164572437u, 0, 7, NULL); +be_define_const_str(deg, "deg", 3327754271u, 0, 3, NULL); +be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, NULL); +be_define_const_str(del, "del", 3478752842u, 0, 3, NULL); +be_define_const_str(delay, "delay", 1322381784u, 0, 5, &be_const_str_run_deferred); +be_define_const_str(delete_all_configs, "delete_all_configs", 2382067578u, 0, 18, &be_const_str_wire1); +be_define_const_str(depower, "depower", 3563819571u, 0, 7, &be_const_str_get_bat_charge_current); +be_define_const_str(deregister_obj, "deregister_obj", 3909966993u, 0, 14, &be_const_str_get_alternate); +be_define_const_str(destructor_cb, "destructor_cb", 1930283190u, 0, 13, &be_const_str_p2); +be_define_const_str(detect, "detect", 8884370u, 0, 6, NULL); +be_define_const_str(detected_X20on_X20bus, "detected on bus", 1432002650u, 0, 15, &be_const_str_run); +be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, NULL); +be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, &be_const_str_gamma8); +be_define_const_str(dirty, "dirty", 2667581083u, 0, 5, &be_const_str_pop_path); +be_define_const_str(display, "display", 1164572437u, 0, 7, &be_const_str_finish); be_define_const_str(display_X2Eini, "display.ini", 2646174001u, 0, 11, NULL); be_define_const_str(do, "do", 1646057492u, 65, 2, NULL); -be_define_const_str(draw_arc, "draw_arc", 1828251676u, 0, 8, NULL); -be_define_const_str(draw_line, "draw_line", 1634465686u, 0, 9, &be_const_str_tomap); -be_define_const_str(draw_line_dsc, "draw_line_dsc", 4220676203u, 0, 13, &be_const_str_on); -be_define_const_str(draw_line_dsc_init, "draw_line_dsc_init", 3866693646u, 0, 18, &be_const_str_get_style_pad_right); -be_define_const_str(due, "due", 3895530293u, 0, 3, &be_const_str_exp); -be_define_const_str(dump, "dump", 3663001223u, 0, 4, &be_const_str_write); -be_define_const_str(duration, "duration", 799079693u, 0, 8, &be_const_str_start); -be_define_const_str(editable, "editable", 60532369u, 0, 8, NULL); +be_define_const_str(draw_arc, "draw_arc", 1828251676u, 0, 8, &be_const_str_hour); +be_define_const_str(draw_line, "draw_line", 1634465686u, 0, 9, NULL); +be_define_const_str(draw_line_dsc, "draw_line_dsc", 4220676203u, 0, 13, &be_const_str_widget_instance_size); +be_define_const_str(draw_line_dsc_init, "draw_line_dsc_init", 3866693646u, 0, 18, NULL); +be_define_const_str(due, "due", 3895530293u, 0, 3, NULL); +be_define_const_str(dump, "dump", 3663001223u, 0, 4, NULL); +be_define_const_str(duration, "duration", 799079693u, 0, 8, &be_const_str_rotate); +be_define_const_str(editable, "editable", 60532369u, 0, 8, &be_const_str_kv); be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL); -be_define_const_str(else, "else", 3183434736u, 52, 4, &be_const_str_nil); -be_define_const_str(enabled, "enabled", 49525662u, 0, 7, &be_const_str_x); -be_define_const_str(encrypt, "encrypt", 2194327650u, 0, 7, NULL); -be_define_const_str(end, "end", 1787721130u, 56, 3, &be_const_str_if); -be_define_const_str(energy_struct, "energy_struct", 1655792843u, 0, 13, &be_const_str_last_modified); -be_define_const_str(engine, "engine", 3993360443u, 0, 6, &be_const_str_push); -be_define_const_str(erase, "erase", 1010949589u, 0, 5, NULL); -be_define_const_str(escape, "escape", 2652972038u, 0, 6, &be_const_str_range); -be_define_const_str(eth, "eth", 2191266556u, 0, 3, &be_const_str_wire); -be_define_const_str(event, "event", 4264611999u, 0, 5, NULL); -be_define_const_str(event_cb, "event_cb", 3128698017u, 0, 8, &be_const_str_target); -be_define_const_str(event_send, "event_send", 598925582u, 0, 10, &be_const_str_null_cb); -be_define_const_str(every_100ms, "every_100ms", 1546407804u, 0, 11, &be_const_str_tele); -be_define_const_str(every_50ms, "every_50ms", 2383884008u, 0, 10, &be_const_str_pc); -be_define_const_str(every_second, "every_second", 2075451465u, 0, 12, &be_const_str_width_def); +be_define_const_str(else, "else", 3183434736u, 52, 4, NULL); +be_define_const_str(enabled, "enabled", 49525662u, 0, 7, &be_const_str_write_file); +be_define_const_str(encrypt, "encrypt", 2194327650u, 0, 7, &be_const_str_static); +be_define_const_str(end, "end", 1787721130u, 56, 3, &be_const_str_try); +be_define_const_str(energy_struct, "energy_struct", 1655792843u, 0, 13, NULL); +be_define_const_str(engine, "engine", 3993360443u, 0, 6, &be_const_str_widget_destructor); +be_define_const_str(erase, "erase", 1010949589u, 0, 5, &be_const_str_tolower); +be_define_const_str(escape, "escape", 2652972038u, 0, 6, &be_const_str_hex); +be_define_const_str(eth, "eth", 2191266556u, 0, 3, NULL); +be_define_const_str(event, "event", 4264611999u, 0, 5, &be_const_str_set_width); +be_define_const_str(event_cb, "event_cb", 3128698017u, 0, 8, &be_const_str_height_def); +be_define_const_str(event_send, "event_send", 598925582u, 0, 10, &be_const_str_gamma10); +be_define_const_str(every_100ms, "every_100ms", 1546407804u, 0, 11, NULL); +be_define_const_str(every_50ms, "every_50ms", 2383884008u, 0, 10, &be_const_str_page_autoconf_mgr); +be_define_const_str(every_second, "every_second", 2075451465u, 0, 12, &be_const_str_list); be_define_const_str(except, "except", 950914032u, 69, 6, NULL); -be_define_const_str(exec_cmd, "exec_cmd", 493567399u, 0, 8, &be_const_str_has); -be_define_const_str(exec_rules, "exec_rules", 1445221092u, 0, 10, &be_const_str_pin); -be_define_const_str(exec_tele, "exec_tele", 1020751601u, 0, 9, &be_const_str_lv_event); -be_define_const_str(exists, "exists", 1002329533u, 0, 6, NULL); -be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_fromptr); -be_define_const_str(f, "f", 3809224601u, 0, 1, &be_const_str_get_current_module_name); +be_define_const_str(exec_cmd, "exec_cmd", 493567399u, 0, 8, &be_const_str_light); +be_define_const_str(exec_rules, "exec_rules", 1445221092u, 0, 10, &be_const_str_reverse); +be_define_const_str(exec_tele, "exec_tele", 1020751601u, 0, 9, &be_const_str_has); +be_define_const_str(exists, "exists", 1002329533u, 0, 6, &be_const_str_setbits); +be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_tasmota); +be_define_const_str(f, "f", 3809224601u, 0, 1, &be_const_str_input); be_define_const_str(false, "false", 184981848u, 62, 5, NULL); -be_define_const_str(file, "file", 2867484483u, 0, 4, &be_const_str_get_bat_current); -be_define_const_str(file_X20extension_X20is_X20not_X20_X27_X2Ebe_X27_X20or_X20_X27_X2Ebec_X27, "file extension is not '.be' or '.bec'", 3095719639u, 0, 37, &be_const_str_ip); -be_define_const_str(files, "files", 1055342736u, 0, 5, NULL); -be_define_const_str(find, "find", 3186656602u, 0, 4, &be_const_str_set_dcdc_enable); -be_define_const_str(find_key_i, "find_key_i", 850136726u, 0, 10, &be_const_str_length_X20in_X20bits_X20must_X20be_X20between_X200_X20and_X2032); -be_define_const_str(find_op, "find_op", 3766713376u, 0, 7, &be_const_str_function); -be_define_const_str(finish, "finish", 1494643858u, 0, 6, &be_const_str_resp_cmnd_error); -be_define_const_str(floor, "floor", 3102149661u, 0, 5, &be_const_str_lv_obj_class); +be_define_const_str(file, "file", 2867484483u, 0, 4, NULL); +be_define_const_str(file_X20extension_X20is_X20not_X20_X27_X2Ebe_X27_X20or_X20_X27_X2Ebec_X27, "file extension is not '.be' or '.bec'", 3095719639u, 0, 37, NULL); +be_define_const_str(files, "files", 1055342736u, 0, 5, &be_const_str_param); +be_define_const_str(find, "find", 3186656602u, 0, 4, NULL); +be_define_const_str(find_key_i, "find_key_i", 850136726u, 0, 10, &be_const_str_pin); +be_define_const_str(find_op, "find_op", 3766713376u, 0, 7, NULL); +be_define_const_str(finish, "finish", 1494643858u, 0, 6, NULL); +be_define_const_str(floor, "floor", 3102149661u, 0, 5, &be_const_str_local); be_define_const_str(flush, "flush", 3002334877u, 0, 5, NULL); be_define_const_str(for, "for", 2901640080u, 54, 3, NULL); -be_define_const_str(format, "format", 3114108242u, 0, 6, &be_const_str_get_pixel_color); -be_define_const_str(from_to, "from_to", 21625507u, 0, 7, NULL); -be_define_const_str(fromb64, "fromb64", 2717019639u, 0, 7, &be_const_str_get_style_bg_color); +be_define_const_str(format, "format", 3114108242u, 0, 6, &be_const_str_memory); +be_define_const_str(from_to, "from_to", 21625507u, 0, 7, &be_const_str_load); +be_define_const_str(fromb64, "fromb64", 2717019639u, 0, 7, NULL); be_define_const_str(fromptr, "fromptr", 666189689u, 0, 7, NULL); -be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, &be_const_str_i2c_enabled); -be_define_const_str(function, "function", 2664841801u, 0, 8, &be_const_str_read13); -be_define_const_str(gamma, "gamma", 3492353034u, 0, 5, NULL); -be_define_const_str(gamma10, "gamma10", 3472052483u, 0, 7, NULL); -be_define_const_str(gamma8, "gamma8", 3802843830u, 0, 6, NULL); +be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, &be_const_str_get_input_power_status); +be_define_const_str(function, "function", 2664841801u, 0, 8, &be_const_str_tostring); +be_define_const_str(gamma, "gamma", 3492353034u, 0, 5, &be_const_str_widget_struct_default); +be_define_const_str(gamma10, "gamma10", 3472052483u, 0, 7, &be_const_str_get_free_heap); +be_define_const_str(gamma8, "gamma8", 3802843830u, 0, 6, &be_const_str_resp_cmnd); be_define_const_str(gc, "gc", 1042313471u, 0, 2, NULL); be_define_const_str(gen_cb, "gen_cb", 3245227551u, 0, 6, NULL); -be_define_const_str(get, "get", 1410115415u, 0, 3, &be_const_str_reset_search); +be_define_const_str(get, "get", 1410115415u, 0, 3, &be_const_str__X7Bs_X7DTemp_X20AXP_X7Bm_X7D_X25_X2E1f_X20_XB0C_X7Be_X7D); be_define_const_str(get_alternate, "get_alternate", 1450148894u, 0, 13, NULL); -be_define_const_str(get_aps_voltage, "get_aps_voltage", 2293036435u, 0, 15, &be_const_str_read8); -be_define_const_str(get_bat_charge_current, "get_bat_charge_current", 1385293050u, 0, 22, &be_const_str_invalidate); -be_define_const_str(get_bat_current, "get_bat_current", 1912106073u, 0, 15, &be_const_str_pixel_size); -be_define_const_str(get_bat_power, "get_bat_power", 3067374853u, 0, 13, NULL); +be_define_const_str(get_aps_voltage, "get_aps_voltage", 2293036435u, 0, 15, NULL); +be_define_const_str(get_bat_charge_current, "get_bat_charge_current", 1385293050u, 0, 22, &be_const_str_pi); +be_define_const_str(get_bat_current, "get_bat_current", 1912106073u, 0, 15, NULL); +be_define_const_str(get_bat_power, "get_bat_power", 3067374853u, 0, 13, &be_const_str_ins_time); be_define_const_str(get_bat_voltage, "get_bat_voltage", 706676538u, 0, 15, NULL); -be_define_const_str(get_battery_chargin_status, "get_battery_chargin_status", 2233241571u, 0, 26, &be_const_str_list); -be_define_const_str(get_bri, "get_bri", 2041809895u, 0, 7, &be_const_str_rand); -be_define_const_str(get_coords, "get_coords", 1044089006u, 0, 10, &be_const_str_tag); -be_define_const_str(get_current_module_name, "get_current_module_name", 2379270740u, 0, 23, &be_const_str_tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29); +be_define_const_str(get_battery_chargin_status, "get_battery_chargin_status", 2233241571u, 0, 26, NULL); +be_define_const_str(get_bri, "get_bri", 2041809895u, 0, 7, &be_const_str_page_autoconf_ctl); +be_define_const_str(get_coords, "get_coords", 1044089006u, 0, 10, &be_const_str_upper); +be_define_const_str(get_current_module_name, "get_current_module_name", 2379270740u, 0, 23, NULL); be_define_const_str(get_current_module_path, "get_current_module_path", 3206673408u, 0, 23, NULL); -be_define_const_str(get_free_heap, "get_free_heap", 625069757u, 0, 13, &be_const_str_web_add_handler); -be_define_const_str(get_height, "get_height", 3571755523u, 0, 10, &be_const_str_light); -be_define_const_str(get_input_power_status, "get_input_power_status", 4102829177u, 0, 22, &be_const_str_run_bat); -be_define_const_str(get_light, "get_light", 381930476u, 0, 9, NULL); -be_define_const_str(get_object_from_ptr, "get_object_from_ptr", 2345019201u, 0, 19, &be_const_str_reapply); +be_define_const_str(get_free_heap, "get_free_heap", 625069757u, 0, 13, &be_const_str_no_X20GPIO_X20specified_X20for_X20neopixelbus); +be_define_const_str(get_height, "get_height", 3571755523u, 0, 10, &be_const_str_obj_class_create_obj); +be_define_const_str(get_input_power_status, "get_input_power_status", 4102829177u, 0, 22, &be_const_str_get_style_bg_color); +be_define_const_str(get_light, "get_light", 381930476u, 0, 9, &be_const_str_unknown_X20instruction); +be_define_const_str(get_object_from_ptr, "get_object_from_ptr", 2345019201u, 0, 19, NULL); be_define_const_str(get_option, "get_option", 2123730033u, 0, 10, NULL); -be_define_const_str(get_percentage, "get_percentage", 2880483992u, 0, 14, &be_const_str_get_tasmota); +be_define_const_str(get_percentage, "get_percentage", 2880483992u, 0, 14, NULL); be_define_const_str(get_pixel_color, "get_pixel_color", 337490048u, 0, 15, NULL); be_define_const_str(get_power, "get_power", 3009799377u, 0, 9, NULL); -be_define_const_str(get_size, "get_size", 2803644713u, 0, 8, &be_const_str_set_style_text_font); -be_define_const_str(get_string, "get_string", 4195847969u, 0, 10, &be_const_str_get_width); -be_define_const_str(get_style_bg_color, "get_style_bg_color", 964794381u, 0, 18, NULL); -be_define_const_str(get_style_line_color, "get_style_line_color", 805371932u, 0, 20, NULL); -be_define_const_str(get_style_pad_right, "get_style_pad_right", 3150287466u, 0, 19, &be_const_str_gpio); -be_define_const_str(get_switch, "get_switch", 164821028u, 0, 10, NULL); -be_define_const_str(get_tasmota, "get_tasmota", 334356779u, 0, 11, NULL); -be_define_const_str(get_temp, "get_temp", 3370919486u, 0, 8, &be_const_str_keys); -be_define_const_str(get_vbus_current, "get_vbus_current", 1205347942u, 0, 16, NULL); -be_define_const_str(get_vbus_voltage, "get_vbus_voltage", 2398210401u, 0, 16, NULL); +be_define_const_str(get_size, "get_size", 2803644713u, 0, 8, &be_const_str_tomap); +be_define_const_str(get_string, "get_string", 4195847969u, 0, 10, &be_const_str_remove_driver); +be_define_const_str(get_style_bg_color, "get_style_bg_color", 964794381u, 0, 18, &be_const_str_number); +be_define_const_str(get_style_line_color, "get_style_line_color", 805371932u, 0, 20, &be_const_str_ins_ramp); +be_define_const_str(get_style_pad_right, "get_style_pad_right", 3150287466u, 0, 19, NULL); +be_define_const_str(get_switch, "get_switch", 164821028u, 0, 10, &be_const_str_set_y); +be_define_const_str(get_tasmota, "get_tasmota", 334356779u, 0, 11, &be_const_str_imax); +be_define_const_str(get_temp, "get_temp", 3370919486u, 0, 8, NULL); +be_define_const_str(get_vbus_current, "get_vbus_current", 1205347942u, 0, 16, &be_const_str_tele); +be_define_const_str(get_vbus_voltage, "get_vbus_voltage", 2398210401u, 0, 16, &be_const_str_toupper); be_define_const_str(get_warning_level, "get_warning_level", 1737834441u, 0, 17, NULL); -be_define_const_str(get_width, "get_width", 3293417300u, 0, 9, NULL); -be_define_const_str(getbits, "getbits", 3094168979u, 0, 7, &be_const_str_widget_struct_default); -be_define_const_str(geti, "geti", 2381006490u, 0, 4, &be_const_str_resp_cmnd_failed); -be_define_const_str(global, "global", 503252654u, 0, 6, &be_const_str_name); -be_define_const_str(gpio, "gpio", 2638155258u, 0, 4, &be_const_str_pin_used); -be_define_const_str(group_def, "group_def", 1524213328u, 0, 9, &be_const_str_param); -be_define_const_str(h, "h", 3977000791u, 0, 1, NULL); -be_define_const_str(has, "has", 3988721635u, 0, 3, NULL); -be_define_const_str(has_arg, "has_arg", 424878688u, 0, 7, &be_const_str_try); -be_define_const_str(height_def, "height_def", 2348238838u, 0, 10, &be_const_str_hour); -be_define_const_str(hex, "hex", 4273249610u, 0, 3, NULL); -be_define_const_str(hour, "hour", 3053661199u, 0, 4, &be_const_str_unknown_X20instruction); -be_define_const_str(hs2rgb, "hs2rgb", 1040816349u, 0, 6, &be_const_str_json); -be_define_const_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_X2F_X25s_X2Eautoconf, "https://raw.githubusercontent.com/tasmota/autoconf/main/%s/%s.autoconf", 2743526309u, 0, 70, &be_const_str_set_bri); -be_define_const_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_manifest_X2Ejson, "https://raw.githubusercontent.com/tasmota/autoconf/main/%s_manifest.json", 3657552045u, 0, 72, &be_const_str_widget_dtor_impl); -be_define_const_str(i2c_enabled, "i2c_enabled", 218388101u, 0, 11, &be_const_str_lv_event_cb); -be_define_const_str(id, "id", 926444256u, 0, 2, NULL); +be_define_const_str(get_width, "get_width", 3293417300u, 0, 9, &be_const_str_readbytes); +be_define_const_str(getbits, "getbits", 3094168979u, 0, 7, &be_const_str_has_arg); +be_define_const_str(geti, "geti", 2381006490u, 0, 4, NULL); +be_define_const_str(global, "global", 503252654u, 0, 6, NULL); +be_define_const_str(gpio, "gpio", 2638155258u, 0, 4, &be_const_str_wire_scan); +be_define_const_str(group_def, "group_def", 1524213328u, 0, 9, NULL); +be_define_const_str(h, "h", 3977000791u, 0, 1, &be_const_str_init); +be_define_const_str(has, "has", 3988721635u, 0, 3, &be_const_str_pow); +be_define_const_str(has_arg, "has_arg", 424878688u, 0, 7, &be_const_str__X7D); +be_define_const_str(height_def, "height_def", 2348238838u, 0, 10, &be_const_str_set_height); +be_define_const_str(hex, "hex", 4273249610u, 0, 3, &be_const_str_https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_manifest_X2Ejson); +be_define_const_str(hour, "hour", 3053661199u, 0, 4, &be_const_str_pixel_count); +be_define_const_str(hs2rgb, "hs2rgb", 1040816349u, 0, 6, &be_const_str_path); +be_define_const_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_X2F_X25s_X2Eautoconf, "https://raw.githubusercontent.com/tasmota/autoconf/main/%s/%s.autoconf", 2743526309u, 0, 70, &be_const_str_pc_abs); +be_define_const_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_manifest_X2Ejson, "https://raw.githubusercontent.com/tasmota/autoconf/main/%s_manifest.json", 3657552045u, 0, 72, &be_const_str_int); +be_define_const_str(i2c_enabled, "i2c_enabled", 218388101u, 0, 11, NULL); +be_define_const_str(id, "id", 926444256u, 0, 2, &be_const_str_x); be_define_const_str(if, "if", 959999494u, 50, 2, NULL); -be_define_const_str(imax, "imax", 3084515410u, 0, 4, NULL); +be_define_const_str(imax, "imax", 3084515410u, 0, 4, &be_const_str_resize); be_define_const_str(imin, "imin", 2714127864u, 0, 4, NULL); be_define_const_str(import, "import", 288002260u, 66, 6, NULL); -be_define_const_str(init, "init", 380752755u, 0, 4, NULL); +be_define_const_str(init, "init", 380752755u, 0, 4, &be_const_str_pc_rel); be_define_const_str(init_draw_line_dsc, "init_draw_line_dsc", 2507936040u, 0, 18, NULL); -be_define_const_str(input, "input", 4191711099u, 0, 5, &be_const_str_serial); -be_define_const_str(ins_goto, "ins_goto", 1342843963u, 0, 8, &be_const_str_json_fdump_list); -be_define_const_str(ins_ramp, "ins_ramp", 1068049360u, 0, 8, &be_const_str_resize); +be_define_const_str(input, "input", 4191711099u, 0, 5, &be_const_str_reset); +be_define_const_str(ins_goto, "ins_goto", 1342843963u, 0, 8, NULL); +be_define_const_str(ins_ramp, "ins_ramp", 1068049360u, 0, 8, &be_const_str_stop_iteration); be_define_const_str(ins_time, "ins_time", 2980245553u, 0, 8, NULL); -be_define_const_str(insert, "insert", 3332609576u, 0, 6, &be_const_str_int); -be_define_const_str(instance, "instance", 193386898u, 0, 8, &be_const_str_round_end); -be_define_const_str(instance_size, "instance_size", 4280269518u, 0, 13, &be_const_str_memory); -be_define_const_str(int, "int", 2515107422u, 0, 3, NULL); -be_define_const_str(internal_error, "internal_error", 2519158169u, 0, 14, &be_const_str_yield); -be_define_const_str(introspect, "introspect", 164638290u, 0, 10, &be_const_str_open); -be_define_const_str(invalidate, "invalidate", 2649734928u, 0, 10, &be_const_str_pc_rel); -be_define_const_str(io_error, "io_error", 1970281036u, 0, 8, &be_const_str_lv_obj); -be_define_const_str(ip, "ip", 1261996636u, 0, 2, &be_const_str_top); -be_define_const_str(is_dirty, "is_dirty", 418034110u, 0, 8, NULL); -be_define_const_str(is_first_time, "is_first_time", 275242384u, 0, 13, &be_const_str_widget_event_cb); -be_define_const_str(is_running, "is_running", 2226847261u, 0, 10, NULL); -be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, &be_const_str_set_timeouts); -be_define_const_str(isnan, "isnan", 2981347434u, 0, 5, &be_const_str_true); +be_define_const_str(insert, "insert", 3332609576u, 0, 6, &be_const_str_lvgl_event_dispatch); +be_define_const_str(instance, "instance", 193386898u, 0, 8, &be_const_str_set_matrix_pixel_color); +be_define_const_str(instance_size, "instance_size", 4280269518u, 0, 13, NULL); +be_define_const_str(int, "int", 2515107422u, 0, 3, &be_const_str_set_style_text_font); +be_define_const_str(internal_error, "internal_error", 2519158169u, 0, 14, &be_const_str_width_def); +be_define_const_str(introspect, "introspect", 164638290u, 0, 10, &be_const_str_preinit); +be_define_const_str(invalidate, "invalidate", 2649734928u, 0, 10, NULL); +be_define_const_str(io_error, "io_error", 1970281036u, 0, 8, NULL); +be_define_const_str(ip, "ip", 1261996636u, 0, 2, NULL); +be_define_const_str(is_dirty, "is_dirty", 418034110u, 0, 8, &be_const_str_on); +be_define_const_str(is_first_time, "is_first_time", 275242384u, 0, 13, &be_const_str_persist); +be_define_const_str(is_running, "is_running", 2226847261u, 0, 10, &be_const_str__X7B_X7D); +be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, &be_const_str_last_modified); +be_define_const_str(isnan, "isnan", 2981347434u, 0, 5, &be_const_str_iter); be_define_const_str(isrunning, "isrunning", 1688182268u, 0, 9, NULL); -be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, NULL); -be_define_const_str(item, "item", 2671260646u, 0, 4, NULL); -be_define_const_str(iter, "iter", 3124256359u, 0, 4, &be_const_str_widget_event); -be_define_const_str(json, "json", 916562499u, 0, 4, &be_const_str_matrix); -be_define_const_str(json_append, "json_append", 3002019284u, 0, 11, &be_const_str_set_time); +be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, &be_const_str_setmember); +be_define_const_str(item, "item", 2671260646u, 0, 4, &be_const_str_json_fdump_any); +be_define_const_str(iter, "iter", 3124256359u, 0, 4, &be_const_str_name); +be_define_const_str(json, "json", 916562499u, 0, 4, NULL); +be_define_const_str(json_append, "json_append", 3002019284u, 0, 11, &be_const_str_import); be_define_const_str(json_fdump, "json_fdump", 1694216580u, 0, 10, NULL); be_define_const_str(json_fdump_any, "json_fdump_any", 3348629385u, 0, 14, NULL); -be_define_const_str(json_fdump_list, "json_fdump_list", 3903879853u, 0, 15, &be_const_str_solidified); -be_define_const_str(json_fdump_map, "json_fdump_map", 4091954653u, 0, 14, &be_const_str_as); -be_define_const_str(k, "k", 3993778410u, 0, 1, &be_const_str_resp_cmnd_str); -be_define_const_str(keys, "keys", 4182378701u, 0, 4, &be_const_str_run_deferred); +be_define_const_str(json_fdump_list, "json_fdump_list", 3903879853u, 0, 15, &be_const_str_millis); +be_define_const_str(json_fdump_map, "json_fdump_map", 4091954653u, 0, 14, &be_const_str_save_before_restart); +be_define_const_str(k, "k", 3993778410u, 0, 1, &be_const_str_keys); +be_define_const_str(keys, "keys", 4182378701u, 0, 4, &be_const_str_min); be_define_const_str(kv, "kv", 1497177492u, 0, 2, NULL); -be_define_const_str(last_modified, "last_modified", 772177145u, 0, 13, &be_const_str_tob64); -be_define_const_str(leds, "leds", 558858555u, 0, 4, &be_const_str_to_gamma); -be_define_const_str(length_X20in_X20bits_X20must_X20be_X20between_X200_X20and_X2032, "length in bits must be between 0 and 32", 2584509128u, 0, 39, &be_const_str_onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20change_X20the_X20current_X20configuration_X20and_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E); +be_define_const_str(last_modified, "last_modified", 772177145u, 0, 13, NULL); +be_define_const_str(leds, "leds", 558858555u, 0, 4, &be_const_str_elif); +be_define_const_str(length_X20in_X20bits_X20must_X20be_X20between_X200_X20and_X2032, "length in bits must be between 0 and 32", 2584509128u, 0, 39, &be_const_str_false); be_define_const_str(light, "light", 3801947695u, 0, 5, NULL); -be_define_const_str(line_dsc, "line_dsc", 4094490978u, 0, 8, &be_const_str_def); -be_define_const_str(list, "list", 217798785u, 0, 4, &be_const_str_upper); -be_define_const_str(listdir, "listdir", 2005220720u, 0, 7, &be_const_str_srand); +be_define_const_str(line_dsc, "line_dsc", 4094490978u, 0, 8, &be_const_str_print); +be_define_const_str(list, "list", 217798785u, 0, 4, NULL); +be_define_const_str(listdir, "listdir", 2005220720u, 0, 7, NULL); be_define_const_str(load, "load", 3859241449u, 0, 4, NULL); -be_define_const_str(load_templates, "load_templates", 3513870133u, 0, 14, &be_const_str_read32); -be_define_const_str(local, "local", 2621662984u, 0, 5, &be_const_str_wire2); -be_define_const_str(log, "log", 1062293841u, 0, 3, &be_const_str_pixel_count); -be_define_const_str(log10, "log10", 2346846000u, 0, 5, &be_const_str_set_x); -be_define_const_str(loop, "loop", 3723446379u, 0, 4, NULL); -be_define_const_str(lower, "lower", 3038577850u, 0, 5, NULL); +be_define_const_str(load_templates, "load_templates", 3513870133u, 0, 14, &be_const_str_set_bri); +be_define_const_str(local, "local", 2621662984u, 0, 5, NULL); +be_define_const_str(log, "log", 1062293841u, 0, 3, &be_const_str_the_X20second_X20argument_X20is_X20not_X20a_X20function); +be_define_const_str(log10, "log10", 2346846000u, 0, 5, &be_const_str_web_add_handler); +be_define_const_str(loop, "loop", 3723446379u, 0, 4, &be_const_str_continue); +be_define_const_str(lower, "lower", 3038577850u, 0, 5, &be_const_str_push_path); be_define_const_str(lv, "lv", 1529997255u, 0, 2, NULL); -be_define_const_str(lv_event, "lv_event", 2434089968u, 0, 8, &be_const_str_set_alternate); -be_define_const_str(lv_event_cb, "lv_event_cb", 2480731016u, 0, 11, NULL); +be_define_const_str(lv_event, "lv_event", 2434089968u, 0, 8, &be_const_str_set_timer); +be_define_const_str(lv_event_cb, "lv_event_cb", 2480731016u, 0, 11, &be_const_str_try_rule); be_define_const_str(lv_obj, "lv_obj", 4257833149u, 0, 6, NULL); -be_define_const_str(lv_obj_class, "lv_obj_class", 4039656294u, 0, 12, &be_const_str_running); -be_define_const_str(lvgl_event_dispatch, "lvgl_event_dispatch", 2104396622u, 0, 19, &be_const_str_the_X20second_X20argument_X20is_X20not_X20a_X20function); -be_define_const_str(map, "map", 3751997361u, 0, 3, &be_const_str_page_autoconf_mgr); -be_define_const_str(math, "math", 4001929615u, 0, 4, &be_const_str_remove_cmd); -be_define_const_str(matrix, "matrix", 365099244u, 0, 6, NULL); -be_define_const_str(member, "member", 719708611u, 0, 6, &be_const_str_remove_timer); -be_define_const_str(members, "members", 937576464u, 0, 7, &be_const_str_module); -be_define_const_str(memory, "memory", 2229924270u, 0, 6, &be_const_str_persist); -be_define_const_str(millis, "millis", 1214679063u, 0, 6, &be_const_str_publish_result); +be_define_const_str(lv_obj_class, "lv_obj_class", 4039656294u, 0, 12, NULL); +be_define_const_str(lvgl_event_dispatch, "lvgl_event_dispatch", 2104396622u, 0, 19, &be_const_str_rule); +be_define_const_str(map, "map", 3751997361u, 0, 3, NULL); +be_define_const_str(math, "math", 4001929615u, 0, 4, &be_const_str_widget_event_cb); +be_define_const_str(matrix, "matrix", 365099244u, 0, 6, &be_const_str_pixels_buffer); +be_define_const_str(member, "member", 719708611u, 0, 6, &be_const_str_web_add_management_button); +be_define_const_str(members, "members", 937576464u, 0, 7, &be_const_str_remove_rule); +be_define_const_str(memory, "memory", 2229924270u, 0, 6, NULL); +be_define_const_str(millis, "millis", 1214679063u, 0, 6, &be_const_str_module); be_define_const_str(min, "min", 3381609815u, 0, 3, NULL); -be_define_const_str(minute, "minute", 954666857u, 0, 6, &be_const_str_set_light); -be_define_const_str(module, "module", 3617558685u, 0, 6, &be_const_str_rule); -be_define_const_str(month, "month", 3598321157u, 0, 5, &be_const_str_time_str); -be_define_const_str(name, "name", 2369371622u, 0, 4, &be_const_str_widget_instance_size); -be_define_const_str(nan, "nan", 797905850u, 0, 3, NULL); +be_define_const_str(minute, "minute", 954666857u, 0, 6, NULL); +be_define_const_str(module, "module", 3617558685u, 0, 6, &be_const_str_setrange); +be_define_const_str(month, "month", 3598321157u, 0, 5, &be_const_str_web_send); +be_define_const_str(name, "name", 2369371622u, 0, 4, NULL); +be_define_const_str(nan, "nan", 797905850u, 0, 3, &be_const_str_size); be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL); -be_define_const_str(no_X20GPIO_X20specified_X20for_X20neopixelbus, "no GPIO specified for neopixelbus", 42078528u, 0, 33, &be_const_str_return_X20code_X3D_X25i); +be_define_const_str(no_X20GPIO_X20specified_X20for_X20neopixelbus, "no GPIO specified for neopixelbus", 42078528u, 0, 33, NULL); be_define_const_str(null_cb, "null_cb", 2333536460u, 0, 7, NULL); -be_define_const_str(number, "number", 467038368u, 0, 6, &be_const_str_write_bit); -be_define_const_str(obj_class_create_obj, "obj_class_create_obj", 3304390632u, 0, 20, &be_const_str_resolvecmnd); -be_define_const_str(obj_event_base, "obj_event_base", 1624064363u, 0, 14, &be_const_str_w); -be_define_const_str(offset, "offset", 348705738u, 0, 6, NULL); +be_define_const_str(number, "number", 467038368u, 0, 6, &be_const_str_range); +be_define_const_str(obj_class_create_obj, "obj_class_create_obj", 3304390632u, 0, 20, NULL); +be_define_const_str(obj_event_base, "obj_event_base", 1624064363u, 0, 14, NULL); +be_define_const_str(offset, "offset", 348705738u, 0, 6, &be_const_str_web_add_button); be_define_const_str(offseta, "offseta", 1663383089u, 0, 7, NULL); -be_define_const_str(on, "on", 1630810064u, 0, 2, NULL); -be_define_const_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E, "onsubmit='return confirm(\"This will cause a restart.\");'>", 232646018u, 0, 57, NULL); -be_define_const_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20change_X20the_X20current_X20configuration_X20and_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E, "onsubmit='return confirm(\"This will change the current configuration and cause a restart.\");'>", 3792412559u, 0, 94, NULL); -be_define_const_str(open, "open", 3546203337u, 0, 4, NULL); +be_define_const_str(on, "on", 1630810064u, 0, 2, &be_const_str_webclient); +be_define_const_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E, "onsubmit='return confirm(\"This will cause a restart.\");'>", 232646018u, 0, 57, &be_const_str_wire2); +be_define_const_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20change_X20the_X20current_X20configuration_X20and_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E, "onsubmit='return confirm(\"This will change the current configuration and cause a restart.\");'>", 3792412559u, 0, 94, &be_const_str_srand); +be_define_const_str(open, "open", 3546203337u, 0, 4, &be_const_str_search); be_define_const_str(out_X20of_X20range, "out of range", 2236631477u, 0, 12, NULL); be_define_const_str(p1, "p1", 2689521274u, 0, 2, NULL); -be_define_const_str(p2, "p2", 2672743655u, 0, 2, &be_const_str_pop_path); +be_define_const_str(p2, "p2", 2672743655u, 0, 2, &be_const_str_set_alternate); be_define_const_str(page_autoconf_ctl, "page_autoconf_ctl", 2453381496u, 0, 17, NULL); -be_define_const_str(page_autoconf_mgr, "page_autoconf_mgr", 3643937031u, 0, 17, &be_const_str_sec); -be_define_const_str(param, "param", 1309554226u, 0, 5, &be_const_str_real); -be_define_const_str(path, "path", 2223459638u, 0, 4, NULL); -be_define_const_str(pc, "pc", 1313756516u, 0, 2, NULL); -be_define_const_str(pc_abs, "pc_abs", 920256495u, 0, 6, NULL); -be_define_const_str(pc_rel, "pc_rel", 991921176u, 0, 6, &be_const_str_persist_X2E_p_X20is_X20not_X20a_X20map); -be_define_const_str(percentage, "percentage", 2538831285u, 0, 10, &be_const_str_tolower); -be_define_const_str(persist, "persist", 3917083779u, 0, 7, &be_const_str_reverse_gamma10); -be_define_const_str(persist_X2E_p_X20is_X20not_X20a_X20map, "persist._p is not a map", 1176528732u, 0, 23, &be_const_str_scan); -be_define_const_str(pi, "pi", 1213090802u, 0, 2, &be_const_str_set_y); +be_define_const_str(page_autoconf_mgr, "page_autoconf_mgr", 3643937031u, 0, 17, &be_const_str_write8); +be_define_const_str(param, "param", 1309554226u, 0, 5, &be_const_str_resp_cmnd_error); +be_define_const_str(path, "path", 2223459638u, 0, 4, &be_const_str_real); +be_define_const_str(pc, "pc", 1313756516u, 0, 2, &be_const_str_nil); +be_define_const_str(pc_abs, "pc_abs", 920256495u, 0, 6, &be_const_str_set); +be_define_const_str(pc_rel, "pc_rel", 991921176u, 0, 6, &be_const_str_web_add_config_button); +be_define_const_str(percentage, "percentage", 2538831285u, 0, 10, &be_const_str_tcpclient); +be_define_const_str(persist, "persist", 3917083779u, 0, 7, NULL); +be_define_const_str(persist_X2E_p_X20is_X20not_X20a_X20map, "persist._p is not a map", 1176528732u, 0, 23, NULL); +be_define_const_str(pi, "pi", 1213090802u, 0, 2, NULL); be_define_const_str(pin, "pin", 1866532500u, 0, 3, NULL); -be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, NULL); -be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, NULL); +be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, &be_const_str_set_ldo_voltage); +be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, &be_const_str_set_auth); be_define_const_str(pixel_count, "pixel_count", 2439130743u, 0, 11, NULL); -be_define_const_str(pixel_size, "pixel_size", 2209135785u, 0, 10, &be_const_str_seg7_font); -be_define_const_str(pixels_buffer, "pixels_buffer", 1229555807u, 0, 13, &be_const_str_sinh); +be_define_const_str(pixel_size, "pixel_size", 2209135785u, 0, 10, NULL); +be_define_const_str(pixels_buffer, "pixels_buffer", 1229555807u, 0, 13, NULL); be_define_const_str(point, "point", 414084241u, 0, 5, NULL); -be_define_const_str(pop, "pop", 1362321360u, 0, 3, &be_const_str_remove); -be_define_const_str(pop_path, "pop_path", 2403243998u, 0, 8, &be_const_str_sqrt); -be_define_const_str(pow, "pow", 1479764693u, 0, 3, NULL); -be_define_const_str(preinit, "preinit", 2722007100u, 0, 7, &be_const_str_widget_height_def); +be_define_const_str(pop, "pop", 1362321360u, 0, 3, &be_const_str_resp_cmnd_failed); +be_define_const_str(pop_path, "pop_path", 2403243998u, 0, 8, NULL); +be_define_const_str(pow, "pow", 1479764693u, 0, 3, &be_const_str_seg7_font); +be_define_const_str(preinit, "preinit", 2722007100u, 0, 7, &be_const_str_widget_ctor_cb); be_define_const_str(print, "print", 372738696u, 0, 5, NULL); -be_define_const_str(public_key, "public_key", 4169142980u, 0, 10, NULL); -be_define_const_str(publish, "publish", 264247304u, 0, 7, &be_const_str_widget_destructor); -be_define_const_str(publish_result, "publish_result", 2013351252u, 0, 14, &be_const_str_for); -be_define_const_str(push, "push", 2272264157u, 0, 4, &be_const_str_set_style_pad_right); -be_define_const_str(push_path, "push_path", 1155254157u, 0, 9, &be_const_str_reduce); -be_define_const_str(quality, "quality", 2597670950u, 0, 7, &be_const_str_set_percentage); -be_define_const_str(r, "r", 4144776981u, 0, 1, &be_const_str_save); -be_define_const_str(rad, "rad", 1358899048u, 0, 3, &be_const_str_tostring); +be_define_const_str(public_key, "public_key", 4169142980u, 0, 10, &be_const_str_read32); +be_define_const_str(publish, "publish", 264247304u, 0, 7, NULL); +be_define_const_str(publish_result, "publish_result", 2013351252u, 0, 14, &be_const_str_skip); +be_define_const_str(push, "push", 2272264157u, 0, 4, &be_const_str_width); +be_define_const_str(push_path, "push_path", 1155254157u, 0, 9, NULL); +be_define_const_str(quality, "quality", 2597670950u, 0, 7, &be_const_str_else); +be_define_const_str(r, "r", 4144776981u, 0, 1, &be_const_str_set_light); +be_define_const_str(rad, "rad", 1358899048u, 0, 3, &be_const_str_set_ldo_enable); be_define_const_str(raise, "raise", 1593437475u, 70, 5, NULL); be_define_const_str(rand, "rand", 2711325910u, 0, 4, NULL); -be_define_const_str(range, "range", 4208725202u, 0, 5, &be_const_str_remove_rule); -be_define_const_str(read, "read", 3470762949u, 0, 4, &be_const_str_shared_key); +be_define_const_str(range, "range", 4208725202u, 0, 5, &be_const_str_reverse_gamma10); +be_define_const_str(read, "read", 3470762949u, 0, 4, NULL); be_define_const_str(read12, "read12", 4291076970u, 0, 6, NULL); -be_define_const_str(read13, "read13", 12887293u, 0, 6, &be_const_str_wd); +be_define_const_str(read13, "read13", 12887293u, 0, 6, NULL); be_define_const_str(read24, "read24", 1808533811u, 0, 6, NULL); be_define_const_str(read32, "read32", 1741276240u, 0, 6, NULL); -be_define_const_str(read8, "read8", 2802788167u, 0, 5, &be_const_str_set_pixel_color); -be_define_const_str(read_bytes, "read_bytes", 3576733173u, 0, 10, &be_const_str_response_append); -be_define_const_str(read_sensors, "read_sensors", 892689201u, 0, 12, NULL); +be_define_const_str(read8, "read8", 2802788167u, 0, 5, NULL); +be_define_const_str(read_bytes, "read_bytes", 3576733173u, 0, 10, NULL); +be_define_const_str(read_sensors, "read_sensors", 892689201u, 0, 12, &be_const_str_round_end); +be_define_const_str(readbytes, "readbytes", 2716426756u, 0, 9, NULL); be_define_const_str(readline, "readline", 1212709927u, 0, 8, NULL); be_define_const_str(real, "real", 3604983901u, 0, 4, NULL); be_define_const_str(reapply, "reapply", 3778939332u, 0, 7, NULL); -be_define_const_str(redirect, "redirect", 389758641u, 0, 8, &be_const_str_wifi); -be_define_const_str(reduce, "reduce", 2002030311u, 0, 6, &be_const_str_url_encode); -be_define_const_str(refr_size, "refr_size", 1958144468u, 0, 9, &be_const_str_widget_dtor_cb); -be_define_const_str(register_obj, "register_obj", 3982614770u, 0, 12, NULL); -be_define_const_str(remove, "remove", 3683784189u, 0, 6, &be_const_str_set_dc_voltage); +be_define_const_str(redirect, "redirect", 389758641u, 0, 8, &be_const_str_rtc); +be_define_const_str(reduce, "reduce", 2002030311u, 0, 6, &be_const_str_sec); +be_define_const_str(refr_size, "refr_size", 1958144468u, 0, 9, &be_const_str_target_search); +be_define_const_str(register_obj, "register_obj", 3982614770u, 0, 12, &be_const_str_sys); +be_define_const_str(remove, "remove", 3683784189u, 0, 6, NULL); be_define_const_str(remove_cmd, "remove_cmd", 3832315702u, 0, 10, NULL); -be_define_const_str(remove_driver, "remove_driver", 1030243768u, 0, 13, &be_const_str_str); -be_define_const_str(remove_rule, "remove_rule", 3456211328u, 0, 11, NULL); +be_define_const_str(remove_driver, "remove_driver", 1030243768u, 0, 13, &be_const_str_tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29); +be_define_const_str(remove_rule, "remove_rule", 3456211328u, 0, 11, &be_const_str_except); be_define_const_str(remove_timer, "remove_timer", 4141472215u, 0, 12, NULL); be_define_const_str(reset, "reset", 1695364032u, 0, 5, NULL); be_define_const_str(reset_search, "reset_search", 1350414305u, 0, 12, NULL); be_define_const_str(resize, "resize", 3514612129u, 0, 6, NULL); -be_define_const_str(resolvecmnd, "resolvecmnd", 993361485u, 0, 11, &be_const_str_web_add_button); -be_define_const_str(resp_cmnd, "resp_cmnd", 2869459626u, 0, 9, &be_const_str_set_height); +be_define_const_str(resolvecmnd, "resolvecmnd", 993361485u, 0, 11, NULL); +be_define_const_str(resp_cmnd, "resp_cmnd", 2869459626u, 0, 9, &be_const_str_widget_editable); be_define_const_str(resp_cmnd_done, "resp_cmnd_done", 2601874875u, 0, 14, NULL); -be_define_const_str(resp_cmnd_error, "resp_cmnd_error", 2404088863u, 0, 15, &be_const_str_show); -be_define_const_str(resp_cmnd_failed, "resp_cmnd_failed", 2136281562u, 0, 16, NULL); -be_define_const_str(resp_cmnd_str, "resp_cmnd_str", 737845590u, 0, 13, &be_const_str_skip); -be_define_const_str(response_append, "response_append", 450346371u, 0, 15, NULL); +be_define_const_str(resp_cmnd_error, "resp_cmnd_error", 2404088863u, 0, 15, NULL); +be_define_const_str(resp_cmnd_failed, "resp_cmnd_failed", 2136281562u, 0, 16, &be_const_str_set_chg_current); +be_define_const_str(resp_cmnd_str, "resp_cmnd_str", 737845590u, 0, 13, NULL); +be_define_const_str(response_append, "response_append", 450346371u, 0, 15, &be_const_str_set_first_time); be_define_const_str(return, "return", 2246981567u, 60, 6, NULL); -be_define_const_str(return_X20code_X3D_X25i, "return code=%i", 2127454401u, 0, 14, &be_const_str_rotate); -be_define_const_str(reverse, "reverse", 558918661u, 0, 7, &be_const_str_wire_scan); +be_define_const_str(return_X20code_X3D_X25i, "return code=%i", 2127454401u, 0, 14, NULL); +be_define_const_str(reverse, "reverse", 558918661u, 0, 7, NULL); be_define_const_str(reverse_gamma10, "reverse_gamma10", 739112262u, 0, 15, NULL); be_define_const_str(rotate, "rotate", 2784296202u, 0, 6, NULL); -be_define_const_str(round_end, "round_end", 985288225u, 0, 9, &be_const_str_while); -be_define_const_str(round_start, "round_start", 2949484384u, 0, 11, &be_const_str_import); -be_define_const_str(rtc, "rtc", 1070575216u, 0, 3, &be_const_str_web_send); -be_define_const_str(rule, "rule", 4230889683u, 0, 4, &be_const_str_y1); -be_define_const_str(run, "run", 718098122u, 0, 3, NULL); -be_define_const_str(run_bat, "run_bat", 2536903298u, 0, 7, NULL); -be_define_const_str(run_deferred, "run_deferred", 371594696u, 0, 12, &be_const_str_continue); -be_define_const_str(running, "running", 343848780u, 0, 7, NULL); +be_define_const_str(round_end, "round_end", 985288225u, 0, 9, &be_const_str_strftime); +be_define_const_str(round_start, "round_start", 2949484384u, 0, 11, &be_const_str_sqrt); +be_define_const_str(rtc, "rtc", 1070575216u, 0, 3, NULL); +be_define_const_str(rule, "rule", 4230889683u, 0, 4, &be_const_str_settings); +be_define_const_str(run, "run", 718098122u, 0, 3, &be_const_str_set_style_line_color); +be_define_const_str(run_bat, "run_bat", 2536903298u, 0, 7, &be_const_str_valuer_error); +be_define_const_str(run_deferred, "run_deferred", 371594696u, 0, 12, NULL); +be_define_const_str(running, "running", 343848780u, 0, 7, &be_const_str_string); be_define_const_str(save, "save", 3439296072u, 0, 4, NULL); be_define_const_str(save_before_restart, "save_before_restart", 1253239338u, 0, 19, NULL); -be_define_const_str(scale_uint, "scale_uint", 3090811094u, 0, 10, &be_const_str_sys); -be_define_const_str(scan, "scan", 3974641896u, 0, 4, &be_const_str_toupper); +be_define_const_str(scale_uint, "scale_uint", 3090811094u, 0, 10, &be_const_str_widget_group_def); +be_define_const_str(scan, "scan", 3974641896u, 0, 4, NULL); be_define_const_str(search, "search", 2150836393u, 0, 6, NULL); -be_define_const_str(sec, "sec", 3139892658u, 0, 3, &be_const_str_tanh); -be_define_const_str(seg7_font, "seg7_font", 4099690689u, 0, 9, NULL); +be_define_const_str(sec, "sec", 3139892658u, 0, 3, NULL); +be_define_const_str(seg7_font, "seg7_font", 4099690689u, 0, 9, &be_const_str_set_useragent); be_define_const_str(select, "select", 297952813u, 0, 6, NULL); be_define_const_str(serial, "serial", 3687697785u, 0, 6, NULL); be_define_const_str(set, "set", 3324446467u, 0, 3, NULL); -be_define_const_str(set_alternate, "set_alternate", 1709680562u, 0, 13, NULL); -be_define_const_str(set_auth, "set_auth", 1057170930u, 0, 8, NULL); -be_define_const_str(set_bri, "set_bri", 2789118779u, 0, 7, &be_const_str_time_dump); +be_define_const_str(set_alternate, "set_alternate", 1709680562u, 0, 13, &be_const_str_widget_event); +be_define_const_str(set_auth, "set_auth", 1057170930u, 0, 8, &be_const_str_update); +be_define_const_str(set_bri, "set_bri", 2789118779u, 0, 7, &be_const_str_str); be_define_const_str(set_chg_current, "set_chg_current", 336304386u, 0, 15, NULL); be_define_const_str(set_dc_voltage, "set_dc_voltage", 2181981936u, 0, 14, NULL); -be_define_const_str(set_dcdc_enable, "set_dcdc_enable", 1594690786u, 0, 15, NULL); -be_define_const_str(set_first_time, "set_first_time", 3111247550u, 0, 14, NULL); -be_define_const_str(set_height, "set_height", 1080207399u, 0, 10, &be_const_str_value); +be_define_const_str(set_dcdc_enable, "set_dcdc_enable", 1594690786u, 0, 15, &be_const_str_class); +be_define_const_str(set_first_time, "set_first_time", 3111247550u, 0, 14, &be_const_str_tan); +be_define_const_str(set_height, "set_height", 1080207399u, 0, 10, NULL); be_define_const_str(set_ldo_enable, "set_ldo_enable", 2916502041u, 0, 14, NULL); -be_define_const_str(set_ldo_voltage, "set_ldo_voltage", 4090501160u, 0, 15, &be_const_str_stop_iteration); +be_define_const_str(set_ldo_voltage, "set_ldo_voltage", 4090501160u, 0, 15, NULL); be_define_const_str(set_light, "set_light", 3176076152u, 0, 9, NULL); be_define_const_str(set_matrix_pixel_color, "set_matrix_pixel_color", 1197149462u, 0, 22, NULL); -be_define_const_str(set_percentage, "set_percentage", 2952022724u, 0, 14, NULL); +be_define_const_str(set_percentage, "set_percentage", 2952022724u, 0, 14, &be_const_str__X7Bs_X7DBatt_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D); be_define_const_str(set_pixel_color, "set_pixel_color", 1275248356u, 0, 15, NULL); -be_define_const_str(set_power, "set_power", 549820893u, 0, 9, NULL); -be_define_const_str(set_style_bg_color, "set_style_bg_color", 1689513089u, 0, 18, &be_const_str_set_text); +be_define_const_str(set_power, "set_power", 549820893u, 0, 9, &be_const_str_v); +be_define_const_str(set_style_bg_color, "set_style_bg_color", 1689513089u, 0, 18, NULL); be_define_const_str(set_style_line_color, "set_style_line_color", 3665238976u, 0, 20, NULL); be_define_const_str(set_style_pad_right, "set_style_pad_right", 3314069054u, 0, 19, NULL); -be_define_const_str(set_style_text_font, "set_style_text_font", 1028590019u, 0, 19, NULL); -be_define_const_str(set_text, "set_text", 1849641155u, 0, 8, &be_const_str_wire1); -be_define_const_str(set_time, "set_time", 900236405u, 0, 8, &be_const_str_widget_struct_by_class); -be_define_const_str(set_timeouts, "set_timeouts", 3732850900u, 0, 12, &be_const_str_tan); -be_define_const_str(set_timer, "set_timer", 2135414533u, 0, 9, NULL); -be_define_const_str(set_useragent, "set_useragent", 612237244u, 0, 13, &be_const_str_write_file); +be_define_const_str(set_style_text_font, "set_style_text_font", 1028590019u, 0, 19, &be_const_str_widget_ctor_impl); +be_define_const_str(set_text, "set_text", 1849641155u, 0, 8, NULL); +be_define_const_str(set_time, "set_time", 900236405u, 0, 8, &be_const_str_if); +be_define_const_str(set_timeouts, "set_timeouts", 3732850900u, 0, 12, NULL); +be_define_const_str(set_timer, "set_timer", 2135414533u, 0, 9, &be_const_str_for); +be_define_const_str(set_useragent, "set_useragent", 612237244u, 0, 13, NULL); be_define_const_str(set_width, "set_width", 484671920u, 0, 9, NULL); -be_define_const_str(set_x, "set_x", 1849400772u, 0, 5, NULL); -be_define_const_str(set_y, "set_y", 1866178391u, 0, 5, NULL); -be_define_const_str(setbits, "setbits", 2762408167u, 0, 7, NULL); +be_define_const_str(set_x, "set_x", 1849400772u, 0, 5, &be_const_str_var); +be_define_const_str(set_y, "set_y", 1866178391u, 0, 5, &be_const_str_raise); +be_define_const_str(setbits, "setbits", 2762408167u, 0, 7, &be_const_str_super); be_define_const_str(seti, "seti", 1500556254u, 0, 4, NULL); be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, NULL); be_define_const_str(setmember, "setmember", 1432909441u, 0, 9, NULL); be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL); be_define_const_str(settings, "settings", 1745255176u, 0, 8, NULL); be_define_const_str(shared_key, "shared_key", 2200833624u, 0, 10, NULL); -be_define_const_str(show, "show", 2840060476u, 0, 4, &be_const_str_string); -be_define_const_str(sin, "sin", 3761252941u, 0, 3, NULL); +be_define_const_str(show, "show", 2840060476u, 0, 4, NULL); +be_define_const_str(sin, "sin", 3761252941u, 0, 3, &be_const_str_widget_constructor); be_define_const_str(sinh, "sinh", 282220607u, 0, 4, NULL); -be_define_const_str(size, "size", 597743964u, 0, 4, NULL); -be_define_const_str(skip, "skip", 1097563074u, 0, 4, NULL); -be_define_const_str(solidified, "solidified", 3257553487u, 0, 10, &be_const_str_class); -be_define_const_str(split, "split", 2276994531u, 0, 5, NULL); -be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, &be_const_str_width); -be_define_const_str(srand, "srand", 465518633u, 0, 5, &be_const_str_widget_group_def); +be_define_const_str(size, "size", 597743964u, 0, 4, &be_const_str_top); +be_define_const_str(skip, "skip", 1097563074u, 0, 4, &be_const_str_tr); +be_define_const_str(solidified, "solidified", 3257553487u, 0, 10, NULL); +be_define_const_str(split, "split", 2276994531u, 0, 5, &be_const_str__X7Bs_X7DVBus_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D); +be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, &be_const_str_widget_cb); +be_define_const_str(srand, "srand", 465518633u, 0, 5, NULL); be_define_const_str(start, "start", 1697318111u, 0, 5, NULL); -be_define_const_str(state, "state", 2016490230u, 0, 5, &be_const_str_write_bytes); +be_define_const_str(state, "state", 2016490230u, 0, 5, NULL); be_define_const_str(static, "static", 3532702267u, 71, 6, NULL); be_define_const_str(stop, "stop", 3411225317u, 0, 4, NULL); -be_define_const_str(stop_iteration, "stop_iteration", 4173793901u, 0, 14, &be_const_str__X7Bs_X7DTemp_X20AXP_X7Bm_X7D_X25_X2E1f_X20_XB0C_X7Be_X7D); +be_define_const_str(stop_iteration, "stop_iteration", 4173793901u, 0, 14, NULL); be_define_const_str(str, "str", 3259748752u, 0, 3, NULL); -be_define_const_str(strftime, "strftime", 187738851u, 0, 8, &be_const_str_else); +be_define_const_str(strftime, "strftime", 187738851u, 0, 8, NULL); be_define_const_str(string, "string", 398550328u, 0, 6, NULL); -be_define_const_str(strip, "strip", 4246411473u, 0, 5, &be_const_str_widget_width_def); +be_define_const_str(strip, "strip", 4246411473u, 0, 5, NULL); be_define_const_str(super, "super", 4152230356u, 0, 5, NULL); be_define_const_str(sys, "sys", 3277365014u, 0, 3, NULL); be_define_const_str(tag, "tag", 2516003219u, 0, 3, NULL); be_define_const_str(tan, "tan", 2633446552u, 0, 3, NULL); -be_define_const_str(tanh, "tanh", 153638352u, 0, 4, NULL); -be_define_const_str(target, "target", 845187144u, 0, 6, &be_const_str_webclient); -be_define_const_str(target_search, "target_search", 1947846553u, 0, 13, &be_const_str__X7Bs_X7DBatt_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D); -be_define_const_str(tasmota, "tasmota", 424643812u, 0, 7, NULL); -be_define_const_str(tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29, "tasmota.get_light() is deprecated, use light.get()", 3525753647u, 0, 50, NULL); +be_define_const_str(tanh, "tanh", 153638352u, 0, 4, &be_const_str__X7B); +be_define_const_str(target, "target", 845187144u, 0, 6, &be_const_str_widget_width_def); +be_define_const_str(target_search, "target_search", 1947846553u, 0, 13, &be_const_str_url_encode); +be_define_const_str(tasmota, "tasmota", 424643812u, 0, 7, &be_const_str_value_error); +be_define_const_str(tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29, "tasmota.get_light() is deprecated, use light.get()", 3525753647u, 0, 50, &be_const_str_while); be_define_const_str(tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29, "tasmota.set_light() is deprecated, use light.set()", 2124937871u, 0, 50, NULL); -be_define_const_str(tele, "tele", 3474458061u, 0, 4, NULL); +be_define_const_str(tcpclient, "tcpclient", 3828797983u, 0, 9, NULL); +be_define_const_str(tele, "tele", 3474458061u, 0, 4, &be_const_str_time_dump); be_define_const_str(the_X20second_X20argument_X20is_X20not_X20a_X20function, "the second argument is not a function", 3954574469u, 0, 37, NULL); be_define_const_str(time_dump, "time_dump", 3330410747u, 0, 9, NULL); -be_define_const_str(time_reached, "time_reached", 2075136773u, 0, 12, &be_const_str_try_rule); +be_define_const_str(time_reached, "time_reached", 2075136773u, 0, 12, &be_const_str__X7Bs_X7DBatt_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D); be_define_const_str(time_str, "time_str", 2613827612u, 0, 8, NULL); -be_define_const_str(to_gamma, "to_gamma", 1597139862u, 0, 8, NULL); +be_define_const_str(to_gamma, "to_gamma", 1597139862u, 0, 8, &be_const_str_value); be_define_const_str(tob64, "tob64", 373777640u, 0, 5, NULL); be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, NULL); -be_define_const_str(tomap, "tomap", 612167626u, 0, 5, &be_const_str_value_error); +be_define_const_str(tomap, "tomap", 612167626u, 0, 5, NULL); be_define_const_str(top, "top", 2802900028u, 0, 3, NULL); be_define_const_str(toptr, "toptr", 3379847454u, 0, 5, NULL); be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL); -be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, &be_const_str_widget_ctor_cb); +be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, &be_const_str_webserver); be_define_const_str(tr, "tr", 1195724803u, 0, 2, NULL); be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, NULL); be_define_const_str(true, "true", 1303515621u, 61, 4, NULL); be_define_const_str(try, "try", 2887626766u, 68, 3, NULL); be_define_const_str(try_rule, "try_rule", 1986449405u, 0, 8, NULL); be_define_const_str(type, "type", 1361572173u, 0, 4, NULL); -be_define_const_str(unknown_X20instruction, "unknown instruction", 1093911841u, 0, 19, &be_const_str_break); +be_define_const_str(unknown_X20instruction, "unknown instruction", 1093911841u, 0, 19, NULL); be_define_const_str(update, "update", 672109684u, 0, 6, NULL); be_define_const_str(upper, "upper", 176974407u, 0, 5, NULL); be_define_const_str(url_encode, "url_encode", 528392145u, 0, 10, NULL); @@ -683,12 +687,12 @@ be_define_const_str(web_add_config_button, "web_add_config_button", 639674325u, be_define_const_str(web_add_console_button, "web_add_console_button", 3481436192u, 0, 22, NULL); be_define_const_str(web_add_handler, "web_add_handler", 3990174962u, 0, 15, NULL); be_define_const_str(web_add_main_button, "web_add_main_button", 3960367664u, 0, 19, NULL); -be_define_const_str(web_add_management_button, "web_add_management_button", 2738877186u, 0, 25, NULL); +be_define_const_str(web_add_management_button, "web_add_management_button", 2738877186u, 0, 25, &be_const_str_do); be_define_const_str(web_send, "web_send", 2989941448u, 0, 8, NULL); be_define_const_str(web_send_decimal, "web_send_decimal", 1407210204u, 0, 16, NULL); -be_define_const_str(web_sensor, "web_sensor", 2900096972u, 0, 10, NULL); +be_define_const_str(web_sensor, "web_sensor", 2900096972u, 0, 10, &be_const_str_write_gpio); be_define_const_str(webclient, "webclient", 4076389146u, 0, 9, NULL); -be_define_const_str(webserver, "webserver", 1572454038u, 0, 9, &be_const_str__X7Bs_X7DVBus_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D); +be_define_const_str(webserver, "webserver", 1572454038u, 0, 9, NULL); be_define_const_str(while, "while", 231090382u, 53, 5, NULL); be_define_const_str(widget_cb, "widget_cb", 2763583055u, 0, 9, NULL); be_define_const_str(widget_constructor, "widget_constructor", 2543785934u, 0, 18, NULL); @@ -703,15 +707,15 @@ be_define_const_str(widget_event_cb, "widget_event_cb", 1508466754u, 0, 15, NULL be_define_const_str(widget_event_impl, "widget_event_impl", 2178430561u, 0, 17, NULL); be_define_const_str(widget_group_def, "widget_group_def", 1246968785u, 0, 16, NULL); be_define_const_str(widget_height_def, "widget_height_def", 3131667813u, 0, 17, NULL); -be_define_const_str(widget_instance_size, "widget_instance_size", 2055354779u, 0, 20, &be_const_str_do); +be_define_const_str(widget_instance_size, "widget_instance_size", 2055354779u, 0, 20, NULL); be_define_const_str(widget_struct_by_class, "widget_struct_by_class", 3806373842u, 0, 22, NULL); be_define_const_str(widget_struct_default, "widget_struct_default", 781673633u, 0, 21, NULL); be_define_const_str(widget_width_def, "widget_width_def", 3986078862u, 0, 16, NULL); be_define_const_str(width, "width", 2508680735u, 0, 5, NULL); be_define_const_str(width_def, "width_def", 1143717879u, 0, 9, NULL); be_define_const_str(wifi, "wifi", 120087624u, 0, 4, NULL); -be_define_const_str(wire, "wire", 4082753944u, 0, 4, &be_const_str_static); -be_define_const_str(wire1, "wire1", 3212721419u, 0, 5, NULL); +be_define_const_str(wire, "wire", 4082753944u, 0, 4, NULL); +be_define_const_str(wire1, "wire1", 3212721419u, 0, 5, &be_const_str_true); be_define_const_str(wire2, "wire2", 3229499038u, 0, 5, NULL); be_define_const_str(wire_scan, "wire_scan", 2671275880u, 0, 9, NULL); be_define_const_str(write, "write", 3190202204u, 0, 5, NULL); @@ -720,9 +724,9 @@ be_define_const_str(write_bit, "write_bit", 2660990436u, 0, 9, NULL); be_define_const_str(write_bytes, "write_bytes", 1227543792u, 0, 11, NULL); be_define_const_str(write_file, "write_file", 3177658879u, 0, 10, NULL); be_define_const_str(write_gpio, "write_gpio", 2267940334u, 0, 10, NULL); -be_define_const_str(x, "x", 4245442695u, 0, 1, &be_const_str__X7Bs_X7DVBus_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D); +be_define_const_str(x, "x", 4245442695u, 0, 1, NULL); be_define_const_str(x1, "x1", 274927234u, 0, 2, NULL); -be_define_const_str(y, "y", 4228665076u, 0, 1, &be_const_str_end); +be_define_const_str(y, "y", 4228665076u, 0, 1, NULL); be_define_const_str(y1, "y1", 2355101727u, 0, 2, NULL); be_define_const_str(year, "year", 2927578396u, 0, 4, NULL); be_define_const_str(yield, "yield", 1821831854u, 0, 5, NULL); @@ -738,367 +742,369 @@ be_define_const_str(_X7B_X7D, "{}", 1415952421u, 0, 2, NULL); be_define_const_str(_X7D, "}", 4161554600u, 0, 1, NULL); static const bstring* const m_string_table[] = { - (const bstring *)&be_const_str__X23init_X2Ebat, - (const bstring *)&be_const_str_Tele, - (const bstring *)&be_const_str_widget_cb, - (const bstring *)&be_const_str__X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E, - (const bstring *)&be_const_str_cb_do_nothing, - (const bstring *)&be_const_str_return, - (const bstring *)&be_const_str_state, - (const bstring *)&be_const_str_call, - NULL, - (const bstring *)&be_const_str__X23, - (const bstring *)&be_const_str_autoexec, - NULL, - (const bstring *)&be_const_str___iterator__, - (const bstring *)&be_const_str_POST, - (const bstring *)&be_const_str_Wire, - (const bstring *)&be_const_str_push_path, - (const bstring *)&be_const_str_CFG_X3A_X20ran_X20_X20, - (const bstring *)&be_const_str_time_reached, - (const bstring *)&be_const_str_encrypt, - (const bstring *)&be_const_str_a, - (const bstring *)&be_const_str_can_show, - (const bstring *)&be_const_str_imin, - (const bstring *)&be_const_str__X2Ebe, - (const bstring *)&be_const_str_SERIAL_8N2, - (const bstring *)&be_const_str_read, - (const bstring *)&be_const_str_SERIAL_6E1, - (const bstring *)&be_const_str__X2Etapp, - (const bstring *)&be_const_str_CFG_X3A_X20loaded_X20_X20, - (const bstring *)&be_const_str__X2B, (const bstring *)&be_const_str__X3E_X3D, - (const bstring *)&be_const_str_atan2, - (const bstring *)&be_const_str_bytes, - (const bstring *)&be_const_str_AES_GCM, - (const bstring *)&be_const_str__X25s_X2Eautoconf, - NULL, - (const bstring *)&be_const_str_AudioFileSourceFS, - (const bstring *)&be_const_str_get_bat_voltage, - (const bstring *)&be_const_str_display_X2Eini, - (const bstring *)&be_const_str_web_add_console_button, - (const bstring *)&be_const_str__X2Ep1, + (const bstring *)&be_const_str_run_bat, NULL, NULL, - (const bstring *)&be_const_str_EVENT_DRAW_PART_END, - (const bstring *)&be_const_str_group_def, - (const bstring *)&be_const_str__X2F_X3Frst_X3D, - (const bstring *)&be_const_str_leds, - (const bstring *)&be_const_str__X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, - (const bstring *)&be_const_str_CFG_X3A_X20skipping_X20_X27display_X2Eini_X27_X20because_X20already_X20present_X20in_X20file_X2Dsystem, - (const bstring *)&be_const_str_connection_error, - (const bstring *)&be_const_str_load, - (const bstring *)&be_const_str_pow, - NULL, - (const bstring *)&be_const_str_valuer_error, - NULL, - NULL, - (const bstring *)&be_const_str_draw_arc, - (const bstring *)&be_const_str_scale_uint, - (const bstring *)&be_const_str_arg, - (const bstring *)&be_const_str__read, - (const bstring *)&be_const_str__X21_X3D_X3D, - (const bstring *)&be_const_str_cos, - (const bstring *)&be_const_str_classname, - (const bstring *)&be_const_str_add_driver, - (const bstring *)&be_const_str__X3D_X3C_X3E_X21, - (const bstring *)&be_const_str_SERIAL_5N2, - (const bstring *)&be_const_str__X23display_X2Eini, - (const bstring *)&be_const_str_CFG_X3A_X20removing_X20autoconf_X20files, - (const bstring *)&be_const_str__drivers, - (const bstring *)&be_const_str_detect, - (const bstring *)&be_const_str_get_vbus_voltage, - (const bstring *)&be_const_str_tr, - (const bstring *)&be_const_str_button_pressed, - (const bstring *)&be_const_str_call_native, - NULL, - (const bstring *)&be_const_str_gamma10, - (const bstring *)&be_const_str__X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d, - (const bstring *)&be_const_str_STATE_DEFAULT, - (const bstring *)&be_const_str_quality, - (const bstring *)&be_const_str__X2Eautoconf, - (const bstring *)&be_const_str__def, - (const bstring *)&be_const_str_escape, - (const bstring *)&be_const_str_percentage, - (const bstring *)&be_const_str_TAP_X3A_X20found_X20Tasmota_X20App_X20_X27_X25s_X27, - (const bstring *)&be_const_str__archive, - (const bstring *)&be_const_str_OPTION_A, - (const bstring *)&be_const_str_h, - (const bstring *)&be_const_str_every_50ms, - (const bstring *)&be_const_str_SERIAL_8E1, - (const bstring *)&be_const_str_get_aps_voltage, - (const bstring *)&be_const_str_EC_C25519, - (const bstring *)&be_const_str_gen_cb, - (const bstring *)&be_const_str_False, - (const bstring *)&be_const_str_path, - (const bstring *)&be_const_str_isnan, - (const bstring *)&be_const_str__X5B, - (const bstring *)&be_const_str__X2Ew, - (const bstring *)&be_const_str_collect, - (const bstring *)&be_const_str_contains, - (const bstring *)&be_const_str_Parameter_X20error, - (const bstring *)&be_const_str_CFG_X3A_X20removed_X20file_X20_X27_X25s_X27, - (const bstring *)&be_const_str__X21_X3D, - (const bstring *)&be_const_str_ceil, - (const bstring *)&be_const_str_pc_abs, - (const bstring *)&be_const_str_CFG_X3A_X20removing_X20first_X20time_X20marker, - (const bstring *)&be_const_str_setrange, - (const bstring *)&be_const_str_concat, - (const bstring *)&be_const_str_x1, - (const bstring *)&be_const_str_ctypes_bytes_dyn, - NULL, - (const bstring *)&be_const_str__X2Elen, - NULL, - (const bstring *)&be_const_str__X2Ebec, - (const bstring *)&be_const_str_set_timer, - (const bstring *)&be_const_str__X3A, - (const bstring *)&be_const_str_log10, - (const bstring *)&be_const_str_None, - (const bstring *)&be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3E_X26_X23129668_X3B_X20Auto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E, - (const bstring *)&be_const_str_init, - NULL, - (const bstring *)&be_const_str_run, - (const bstring *)&be_const_str_BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, - (const bstring *)&be_const_str_Leds, - NULL, - (const bstring *)&be_const_str_char, - NULL, - NULL, - (const bstring *)&be_const_str_exec_rules, - (const bstring *)&be_const_str_content_send_style, - (const bstring *)&be_const_str___upper__, - (const bstring *)&be_const_str_millis, - NULL, - (const bstring *)&be_const_str_find_key_i, - (const bstring *)&be_const_str_k, - (const bstring *)&be_const_str_SERIAL_6O1, - (const bstring *)&be_const_str_battery_present, - NULL, - (const bstring *)&be_const_str_compress, - (const bstring *)&be_const_str_offseta, - NULL, - (const bstring *)&be_const_str_decompress, - (const bstring *)&be_const_str_CFG_X3A_X20loaded_X20_X27_X25s_X27, - (const bstring *)&be_const_str__X3D, - (const bstring *)&be_const_str_is_running, - (const bstring *)&be_const_str_min, - (const bstring *)&be_const_str_line_dsc, - (const bstring *)&be_const_str__ptr, - (const bstring *)&be_const_str_ctypes_bytes, - (const bstring *)&be_const_str__X3C_X3D, - NULL, - (const bstring *)&be_const_str_draw_line_dsc, - (const bstring *)&be_const_str__X2C, - (const bstring *)&be_const_str_get_bat_power, - (const bstring *)&be_const_str___lower__, - (const bstring *)&be_const_str_read_bytes, - (const bstring *)&be_const_str_get_height, - (const bstring *)&be_const_str_BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20, - (const bstring *)&be_const_str_bus, - (const bstring *)&be_const_str_SERIAL_5O1, - (const bstring *)&be_const_str_set_ldo_voltage, - (const bstring *)&be_const_str_CFG_X3A_X20downloading_X20_X27_X25s_X27, - (const bstring *)&be_const_str_b, - (const bstring *)&be_const_str_pi, - (const bstring *)&be_const_str_get_current_module_path, - (const bstring *)&be_const_str_editable, - (const bstring *)&be_const_str_internal_error, - (const bstring *)&be_const_str_begin, - (const bstring *)&be_const_str_arg_X20must_X20be_X20a_X20subclass_X20of_X20lv_obj, - (const bstring *)&be_const_str_duration, - (const bstring *)&be_const_str_instance_size, - (const bstring *)&be_const_str_True, - (const bstring *)&be_const_str_EVENT_DRAW_PART_BEGIN, - (const bstring *)&be_const_str__X2502d_X25s_X2502d, - (const bstring *)&be_const_str_byte, - NULL, - (const bstring *)&be_const_str_kv, - (const bstring *)&be_const_str_WS2812_GRB, - (const bstring *)&be_const_str_SERIAL_8O2, - (const bstring *)&be_const_str_arch, - (const bstring *)&be_const_str__X2Fac, - (const bstring *)&be_const_str_get_temp, - (const bstring *)&be_const_str_CFG_X3A_X20return_code_X3D_X25i, - (const bstring *)&be_const_str_WS2812, - (const bstring *)&be_const_str__X3Cp_X3ECurrent_X20configuration_X3A_X20_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E, - NULL, - (const bstring *)&be_const_str_add_header, - (const bstring *)&be_const_str_onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E, - (const bstring *)&be_const_str_every_100ms, - (const bstring *)&be_const_str_SERIAL_7N1, - (const bstring *)&be_const_str__X3C, - (const bstring *)&be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dzip_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, - NULL, - (const bstring *)&be_const_str__begin_transmission, - (const bstring *)&be_const_str_every_second, - (const bstring *)&be_const_str_CFG_X3A_X20running_X20, - (const bstring *)&be_const_str_base_class, - (const bstring *)&be_const_str_set_power, - (const bstring *)&be_const_str_AudioGeneratorMP3, - (const bstring *)&be_const_str__X2F, - (const bstring *)&be_const_str_r, - (const bstring *)&be_const_str_eth, - (const bstring *)&be_const_str_due, - (const bstring *)&be_const_str_animators, - (const bstring *)&be_const_str__X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, - NULL, - (const bstring *)&be_const_str_cmd, - (const bstring *)&be_const_str_, - (const bstring *)&be_const_str_gc, - (const bstring *)&be_const_str_get_power, - (const bstring *)&be_const_str_file_X20extension_X20is_X20not_X20_X27_X2Ebe_X27_X20or_X20_X27_X2Ebec_X27, - NULL, - (const bstring *)&be_const_str_bri, - (const bstring *)&be_const_str_class_init_obj, - (const bstring *)&be_const_str_engine, - (const bstring *)&be_const_str_add_anim, - (const bstring *)&be_const_str_closure, - (const bstring *)&be_const_str_HTTP_GET, - (const bstring *)&be_const_str_members, - (const bstring *)&be_const_str__X2Ep, - (const bstring *)&be_const_str_CFG_X3A_X20loading_X20, - (const bstring *)&be_const_str_gamma8, - (const bstring *)&be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, - (const bstring *)&be_const_str__X3C_X2Fform_X3E_X3C_X2Fp_X3E, - (const bstring *)&be_const_str_get_option, - (const bstring *)&be_const_str_SERIAL_8O1, - (const bstring *)&be_const_str_dump, - (const bstring *)&be_const_str_CFG_X3A_X20_X27init_X2Ebat_X27_X20done_X2C_X20restarting, - (const bstring *)&be_const_str_traceback, - (const bstring *)&be_const_str__X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, - (const bstring *)&be_const_str_CFG_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, - (const bstring *)&be_const_str_PART_MAIN, - (const bstring *)&be_const_str_Unknown_X20command, - NULL, - (const bstring *)&be_const_str_atleast1, - (const bstring *)&be_const_str_I2C_Driver, - (const bstring *)&be_const_str_delay, - (const bstring *)&be_const_str__X3F, - (const bstring *)&be_const_str_set_style_bg_color, - NULL, - (const bstring *)&be_const_str_AudioFileSource, - (const bstring *)&be_const_str__X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E, - (const bstring *)&be_const_str__debug_present, - NULL, - (const bstring *)&be_const_str_get_free_heap, - (const bstring *)&be_const_str_introspect, - (const bstring *)&be_const_str__X2E, - (const bstring *)&be_const_str_SERIAL_7E2, - (const bstring *)&be_const_str_get_bat_charge_current, - NULL, - (const bstring *)&be_const_str__X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29, - NULL, - NULL, - (const bstring *)&be_const_str__p, - (const bstring *)&be_const_str__X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B, - (const bstring *)&be_const_str_year, - NULL, - (const bstring *)&be_const_str_destructor_cb, - (const bstring *)&be_const_str_select, - (const bstring *)&be_const_str_content_start, - (const bstring *)&be_const_str__persist_X2Ejson, - NULL, - NULL, - (const bstring *)&be_const_str_Animate_X20pc_X20is_X20out_X20of_X20range, - (const bstring *)&be_const_str_create_matrix, - (const bstring *)&be_const_str__, - (const bstring *)&be_const_str_SERIAL_5E2, - NULL, - (const bstring *)&be_const_str__X23autoexec_X2Ebat, - (const bstring *)&be_const_str_BUTTON_CONFIGURATION, - (const bstring *)&be_const_str_exists, - (const bstring *)&be_const_str_CFG_X3A_X20could_X20not_X20run_X20_X25s_X20_X28_X25s_X20_X2D_X20_X25s_X29, - NULL, - (const bstring *)&be_const_str_ins_time, - (const bstring *)&be_const_str_digital_read, - (const bstring *)&be_const_str_MD5, - (const bstring *)&be_const_str_SERIAL_6O2, - (const bstring *)&be_const_str_alternate, - (const bstring *)&be_const_str_offset, - (const bstring *)&be_const_str_assert, - NULL, - NULL, - (const bstring *)&be_const_str_SERIAL_5N1, - (const bstring *)&be_const_str_cosh, - (const bstring *)&be_const_str__X3E, - (const bstring *)&be_const_str__X23preinit_X2Ebe, - (const bstring *)&be_const_str_AXP192, - NULL, - (const bstring *)&be_const_str_search, - NULL, - (const bstring *)&be_const_str_seti, - (const bstring *)&be_const_str_target_search, - (const bstring *)&be_const_str_var, - (const bstring *)&be_const_str__X2F_X2Eautoconf, - (const bstring *)&be_const_str_item, - NULL, - (const bstring *)&be_const_str__X3Clabel_X3EChoose_X20a_X20device_X20configuration_X3A_X3C_X2Flabel_X3E_X3Cbr_X3E, - (const bstring *)&be_const_str_height_def, - (const bstring *)&be_const_str_insert, - (const bstring *)&be_const_str__X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, - (const bstring *)&be_const_str__request_from, - (const bstring *)&be_const_str__X28_X29, - (const bstring *)&be_const_str_asstring, - (const bstring *)&be_const_str__timers, - (const bstring *)&be_const_str_web_add_main_button, - (const bstring *)&be_const_str_CFG_X3A_X20exception_X20_X27_X25s_X27_X20_X2D_X20_X27_X25s_X27, - (const bstring *)&be_const_str_allocated, - (const bstring *)&be_const_str__X3D_X3D, - (const bstring *)&be_const_str_reset, - (const bstring *)&be_const_str_find_op, - (const bstring *)&be_const_str_animate, - (const bstring *)&be_const_str_cb_obj, - NULL, - (const bstring *)&be_const_str_isrunning, + (const bstring *)&be_const_str_io_error, (const bstring *)&be_const_str_depower, - (const bstring *)&be_const_str_AudioOutputI2S, + (const bstring *)&be_const_str_SERIAL_6O1, + (const bstring *)&be_const_str_STATE_DEFAULT, + (const bstring *)&be_const_str_SERIAL_6N1, + (const bstring *)&be_const_str_Auto_X2Dconfiguration, + (const bstring *)&be_const_str_decrypt, + (const bstring *)&be_const_str_insert, NULL, + (const bstring *)&be_const_str__X3D, + (const bstring *)&be_const_str_write_bytes, NULL, - (const bstring *)&be_const_str_cb_event_closure, - NULL, - (const bstring *)&be_const_str_EVENT_DRAW_MAIN, + (const bstring *)&be_const_str_running, + (const bstring *)&be_const_str_onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E, + (const bstring *)&be_const_str_read_bytes, + (const bstring *)&be_const_str_draw_arc, (const bstring *)&be_const_str__X20, - (const bstring *)&be_const_str_obj_event_base, - (const bstring *)&be_const_str_redirect, - (const bstring *)&be_const_str__X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, - (const bstring *)&be_const_str_I2C_X3A, - (const bstring *)&be_const_str_clear_to, - (const bstring *)&be_const_str_CFG_X3A_X20multiple_X20autoconf_X20files_X20found_X2C_X20aborting_X20_X28_X27_X25s_X27_X20_X2B_X20_X27_X25s_X27_X29, - (const bstring *)&be_const_str_pixels_buffer, - (const bstring *)&be_const_str_resp_cmnd_done, - (const bstring *)&be_const_str__X2Esize, - (const bstring *)&be_const_str_AudioOutput, + (const bstring *)&be_const_str_event, + (const bstring *)&be_const_str_SERIAL_5E2, + (const bstring *)&be_const_str_SERIAL_6E1, + (const bstring *)&be_const_str_leds, + (const bstring *)&be_const_str__lvgl, + (const bstring *)&be_const_str_zip, + (const bstring *)&be_const_str_EC_C25519, + (const bstring *)&be_const_str_COLOR_BLACK, + (const bstring *)&be_const_str_readline, + (const bstring *)&be_const_str__X3C_X2Fselect_X3E_X3Cp_X3E_X3C_X2Fp_X3E, + NULL, + (const bstring *)&be_const_str_load_templates, + (const bstring *)&be_const_str_get, + (const bstring *)&be_const_str_POST, + (const bstring *)&be_const_str___iterator__, + (const bstring *)&be_const_str_AudioGeneratorMP3, + (const bstring *)&be_const_str__energy, + (const bstring *)&be_const_str__rules, + (const bstring *)&be_const_str_break, + (const bstring *)&be_const_str__X2F_X2Eautoconf, + (const bstring *)&be_const_str_content_button, + (const bstring *)&be_const_str__cb, + (const bstring *)&be_const_str_get_aps_voltage, + (const bstring *)&be_const_str_AXP192, + (const bstring *)&be_const_str_select, + (const bstring *)&be_const_str_autoexec, + (const bstring *)&be_const_str__X0A, + (const bstring *)&be_const_str_available, + NULL, + (const bstring *)&be_const_str__X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B, + (const bstring *)&be_const_str_gc, + (const bstring *)&be_const_str_CFG_X3A_X20loading_X20_X27_X25s_X27, + (const bstring *)&be_const_str__X21_X3D_X3D, + (const bstring *)&be_const_str_split, + (const bstring *)&be_const_str_lower, + (const bstring *)&be_const_str__X3Clabel_X3EChoose_X20a_X20device_X20configuration_X3A_X3C_X2Flabel_X3E_X3Cbr_X3E, + (const bstring *)&be_const_str__X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, + (const bstring *)&be_const_str_base_class, + (const bstring *)&be_const_str_connected, + (const bstring *)&be_const_str_instance, + NULL, + (const bstring *)&be_const_str__X2Etapp, + (const bstring *)&be_const_str__X3Cp_X3ECurrent_X20configuration_X3A_X20_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E, + (const bstring *)&be_const_str_attrdump, + (const bstring *)&be_const_str_EVENT_DRAW_MAIN, + (const bstring *)&be_const_str__request_from, + (const bstring *)&be_const_str__X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E, + (const bstring *)&be_const_str_acos, + (const bstring *)&be_const_str_get_light, + (const bstring *)&be_const_str_resp_cmnd_str, + NULL, + (const bstring *)&be_const_str_CFG_X3A_X20removing_X20autoconf_X20files, + NULL, + (const bstring *)&be_const_str_w, + (const bstring *)&be_const_str_draw_line, + NULL, + (const bstring *)&be_const_str_strip, + (const bstring *)&be_const_str_format, + (const bstring *)&be_const_str_Leds, + (const bstring *)&be_const_str_exec_tele, + (const bstring *)&be_const_str_chars_in_string, + (const bstring *)&be_const_str_CFG_X3A_X20skipping_X20_X27display_X2Eini_X27_X20because_X20already_X20present_X20in_X20file_X2Dsystem, + NULL, + (const bstring *)&be_const_str_widget_dtor_cb, + (const bstring *)&be_const_str_invalidate, + (const bstring *)&be_const_str__X3A, + NULL, + (const bstring *)&be_const_str_out_X20of_X20range, + NULL, + (const bstring *)&be_const_str_lv_event_cb, + (const bstring *)&be_const_str_LVG_X3A_X20call_X20to_X20unsupported_X20callback, + (const bstring *)&be_const_str_escape, + (const bstring *)&be_const_str_event_cb, (const bstring *)&be_const_str_init_draw_line_dsc, NULL, - (const bstring *)&be_const_str_BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson, - (const bstring *)&be_const_str_SERIAL_8N1, - (const bstring *)&be_const_str_deinit, - (const bstring *)&be_const_str__X2D_X2D_X3A_X2D_X2D, - (const bstring *)&be_const_str_split, - NULL, - (const bstring *)&be_const_str__X7Bs_X7DBatt_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D, - (const bstring *)&be_const_str__X3C_X2Fselect_X3E_X3Cp_X3E_X3C_X2Fp_X3E, - (const bstring *)&be_const_str__X23autoexec_X2Ebe, - (const bstring *)&be_const_str_Restart_X201, - (const bstring *)&be_const_str__X3Cp_X3E_X3Csmall_X3E_X26nbsp_X3B_X28This_X20feature_X20requires_X20an_X20internet_X20connection_X29_X3C_X2Fsmall_X3E_X3C_X2Fp_X3E, - (const bstring *)&be_const_str_settings, - (const bstring *)&be_const_str_code, + (const bstring *)&be_const_str_isinstance, + (const bstring *)&be_const_str_exists, + (const bstring *)&be_const_str_HTTP_GET, + (const bstring *)&be_const_str_clear_first_time, + (const bstring *)&be_const_str__X2Eautoconf, + (const bstring *)&be_const_str_clear, + (const bstring *)&be_const_str__X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, + (const bstring *)&be_const_str_SERIAL_7N1, + (const bstring *)&be_const_str_get_percentage, (const bstring *)&be_const_str_SERIAL_7O1, - (const bstring *)&be_const_str__rules, - (const bstring *)&be_const_str_month, - (const bstring *)&be_const_str_read_sensors, - (const bstring *)&be_const_str__X2Ep2, - (const bstring *)&be_const_str__dirty, + (const bstring *)&be_const_str_remove, + (const bstring *)&be_const_str_set_time, + (const bstring *)&be_const_str_get_size, + (const bstring *)&be_const_str_remove_timer, + (const bstring *)&be_const_str__X23autoexec_X2Ebat, + (const bstring *)&be_const_str__X2D_X2D_X3A_X2D_X2D, + (const bstring *)&be_const_str_due, + (const bstring *)&be_const_str__X2C, + (const bstring *)&be_const_str_instance_size, + (const bstring *)&be_const_str_Animate_X20pc_X20is_X20out_X20of_X20range, + (const bstring *)&be_const_str_get_bat_voltage, + (const bstring *)&be_const_str_resp_cmnd_done, + NULL, + (const bstring *)&be_const_str_energy_struct, + NULL, + (const bstring *)&be_const_str__drivers, + (const bstring *)&be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dzip_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, + (const bstring *)&be_const_str_tob64, + (const bstring *)&be_const_str__X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, + (const bstring *)&be_const_str_CFG_X3A_X20multiple_X20autoconf_X20files_X20found_X2C_X20aborting_X20_X28_X27_X25s_X27_X20_X2B_X20_X27_X25s_X27_X29, + (const bstring *)&be_const_str__X3C, + (const bstring *)&be_const_str_y, + (const bstring *)&be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3E_X26_X23129668_X3B_X20Auto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E, + (const bstring *)&be_const_str_files, + (const bstring *)&be_const_str__X2Ew, + (const bstring *)&be_const_str_assert, + (const bstring *)&be_const_str_bytes, + (const bstring *)&be_const_str__X23, + (const bstring *)&be_const_str_abs, (const bstring *)&be_const_str__X2E_X2E, + (const bstring *)&be_const_str__global_addr, + (const bstring *)&be_const_str_connect, + (const bstring *)&be_const_str__settings_ptr, + NULL, + (const bstring *)&be_const_str_CFG_X3A_X20ran_X20_X20, + (const bstring *)&be_const_str_BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20, + NULL, + (const bstring *)&be_const_str__X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d, + (const bstring *)&be_const_str_i2c_enabled, + (const bstring *)&be_const_str_ctypes_bytes_dyn, + (const bstring *)&be_const_str_CFG_X3A_X20loading_X20, + NULL, + NULL, + (const bstring *)&be_const_str_refr_size, + (const bstring *)&be_const_str_content_send_style, + NULL, + NULL, + (const bstring *)&be_const_str__get_cb, + (const bstring *)&be_const_str_c, + (const bstring *)&be_const_str_ins_goto, + (const bstring *)&be_const_str__buffer, + (const bstring *)&be_const_str_concat, + (const bstring *)&be_const_str_percentage, + NULL, + (const bstring *)&be_const_str_SERIAL_5N2, + NULL, + NULL, + (const bstring *)&be_const_str_SK6812_GRBW, + (const bstring *)&be_const_str__X3Cp_X3E_X3Csmall_X3E_X26nbsp_X3B_X28This_X20feature_X20requires_X20an_X20internet_X20connection_X29_X3C_X2Fsmall_X3E_X3C_X2Fp_X3E, + (const bstring *)&be_const_str__X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, + NULL, + NULL, + (const bstring *)&be_const_str_lv_obj, + (const bstring *)&be_const_str___upper__, + (const bstring *)&be_const_str_Restart_X201, + NULL, + (const bstring *)&be_const_str_introspect, + (const bstring *)&be_const_str__X23autoexec_X2Ebe, + (const bstring *)&be_const_str_CFG_X3A_X20exception_X20_X27_X25s_X27_X20_X2D_X20_X27_X25s_X27, + (const bstring *)&be_const_str_bool, + (const bstring *)&be_const_str_PART_MAIN, + (const bstring *)&be_const_str_back_forth, + (const bstring *)&be_const_str_lv_obj_class, + (const bstring *)&be_const_str_TAP_X3A_X20found_X20Tasmota_X20App_X20_X27_X25s_X27, + (const bstring *)&be_const_str_GET, + (const bstring *)&be_const_str_deg, + (const bstring *)&be_const_str__X28_X29, + NULL, + (const bstring *)&be_const_str__X23preinit_X2Ebe, + (const bstring *)&be_const_str__class, + NULL, + (const bstring *)&be_const_str__X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, + (const bstring *)&be_const_str_CFG_X3A_X20downloading_X20_X27_X25s_X27, + (const bstring *)&be_const_str__X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E, + (const bstring *)&be_const_str_fromstring, + (const bstring *)&be_const_str_SERIAL_8E2, + NULL, + (const bstring *)&be_const_str__anonymous_, + (const bstring *)&be_const_str__X2502d_X25s_X2502d, + (const bstring *)&be_const_str_CFG_X3A_X20return_code_X3D_X25i, + (const bstring *)&be_const_str_web_sensor, + (const bstring *)&be_const_str_detect, + (const bstring *)&be_const_str_exec_cmd, + (const bstring *)&be_const_str_to_gamma, + (const bstring *)&be_const_str__ptr, + (const bstring *)&be_const_str_null_cb, + (const bstring *)&be_const_str_eth, + (const bstring *)&be_const_str_https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_X2F_X25s_X2Eautoconf, + (const bstring *)&be_const_str_erase, + (const bstring *)&be_const_str__archive, + (const bstring *)&be_const_str_CFG_X3A_X20removed_X20file_X20_X27_X25s_X27, + (const bstring *)&be_const_str_code, + (const bstring *)&be_const_str_BUTTON_CONFIGURATION, + (const bstring *)&be_const_str_web_send_decimal, + (const bstring *)&be_const_str_fromptr, + (const bstring *)&be_const_str_SERIAL_8E1, + NULL, + (const bstring *)&be_const_str_set_style_bg_color, + (const bstring *)&be_const_str_end, + (const bstring *)&be_const_str__read, + (const bstring *)&be_const_str_cos, + (const bstring *)&be_const_str_codedump, + (const bstring *)&be_const_str__X23init_X2Ebat, + (const bstring *)&be_const_str_get_battery_chargin_status, + (const bstring *)&be_const_str__X2Ebec, + (const bstring *)&be_const_str_set_dcdc_enable, + NULL, + (const bstring *)&be_const_str_ctor, + (const bstring *)&be_const_str_digital_read, + (const bstring *)&be_const_str_close, + (const bstring *)&be_const_str__X2F, + (const bstring *)&be_const_str_cosh, + (const bstring *)&be_const_str_I2C_Driver, + (const bstring *)&be_const_str_read24, + (const bstring *)&be_const_str__write, + (const bstring *)&be_const_str__X23display_X2Eini, + (const bstring *)&be_const_str_get_bat_power, + (const bstring *)&be_const_str_pin_mode, + (const bstring *)&be_const_str__, + (const bstring *)&be_const_str_scale_uint, + (const bstring *)&be_const_str_WS2812_GRB, + (const bstring *)&be_const_str_AudioOutput, + (const bstring *)&be_const_str_animate, + (const bstring *)&be_const_str__X3F, + (const bstring *)&be_const_str_id, + (const bstring *)&be_const_str_arg_name, + (const bstring *)&be_const_str_internal_error, + (const bstring *)&be_const_str_serial, + NULL, + NULL, + (const bstring *)&be_const_str_CFG_X3A_X20could_X20not_X20run_X20_X25s_X20_X28_X25s_X20_X2D_X20_X25s_X29, + (const bstring *)&be_const_str__begin_transmission, + (const bstring *)&be_const_str__X2Ep1, + (const bstring *)&be_const_str_engine, + (const bstring *)&be_const_str__def, + (const bstring *)&be_const_str_get_pixel_color, + (const bstring *)&be_const_str__X3C_X3D, + (const bstring *)&be_const_str_CFG_X3A_X20removing_X20first_X20time_X20marker, + (const bstring *)&be_const_str__X3D_X3D, + (const bstring *)&be_const_str_can_show, + (const bstring *)&be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, + (const bstring *)&be_const_str_response_append, + (const bstring *)&be_const_str_CFG_X3A_X20_X27init_X2Ebat_X27_X20done_X2C_X20restarting, + (const bstring *)&be_const_str_content_send, + (const bstring *)&be_const_str_create_segment, + (const bstring *)&be_const_str_duration, + (const bstring *)&be_const_str_get_height, + (const bstring *)&be_const_str_delete_all_configs, + (const bstring *)&be_const_str_reset_search, + (const bstring *)&be_const_str_BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson, + (const bstring *)&be_const_str_, + (const bstring *)&be_const_str_b, + (const bstring *)&be_const_str_SERIAL_5E1, + (const bstring *)&be_const_str_SERIAL_6E2, + (const bstring *)&be_const_str_read13, + (const bstring *)&be_const_str_BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, + (const bstring *)&be_const_str_publish_result, + (const bstring *)&be_const_str_get_bat_current, + NULL, + (const bstring *)&be_const_str_ceil, + (const bstring *)&be_const_str_autorun, + (const bstring *)&be_const_str_length_X20in_X20bits_X20must_X20be_X20between_X200_X20and_X2032, + (const bstring *)&be_const_str_set_text, + (const bstring *)&be_const_str__X3D_X3C_X3E_X21, + (const bstring *)&be_const_str_r, + (const bstring *)&be_const_str_CFG_X3A_X20loaded_X20_X20, + (const bstring *)&be_const_str__X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E, + (const bstring *)&be_const_str__X2Ep, + (const bstring *)&be_const_str__error, + (const bstring *)&be_const_str_lv, + (const bstring *)&be_const_str_flush, + (const bstring *)&be_const_str_AudioFileSource, + (const bstring *)&be_const_str_web_add_main_button, + (const bstring *)&be_const_str__X2Elen, + (const bstring *)&be_const_str_persist_X2E_p_X20is_X20not_X20a_X20map, + (const bstring *)&be_const_str_compile, + (const bstring *)&be_const_str_CFG_X3A_X20running_X20, + (const bstring *)&be_const_str_compress, + NULL, + (const bstring *)&be_const_str_pin_used, + (const bstring *)&be_const_str__X2Ebe, + (const bstring *)&be_const_str_SERIAL_8O1, + (const bstring *)&be_const_str_CFG_X3A_X20loaded_X20_X27_X25s_X27, + (const bstring *)&be_const_str_EVENT_DRAW_PART_END, + NULL, + NULL, + (const bstring *)&be_const_str_button_pressed, + (const bstring *)&be_const_str_atleast1, + (const bstring *)&be_const_str_add_anim, + (const bstring *)&be_const_str_count, + (const bstring *)&be_const_str__X25s_X2Eautoconf, + (const bstring *)&be_const_str_False, + (const bstring *)&be_const_str_time_str, (const bstring *)&be_const_str__X26lt_X3BNone_X26gt_X3B, - (const bstring *)&be_const_str_COLOR_WHITE, - (const bstring *)&be_const_str_event_cb, - (const bstring *)&be_const_str_add_cmd, - (const bstring *)&be_const_str__X0A + (const bstring *)&be_const_str_allocated, + NULL, + (const bstring *)&be_const_str_cb_obj, + (const bstring *)&be_const_str__X21_X3D, + (const bstring *)&be_const_str__X3Cselect_X20name_X3D_X27zip_X27_X3E, + (const bstring *)&be_const_str_OneWire, + (const bstring *)&be_const_str_classof, + (const bstring *)&be_const_str_json, + (const bstring *)&be_const_str_True, + (const bstring *)&be_const_str__X2B, + (const bstring *)&be_const_str_decompress, + (const bstring *)&be_const_str_CFG_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, + (const bstring *)&be_const_str_lv_event, + (const bstring *)&be_const_str_counters, + (const bstring *)&be_const_str_pc, + (const bstring *)&be_const_str__X2Esize, + NULL, + (const bstring *)&be_const_str__X5B, + (const bstring *)&be_const_str__X3C_X2Fform_X3E_X3C_X2Fp_X3E, + (const bstring *)&be_const_str_connection_error, + (const bstring *)&be_const_str_classname, + (const bstring *)&be_const_str_AudioGeneratorWAV, + (const bstring *)&be_const_str_AudioGenerator, + (const bstring *)&be_const_str_Parameter_X20error, + (const bstring *)&be_const_str_get_tasmota, + (const bstring *)&be_const_str_loop, + (const bstring *)&be_const_str__timers, + (const bstring *)&be_const_str_constructor_cb, + (const bstring *)&be_const_str_addr, + (const bstring *)&be_const_str__X2E, + (const bstring *)&be_const_str_RES_OK, + NULL, + (const bstring *)&be_const_str_OPTION_A, + NULL, + (const bstring *)&be_const_str_collect, + (const bstring *)&be_const_str_SERIAL_6O2, + (const bstring *)&be_const_str_AudioFileSourceFS, + (const bstring *)&be_const_str_show, + (const bstring *)&be_const_str__cmd, + (const bstring *)&be_const_str_SERIAL_7N2, + (const bstring *)&be_const_str_dirty, + (const bstring *)&be_const_str_SERIAL_7E2, + (const bstring *)&be_const_str__X3E, + (const bstring *)&be_const_str__X2F_X3Frst_X3D, + (const bstring *)&be_const_str__X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, + (const bstring *)&be_const_str_EVENT_DRAW_PART_BEGIN, + (const bstring *)&be_const_str__persist_X2Ejson, + (const bstring *)&be_const_str_tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29, + (const bstring *)&be_const_str__X3Clambda_X3E }; static const struct bconststrtab m_const_string_table = { - .size = 357, - .count = 738, + .size = 359, + .count = 742, .table = m_string_table }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_tcpclient.h b/lib/libesp32/Berry/generate/be_fixed_be_class_tcpclient.h new file mode 100644 index 000000000..68c4d0095 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_tcpclient.h @@ -0,0 +1,27 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_tcpclient_map) { + { be_const_key(init, -1), be_const_func(wc_tcp_init) }, + { be_const_key(close, -1), be_const_func(wc_tcp_close) }, + { be_const_key(_X2Ew, 4), be_const_var(0) }, + { be_const_key(flush, -1), be_const_func(wc_tcp_flush) }, + { be_const_key(deinit, 6), be_const_func(wc_tcp_deinit) }, + { be_const_key(read, -1), be_const_func(wc_tcp_read) }, + { be_const_key(write, 8), be_const_func(wc_tcp_write) }, + { be_const_key(connected, -1), be_const_func(wc_tcp_connected) }, + { be_const_key(available, -1), be_const_func(wc_tcp_available) }, + { be_const_key(connect, 0), be_const_func(wc_tcp_connect) }, + { be_const_key(readbytes, -1), be_const_func(wc_tcp_readbytes) }, +}; + +static be_define_const_map( + be_class_tcpclient_map, + 11 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_tcpclient, + 1, + NULL, + tcpclient +); diff --git a/tasmota/xdrv_52_3_berry_webclient.ino b/tasmota/xdrv_52_3_berry_webclient.ino index b7b56a39e..83f9419ea 100644 --- a/tasmota/xdrv_52_3_berry_webclient.ino +++ b/tasmota/xdrv_52_3_berry_webclient.ino @@ -17,6 +17,7 @@ along with this program. If not, see . */ +// also includes tcp_client #ifdef USE_BERRY @@ -84,7 +85,6 @@ extern "C" { // int32_t wc_init(struct bvm *vm); int32_t wc_init(struct bvm *vm) { - // int32_t argc = be_top(vm); // Get the number of arguments WiFiClient * wcl = new WiFiClient(); be_pushcomptr(vm, (void*) wcl); be_setmember(vm, 1, ".w"); @@ -96,6 +96,14 @@ extern "C" { be_return_nil(vm); } + int32_t wc_tcp_init(struct bvm *vm); + int32_t wc_tcp_init(struct bvm *vm) { + WiFiClient * wcl = new WiFiClient(); + be_pushcomptr(vm, (void*) wcl); + be_setmember(vm, 1, ".w"); + be_return_nil(vm); + } + HTTPClientLight * wc_getclient(struct bvm *vm) { be_getmember(vm, 1, ".p"); void *p = be_tocomptr(vm, -1); @@ -123,6 +131,14 @@ extern "C" { be_return_nil(vm); } + int32_t wc_tcp_deinit(struct bvm *vm); + int32_t wc_tcp_deinit(struct bvm *vm) { + WiFiClient * wcl = wc_getwificlient(vm); + if (wcl != nullptr) { delete wcl; } + be_setmember(vm, 1, ".w"); + be_return_nil(vm); + } + // wc.url_encode(string) -> string int32_t wc_urlencode(struct bvm *vm); int32_t wc_urlencode(struct bvm *vm) { @@ -151,6 +167,24 @@ extern "C" { be_return(vm); /* return self */ } + // tcp.connect(url:string) -> self + int32_t wc_tcp_connect(struct bvm *vm); + int32_t wc_tcp_connect(struct bvm *vm) { + int32_t argc = be_top(vm); + if (argc >= 3 && be_isstring(vm, 2) && be_isint(vm, 3)) { + WiFiClient * tcp = wc_getwificlient(vm); + const char * address = be_tostring(vm, 2); + int32_t port = be_toint(vm, 3); + // open connection + if (!tcp->connect(address, port)) { + be_raise(vm, "value_error", "unsupported protocol"); + } + be_pushvalue(vm, 1); + be_return(vm); /* return self */ + } + be_raise(vm, "attribute_error", NULL); + } + // wc.close(void) -> nil int32_t wc_close(struct bvm *vm); int32_t wc_close(struct bvm *vm) { @@ -159,6 +193,31 @@ extern "C" { be_return_nil(vm); } + // tcp.close(void) -> nil + int32_t wc_tcp_close(struct bvm *vm); + int32_t wc_tcp_close(struct bvm *vm) { + WiFiClient * tcp = wc_getwificlient(vm); + tcp->stop(); + be_return_nil(vm); + } + + // tcp.close(void) -> nil + int32_t wc_tcp_flush(struct bvm *vm); + int32_t wc_tcp_flush(struct bvm *vm) { + WiFiClient * tcp = wc_getwificlient(vm); + tcp->flush(); + be_return_nil(vm); + } + + // tcp.available(void) -> int + int32_t wc_tcp_available(struct bvm *vm); + int32_t wc_tcp_available(struct bvm *vm) { + WiFiClient * tcp = wc_getwificlient(vm); + int32_t available = tcp->available(); + be_pushint(vm, available); + be_return(vm); + } + // wc.wc_set_timeouts([http_timeout_ms:int, tcp_timeout_ms:int]) -> self int32_t wc_set_timeouts(struct bvm *vm); int32_t wc_set_timeouts(struct bvm *vm) { @@ -239,6 +298,65 @@ extern "C" { be_return(vm); /* return code */ } + // tcp.connected(void) -> bool + int32_t wc_tcp_connected(struct bvm *vm); + int32_t wc_tcp_connected(struct bvm *vm) { + WiFiClient * tcp = wc_getwificlient(vm); + be_pushbool(vm, tcp->connected()); + be_return(vm); /* return code */ + } + + // tcp.write(bytes | string) -> int + int32_t wc_tcp_write(struct bvm *vm); + int32_t wc_tcp_write(struct bvm *vm) { + int32_t argc = be_top(vm); + if (argc >= 2 && (be_isstring(vm, 2) || be_isbytes(vm, 2))) { + WiFiClient * tcp = wc_getwificlient(vm); + const char * buf = nullptr; + size_t buf_len = 0; + if (be_isstring(vm, 2)) { // string + buf = be_tostring(vm, 2); + buf_len = strlen(buf); + } else { // bytes + buf = (const char*) be_tobytes(vm, 2, &buf_len); + } + size_t bw = tcp->write(buf, buf_len); + be_pushint(vm, bw); + be_return(vm); /* return code */ + } + be_raise(vm, kTypeError, nullptr); + } + + // tcp.read() -> string + int32_t wc_tcp_read(struct bvm *vm); + int32_t wc_tcp_read(struct bvm *vm) { + WiFiClient * tcp = wc_getwificlient(vm); + int32_t btr = tcp->available(); + if (btr <= 0) { + be_pushstring(vm, ""); + } else { + char * buf = (char*) be_pushbuffer(vm, btr); + int32_t btr2 = tcp->read((uint8_t*) buf, btr); + be_pushnstring(vm, buf, btr2); + } + be_return(vm); /* return code */ + } + + // tcp.readbytes() -> bytes + int32_t wc_tcp_readbytes(struct bvm *vm); + int32_t wc_tcp_readbytes(struct bvm *vm) { + WiFiClient * tcp = wc_getwificlient(vm); + int32_t btr = tcp->available(); + if (btr <= 0) { + be_pushbytes(vm, nullptr, 0); + } else { + uint8_t * buf = (uint8_t*) be_pushbuffer(vm, btr); + int32_t btr2 = tcp->read(buf, btr); + be_pushbytes(vm, buf, btr2); + } + be_return(vm); /* return code */ + } + void wc_errorCodeMessage(int32_t httpCode, uint32_t http_connect_time) { if (httpCode < 0) { if (httpCode <= -1000) { From 41684215909ffa79ce5b5ad4bf922c585286a1a3 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Thu, 9 Dec 2021 22:15:15 +0100 Subject: [PATCH 04/16] Remove flush --- lib/libesp32/Berry/default/be_tcpclient_lib.c | 2 -- .../generate/be_fixed_be_class_tcpclient.h | 19 +++++++++---------- tasmota/xdrv_52_3_berry_webclient.ino | 8 -------- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/lib/libesp32/Berry/default/be_tcpclient_lib.c b/lib/libesp32/Berry/default/be_tcpclient_lib.c index 9f24be20d..d8bfef023 100644 --- a/lib/libesp32/Berry/default/be_tcpclient_lib.c +++ b/lib/libesp32/Berry/default/be_tcpclient_lib.c @@ -15,7 +15,6 @@ extern int wc_tcp_connect(bvm *vm); extern int wc_tcp_connected(bvm *vm); extern int wc_tcp_close(bvm *vm); extern int wc_tcp_available(bvm *vm); -extern int wc_tcp_flush(bvm *vm); extern int wc_tcp_write(bvm *vm); extern int wc_tcp_read(bvm *vm); @@ -39,7 +38,6 @@ class be_class_tcpclient (scope: global, name: tcpclient) { connected, func(wc_tcp_connected) close, func(wc_tcp_close) available, func(wc_tcp_available) - flush, func(wc_tcp_flush) write, func(wc_tcp_write) read, func(wc_tcp_read) diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_tcpclient.h b/lib/libesp32/Berry/generate/be_fixed_be_class_tcpclient.h index 68c4d0095..72bdbffb4 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_tcpclient.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_tcpclient.h @@ -1,22 +1,21 @@ #include "be_constobj.h" static be_define_const_map_slots(be_class_tcpclient_map) { - { be_const_key(init, -1), be_const_func(wc_tcp_init) }, - { be_const_key(close, -1), be_const_func(wc_tcp_close) }, - { be_const_key(_X2Ew, 4), be_const_var(0) }, - { be_const_key(flush, -1), be_const_func(wc_tcp_flush) }, - { be_const_key(deinit, 6), be_const_func(wc_tcp_deinit) }, - { be_const_key(read, -1), be_const_func(wc_tcp_read) }, { be_const_key(write, 8), be_const_func(wc_tcp_write) }, - { be_const_key(connected, -1), be_const_func(wc_tcp_connected) }, - { be_const_key(available, -1), be_const_func(wc_tcp_available) }, - { be_const_key(connect, 0), be_const_func(wc_tcp_connect) }, + { be_const_key(close, -1), be_const_func(wc_tcp_close) }, + { be_const_key(connected, 3), be_const_func(wc_tcp_connected) }, + { be_const_key(deinit, -1), be_const_func(wc_tcp_deinit) }, + { be_const_key(_X2Ew, 0), be_const_var(0) }, + { be_const_key(init, -1), be_const_func(wc_tcp_init) }, { be_const_key(readbytes, -1), be_const_func(wc_tcp_readbytes) }, + { be_const_key(connect, -1), be_const_func(wc_tcp_connect) }, + { be_const_key(available, -1), be_const_func(wc_tcp_available) }, + { be_const_key(read, -1), be_const_func(wc_tcp_read) }, }; static be_define_const_map( be_class_tcpclient_map, - 11 + 10 ); BE_EXPORT_VARIABLE be_define_const_class( diff --git a/tasmota/xdrv_52_3_berry_webclient.ino b/tasmota/xdrv_52_3_berry_webclient.ino index 83f9419ea..bb53278ae 100644 --- a/tasmota/xdrv_52_3_berry_webclient.ino +++ b/tasmota/xdrv_52_3_berry_webclient.ino @@ -201,14 +201,6 @@ extern "C" { be_return_nil(vm); } - // tcp.close(void) -> nil - int32_t wc_tcp_flush(struct bvm *vm); - int32_t wc_tcp_flush(struct bvm *vm) { - WiFiClient * tcp = wc_getwificlient(vm); - tcp->flush(); - be_return_nil(vm); - } - // tcp.available(void) -> int int32_t wc_tcp_available(struct bvm *vm); int32_t wc_tcp_available(struct bvm *vm) { From 5e8bf1eb05d9e2d0bcfcba0b1c46c13dbe01ee73 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Thu, 9 Dec 2021 22:39:24 +0100 Subject: [PATCH 05/16] Add timeout --- tasmota/xdrv_52_3_berry_webclient.ino | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tasmota/xdrv_52_3_berry_webclient.ino b/tasmota/xdrv_52_3_berry_webclient.ino index bb53278ae..5c1700ebf 100644 --- a/tasmota/xdrv_52_3_berry_webclient.ino +++ b/tasmota/xdrv_52_3_berry_webclient.ino @@ -167,7 +167,7 @@ extern "C" { be_return(vm); /* return self */ } - // tcp.connect(url:string) -> self + // tcp.connect(address:string, port:int [, timeout_ms:int]) -> bool int32_t wc_tcp_connect(struct bvm *vm); int32_t wc_tcp_connect(struct bvm *vm) { int32_t argc = be_top(vm); @@ -175,11 +175,13 @@ extern "C" { WiFiClient * tcp = wc_getwificlient(vm); const char * address = be_tostring(vm, 2); int32_t port = be_toint(vm, 3); - // open connection - if (!tcp->connect(address, port)) { - be_raise(vm, "value_error", "unsupported protocol"); + int32_t timeout = USE_BERRY_WEBCLIENT_TIMEOUT; // default timeout of 2 seconds + if (argc >= 4) { + timeout = be_toint(vm, 4); } - be_pushvalue(vm, 1); + // open connection + bool success = tcp->connect(address, port, timeout); + be_pushbool(vm, success); be_return(vm); /* return self */ } be_raise(vm, "attribute_error", NULL); From c4d7a5eab2245119ffa411546ebfd84c14372f3e Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Thu, 9 Dec 2021 23:33:05 +0100 Subject: [PATCH 06/16] Berry `string.tr` accepts removing chars --- lib/libesp32/Berry/src/be_strlib.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/libesp32/Berry/src/be_strlib.c b/lib/libesp32/Berry/src/be_strlib.c index 53f35607b..e0636c100 100644 --- a/lib/libesp32/Berry/src/be_strlib.c +++ b/lib/libesp32/Berry/src/be_strlib.c @@ -793,9 +793,6 @@ static int str_tr(bvm *vm) const char *p, *s = be_tostring(vm, 1); const char *t1 = be_tostring(vm, 2); const char *t2 = be_tostring(vm, 3); - if (strlen(t2) < strlen(t1)) { - be_raise(vm, "value_error", "invalid translation pattern"); - } size_t len = (size_t)be_strlen(vm, 1); char *buf, *q; buf = be_pushbuffer(vm, len); @@ -803,11 +800,17 @@ static int str_tr(bvm *vm) for (p = s, q = buf; *p != '\0'; ++p, ++q) { const char *p1, *p2; *q = *p; /* default to no change */ - for (p1=t1, p2=t2; *p1 != '\0'; ++p1, ++p2) { + for (p1=t1, p2=t2; *p1 != '\0'; ++p1) { if (*p == *p1) { - *q = *p2; + if (*p2) { + *q = *p2; + } else { + q--; /* remove this char */ + len--; + } break; } + if (*p2) { p2++; } } } be_pushnstring(vm, buf, len); /* make escape string from buffer */ From b0b1b79fbdc01fcea220c0ff1c5760624af4842f Mon Sep 17 00:00:00 2001 From: Luc Boudreau Date: Thu, 9 Dec 2021 17:35:29 -0500 Subject: [PATCH 07/16] Turns off the relay once when the thermostat is switched off to prevent it from being kept on forever, as a safety precaution. --- tasmota/xdrv_39_thermostat.ino | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tasmota/xdrv_39_thermostat.ino b/tasmota/xdrv_39_thermostat.ino index ae8d2d92f..414cb358b 100644 --- a/tasmota/xdrv_39_thermostat.ino +++ b/tasmota/xdrv_39_thermostat.ino @@ -1400,6 +1400,12 @@ void CmndThermostatModeSet(void) Thermostat[ctr_output].status.thermostat_mode = value; Thermostat[ctr_output].timestamp_input_on = 0; // Reset last manual switch timer if command set externally } + if ((value == THERMOSTAT_OFF) && (Thermostat[ctr_output].status.enable_output == IFACE_ON)) { + // Make sure the relay is switched to off once if the thermostat is being disabled, + // or it will get stuck on (danger!) + Thermostat[ctr_output].status.command_output = IFACE_OFF; + ThermostatOutputRelay(ctr_output, Thermostat[ctr_output].status.command_output); + } } ResponseCmndIdxNumber((int)Thermostat[ctr_output].status.thermostat_mode); } From 922d867717f22e29bf6d2cfa039f86f196f1c465 Mon Sep 17 00:00:00 2001 From: Paul C Diem Date: Fri, 10 Dec 2021 11:36:24 -0600 Subject: [PATCH 08/16] Add 2-button support --- tasmota/xdrv_35_pwm_dimmer.ino | 86 ++++++++++++++++++++++++++-------- 1 file changed, 67 insertions(+), 19 deletions(-) diff --git a/tasmota/xdrv_35_pwm_dimmer.ino b/tasmota/xdrv_35_pwm_dimmer.ino index 85d76c0af..aad092643 100644 --- a/tasmota/xdrv_35_pwm_dimmer.ino +++ b/tasmota/xdrv_35_pwm_dimmer.ino @@ -67,6 +67,7 @@ uint8_t power_button_index = 0; uint8_t down_button_index = 1; uint8_t buttons_pressed = 0; uint8_t local_fixed_color_index = 128; +bool is_two_button; bool button_tapped = false; bool down_button_tapped = false; bool ignore_power_button = false; @@ -110,16 +111,19 @@ void PWMModulePreInit(void) // The relay initializes to on. If the power is supposed to be off, turn the relay off. // if (!TasmotaGlobal.power && PinUsed(GPIO_REL1)) digitalWrite(Pin(GPIO_REL1), bitRead(TasmotaGlobal.rel_inverted, 0) ? 1 : 0); + // Find out how many buttons we have. + uint8_t button_count = 0; + for (uint32_t button_index = 0; button_index < MAX_PWM_DIMMER_KEYS; button_index++) { + if (PinUsed(GPIO_KEY1, button_index)) button_count++; + } + if ((is_two_button = (button_count == 2))) down_button_index = 99; + #ifdef USE_PWM_DIMMER_REMOTE // If remote device mode is enabled, set the device group count to the number of buttons // present. if (Settings->flag4.multiple_device_groups) { Settings->flag4.device_groups_enabled = true; - - device_group_count = 0; - for (uint32_t button_index = 0; button_index < MAX_PWM_DIMMER_KEYS; button_index++) { - if (PinUsed(GPIO_KEY1, button_index)) device_group_count++; - } + device_group_count = button_count; // If no relay or PWM is defined, all buttons control remote devices. if (!PinUsed(GPIO_REL1) && !PinUsed(GPIO_PWM1)) { @@ -266,6 +270,22 @@ void PWMDimmerHandleDevGroupItem(void) } #endif // USE_DEVICE_GROUPS +/* +* ---------------- Single ----------------- ------------------------- Hold ------------------------- +* Off On Off On +* +* 3 Button: +* 1 Power on Power off Power on at low preset Alternately inc/dec brightness +* 2 Power on at low preset Dec brightness NOP Dec brightness +* 3 Power on at high preset Inc brightness NOP Inc brightness +* +* 2 Button: +* 1 NOP Power off Power on at low preset Dec brightness +* 2 Power on Inc brightness Power on at high preset Inc brightness +* +* 1 Button: +* 1 Power on Power off Power on at low preset Alternately inc/dec brightness +*/ void PWMDimmerHandleButton(uint32_t button_index, bool pressed) { bool handle_tap = false; @@ -286,7 +306,7 @@ void PWMDimmerHandleButton(uint32_t button_index, bool pressed) #else // USE_PWM_DIMMER_REMOTE bool power_is_on = TasmotaGlobal.power; bool is_power_button = !button_index; - bool is_down_button = (button_index == (power_button_index ? 0 : 1)); + bool is_down_button = (is_two_button ? false : button_index == (power_button_index ? 0 : 1)); #endif // USE_PWM_DIMMER_REMOTE // If the button is being held, ... @@ -313,12 +333,17 @@ void PWMDimmerHandleButton(uint32_t button_index, bool pressed) // direction for the device and then invert the direction when the power button is released. // The new brightness will be calculated below. if (power_is_on) { + if (is_two_button && !Settings->flag4.multiple_device_groups) { + bri_hold = -1; + } + else { #ifdef USE_PWM_DIMMER_REMOTE - bri_hold = (active_remote_pwm_dimmer ? (active_remote_pwm_dimmer->power_button_increases_bri ? 1 : -1) : (power_button_increases_bri ? 1 : -1)); + bri_hold = (active_remote_pwm_dimmer ? (active_remote_pwm_dimmer->power_button_increases_bri ? 1 : -1) : (power_button_increases_bri ? 1 : -1)); #else // USE_PWM_DIMMER_REMOTE - bri_hold = (power_button_increases_bri ? 1 : -1); + bri_hold = (power_button_increases_bri ? 1 : -1); #endif // USE_PWM_DIMMER_REMOTE - invert_power_button_bri_direction = true; + invert_power_button_bri_direction = true; + } } // If the power is not on, turn it on using an initial brightness of bri_preset_low and set @@ -364,8 +389,21 @@ void PWMDimmerHandleButton(uint32_t button_index, bool pressed) // Otherwise, if the power is on, adjust the brightness. Set the direction based on which // button is pressed. The new brightness will be calculated below. - else if (power_is_on && !button_tapped) { - bri_hold = (is_down_button ? -1 : 1); + if (!button_tapped) { + if (power_is_on) { + bri_hold = (is_down_button ? -1 : 1); + } + + // If the power is off and this ia a two button switch, turn the power + // on using a temporary brightness of bri_preset_high. + else { +#ifdef USE_PWM_DIMMER_REMOTE + if (active_remote_pwm_dimmer) + power_on_bri = active_remote_pwm_dimmer->bri = active_remote_pwm_dimmer->bri_preset_high; + else +#endif // USE_PWM_DIMMER_REMOTE + power_on_bri = Settings->bri_preset_high; + } } } } @@ -432,7 +470,8 @@ void PWMDimmerHandleButton(uint32_t button_index, bool pressed) power_on_bri = active_remote_pwm_dimmer->bri_power_on; else #endif // USE_PWM_DIMMER_REMOTE - power_on_bri = Settings->bri_power_on; + if (!is_two_button || Settings->flag4.multiple_device_groups || power_is_on) + power_on_bri = Settings->bri_power_on; } } @@ -478,8 +517,20 @@ void PWMDimmerHandleButton(uint32_t button_index, bool pressed) } } - // If the power is off, turn it on using a temporary brightness of bri_preset_low if the - // down button is pressed or bri_preset_low if the up button is pressed. + // If the power is off and this is a two button switch, turn the power + // on. + else if (is_two_button) { +#ifdef USE_PWM_DIMMER_REMOTE + if (active_remote_pwm_dimmer) + power_on_bri = active_remote_pwm_dimmer->bri_power_on; + else +#endif // USE_PWM_DIMMER_REMOTE + power_on_bri = Settings->bri_power_on; + } + + // If the power is off and this is not a two button switch, turn the + // power on using a temporary brightness of bri_preset_low if the down + // button is pressed or bri_preset_high if the up button is pressed. else { #ifdef USE_PWM_DIMMER_REMOTE if (active_remote_pwm_dimmer) @@ -563,12 +614,9 @@ void PWMDimmerHandleButton(uint32_t button_index, bool pressed) new_power = active_remote_pwm_dimmer->power_on; PWMDimmerSetBrightnessLeds(new_power ? -power_on_bri : 0); } - else { + else #endif // USE_PWM_DIMMER_REMOTE new_power = TasmotaGlobal.power ^ 1; -#ifdef USE_PWM_DIMMER_REMOTE - } -#endif // USE_PWM_DIMMER_REMOTE if (new_power) SendDeviceGroupMessage(negated_device_group_index, DGR_MSGTYP_UPDATE, DGR_ITEM_LIGHT_BRI, power_on_bri, DGR_ITEM_POWER, new_power); else @@ -777,7 +825,7 @@ bool Xdrv35(uint8_t function) // Bottom 15 3 15 1 if (!buttons_pressed && Settings->flag4.multiple_device_groups) { power_button_index = button_index; - down_button_index = (Pin(GPIO_KEY1, power_button_index) == 15 ? TasmotaGlobal.gpio_pin[1] : TasmotaGlobal.gpio_pin[15]) - 32; + down_button_index = (is_two_button ? 99 : Pin(GPIO_KEY1, power_button_index) == 15 ? TasmotaGlobal.gpio_pin[1] : TasmotaGlobal.gpio_pin[15]) - 32; active_remote_pwm_dimmer = nullptr; if (power_button_index || !first_device_group_is_local) active_remote_pwm_dimmer = &remote_pwm_dimmers[power_button_index]; From c2880d2dee83884b9e7185743f919fa4126f45c7 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Fri, 10 Dec 2021 21:48:06 +0100 Subject: [PATCH 09/16] Berry minor cleaning --- tasmota/xdrv_52_0_berry_struct.ino | 12 +++++- ..._native.ino => xdrv_52_1_berry_native.ino} | 37 ++++++++++++++----- tasmota/xdrv_52_3_berry_lvgl.ino | 8 ++-- tasmota/xdrv_52_3_berry_tasmota.ino | 15 +------- tasmota/xdrv_52_9_berry.ino | 7 +++- 5 files changed, 49 insertions(+), 30 deletions(-) rename tasmota/{xdrv_52_2_berry_native.ino => xdrv_52_1_berry_native.ino} (93%) diff --git a/tasmota/xdrv_52_0_berry_struct.ino b/tasmota/xdrv_52_0_berry_struct.ino index 70e443cb3..fe09b3c84 100644 --- a/tasmota/xdrv_52_0_berry_struct.ino +++ b/tasmota/xdrv_52_0_berry_struct.ino @@ -25,6 +25,11 @@ #include "re1.5.h" +/*********************************************************************************************\ + * Logging for Tasmota Berry console + * + * We need to declare the the log class first since it is used in structure +\*********************************************************************************************/ #define BERRY_CONSOLE_CMD_DELIMITER "\x01" class Log_line { @@ -71,6 +76,12 @@ public: LList log; }; +/*********************************************************************************************\ + * Berry global structure + * +\*********************************************************************************************/ +class BerryLog; + class BerrySupport { public: bvm *vm = nullptr; // berry vm @@ -84,5 +95,4 @@ public: }; BerrySupport berry; - #endif // USE_BERRY diff --git a/tasmota/xdrv_52_2_berry_native.ino b/tasmota/xdrv_52_1_berry_native.ino similarity index 93% rename from tasmota/xdrv_52_2_berry_native.ino rename to tasmota/xdrv_52_1_berry_native.ino index e8acc8039..970d26c48 100644 --- a/tasmota/xdrv_52_2_berry_native.ino +++ b/tasmota/xdrv_52_1_berry_native.ino @@ -1,5 +1,5 @@ /* - xdrv_52_3_berry_native.ino - Berry scripting language, native fucnctions + xdrv_52_1_berry_native.ino - Berry scripting language, native fucnctions Copyright (C) 2021 Stephan Hadinger, Berry language by Guan Wenliang https://github.com/Skiars/berry @@ -45,6 +45,11 @@ extern "C" { * Responds to virtual constants \*********************************************************************************************/ extern "C" { + // Clear all elements on the stack + void be_pop_all(bvm *vm) { + be_pop(vm, be_top(vm)); // clear Berry stack + } + #include "be_exec.h" #include "be_debug.h" void be_dumpstack(bvm *vm) { @@ -259,12 +264,27 @@ extern "C" { /*********************************************************************************************\ * Generalized callbacks * + * Warning, the following expect all parameters to be 32 bits wide \*********************************************************************************************/ + extern "C" { + /*********************************************************************************************\ + * Callback structures + * + * We allow 4 parameters, or 3 if method (first arg is `self`) + * This could be extended if needed + \*********************************************************************************************/ typedef int32_t (*berry_callback_t)(int32_t v0, int32_t v1, int32_t v2, int32_t v3); + extern void BerryDumpErrorAndClear(bvm *vm, bool berry_console); + /*********************************************************************************************\ + * Callback structures + * + * We allow 4 parameters, or 3 if method (first arg is `self`) + * This could be extended if needed + \*********************************************************************************************/ int32_t call_berry_cb(int32_t num, int32_t v0, int32_t v1, int32_t v2, int32_t v3) { // call berry cb dispatcher int32_t ret = 0; @@ -285,6 +305,7 @@ extern "C" { ret = be_pcall(berry.vm, 6); // 5 arguments if (ret != 0) { BerryDumpErrorAndClear(berry.vm, false); // log in Tasmota console only + be_pop_all(berry.vm); // clear Berry stack return 0; } be_pop(berry.vm, 6); @@ -353,10 +374,6 @@ extern "C" { }; } - -#define LV_OBJ_CLASS "lv_obj" -#define LV_MODULE "lvgl" // name of the lvgl module - /*********************************************************************************************\ * Automatically parse Berry stack and call the C function accordingly * @@ -424,7 +441,7 @@ int32_t be_convert_single_elt(bvm *vm, int32_t idx, const char * arg_type = null const void * func = be_tocomptr(vm, -6); be_pop(vm, 6); - // berry_log_P("func=%p", func); + // berry_log_C("func=%p", func); return (int32_t) func; } else { be_raise(vm, kTypeError, "Closure expected for callback type"); @@ -445,7 +462,7 @@ int32_t be_convert_single_elt(bvm *vm, int32_t idx, const char * arg_type = null type_ok = type_ok || (ret == 0 && arg_type_len != 1); // or NULL is accepted for an instance if (!type_ok) { - berry_log_P("Unexpected argument type '%c', expected '%s'", provided_type, arg_type); + berry_log_C("Unexpected argument type '%c', expected '%s'", provided_type, arg_type); } return ret; } @@ -475,14 +492,14 @@ int32_t be_convert_single_elt(bvm *vm, int32_t idx, const char * arg_type = null // Stack: class_of_idx, class_of_target (or nil) if (class_found) { if (!be_isderived(vm, -2)) { - berry_log_P("Unexpected class type '%s', expected '%s'", be_classname(vm, idx), arg_type); + berry_log_C("Unexpected class type '%s', expected '%s'", be_classname(vm, idx), arg_type); } } else { - berry_log_P("Unable to find class '%s' (%d)", arg_type, arg_type_len); + berry_log_C("Unable to find class '%s' (%d)", arg_type, arg_type_len); } be_pop(vm, 2); } else if (arg_type[0] != '.') { - berry_log_P("Unexpected instance type '%s', expected '%s'", be_classname(vm, idx), arg_type); + berry_log_C("Unexpected instance type '%s', expected '%s'", be_classname(vm, idx), arg_type); } return ret; diff --git a/tasmota/xdrv_52_3_berry_lvgl.ino b/tasmota/xdrv_52_3_berry_lvgl.ino index a8bd61dda..39e7737ed 100644 --- a/tasmota/xdrv_52_3_berry_lvgl.ino +++ b/tasmota/xdrv_52_3_berry_lvgl.ino @@ -167,7 +167,7 @@ void be_check_arg_type(bvm *vm, int32_t arg_start, int32_t argc, const char * ar // check if we are missing arguments if (arg_type != nullptr && arg_type[arg_idx] != 0) { - berry_log_P("Missing arguments, remaining type '%s'", &arg_type[arg_idx]); + berry_log_C("Missing arguments, remaining type '%s'", &arg_type[arg_idx]); } } @@ -777,7 +777,7 @@ extern "C" { int lv0_register_button_encoder(bvm *vm) { int32_t argc = be_top(vm); // Get the number of arguments bool inverted = false; - // berry_log_P("lv0_register_button_encoder argc=%d inverted=%d", argc, be_tobool(vm, 1)); + // berry_log_C("lv0_register_button_encoder argc=%d inverted=%d", argc, be_tobool(vm, 1)); if (argc >= 1) { inverted = be_tobool(vm, 1); // get the inverted flag } @@ -794,7 +794,7 @@ extern "C" { lvbe.btn[1].set_inverted(inverted); lvbe.btn[2].set_gpio(btn2); lvbe.btn[2].set_inverted(inverted); - berry_log_P(D_LOG_LVGL "Button Rotary encoder using GPIOs %d,%d,%d%s", btn0, btn1, btn2, inverted ? " (inverted)" : ""); + berry_log_C(D_LOG_LVGL "Button Rotary encoder using GPIOs %d,%d,%d%s", btn0, btn1, btn2, inverted ? " (inverted)" : ""); lv_indev_drv_init(&lvbe.indev_drv); lvbe.indev_drv.type = LV_INDEV_TYPE_ENCODER; @@ -837,7 +837,7 @@ extern "C" { } bool state = lvbe.btn[i].clear_state_changed(); data->state = state ? LV_INDEV_STATE_PR : LV_INDEV_STATE_REL; - // berry_log_P("Button event key %d state %d,%d", data->key, state, data->state); + // berry_log_C("Button event key %d state %d,%d", data->key, state, data->state); break; } } diff --git a/tasmota/xdrv_52_3_berry_tasmota.ino b/tasmota/xdrv_52_3_berry_tasmota.ino index ee65d27a1..6b8e83ea3 100644 --- a/tasmota/xdrv_52_3_berry_tasmota.ino +++ b/tasmota/xdrv_52_3_berry_tasmota.ino @@ -1,5 +1,5 @@ /* - xdrv_52_3_berry_native.ino - Berry scripting language, native fucnctions + xdrv_52_3_berry_tasmota.ino - Berry scripting language, native fucnctions Copyright (C) 2021 Stephan Hadinger, Berry language by Guan Wenliang https://github.com/Skiars/berry @@ -614,17 +614,4 @@ extern "C" { } } - -void berry_log_P(const char * berry_buf, ...) { - // To save stack space support logging for max text length of 128 characters - char log_data[LOGSZ]; - - va_list arg; - va_start(arg, berry_buf); - uint32_t len = ext_vsnprintf_P(log_data, LOGSZ-3, berry_buf, arg); - va_end(arg); - if (len+3 > LOGSZ) { strcat(log_data, "..."); } // Actual data is more - berry_log(log_data); -} - #endif // USE_BERRY diff --git a/tasmota/xdrv_52_9_berry.ino b/tasmota/xdrv_52_9_berry.ino index 6596782c1..84a4f698c 100644 --- a/tasmota/xdrv_52_9_berry.ino +++ b/tasmota/xdrv_52_9_berry.ino @@ -126,7 +126,6 @@ void BerryDumpErrorAndClear(bvm *vm, bool berry_console) { } else { be_dumpstack(vm); } - be_pop(vm, top); } // void callBerryMqttData(void) { @@ -226,6 +225,7 @@ int32_t callBerryEventDispatcher(const char *type, const char *cmd, int32_t idx, BrTimeoutReset(); if (ret != 0) { BerryDumpErrorAndClear(vm, false); // log in Tasmota console only + be_pop_all(berry.vm); // clear Berry stack return ret; } be_pop(vm, 5); @@ -332,17 +332,20 @@ void BerryInit(void) { ret_code1 = be_loadstring(berry.vm, berry_prog); if (ret_code1 != 0) { BerryDumpErrorAndClear(berry.vm, false); + be_pop_all(berry.vm); // clear Berry stack break; } // AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_BERRY "Berry code loaded, RAM used=%u"), be_gc_memcount(berry.vm)); ret_code2 = be_pcall(berry.vm, 0); if (ret_code1 != 0) { BerryDumpErrorAndClear(berry.vm, false); + be_pop_all(berry.vm); // clear Berry stack break; } // AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_BERRY "Berry code ran, RAM used=%u"), be_gc_memcount(berry.vm)); if (be_top(berry.vm) > 1) { BerryDumpErrorAndClear(berry.vm, false); + be_pop_all(berry.vm); // clear Berry stack } else { be_pop(berry.vm, 1); } @@ -387,6 +390,7 @@ void BrLoad(const char * script_name) { BrTimeoutStart(); if (be_pcall(berry.vm, 1) != 0) { BerryDumpErrorAndClear(berry.vm, false); + be_pop_all(berry.vm); // clear Berry stack return; } BrTimeoutReset(); @@ -492,6 +496,7 @@ void BrREPLRun(char * cmd) { } if (BE_EXCEPTION == ret_code) { BerryDumpErrorAndClear(berry.vm, true); + be_pop_all(berry.vm); // clear Berry stack // be_dumpstack(berry.vm); // char exception_s[120]; // ext_snprintf_P(exception_s, sizeof(exception_s), PSTR("%s: %s"), be_tostring(berry.vm, -2), be_tostring(berry.vm, -1)); From 1615c5558370a69fe5ebad7fa351d3e7933a2e9e Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Fri, 10 Dec 2021 21:53:43 +0100 Subject: [PATCH 10/16] Apply MQTT_TLS_FINGERPRINT --- tasmota/settings.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tasmota/settings.ino b/tasmota/settings.ino index b2a58e2ae..31dd8a87c 100644 --- a/tasmota/settings.ino +++ b/tasmota/settings.ino @@ -1197,7 +1197,8 @@ void SettingsDefaultSet2(void) { flag4.mqtt_no_retain |= MQTT_NO_RETAIN; flag5.shift595_invert_outputs |= SHIFT595_INVERT_OUTPUTS; - Settings->shift595_device_count = SHIFT595_DEVICE_COUNT; + Settings->shift595_device_count = SHIFT595_DEVICE_COUNT; + flag5.tls_use_fingerprint |= MQTT_TLS_FINGERPRINT; Settings->flag = flag; Settings->flag2 = flag2; From 524216552039025ee2262aaa74486cc458f18215 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Fri, 10 Dec 2021 22:23:59 +0100 Subject: [PATCH 11/16] Berry allow instance functions --- lib/libesp32/Berry/src/be_vm.c | 6 +++--- lib/libesp32/Berry/tests/class_const.be | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/libesp32/Berry/src/be_vm.c b/lib/libesp32/Berry/src/be_vm.c index 67519ee39..26c15a1a3 100644 --- a/lib/libesp32/Berry/src/be_vm.c +++ b/lib/libesp32/Berry/src/be_vm.c @@ -853,9 +853,9 @@ newframe: /* a new call frame */ reg = vm->reg; bvalue *a = RA(); *a = a_temp; - if (basetype(type) == BE_FUNCTION) { - if (func_isstatic(a)) { - /* static method, don't bother with the instance */ + if (var_basetype(a) == BE_FUNCTION) { + if (func_isstatic(a) || (type == BE_INDEX)) { /* if instance variable then we consider it's non-method */ + /* static method, don't bother with the instance */ a[1] = a_temp; var_settype(a, NOT_METHOD); } else { diff --git a/lib/libesp32/Berry/tests/class_const.be b/lib/libesp32/Berry/tests/class_const.be index 7c986bff0..e8f4c1920 100644 --- a/lib/libesp32/Berry/tests/class_const.be +++ b/lib/libesp32/Berry/tests/class_const.be @@ -64,7 +64,7 @@ A.h = def (x, y) return type(x) end assert(type(a.g) == 'function') assert(type(a.h) == 'function') -assert_attribute_error("a.g(1,2)") +assert(a.g(1) == 'int') assert(a.h(1) == 'int') assert(A.h(1) == 'int') @@ -85,6 +85,9 @@ assert(a.g(1,2) == [1,2]) assert(a.h(1,2) == [1,2]) assert(A.g(1,2) == [1,2]) assert(A.h(1,2) == [1,2]) +a.a = def (x,y) return [x,y] end +assert(a.a(1,2) == [1,2]) + #- test static initializers -# class A From dbd321291e575e8ca318179282a160ac3e5c8412 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Fri, 10 Dec 2021 23:18:49 +0100 Subject: [PATCH 12/16] Berry strptime --- lib/libesp32/Berry/default/be_tasmotalib.c | 2 + lib/libesp32/Berry/generate/be_const_strtab.h | 1 + .../Berry/generate/be_const_strtab_def.h | 1822 +++++++++-------- .../generate/be_fixed_be_class_tasmota.h | 149 +- tasmota/xdrv_52_3_berry_tasmota.ino | 19 + 5 files changed, 1009 insertions(+), 984 deletions(-) diff --git a/lib/libesp32/Berry/default/be_tasmotalib.c b/lib/libesp32/Berry/default/be_tasmotalib.c index b073287f4..e117bae70 100644 --- a/lib/libesp32/Berry/default/be_tasmotalib.c +++ b/lib/libesp32/Berry/default/be_tasmotalib.c @@ -23,6 +23,7 @@ extern int l_timereached(bvm *vm); extern int l_rtc(bvm *vm); extern int l_time_dump(bvm *vm); extern int l_strftime(bvm *vm); +extern int l_strptime(bvm *vm); extern int l_memory(bvm *vm); extern int l_wifi(bvm *vm); extern int l_eth(bvm *vm); @@ -2100,6 +2101,7 @@ class be_class_tasmota (scope: global, name: Tasmota) { rtc, func(l_rtc) time_dump, func(l_time_dump) strftime, func(l_strftime) + strptime, func(l_strptime) memory, func(l_memory) wifi, func(l_wifi) eth, func(l_eth) diff --git a/lib/libesp32/Berry/generate/be_const_strtab.h b/lib/libesp32/Berry/generate/be_const_strtab.h index ea109e214..9692c8508 100644 --- a/lib/libesp32/Berry/generate/be_const_strtab.h +++ b/lib/libesp32/Berry/generate/be_const_strtab.h @@ -649,6 +649,7 @@ extern const bcstring be_const_str_str; extern const bcstring be_const_str_strftime; extern const bcstring be_const_str_string; extern const bcstring be_const_str_strip; +extern const bcstring be_const_str_strptime; extern const bcstring be_const_str_super; extern const bcstring be_const_str_sys; extern const bcstring be_const_str_tag; diff --git a/lib/libesp32/Berry/generate/be_const_strtab_def.h b/lib/libesp32/Berry/generate/be_const_strtab_def.h index 063ce52df..44676a35e 100644 --- a/lib/libesp32/Berry/generate/be_const_strtab_def.h +++ b/lib/libesp32/Berry/generate/be_const_strtab_def.h @@ -1,636 +1,636 @@ -be_define_const_str(, "", 2166136261u, 0, 0, NULL); -be_define_const_str(_X0A, "\n", 252472541u, 0, 1, &be_const_str_Unknown_X20command); -be_define_const_str(_X20, " ", 621580159u, 0, 1, &be_const_str_geti); -be_define_const_str(_X21_X3D, "!=", 2428715011u, 0, 2, &be_const_str_asstring); -be_define_const_str(_X21_X3D_X3D, "!==", 559817114u, 0, 3, &be_const_str_type); -be_define_const_str(_X23, "#", 638357778u, 0, 1, &be_const_str_CFG_X3A_X20no_X20_X27_X2A_X2Eautoconf_X27_X20file_X20found); -be_define_const_str(_X23autoexec_X2Ebat, "#autoexec.bat", 3382890497u, 0, 13, &be_const_str_arg_size); -be_define_const_str(_X23autoexec_X2Ebe, "#autoexec.be", 1181757091u, 0, 12, &be_const_str_file_X20extension_X20is_X20not_X20_X27_X2Ebe_X27_X20or_X20_X27_X2Ebec_X27); -be_define_const_str(_X23display_X2Eini, "#display.ini", 182218220u, 0, 12, &be_const_str___lower__); -be_define_const_str(_X23init_X2Ebat, "#init.bat", 3297595077u, 0, 9, &be_const_str_SERIAL_7O2); -be_define_const_str(_X23preinit_X2Ebe, "#preinit.be", 687035716u, 0, 11, &be_const_str_SERIAL_8O2); -be_define_const_str(_X2502d_X25s_X2502d, "%02d%s%02d", 1587999717u, 0, 10, &be_const_str_yield); -be_define_const_str(_X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d, "%04d-%02d-%02dT%02d:%02d:%02d", 3425528601u, 0, 29, &be_const_str__global_def); -be_define_const_str(_X25s_X2Eautoconf, "%s.autoconf", 3560383524u, 0, 11, &be_const_str_every_second); -be_define_const_str(_X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B, "<Error: apply new or remove>", 2855507949u, 0, 34, &be_const_str_add_driver); -be_define_const_str(_X26lt_X3BNone_X26gt_X3B, "<None>", 2602165498u, 0, 12, &be_const_str_rand); -be_define_const_str(_X28_X29, "()", 685372826u, 0, 2, &be_const_str__X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29); -be_define_const_str(_X2B, "+", 772578730u, 0, 1, &be_const_str_gpio); -be_define_const_str(_X2C, ",", 688690635u, 0, 1, &be_const_str_add_cmd); -be_define_const_str(_X2D_X2D_X3A_X2D_X2D, "--:--", 1370615441u, 0, 5, &be_const_str_AudioOutputI2S); -be_define_const_str(_X2E, ".", 722245873u, 0, 1, NULL); -be_define_const_str(_X2E_X2E, "..", 2748622605u, 0, 2, &be_const_str__X2Ep2); -be_define_const_str(_X2Eautoconf, ".autoconf", 2524679088u, 0, 9, NULL); -be_define_const_str(_X2Ebe, ".be", 1325797348u, 0, 3, &be_const_str_sinh); -be_define_const_str(_X2Ebec, ".bec", 3985273221u, 0, 4, &be_const_str__debug_present); -be_define_const_str(_X2Elen, ".len", 850842136u, 0, 4, NULL); -be_define_const_str(_X2Ep, ".p", 1171526419u, 0, 2, &be_const_str_COLOR_WHITE); -be_define_const_str(_X2Ep1, ".p1", 249175686u, 0, 3, &be_const_str_sin); -be_define_const_str(_X2Ep2, ".p2", 232398067u, 0, 3, &be_const_str_json_fdump_map); -be_define_const_str(_X2Esize, ".size", 1965188224u, 0, 5, &be_const_str__X2Fac); -be_define_const_str(_X2Etapp, ".tapp", 1363391594u, 0, 5, NULL); -be_define_const_str(_X2Ew, ".w", 1255414514u, 0, 2, &be_const_str_member); -be_define_const_str(_X2F, "/", 705468254u, 0, 1, &be_const_str_None); -be_define_const_str(_X2F_X2Eautoconf, "/.autoconf", 2212074393u, 0, 10, &be_const_str_set_dc_voltage); -be_define_const_str(_X2F_X3Frst_X3D, "/?rst=", 580074707u, 0, 6, &be_const_str_AES_GCM); -be_define_const_str(_X2Fac, "/ac", 3904651978u, 0, 3, &be_const_str_get_current_module_path); -be_define_const_str(_X3A, ":", 1057798253u, 0, 1, &be_const_str_json_fdump); -be_define_const_str(_X3C, "<", 957132539u, 0, 1, NULL); -be_define_const_str(_X3C_X2Fform_X3E_X3C_X2Fp_X3E, "

", 3546571739u, 0, 11, &be_const_str_atan); -be_define_const_str(_X3C_X2Fselect_X3E_X3Cp_X3E_X3C_X2Fp_X3E, "

", 1863865923u, 0, 16, NULL); -be_define_const_str(_X3C_X3D, "<=", 2499223986u, 0, 2, &be_const_str_HTTP_POST); -be_define_const_str(_X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, "", 3147934216u, 0, 82, &be_const_str_Wire); -be_define_const_str(_X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, "", 1205771629u, 0, 72, &be_const_str_color); -be_define_const_str(_X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, "
", 842307168u, 0, 77, &be_const_str_set_power); -be_define_const_str(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29, "Choose a device configuration:
", 1336654704u, 0, 49, &be_const_str_bus); -be_define_const_str(_X3Clambda_X3E, "", 607256038u, 0, 8, &be_const_str_No_X20callback_X20available); -be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Current auto-configuration", 4212500780u, 0, 82, &be_const_str_get_warning_level); -be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Select new auto-configuration", 1926223891u, 0, 80, &be_const_str_get_vbus_current); -be_define_const_str(_X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, "", 510303524u, 0, 30, &be_const_str_cb_event_closure); -be_define_const_str(_X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E, "", 3994619755u, 0, 54, NULL); -be_define_const_str(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E, "

Exception:
'%s'
%s

", 4252565082u, 0, 59, &be_const_str_arg); -be_define_const_str(_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E, "

", 2052843416u, 0, 25, &be_const_str_area); +be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_True); +be_define_const_str(_X0A, "\n", 252472541u, 0, 1, &be_const_str_i2c_enabled); +be_define_const_str(_X20, " ", 621580159u, 0, 1, &be_const_str_add_cmd); +be_define_const_str(_X21_X3D, "!=", 2428715011u, 0, 2, &be_const_str__X23autoexec_X2Ebe); +be_define_const_str(_X21_X3D_X3D, "!==", 559817114u, 0, 3, &be_const_str__X2Ew); +be_define_const_str(_X23, "#", 638357778u, 0, 1, &be_const_str_No_X20callback_X20available); +be_define_const_str(_X23autoexec_X2Ebat, "#autoexec.bat", 3382890497u, 0, 13, NULL); +be_define_const_str(_X23autoexec_X2Ebe, "#autoexec.be", 1181757091u, 0, 12, &be_const_str_assert); +be_define_const_str(_X23display_X2Eini, "#display.ini", 182218220u, 0, 12, &be_const_str_code); +be_define_const_str(_X23init_X2Ebat, "#init.bat", 3297595077u, 0, 9, &be_const_str__X2502d_X25s_X2502d); +be_define_const_str(_X23preinit_X2Ebe, "#preinit.be", 687035716u, 0, 11, &be_const_str__timers); +be_define_const_str(_X2502d_X25s_X2502d, "%02d%s%02d", 1587999717u, 0, 10, &be_const_str__X3D_X3C_X3E_X21); +be_define_const_str(_X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d, "%04d-%02d-%02dT%02d:%02d:%02d", 3425528601u, 0, 29, &be_const_str_get_object_from_ptr); +be_define_const_str(_X25s_X2Eautoconf, "%s.autoconf", 3560383524u, 0, 11, &be_const_str_RES_OK); +be_define_const_str(_X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B, "<Error: apply new or remove>", 2855507949u, 0, 34, &be_const_str_hs2rgb); +be_define_const_str(_X26lt_X3BNone_X26gt_X3B, "<None>", 2602165498u, 0, 12, &be_const_str__X2Fac); +be_define_const_str(_X28_X29, "()", 685372826u, 0, 2, NULL); +be_define_const_str(_X2B, "+", 772578730u, 0, 1, &be_const_str_lower); +be_define_const_str(_X2C, ",", 688690635u, 0, 1, &be_const_str_SERIAL_7O1); +be_define_const_str(_X2D_X2D_X3A_X2D_X2D, "--:--", 1370615441u, 0, 5, &be_const_str__X3Cp_X3ECurrent_X20configuration_X3A_X20_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E); +be_define_const_str(_X2E, ".", 722245873u, 0, 1, &be_const_str_search); +be_define_const_str(_X2E_X2E, "..", 2748622605u, 0, 2, &be_const_str__debug_present); +be_define_const_str(_X2Eautoconf, ".autoconf", 2524679088u, 0, 9, &be_const_str_false); +be_define_const_str(_X2Ebe, ".be", 1325797348u, 0, 3, &be_const_str_Tasmota); +be_define_const_str(_X2Ebec, ".bec", 3985273221u, 0, 4, &be_const_str_CFG_X3A_X20downloading_X20_X27_X25s_X27); +be_define_const_str(_X2Elen, ".len", 850842136u, 0, 4, &be_const_str__X3Cselect_X20name_X3D_X27zip_X27_X3E); +be_define_const_str(_X2Ep, ".p", 1171526419u, 0, 2, NULL); +be_define_const_str(_X2Ep1, ".p1", 249175686u, 0, 3, &be_const_str__t); +be_define_const_str(_X2Ep2, ".p2", 232398067u, 0, 3, &be_const_str_BRY_X3A_X20could_X20not_X20save_X20compiled_X20file_X20_X25s_X20_X28_X25s_X29); +be_define_const_str(_X2Esize, ".size", 1965188224u, 0, 5, &be_const_str_is_first_time); +be_define_const_str(_X2Etapp, ".tapp", 1363391594u, 0, 5, &be_const_str__X7B); +be_define_const_str(_X2Ew, ".w", 1255414514u, 0, 2, &be_const_str_clear); +be_define_const_str(_X2F, "/", 705468254u, 0, 1, &be_const_str_SERIAL_7O2); +be_define_const_str(_X2F_X2Eautoconf, "/.autoconf", 2212074393u, 0, 10, &be_const_str_CFG_X3A_X20exception_X20_X27_X25s_X27_X20_X2D_X20_X27_X25s_X27); +be_define_const_str(_X2F_X3Frst_X3D, "/?rst=", 580074707u, 0, 6, &be_const_str_SERIAL_7N2); +be_define_const_str(_X2Fac, "/ac", 3904651978u, 0, 3, &be_const_str_WS2812); +be_define_const_str(_X3A, ":", 1057798253u, 0, 1, &be_const_str_AudioFileSourceFS); +be_define_const_str(_X3C, "<", 957132539u, 0, 1, &be_const_str_digital_write); +be_define_const_str(_X3C_X2Fform_X3E_X3C_X2Fp_X3E, "

", 3546571739u, 0, 11, &be_const_str_LVG_X3A_X20call_X20to_X20unsupported_X20callback); +be_define_const_str(_X3C_X2Fselect_X3E_X3Cp_X3E_X3C_X2Fp_X3E, "

", 1863865923u, 0, 16, &be_const_str_rule); +be_define_const_str(_X3C_X3D, "<=", 2499223986u, 0, 2, &be_const_str_set_chg_current); +be_define_const_str(_X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, "", 3147934216u, 0, 82, &be_const_str_find_op); +be_define_const_str(_X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, "", 1205771629u, 0, 72, NULL); +be_define_const_str(_X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, "
", 842307168u, 0, 77, &be_const_str_get_current_module_path); +be_define_const_str(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29, "Choose a device configuration:
", 1336654704u, 0, 49, &be_const_str_delay); +be_define_const_str(_X3Clambda_X3E, "", 607256038u, 0, 8, &be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20); +be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Current auto-configuration", 4212500780u, 0, 82, &be_const_str_CFG_X3A_X20could_X20not_X20run_X20_X25s_X20_X28_X25s_X20_X2D_X20_X25s_X29); +be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Select new auto-configuration", 1926223891u, 0, 80, &be_const_str_CFG_X3A_X20multiple_X20autoconf_X20files_X20found_X2C_X20aborting_X20_X28_X27_X25s_X27_X20_X2B_X20_X27_X25s_X27_X29); +be_define_const_str(_X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, "", 510303524u, 0, 30, &be_const_str_write); +be_define_const_str(_X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E, "", 3994619755u, 0, 54, &be_const_str_None); +be_define_const_str(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E, "

Exception:
'%s'
%s

", 4252565082u, 0, 59, &be_const_str_classof); +be_define_const_str(_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E, "

", 2052843416u, 0, 25, &be_const_str_button_pressed); be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3E_X26_X23129668_X3B_X20Auto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E, "

", 452285201u, 0, 120, NULL); -be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, "

 (This feature requires an internet connection)

", 2719266486u, 0, 74, &be_const_str_register_obj); -be_define_const_str(_X3Cp_X3ECurrent_X20configuration_X3A_X20_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E, "

Current configuration:

%s

", 4115655761u, 0, 46, &be_const_str_cb_dispatch); -be_define_const_str(_X3Cselect_X20name_X3D_X27zip_X27_X3E, "", 4247924536u, 0, 19, &be_const_str_False); +be_define_const_str(_X3D, "=", 940354920u, 0, 1, &be_const_str_CFG_X3A_X20return_code_X3D_X25i); +be_define_const_str(_X3D_X3C_X3E_X21, "=<>!", 2664470277u, 0, 4, &be_const_str_CFG_X3A_X20_X27init_X2Ebat_X27_X20done_X2C_X20restarting); +be_define_const_str(_X3D_X3D, "==", 2431966415u, 0, 2, &be_const_str_get); +be_define_const_str(_X3E, ">", 990687777u, 0, 1, &be_const_str_CFG_X3A_X20loading_X20_X27_X25s_X27); +be_define_const_str(_X3E_X3D, ">=", 284975636u, 0, 2, &be_const_str__anonymous_); +be_define_const_str(_X3F, "?", 973910158u, 0, 1, &be_const_str_TAP_X3A_X20found_X20Tasmota_X20App_X20_X27_X25s_X27); +be_define_const_str(AES_GCM, "AES_GCM", 3832208678u, 0, 7, NULL); +be_define_const_str(AXP192, "AXP192", 757230128u, 0, 6, &be_const_str__buffer); +be_define_const_str(Animate_X20pc_X20is_X20out_X20of_X20range, "Animate pc is out of range", 1854929421u, 0, 26, &be_const_str_true); +be_define_const_str(AudioFileSource, "AudioFileSource", 2959980058u, 0, 15, &be_const_str_allocated); +be_define_const_str(AudioFileSourceFS, "AudioFileSourceFS", 1839147653u, 0, 17, &be_const_str_due); +be_define_const_str(AudioGenerator, "AudioGenerator", 1839297342u, 0, 14, &be_const_str_enabled); +be_define_const_str(AudioGeneratorMP3, "AudioGeneratorMP3", 2199818488u, 0, 17, &be_const_str_check_privileged_access); +be_define_const_str(AudioGeneratorWAV, "AudioGeneratorWAV", 2746509368u, 0, 17, &be_const_str_digital_read); +be_define_const_str(AudioOutput, "AudioOutput", 3257792048u, 0, 11, &be_const_str_get_pixel_color); be_define_const_str(AudioOutputI2S, "AudioOutputI2S", 638031784u, 0, 14, NULL); -be_define_const_str(Auto_X2Dconfiguration, "Auto-configuration", 1665006109u, 0, 18, &be_const_str_Tasmota); -be_define_const_str(BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20, "BRY: ERROR, bad json: ", 2715135809u, 0, 22, &be_const_str_I2C_X3A); -be_define_const_str(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, "BRY: Exception> '%s' - %s", 2246990964u, 0, 25, NULL); -be_define_const_str(BRY_X3A_X20could_X20not_X20save_X20compiled_X20file_X20_X25s_X20_X28_X25s_X29, "BRY: could not save compiled file %s (%s)", 736659787u, 0, 41, &be_const_str_bri); -be_define_const_str(BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson, "BRY: failed to load _persist.json", 2991913445u, 0, 33, &be_const_str_target); -be_define_const_str(BUTTON_CONFIGURATION, "BUTTON_CONFIGURATION", 70820856u, 0, 20, &be_const_str_SERIAL_5O1); -be_define_const_str(CFG_X3A_X20_X27init_X2Ebat_X27_X20done_X2C_X20restarting, "CFG: 'init.bat' done, restarting", 1569670677u, 0, 32, &be_const_str_delay); -be_define_const_str(CFG_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, "CFG: Exception> '%s' - %s", 1228874553u, 0, 25, &be_const_str__p); -be_define_const_str(CFG_X3A_X20could_X20not_X20run_X20_X25s_X20_X28_X25s_X20_X2D_X20_X25s_X29, "CFG: could not run %s (%s - %s)", 1428829580u, 0, 31, &be_const_str_arg_X20must_X20be_X20a_X20subclass_X20of_X20lv_obj); -be_define_const_str(CFG_X3A_X20downloading_X20_X27_X25s_X27, "CFG: downloading '%s'", 589480701u, 0, 21, &be_const_str_add_header); -be_define_const_str(CFG_X3A_X20exception_X20_X27_X25s_X27_X20_X2D_X20_X27_X25s_X27, "CFG: exception '%s' - '%s'", 4095407913u, 0, 26, &be_const_str_Tele); -be_define_const_str(CFG_X3A_X20loaded_X20_X20, "CFG: loaded ", 3710273538u, 0, 13, NULL); -be_define_const_str(CFG_X3A_X20loaded_X20_X27_X25s_X27, "CFG: loaded '%s'", 1699028828u, 0, 16, &be_const_str_fromb64); -be_define_const_str(CFG_X3A_X20loading_X20, "CFG: loading ", 4010361503u, 0, 13, &be_const_str_floor); -be_define_const_str(CFG_X3A_X20loading_X20_X27_X25s_X27, "CFG: loading '%s'", 2285306097u, 0, 17, &be_const_str_Timer); -be_define_const_str(CFG_X3A_X20multiple_X20autoconf_X20files_X20found_X2C_X20aborting_X20_X28_X27_X25s_X27_X20_X2B_X20_X27_X25s_X27_X29, "CFG: multiple autoconf files found, aborting ('%s' + '%s')", 197663371u, 0, 58, &be_const_str_content_stop); -be_define_const_str(CFG_X3A_X20no_X20_X27_X2A_X2Eautoconf_X27_X20file_X20found, "CFG: no '*.autoconf' file found", 127493957u, 0, 31, &be_const_str_byte); -be_define_const_str(CFG_X3A_X20ran_X20_X20, "CFG: ran ", 3579570472u, 0, 10, &be_const_str_draw_line_dsc_init); -be_define_const_str(CFG_X3A_X20removed_X20file_X20_X27_X25s_X27, "CFG: removed file '%s'", 2048602473u, 0, 22, &be_const_str_pixel_size); -be_define_const_str(CFG_X3A_X20removing_X20autoconf_X20files, "CFG: removing autoconf files", 4014704970u, 0, 28, &be_const_str_issubclass); -be_define_const_str(CFG_X3A_X20removing_X20first_X20time_X20marker, "CFG: removing first time marker", 2125556683u, 0, 31, NULL); -be_define_const_str(CFG_X3A_X20return_code_X3D_X25i, "CFG: return_code=%i", 2059897320u, 0, 19, &be_const_str_get_option); -be_define_const_str(CFG_X3A_X20running_X20, "CFG: running ", 2478334534u, 0, 13, &be_const_str_get_vbus_voltage); -be_define_const_str(CFG_X3A_X20skipping_X20_X27display_X2Eini_X27_X20because_X20already_X20present_X20in_X20file_X2Dsystem, "CFG: skipping 'display.ini' because already present in file-system", 3965549264u, 0, 66, &be_const_str_create_custom_widget); -be_define_const_str(COLOR_BLACK, "COLOR_BLACK", 264427940u, 0, 11, &be_const_str_SERIAL_6N2); -be_define_const_str(COLOR_WHITE, "COLOR_WHITE", 2536871270u, 0, 11, &be_const_str_wd); -be_define_const_str(EC_C25519, "EC_C25519", 95492591u, 0, 9, &be_const_str__filename); -be_define_const_str(EVENT_DRAW_MAIN, "EVENT_DRAW_MAIN", 1955620614u, 0, 15, &be_const_str_from_to); -be_define_const_str(EVENT_DRAW_PART_BEGIN, "EVENT_DRAW_PART_BEGIN", 3391865024u, 0, 21, NULL); -be_define_const_str(EVENT_DRAW_PART_END, "EVENT_DRAW_PART_END", 3301625292u, 0, 19, &be_const_str_set_pixel_color); -be_define_const_str(False, "False", 2541049336u, 0, 5, &be_const_str_get_style_line_color); -be_define_const_str(GET, "GET", 2531704439u, 0, 3, &be_const_str_SERIAL_5N1); -be_define_const_str(HTTP_GET, "HTTP_GET", 1722467738u, 0, 8, &be_const_str_dac_voltage); -be_define_const_str(HTTP_POST, "HTTP_POST", 1999554144u, 0, 9, &be_const_str_widget_event_impl); -be_define_const_str(I2C_X3A, "I2C:", 813483371u, 0, 4, &be_const_str_WS2812); -be_define_const_str(I2C_Driver, "I2C_Driver", 1714501658u, 0, 10, &be_const_str_SERIAL_5O2); -be_define_const_str(LVG_X3A_X20call_X20to_X20unsupported_X20callback, "LVG: call to unsupported callback", 504176819u, 0, 33, &be_const_str__end_transmission); -be_define_const_str(Leds, "Leds", 2709245275u, 0, 4, &be_const_str_display_X2Eini); +be_define_const_str(Auto_X2Dconfiguration, "Auto-configuration", 1665006109u, 0, 18, NULL); +be_define_const_str(BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20, "BRY: ERROR, bad json: ", 2715135809u, 0, 22, &be_const_str_fromptr); +be_define_const_str(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, "BRY: Exception> '%s' - %s", 2246990964u, 0, 25, &be_const_str_SERIAL_6N2); +be_define_const_str(BRY_X3A_X20could_X20not_X20save_X20compiled_X20file_X20_X25s_X20_X28_X25s_X29, "BRY: could not save compiled file %s (%s)", 736659787u, 0, 41, NULL); +be_define_const_str(BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson, "BRY: failed to load _persist.json", 2991913445u, 0, 33, &be_const_str_set_time); +be_define_const_str(BUTTON_CONFIGURATION, "BUTTON_CONFIGURATION", 70820856u, 0, 20, &be_const_str_files); +be_define_const_str(CFG_X3A_X20_X27init_X2Ebat_X27_X20done_X2C_X20restarting, "CFG: 'init.bat' done, restarting", 1569670677u, 0, 32, &be_const_str_push_path); +be_define_const_str(CFG_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, "CFG: Exception> '%s' - %s", 1228874553u, 0, 25, &be_const_str_CFG_X3A_X20removed_X20file_X20_X27_X25s_X27); +be_define_const_str(CFG_X3A_X20could_X20not_X20run_X20_X25s_X20_X28_X25s_X20_X2D_X20_X25s_X29, "CFG: could not run %s (%s - %s)", 1428829580u, 0, 31, &be_const_str_COLOR_BLACK); +be_define_const_str(CFG_X3A_X20downloading_X20_X27_X25s_X27, "CFG: downloading '%s'", 589480701u, 0, 21, &be_const_str_floor); +be_define_const_str(CFG_X3A_X20exception_X20_X27_X25s_X27_X20_X2D_X20_X27_X25s_X27, "CFG: exception '%s' - '%s'", 4095407913u, 0, 26, &be_const_str_get_option); +be_define_const_str(CFG_X3A_X20loaded_X20_X20, "CFG: loaded ", 3710273538u, 0, 13, &be_const_str_delete_all_configs); +be_define_const_str(CFG_X3A_X20loaded_X20_X27_X25s_X27, "CFG: loaded '%s'", 1699028828u, 0, 16, NULL); +be_define_const_str(CFG_X3A_X20loading_X20, "CFG: loading ", 4010361503u, 0, 13, NULL); +be_define_const_str(CFG_X3A_X20loading_X20_X27_X25s_X27, "CFG: loading '%s'", 2285306097u, 0, 17, &be_const_str_SK6812_GRBW); +be_define_const_str(CFG_X3A_X20multiple_X20autoconf_X20files_X20found_X2C_X20aborting_X20_X28_X27_X25s_X27_X20_X2B_X20_X27_X25s_X27_X29, "CFG: multiple autoconf files found, aborting ('%s' + '%s')", 197663371u, 0, 58, NULL); +be_define_const_str(CFG_X3A_X20no_X20_X27_X2A_X2Eautoconf_X27_X20file_X20found, "CFG: no '*.autoconf' file found", 127493957u, 0, 31, &be_const_str_get_free_heap); +be_define_const_str(CFG_X3A_X20ran_X20_X20, "CFG: ran ", 3579570472u, 0, 10, &be_const_str_contains); +be_define_const_str(CFG_X3A_X20removed_X20file_X20_X27_X25s_X27, "CFG: removed file '%s'", 2048602473u, 0, 22, &be_const_str_SERIAL_8E2); +be_define_const_str(CFG_X3A_X20removing_X20autoconf_X20files, "CFG: removing autoconf files", 4014704970u, 0, 28, &be_const_str_get_bat_charge_current); +be_define_const_str(CFG_X3A_X20removing_X20first_X20time_X20marker, "CFG: removing first time marker", 2125556683u, 0, 31, &be_const_str__lvgl); +be_define_const_str(CFG_X3A_X20return_code_X3D_X25i, "CFG: return_code=%i", 2059897320u, 0, 19, &be_const_str_OPTION_A); +be_define_const_str(CFG_X3A_X20running_X20, "CFG: running ", 2478334534u, 0, 13, NULL); +be_define_const_str(CFG_X3A_X20skipping_X20_X27display_X2Eini_X27_X20because_X20already_X20present_X20in_X20file_X2Dsystem, "CFG: skipping 'display.ini' because already present in file-system", 3965549264u, 0, 66, NULL); +be_define_const_str(COLOR_BLACK, "COLOR_BLACK", 264427940u, 0, 11, NULL); +be_define_const_str(COLOR_WHITE, "COLOR_WHITE", 2536871270u, 0, 11, &be_const_str__energy); +be_define_const_str(EC_C25519, "EC_C25519", 95492591u, 0, 9, &be_const_str_gc); +be_define_const_str(EVENT_DRAW_MAIN, "EVENT_DRAW_MAIN", 1955620614u, 0, 15, &be_const_str_SERIAL_5E2); +be_define_const_str(EVENT_DRAW_PART_BEGIN, "EVENT_DRAW_PART_BEGIN", 3391865024u, 0, 21, &be_const_str_available); +be_define_const_str(EVENT_DRAW_PART_END, "EVENT_DRAW_PART_END", 3301625292u, 0, 19, &be_const_str_chars_in_string); +be_define_const_str(False, "False", 2541049336u, 0, 5, &be_const_str_set_style_line_color); +be_define_const_str(GET, "GET", 2531704439u, 0, 3, &be_const_str_onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20change_X20the_X20current_X20configuration_X20and_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E); +be_define_const_str(HTTP_GET, "HTTP_GET", 1722467738u, 0, 8, &be_const_str_I2C_Driver); +be_define_const_str(HTTP_POST, "HTTP_POST", 1999554144u, 0, 9, &be_const_str_imin); +be_define_const_str(I2C_X3A, "I2C:", 813483371u, 0, 4, &be_const_str_read24); +be_define_const_str(I2C_Driver, "I2C_Driver", 1714501658u, 0, 10, &be_const_str_addr); +be_define_const_str(LVG_X3A_X20call_X20to_X20unsupported_X20callback, "LVG: call to unsupported callback", 504176819u, 0, 33, &be_const_str_cb_dispatch); +be_define_const_str(Leds, "Leds", 2709245275u, 0, 4, &be_const_str_arg_name); be_define_const_str(MD5, "MD5", 1935726387u, 0, 3, NULL); -be_define_const_str(No_X20callback_X20available, "No callback available", 633786138u, 0, 21, &be_const_str_point); -be_define_const_str(None, "None", 810547195u, 0, 4, &be_const_str_day); -be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_isnan); -be_define_const_str(OneWire, "OneWire", 2298990722u, 0, 7, &be_const_str_is_first_time); -be_define_const_str(PART_MAIN, "PART_MAIN", 2473491508u, 0, 9, &be_const_str__ccmd); -be_define_const_str(POST, "POST", 1929554311u, 0, 4, &be_const_str_getbits); +be_define_const_str(No_X20callback_X20available, "No callback available", 633786138u, 0, 21, &be_const_str_gpio); +be_define_const_str(None, "None", 810547195u, 0, 4, &be_const_str_SERIAL_5E1); +be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_init_draw_line_dsc); +be_define_const_str(OneWire, "OneWire", 2298990722u, 0, 7, &be_const_str_Timer); +be_define_const_str(PART_MAIN, "PART_MAIN", 2473491508u, 0, 9, &be_const_str_STATE_DEFAULT); +be_define_const_str(POST, "POST", 1929554311u, 0, 4, NULL); be_define_const_str(Parameter_X20error, "Parameter error", 3840042038u, 0, 15, NULL); -be_define_const_str(RES_OK, "RES_OK", 1233817284u, 0, 6, &be_const_str_k); -be_define_const_str(Restart_X201, "Restart 1", 3504455855u, 0, 9, &be_const_str_year); -be_define_const_str(SERIAL_5E1, "SERIAL_5E1", 1163775235u, 0, 10, &be_const_str_SERIAL_8N1); -be_define_const_str(SERIAL_5E2, "SERIAL_5E2", 1180552854u, 0, 10, &be_const_str_SERIAL_8N2); -be_define_const_str(SERIAL_5N1, "SERIAL_5N1", 3313031680u, 0, 10, NULL); -be_define_const_str(SERIAL_5N2, "SERIAL_5N2", 3363364537u, 0, 10, &be_const_str_read_sensors); -be_define_const_str(SERIAL_5O1, "SERIAL_5O1", 3782657917u, 0, 10, &be_const_str_return); -be_define_const_str(SERIAL_5O2, "SERIAL_5O2", 3732325060u, 0, 10, &be_const_str__t); +be_define_const_str(RES_OK, "RES_OK", 1233817284u, 0, 6, &be_const_str_bri); +be_define_const_str(Restart_X201, "Restart 1", 3504455855u, 0, 9, &be_const_str_min); +be_define_const_str(SERIAL_5E1, "SERIAL_5E1", 1163775235u, 0, 10, &be_const_str_zero); +be_define_const_str(SERIAL_5E2, "SERIAL_5E2", 1180552854u, 0, 10, &be_const_str_lv_obj_class); +be_define_const_str(SERIAL_5N1, "SERIAL_5N1", 3313031680u, 0, 10, &be_const_str_ins_ramp); +be_define_const_str(SERIAL_5N2, "SERIAL_5N2", 3363364537u, 0, 10, NULL); +be_define_const_str(SERIAL_5O1, "SERIAL_5O1", 3782657917u, 0, 10, &be_const_str_flush); +be_define_const_str(SERIAL_5O2, "SERIAL_5O2", 3732325060u, 0, 10, NULL); be_define_const_str(SERIAL_6E1, "SERIAL_6E1", 334249486u, 0, 10, NULL); -be_define_const_str(SERIAL_6E2, "SERIAL_6E2", 317471867u, 0, 10, &be_const_str_digital_write); -be_define_const_str(SERIAL_6N1, "SERIAL_6N1", 198895701u, 0, 10, &be_const_str__X5D); -be_define_const_str(SERIAL_6N2, "SERIAL_6N2", 148562844u, 0, 10, &be_const_str__settings_def); -be_define_const_str(SERIAL_6O1, "SERIAL_6O1", 266153272u, 0, 10, &be_const_str_couldn_X27t_X20not_X20initialize_X20noepixelbus); -be_define_const_str(SERIAL_6O2, "SERIAL_6O2", 316486129u, 0, 10, &be_const_str_deregister_obj); -be_define_const_str(SERIAL_7E1, "SERIAL_7E1", 147718061u, 0, 10, &be_const_str_call); -be_define_const_str(SERIAL_7E2, "SERIAL_7E2", 97385204u, 0, 10, &be_const_str_global); -be_define_const_str(SERIAL_7N1, "SERIAL_7N1", 1891060246u, 0, 10, &be_const_str_encrypt); -be_define_const_str(SERIAL_7N2, "SERIAL_7N2", 1874282627u, 0, 10, &be_const_str_alternate); -be_define_const_str(SERIAL_7O1, "SERIAL_7O1", 1823802675u, 0, 10, NULL); -be_define_const_str(SERIAL_7O2, "SERIAL_7O2", 1840580294u, 0, 10, &be_const_str_arch); -be_define_const_str(SERIAL_8E1, "SERIAL_8E1", 2371121616u, 0, 10, &be_const_str__available); -be_define_const_str(SERIAL_8E2, "SERIAL_8E2", 2421454473u, 0, 10, NULL); -be_define_const_str(SERIAL_8N1, "SERIAL_8N1", 2369297235u, 0, 10, &be_const_str_imin); -be_define_const_str(SERIAL_8N2, "SERIAL_8N2", 2386074854u, 0, 10, &be_const_str_gen_cb); -be_define_const_str(SERIAL_8O1, "SERIAL_8O1", 289122742u, 0, 10, &be_const_str_return_X20code_X3D_X25i); -be_define_const_str(SERIAL_8O2, "SERIAL_8O2", 272345123u, 0, 10, &be_const_str_tag); -be_define_const_str(SK6812_GRBW, "SK6812_GRBW", 81157857u, 0, 11, &be_const_str_item); -be_define_const_str(STATE_DEFAULT, "STATE_DEFAULT", 712406428u, 0, 13, &be_const_str_pop); -be_define_const_str(TAP_X3A_X20found_X20Tasmota_X20App_X20_X27_X25s_X27, "TAP: found Tasmota App '%s'", 2643152398u, 0, 27, &be_const_str_closure); -be_define_const_str(Tasmota, "Tasmota", 4047617668u, 0, 7, &be_const_str_dump); -be_define_const_str(Tele, "Tele", 1329980653u, 0, 4, &be_const_str_f); -be_define_const_str(Timer, "Timer", 3948127682u, 0, 5, &be_const_str_check_privileged_access); -be_define_const_str(True, "True", 3453902341u, 0, 4, &be_const_str_hs2rgb); -be_define_const_str(Unknown_X20command, "Unknown command", 1830905432u, 0, 15, &be_const_str_map); -be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, NULL); -be_define_const_str(WS2812_GRB, "WS2812_GRB", 1736405692u, 0, 10, NULL); -be_define_const_str(Wire, "Wire", 1938276536u, 0, 4, NULL); -be_define_const_str(_X5B, "[", 3725336506u, 0, 1, &be_const_str_get_object_from_ptr); -be_define_const_str(_X5D, "]", 3624670792u, 0, 1, &be_const_str_x1); -be_define_const_str(_, "_", 3658226030u, 0, 1, &be_const_str_widget_struct_by_class); -be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str_asin); -be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, &be_const_str_public_key); -be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, &be_const_str_class_init_obj); -be_define_const_str(_anonymous_, "_anonymous_", 1957281476u, 0, 11, &be_const_str_matrix); -be_define_const_str(_archive, "_archive", 4004559404u, 0, 8, &be_const_str_isrunning); -be_define_const_str(_available, "_available", 1306196581u, 0, 10, &be_const_str_setitem); -be_define_const_str(_begin_transmission, "_begin_transmission", 2779461176u, 0, 19, NULL); -be_define_const_str(_buffer, "_buffer", 2044888568u, 0, 7, &be_const_str_seti); -be_define_const_str(_cb, "_cb", 4043300367u, 0, 3, &be_const_str_copy); -be_define_const_str(_ccmd, "_ccmd", 2163421413u, 0, 5, &be_const_str_enabled); -be_define_const_str(_class, "_class", 2732146350u, 0, 6, &be_const_str__dirty); -be_define_const_str(_cmd, "_cmd", 3419822142u, 0, 4, &be_const_str_nan); -be_define_const_str(_debug_present, "_debug_present", 4063411725u, 0, 14, NULL); +be_define_const_str(SERIAL_6E2, "SERIAL_6E2", 317471867u, 0, 10, NULL); +be_define_const_str(SERIAL_6N1, "SERIAL_6N1", 198895701u, 0, 10, &be_const_str_char); +be_define_const_str(SERIAL_6N2, "SERIAL_6N2", 148562844u, 0, 10, &be_const_str_matrix); +be_define_const_str(SERIAL_6O1, "SERIAL_6O1", 266153272u, 0, 10, &be_const_str_atleast1); +be_define_const_str(SERIAL_6O2, "SERIAL_6O2", 316486129u, 0, 10, &be_const_str_content_send); +be_define_const_str(SERIAL_7E1, "SERIAL_7E1", 147718061u, 0, 10, &be_const_str_stop_iteration); +be_define_const_str(SERIAL_7E2, "SERIAL_7E2", 97385204u, 0, 10, &be_const_str_copy); +be_define_const_str(SERIAL_7N1, "SERIAL_7N1", 1891060246u, 0, 10, NULL); +be_define_const_str(SERIAL_7N2, "SERIAL_7N2", 1874282627u, 0, 10, &be_const_str_elif); +be_define_const_str(SERIAL_7O1, "SERIAL_7O1", 1823802675u, 0, 10, &be_const_str_init); +be_define_const_str(SERIAL_7O2, "SERIAL_7O2", 1840580294u, 0, 10, &be_const_str_global); +be_define_const_str(SERIAL_8E1, "SERIAL_8E1", 2371121616u, 0, 10, &be_const_str_scan); +be_define_const_str(SERIAL_8E2, "SERIAL_8E2", 2421454473u, 0, 10, &be_const_str_deregister_obj); +be_define_const_str(SERIAL_8N1, "SERIAL_8N1", 2369297235u, 0, 10, &be_const_str_resp_cmnd_done); +be_define_const_str(SERIAL_8N2, "SERIAL_8N2", 2386074854u, 0, 10, &be_const_str_sys); +be_define_const_str(SERIAL_8O1, "SERIAL_8O1", 289122742u, 0, 10, &be_const_str_get_vbus_current); +be_define_const_str(SERIAL_8O2, "SERIAL_8O2", 272345123u, 0, 10, &be_const_str_gamma10); +be_define_const_str(SK6812_GRBW, "SK6812_GRBW", 81157857u, 0, 11, NULL); +be_define_const_str(STATE_DEFAULT, "STATE_DEFAULT", 712406428u, 0, 13, &be_const_str_classname); +be_define_const_str(TAP_X3A_X20found_X20Tasmota_X20App_X20_X27_X25s_X27, "TAP: found Tasmota App '%s'", 2643152398u, 0, 27, NULL); +be_define_const_str(Tasmota, "Tasmota", 4047617668u, 0, 7, &be_const_str_top); +be_define_const_str(Tele, "Tele", 1329980653u, 0, 4, &be_const_str_exists); +be_define_const_str(Timer, "Timer", 3948127682u, 0, 5, &be_const_str_del); +be_define_const_str(True, "True", 3453902341u, 0, 4, &be_const_str_real); +be_define_const_str(Unknown_X20command, "Unknown command", 1830905432u, 0, 15, &be_const_str_get_percentage); +be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, &be_const_str_finish); +be_define_const_str(WS2812_GRB, "WS2812_GRB", 1736405692u, 0, 10, &be_const_str_tasmota); +be_define_const_str(Wire, "Wire", 1938276536u, 0, 4, &be_const_str__begin_transmission); +be_define_const_str(_X5B, "[", 3725336506u, 0, 1, NULL); +be_define_const_str(_X5D, "]", 3624670792u, 0, 1, NULL); +be_define_const_str(_, "_", 3658226030u, 0, 1, NULL); +be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str_pixel_count); +be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, &be_const_str_pin_mode); +be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, &be_const_str_engine); +be_define_const_str(_anonymous_, "_anonymous_", 1957281476u, 0, 11, &be_const_str_get_light); +be_define_const_str(_archive, "_archive", 4004559404u, 0, 8, &be_const_str_cosh); +be_define_const_str(_available, "_available", 1306196581u, 0, 10, &be_const_str_is_running); +be_define_const_str(_begin_transmission, "_begin_transmission", 2779461176u, 0, 19, &be_const_str_lv_event_cb); +be_define_const_str(_buffer, "_buffer", 2044888568u, 0, 7, &be_const_str_every_50ms); +be_define_const_str(_cb, "_cb", 4043300367u, 0, 3, NULL); +be_define_const_str(_ccmd, "_ccmd", 2163421413u, 0, 5, &be_const_str_animators); +be_define_const_str(_class, "_class", 2732146350u, 0, 6, &be_const_str__X7Bs_X7DVBus_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D); +be_define_const_str(_cmd, "_cmd", 3419822142u, 0, 4, NULL); +be_define_const_str(_debug_present, "_debug_present", 4063411725u, 0, 14, &be_const_str_call_native); be_define_const_str(_def, "_def", 1985022181u, 0, 4, NULL); -be_define_const_str(_dirty, "_dirty", 283846766u, 0, 6, &be_const_str_content_start); -be_define_const_str(_drivers, "_drivers", 3260328985u, 0, 8, &be_const_str_del); -be_define_const_str(_end_transmission, "_end_transmission", 3237480400u, 0, 17, &be_const_str_math); -be_define_const_str(_energy, "_energy", 535372070u, 0, 7, &be_const_str_reduce); -be_define_const_str(_error, "_error", 1132109656u, 0, 6, NULL); -be_define_const_str(_filename, "_filename", 1430813195u, 0, 9, NULL); -be_define_const_str(_get_cb, "_get_cb", 1448849122u, 0, 7, &be_const_str_begin); -be_define_const_str(_global_addr, "_global_addr", 533766721u, 0, 12, &be_const_str_add_rule); -be_define_const_str(_global_def, "_global_def", 646007001u, 0, 11, &be_const_str_destructor_cb); -be_define_const_str(_lvgl, "_lvgl", 2689219483u, 0, 5, NULL); -be_define_const_str(_p, "_p", 1594591802u, 0, 2, &be_const_str_scan); -be_define_const_str(_persist_X2Ejson, "_persist.json", 2008425138u, 0, 13, NULL); -be_define_const_str(_ptr, "_ptr", 306235816u, 0, 4, NULL); -be_define_const_str(_read, "_read", 346717030u, 0, 5, &be_const_str_calldepth); -be_define_const_str(_request_from, "_request_from", 3965148604u, 0, 13, &be_const_str_set_x); +be_define_const_str(_dirty, "_dirty", 283846766u, 0, 6, &be_const_str_get_coords); +be_define_const_str(_drivers, "_drivers", 3260328985u, 0, 8, &be_const_str__write); +be_define_const_str(_end_transmission, "_end_transmission", 3237480400u, 0, 17, NULL); +be_define_const_str(_energy, "_energy", 535372070u, 0, 7, &be_const_str_quality); +be_define_const_str(_error, "_error", 1132109656u, 0, 6, &be_const_str__ptr); +be_define_const_str(_filename, "_filename", 1430813195u, 0, 9, &be_const_str_set_text); +be_define_const_str(_get_cb, "_get_cb", 1448849122u, 0, 7, &be_const_str_find); +be_define_const_str(_global_addr, "_global_addr", 533766721u, 0, 12, &be_const_str_display_X2Eini); +be_define_const_str(_global_def, "_global_def", 646007001u, 0, 11, &be_const_str_get_warning_level); +be_define_const_str(_lvgl, "_lvgl", 2689219483u, 0, 5, &be_const_str_get_height); +be_define_const_str(_p, "_p", 1594591802u, 0, 2, &be_const_str_format); +be_define_const_str(_persist_X2Ejson, "_persist.json", 2008425138u, 0, 13, &be_const_str_value); +be_define_const_str(_ptr, "_ptr", 306235816u, 0, 4, &be_const_str_rtc); +be_define_const_str(_read, "_read", 346717030u, 0, 5, &be_const_str_is_dirty); +be_define_const_str(_request_from, "_request_from", 3965148604u, 0, 13, NULL); be_define_const_str(_rules, "_rules", 4266217105u, 0, 6, NULL); -be_define_const_str(_settings_def, "_settings_def", 3775560307u, 0, 13, &be_const_str_offseta); -be_define_const_str(_settings_ptr, "_settings_ptr", 1825772182u, 0, 13, &be_const_str_event_send); -be_define_const_str(_t, "_t", 1527481326u, 0, 2, &be_const_str_resolvecmnd); -be_define_const_str(_timers, "_timers", 2600100916u, 0, 7, &be_const_str_add); -be_define_const_str(_write, "_write", 2215462825u, 0, 6, &be_const_str_read12); -be_define_const_str(a, "a", 3826002220u, 0, 1, &be_const_str_get_string); -be_define_const_str(abs, "abs", 709362235u, 0, 3, NULL); -be_define_const_str(acos, "acos", 1006755615u, 0, 4, &be_const_str_def); -be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_zero); -be_define_const_str(add_anim, "add_anim", 3980662668u, 0, 8, &be_const_str_content_flush); -be_define_const_str(add_cmd, "add_cmd", 3361630879u, 0, 7, NULL); -be_define_const_str(add_driver, "add_driver", 1654458371u, 0, 10, &be_const_str_atan2); -be_define_const_str(add_header, "add_header", 927130612u, 0, 10, &be_const_str_set_percentage); -be_define_const_str(add_rule, "add_rule", 596540743u, 0, 8, &be_const_str_call_native); -be_define_const_str(addr, "addr", 1087856498u, 0, 4, &be_const_str_create_matrix); -be_define_const_str(allocated, "allocated", 429986098u, 0, 9, &be_const_str_toptr); -be_define_const_str(alternate, "alternate", 1140253277u, 0, 9, NULL); -be_define_const_str(animate, "animate", 3885786800u, 0, 7, &be_const_str_function); -be_define_const_str(animators, "animators", 279858213u, 0, 9, &be_const_str_traceback); -be_define_const_str(arch, "arch", 2952804297u, 0, 4, NULL); -be_define_const_str(area, "area", 2601460036u, 0, 4, &be_const_str_find); -be_define_const_str(arg, "arg", 1047474471u, 0, 3, NULL); -be_define_const_str(arg_X20must_X20be_X20a_X20subclass_X20of_X20lv_obj, "arg must be a subclass of lv_obj", 1641882079u, 0, 32, &be_const_str_as); -be_define_const_str(arg_name, "arg_name", 1345046155u, 0, 8, &be_const_str_widget_height_def); +be_define_const_str(_settings_def, "_settings_def", 3775560307u, 0, 13, &be_const_str_set); +be_define_const_str(_settings_ptr, "_settings_ptr", 1825772182u, 0, 13, &be_const_str_remove_cmd); +be_define_const_str(_t, "_t", 1527481326u, 0, 2, &be_const_str_draw_line_dsc_init); +be_define_const_str(_timers, "_timers", 2600100916u, 0, 7, &be_const_str_eth); +be_define_const_str(_write, "_write", 2215462825u, 0, 6, &be_const_str_v); +be_define_const_str(a, "a", 3826002220u, 0, 1, &be_const_str_add); +be_define_const_str(abs, "abs", 709362235u, 0, 3, &be_const_str_get_aps_voltage); +be_define_const_str(acos, "acos", 1006755615u, 0, 4, &be_const_str_lv); +be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_bytes); +be_define_const_str(add_anim, "add_anim", 3980662668u, 0, 8, NULL); +be_define_const_str(add_cmd, "add_cmd", 3361630879u, 0, 7, &be_const_str_arg_X20must_X20be_X20a_X20subclass_X20of_X20lv_obj); +be_define_const_str(add_driver, "add_driver", 1654458371u, 0, 10, NULL); +be_define_const_str(add_header, "add_header", 927130612u, 0, 10, &be_const_str_couldn_X27t_X20not_X20initialize_X20noepixelbus); +be_define_const_str(add_rule, "add_rule", 596540743u, 0, 8, &be_const_str_resp_cmnd_error); +be_define_const_str(addr, "addr", 1087856498u, 0, 4, &be_const_str_battery_present); +be_define_const_str(allocated, "allocated", 429986098u, 0, 9, &be_const_str_create_custom_widget); +be_define_const_str(alternate, "alternate", 1140253277u, 0, 9, &be_const_str_out_X20of_X20range); +be_define_const_str(animate, "animate", 3885786800u, 0, 7, &be_const_str_set_ldo_voltage); +be_define_const_str(animators, "animators", 279858213u, 0, 9, &be_const_str_read_bytes); +be_define_const_str(arch, "arch", 2952804297u, 0, 4, &be_const_str_arg_size); +be_define_const_str(area, "area", 2601460036u, 0, 4, &be_const_str_draw_arc); +be_define_const_str(arg, "arg", 1047474471u, 0, 3, &be_const_str_page_autoconf_mgr); +be_define_const_str(arg_X20must_X20be_X20a_X20subclass_X20of_X20lv_obj, "arg must be a subclass of lv_obj", 1641882079u, 0, 32, &be_const_str_create_segment); +be_define_const_str(arg_name, "arg_name", 1345046155u, 0, 8, &be_const_str_has); be_define_const_str(arg_size, "arg_size", 3310243257u, 0, 8, NULL); be_define_const_str(as, "as", 1579491469u, 67, 2, NULL); -be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_get_current_module_name); -be_define_const_str(assert, "assert", 2774883451u, 0, 6, &be_const_str_display); -be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, &be_const_str_get_temp); -be_define_const_str(atan, "atan", 108579519u, 0, 4, &be_const_str_publish); -be_define_const_str(atan2, "atan2", 3173440503u, 0, 5, &be_const_str_json_fdump_list); -be_define_const_str(atleast1, "atleast1", 1956331672u, 0, 8, &be_const_str_exp); -be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_cb_do_nothing); -be_define_const_str(autoexec, "autoexec", 3676861891u, 0, 8, &be_const_str_cmd_res); -be_define_const_str(autorun, "autorun", 1447527407u, 0, 7, &be_const_str_log); -be_define_const_str(available, "available", 1727918744u, 0, 9, NULL); -be_define_const_str(b, "b", 3876335077u, 0, 1, &be_const_str_get_bri); -be_define_const_str(back_forth, "back_forth", 2665042062u, 0, 10, &be_const_str_debug); -be_define_const_str(base_class, "base_class", 1107737279u, 0, 10, &be_const_str_is_running); -be_define_const_str(battery_present, "battery_present", 3588397058u, 0, 15, NULL); -be_define_const_str(begin, "begin", 1748273790u, 0, 5, &be_const_str_char); -be_define_const_str(bool, "bool", 3365180733u, 0, 4, &be_const_str_log10); +be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_destructor_cb); +be_define_const_str(assert, "assert", 2774883451u, 0, 6, &be_const_str_member); +be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, &be_const_str_invalidate); +be_define_const_str(atan, "atan", 108579519u, 0, 4, &be_const_str_fromb64); +be_define_const_str(atan2, "atan2", 3173440503u, 0, 5, &be_const_str_millis); +be_define_const_str(atleast1, "atleast1", 1956331672u, 0, 8, &be_const_str_connected); +be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_counters); +be_define_const_str(autoexec, "autoexec", 3676861891u, 0, 8, NULL); +be_define_const_str(autorun, "autorun", 1447527407u, 0, 7, &be_const_str_return); +be_define_const_str(available, "available", 1727918744u, 0, 9, &be_const_str_fromstring); +be_define_const_str(b, "b", 3876335077u, 0, 1, &be_const_str_display); +be_define_const_str(back_forth, "back_forth", 2665042062u, 0, 10, &be_const_str_dac_voltage); +be_define_const_str(base_class, "base_class", 1107737279u, 0, 10, NULL); +be_define_const_str(battery_present, "battery_present", 3588397058u, 0, 15, &be_const_str_run_bat); +be_define_const_str(begin, "begin", 1748273790u, 0, 5, &be_const_str_gamma8); +be_define_const_str(bool, "bool", 3365180733u, 0, 4, &be_const_str_set_power); be_define_const_str(break, "break", 3378807160u, 58, 5, NULL); -be_define_const_str(bri, "bri", 2112284244u, 0, 3, &be_const_str_set_style_pad_right); -be_define_const_str(bus, "bus", 1607822841u, 0, 3, &be_const_str_minute); -be_define_const_str(button_pressed, "button_pressed", 1694209616u, 0, 14, &be_const_str_editable); -be_define_const_str(byte, "byte", 1683620383u, 0, 4, &be_const_str_set_timeouts); -be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, &be_const_str_read); -be_define_const_str(c, "c", 3859557458u, 0, 1, &be_const_str_state); -be_define_const_str(call, "call", 3018949801u, 0, 4, &be_const_str_get_coords); -be_define_const_str(call_native, "call_native", 1389147405u, 0, 11, &be_const_str_read8); -be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, &be_const_str__X7Bs_X7DVBus_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D); -be_define_const_str(can_show, "can_show", 960091187u, 0, 8, &be_const_str_month); -be_define_const_str(cb_dispatch, "cb_dispatch", 1741510499u, 0, 11, &be_const_str_offset); -be_define_const_str(cb_do_nothing, "cb_do_nothing", 1488730702u, 0, 13, &be_const_str_contains); -be_define_const_str(cb_event_closure, "cb_event_closure", 3828267325u, 0, 16, &be_const_str_onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20change_X20the_X20current_X20configuration_X20and_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E); -be_define_const_str(cb_obj, "cb_obj", 1195696482u, 0, 6, NULL); -be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, NULL); -be_define_const_str(char, "char", 2823553821u, 0, 4, &be_const_str_every_50ms); -be_define_const_str(chars_in_string, "chars_in_string", 3148785132u, 0, 15, &be_const_str_draw_line_dsc); -be_define_const_str(check_privileged_access, "check_privileged_access", 3692933968u, 0, 23, &be_const_str_solidified); +be_define_const_str(bri, "bri", 2112284244u, 0, 3, &be_const_str_cos); +be_define_const_str(bus, "bus", 1607822841u, 0, 3, &be_const_str_get_vbus_voltage); +be_define_const_str(button_pressed, "button_pressed", 1694209616u, 0, 14, &be_const_str_insert); +be_define_const_str(byte, "byte", 1683620383u, 0, 4, NULL); +be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, NULL); +be_define_const_str(c, "c", 3859557458u, 0, 1, &be_const_str_decrypt); +be_define_const_str(call, "call", 3018949801u, 0, 4, NULL); +be_define_const_str(call_native, "call_native", 1389147405u, 0, 11, &be_const_str_https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_manifest_X2Ejson); +be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, &be_const_str_event_send); +be_define_const_str(can_show, "can_show", 960091187u, 0, 8, &be_const_str_ctypes_bytes_dyn); +be_define_const_str(cb_dispatch, "cb_dispatch", 1741510499u, 0, 11, &be_const_str_set_bri); +be_define_const_str(cb_do_nothing, "cb_do_nothing", 1488730702u, 0, 13, NULL); +be_define_const_str(cb_event_closure, "cb_event_closure", 3828267325u, 0, 16, NULL); +be_define_const_str(cb_obj, "cb_obj", 1195696482u, 0, 6, &be_const_str_rotate); +be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, &be_const_str_set_width); +be_define_const_str(char, "char", 2823553821u, 0, 4, NULL); +be_define_const_str(chars_in_string, "chars_in_string", 3148785132u, 0, 15, &be_const_str_kv); +be_define_const_str(check_privileged_access, "check_privileged_access", 3692933968u, 0, 23, &be_const_str_group_def); be_define_const_str(class, "class", 2872970239u, 57, 5, NULL); -be_define_const_str(class_init_obj, "class_init_obj", 178410604u, 0, 14, NULL); +be_define_const_str(class_init_obj, "class_init_obj", 178410604u, 0, 14, &be_const_str_set_useragent); be_define_const_str(classname, "classname", 1998589948u, 0, 9, NULL); -be_define_const_str(classof, "classof", 1796577762u, 0, 7, &be_const_str_gamma); +be_define_const_str(classof, "classof", 1796577762u, 0, 7, NULL); be_define_const_str(clear, "clear", 1550717474u, 0, 5, NULL); -be_define_const_str(clear_first_time, "clear_first_time", 632769909u, 0, 16, &be_const_str_get_power); -be_define_const_str(clear_to, "clear_to", 3528002130u, 0, 8, &be_const_str_tanh); -be_define_const_str(close, "close", 667630371u, 0, 5, &be_const_str_write_bit); -be_define_const_str(closure, "closure", 1548407746u, 0, 7, &be_const_str_cmd); -be_define_const_str(cmd, "cmd", 4136785899u, 0, 3, &be_const_str_get_switch); +be_define_const_str(clear_first_time, "clear_first_time", 632769909u, 0, 16, &be_const_str_read); +be_define_const_str(clear_to, "clear_to", 3528002130u, 0, 8, &be_const_str_geti); +be_define_const_str(close, "close", 667630371u, 0, 5, &be_const_str_depower); +be_define_const_str(closure, "closure", 1548407746u, 0, 7, &be_const_str_param); +be_define_const_str(cmd, "cmd", 4136785899u, 0, 3, &be_const_str_input); be_define_const_str(cmd_res, "cmd_res", 921166762u, 0, 7, NULL); -be_define_const_str(code, "code", 4180765940u, 0, 4, &be_const_str_group_def); -be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, &be_const_str_members); -be_define_const_str(collect, "collect", 2399039025u, 0, 7, &be_const_str_file); -be_define_const_str(color, "color", 1031692888u, 0, 5, &be_const_str_get_width); -be_define_const_str(compile, "compile", 1000265118u, 0, 7, &be_const_str_ctypes_bytes); -be_define_const_str(compress, "compress", 2818084237u, 0, 8, &be_const_str_find_op); -be_define_const_str(concat, "concat", 4124019837u, 0, 6, &be_const_str_widget_dtor_impl); -be_define_const_str(connect, "connect", 2866859257u, 0, 7, &be_const_str_stop); -be_define_const_str(connected, "connected", 1424938192u, 0, 9, &be_const_str_obj_event_base); -be_define_const_str(connection_error, "connection_error", 1358926260u, 0, 16, &be_const_str_wifi); -be_define_const_str(constructor_cb, "constructor_cb", 2489105297u, 0, 14, &be_const_str_round_start); +be_define_const_str(code, "code", 4180765940u, 0, 4, &be_const_str_null_cb); +be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, NULL); +be_define_const_str(collect, "collect", 2399039025u, 0, 7, &be_const_str_json_fdump_any); +be_define_const_str(color, "color", 1031692888u, 0, 5, &be_const_str_has_arg); +be_define_const_str(compile, "compile", 1000265118u, 0, 7, NULL); +be_define_const_str(compress, "compress", 2818084237u, 0, 8, NULL); +be_define_const_str(concat, "concat", 4124019837u, 0, 6, NULL); +be_define_const_str(connect, "connect", 2866859257u, 0, 7, NULL); +be_define_const_str(connected, "connected", 1424938192u, 0, 9, &be_const_str_debug); +be_define_const_str(connection_error, "connection_error", 1358926260u, 0, 16, &be_const_str_json_fdump); +be_define_const_str(constructor_cb, "constructor_cb", 2489105297u, 0, 14, &be_const_str_minute); be_define_const_str(contains, "contains", 1825239352u, 0, 8, &be_const_str_deinit); -be_define_const_str(content_button, "content_button", 1956476087u, 0, 14, &be_const_str_write); -be_define_const_str(content_flush, "content_flush", 214922475u, 0, 13, NULL); -be_define_const_str(content_send, "content_send", 1673733649u, 0, 12, NULL); -be_define_const_str(content_send_style, "content_send_style", 1087907647u, 0, 18, &be_const_str_is_dirty); -be_define_const_str(content_start, "content_start", 2937509069u, 0, 13, NULL); -be_define_const_str(content_stop, "content_stop", 658554751u, 0, 12, &be_const_str_line_dsc); +be_define_const_str(content_button, "content_button", 1956476087u, 0, 14, &be_const_str_pixels_buffer); +be_define_const_str(content_flush, "content_flush", 214922475u, 0, 13, &be_const_str_leds); +be_define_const_str(content_send, "content_send", 1673733649u, 0, 12, &be_const_str_load); +be_define_const_str(content_send_style, "content_send_style", 1087907647u, 0, 18, &be_const_str_read8); +be_define_const_str(content_start, "content_start", 2937509069u, 0, 13, &be_const_str_https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_X2F_X25s_X2Eautoconf); +be_define_const_str(content_stop, "content_stop", 658554751u, 0, 12, NULL); be_define_const_str(continue, "continue", 2977070660u, 59, 8, NULL); -be_define_const_str(copy, "copy", 3848464964u, 0, 4, &be_const_str_rad); -be_define_const_str(cos, "cos", 4220379804u, 0, 3, &be_const_str_start); -be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, &be_const_str_h); +be_define_const_str(copy, "copy", 3848464964u, 0, 4, &be_const_str_json_append); +be_define_const_str(cos, "cos", 4220379804u, 0, 3, &be_const_str_count); +be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, &be_const_str_set_percentage); be_define_const_str(couldn_X27t_X20not_X20initialize_X20noepixelbus, "couldn't not initialize noepixelbus", 2536490812u, 0, 35, NULL); -be_define_const_str(count, "count", 967958004u, 0, 5, &be_const_str_web_add_console_button); -be_define_const_str(counters, "counters", 4095866864u, 0, 8, &be_const_str_save); -be_define_const_str(create_custom_widget, "create_custom_widget", 1140594778u, 0, 20, &be_const_str_quality); -be_define_const_str(create_matrix, "create_matrix", 3528185923u, 0, 13, &be_const_str_y1); -be_define_const_str(create_segment, "create_segment", 3863522719u, 0, 14, &be_const_str_open); -be_define_const_str(ctor, "ctor", 375399343u, 0, 4, &be_const_str_push); +be_define_const_str(count, "count", 967958004u, 0, 5, &be_const_str_every_100ms); +be_define_const_str(counters, "counters", 4095866864u, 0, 8, &be_const_str_on); +be_define_const_str(create_custom_widget, "create_custom_widget", 1140594778u, 0, 20, &be_const_str_instance); +be_define_const_str(create_matrix, "create_matrix", 3528185923u, 0, 13, &be_const_str_dirty); +be_define_const_str(create_segment, "create_segment", 3863522719u, 0, 14, &be_const_str_exec_cmd); +be_define_const_str(ctor, "ctor", 375399343u, 0, 4, &be_const_str_tcpclient); be_define_const_str(ctypes_bytes, "ctypes_bytes", 3879019703u, 0, 12, NULL); -be_define_const_str(ctypes_bytes_dyn, "ctypes_bytes_dyn", 915205307u, 0, 16, &be_const_str_reapply); -be_define_const_str(dac_voltage, "dac_voltage", 1552257222u, 0, 11, &be_const_str_time_reached); -be_define_const_str(day, "day", 3830391293u, 0, 3, &be_const_str_every_100ms); -be_define_const_str(debug, "debug", 1483009432u, 0, 5, &be_const_str_exec_rules); -be_define_const_str(decompress, "decompress", 2887031650u, 0, 10, NULL); -be_define_const_str(decrypt, "decrypt", 2886974618u, 0, 7, NULL); +be_define_const_str(ctypes_bytes_dyn, "ctypes_bytes_dyn", 915205307u, 0, 16, &be_const_str_time_dump); +be_define_const_str(dac_voltage, "dac_voltage", 1552257222u, 0, 11, &be_const_str_reverse_gamma10); +be_define_const_str(day, "day", 3830391293u, 0, 3, &be_const_str_duration); +be_define_const_str(debug, "debug", 1483009432u, 0, 5, &be_const_str_str); +be_define_const_str(decompress, "decompress", 2887031650u, 0, 10, &be_const_str_imax); +be_define_const_str(decrypt, "decrypt", 2886974618u, 0, 7, &be_const_str_onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E); be_define_const_str(def, "def", 3310976652u, 55, 3, NULL); -be_define_const_str(deg, "deg", 3327754271u, 0, 3, NULL); -be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, NULL); -be_define_const_str(del, "del", 3478752842u, 0, 3, NULL); -be_define_const_str(delay, "delay", 1322381784u, 0, 5, &be_const_str_run_deferred); -be_define_const_str(delete_all_configs, "delete_all_configs", 2382067578u, 0, 18, &be_const_str_wire1); -be_define_const_str(depower, "depower", 3563819571u, 0, 7, &be_const_str_get_bat_charge_current); -be_define_const_str(deregister_obj, "deregister_obj", 3909966993u, 0, 14, &be_const_str_get_alternate); -be_define_const_str(destructor_cb, "destructor_cb", 1930283190u, 0, 13, &be_const_str_p2); -be_define_const_str(detect, "detect", 8884370u, 0, 6, NULL); -be_define_const_str(detected_X20on_X20bus, "detected on bus", 1432002650u, 0, 15, &be_const_str_run); +be_define_const_str(deg, "deg", 3327754271u, 0, 3, &be_const_str_set_y); +be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, &be_const_str_tan); +be_define_const_str(del, "del", 3478752842u, 0, 3, &be_const_str_range); +be_define_const_str(delay, "delay", 1322381784u, 0, 5, &be_const_str_shared_key); +be_define_const_str(delete_all_configs, "delete_all_configs", 2382067578u, 0, 18, &be_const_str_get_bat_voltage); +be_define_const_str(depower, "depower", 3563819571u, 0, 7, &be_const_str_get_battery_chargin_status); +be_define_const_str(deregister_obj, "deregister_obj", 3909966993u, 0, 14, &be_const_str_strip); +be_define_const_str(destructor_cb, "destructor_cb", 1930283190u, 0, 13, &be_const_str_state); +be_define_const_str(detect, "detect", 8884370u, 0, 6, &be_const_str_hex); +be_define_const_str(detected_X20on_X20bus, "detected on bus", 1432002650u, 0, 15, &be_const_str_nan); be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, NULL); -be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, &be_const_str_gamma8); -be_define_const_str(dirty, "dirty", 2667581083u, 0, 5, &be_const_str_pop_path); -be_define_const_str(display, "display", 1164572437u, 0, 7, &be_const_str_finish); -be_define_const_str(display_X2Eini, "display.ini", 2646174001u, 0, 11, NULL); +be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, &be_const_str_set_style_text_font); +be_define_const_str(dirty, "dirty", 2667581083u, 0, 5, NULL); +be_define_const_str(display, "display", 1164572437u, 0, 7, NULL); +be_define_const_str(display_X2Eini, "display.ini", 2646174001u, 0, 11, &be_const_str_function); be_define_const_str(do, "do", 1646057492u, 65, 2, NULL); -be_define_const_str(draw_arc, "draw_arc", 1828251676u, 0, 8, &be_const_str_hour); -be_define_const_str(draw_line, "draw_line", 1634465686u, 0, 9, NULL); -be_define_const_str(draw_line_dsc, "draw_line_dsc", 4220676203u, 0, 13, &be_const_str_widget_instance_size); +be_define_const_str(draw_arc, "draw_arc", 1828251676u, 0, 8, &be_const_str_io_error); +be_define_const_str(draw_line, "draw_line", 1634465686u, 0, 9, &be_const_str_item); +be_define_const_str(draw_line_dsc, "draw_line_dsc", 4220676203u, 0, 13, &be_const_str_energy_struct); be_define_const_str(draw_line_dsc_init, "draw_line_dsc_init", 3866693646u, 0, 18, NULL); -be_define_const_str(due, "due", 3895530293u, 0, 3, NULL); +be_define_const_str(due, "due", 3895530293u, 0, 3, &be_const_str_pow); be_define_const_str(dump, "dump", 3663001223u, 0, 4, NULL); -be_define_const_str(duration, "duration", 799079693u, 0, 8, &be_const_str_rotate); -be_define_const_str(editable, "editable", 60532369u, 0, 8, &be_const_str_kv); +be_define_const_str(duration, "duration", 799079693u, 0, 8, &be_const_str_time_reached); +be_define_const_str(editable, "editable", 60532369u, 0, 8, &be_const_str_resize); be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL); be_define_const_str(else, "else", 3183434736u, 52, 4, NULL); -be_define_const_str(enabled, "enabled", 49525662u, 0, 7, &be_const_str_write_file); -be_define_const_str(encrypt, "encrypt", 2194327650u, 0, 7, &be_const_str_static); -be_define_const_str(end, "end", 1787721130u, 56, 3, &be_const_str_try); +be_define_const_str(enabled, "enabled", 49525662u, 0, 7, &be_const_str_widget_width_def); +be_define_const_str(encrypt, "encrypt", 2194327650u, 0, 7, &be_const_str_introspect); +be_define_const_str(end, "end", 1787721130u, 56, 3, NULL); be_define_const_str(energy_struct, "energy_struct", 1655792843u, 0, 13, NULL); -be_define_const_str(engine, "engine", 3993360443u, 0, 6, &be_const_str_widget_destructor); -be_define_const_str(erase, "erase", 1010949589u, 0, 5, &be_const_str_tolower); -be_define_const_str(escape, "escape", 2652972038u, 0, 6, &be_const_str_hex); -be_define_const_str(eth, "eth", 2191266556u, 0, 3, NULL); -be_define_const_str(event, "event", 4264611999u, 0, 5, &be_const_str_set_width); -be_define_const_str(event_cb, "event_cb", 3128698017u, 0, 8, &be_const_str_height_def); -be_define_const_str(event_send, "event_send", 598925582u, 0, 10, &be_const_str_gamma10); -be_define_const_str(every_100ms, "every_100ms", 1546407804u, 0, 11, NULL); -be_define_const_str(every_50ms, "every_50ms", 2383884008u, 0, 10, &be_const_str_page_autoconf_mgr); -be_define_const_str(every_second, "every_second", 2075451465u, 0, 12, &be_const_str_list); +be_define_const_str(engine, "engine", 3993360443u, 0, 6, &be_const_str_obj_event_base); +be_define_const_str(erase, "erase", 1010949589u, 0, 5, &be_const_str_lv_obj); +be_define_const_str(escape, "escape", 2652972038u, 0, 6, &be_const_str_path); +be_define_const_str(eth, "eth", 2191266556u, 0, 3, &be_const_str_set_pixel_color); +be_define_const_str(event, "event", 4264611999u, 0, 5, &be_const_str_issubclass); +be_define_const_str(event_cb, "event_cb", 3128698017u, 0, 8, &be_const_str_get_power); +be_define_const_str(event_send, "event_send", 598925582u, 0, 10, &be_const_str_lvgl_event_dispatch); +be_define_const_str(every_100ms, "every_100ms", 1546407804u, 0, 11, &be_const_str_web_send_decimal); +be_define_const_str(every_50ms, "every_50ms", 2383884008u, 0, 10, &be_const_str_length_X20in_X20bits_X20must_X20be_X20between_X200_X20and_X2032); +be_define_const_str(every_second, "every_second", 2075451465u, 0, 12, &be_const_str_serial); be_define_const_str(except, "except", 950914032u, 69, 6, NULL); -be_define_const_str(exec_cmd, "exec_cmd", 493567399u, 0, 8, &be_const_str_light); -be_define_const_str(exec_rules, "exec_rules", 1445221092u, 0, 10, &be_const_str_reverse); -be_define_const_str(exec_tele, "exec_tele", 1020751601u, 0, 9, &be_const_str_has); -be_define_const_str(exists, "exists", 1002329533u, 0, 6, &be_const_str_setbits); -be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_tasmota); -be_define_const_str(f, "f", 3809224601u, 0, 1, &be_const_str_input); +be_define_const_str(exec_cmd, "exec_cmd", 493567399u, 0, 8, &be_const_str__X7Bs_X7DBatt_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D); +be_define_const_str(exec_rules, "exec_rules", 1445221092u, 0, 10, &be_const_str_write8); +be_define_const_str(exec_tele, "exec_tele", 1020751601u, 0, 9, NULL); +be_define_const_str(exists, "exists", 1002329533u, 0, 6, &be_const_str_get_bat_power); +be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_listdir); +be_define_const_str(f, "f", 3809224601u, 0, 1, NULL); be_define_const_str(false, "false", 184981848u, 62, 5, NULL); be_define_const_str(file, "file", 2867484483u, 0, 4, NULL); -be_define_const_str(file_X20extension_X20is_X20not_X20_X27_X2Ebe_X27_X20or_X20_X27_X2Ebec_X27, "file extension is not '.be' or '.bec'", 3095719639u, 0, 37, NULL); -be_define_const_str(files, "files", 1055342736u, 0, 5, &be_const_str_param); +be_define_const_str(file_X20extension_X20is_X20not_X20_X27_X2Ebe_X27_X20or_X20_X27_X2Ebec_X27, "file extension is not '.be' or '.bec'", 3095719639u, 0, 37, &be_const_str_hour); +be_define_const_str(files, "files", 1055342736u, 0, 5, &be_const_str_page_autoconf_ctl); be_define_const_str(find, "find", 3186656602u, 0, 4, NULL); -be_define_const_str(find_key_i, "find_key_i", 850136726u, 0, 10, &be_const_str_pin); +be_define_const_str(find_key_i, "find_key_i", 850136726u, 0, 10, &be_const_str_w); be_define_const_str(find_op, "find_op", 3766713376u, 0, 7, NULL); -be_define_const_str(finish, "finish", 1494643858u, 0, 6, NULL); -be_define_const_str(floor, "floor", 3102149661u, 0, 5, &be_const_str_local); +be_define_const_str(finish, "finish", 1494643858u, 0, 6, &be_const_str_isinstance); +be_define_const_str(floor, "floor", 3102149661u, 0, 5, &be_const_str_get_style_bg_color); be_define_const_str(flush, "flush", 3002334877u, 0, 5, NULL); be_define_const_str(for, "for", 2901640080u, 54, 3, NULL); -be_define_const_str(format, "format", 3114108242u, 0, 6, &be_const_str_memory); -be_define_const_str(from_to, "from_to", 21625507u, 0, 7, &be_const_str_load); +be_define_const_str(format, "format", 3114108242u, 0, 6, &be_const_str_pi); +be_define_const_str(from_to, "from_to", 21625507u, 0, 7, &be_const_str_static); be_define_const_str(fromb64, "fromb64", 2717019639u, 0, 7, NULL); -be_define_const_str(fromptr, "fromptr", 666189689u, 0, 7, NULL); -be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, &be_const_str_get_input_power_status); -be_define_const_str(function, "function", 2664841801u, 0, 8, &be_const_str_tostring); -be_define_const_str(gamma, "gamma", 3492353034u, 0, 5, &be_const_str_widget_struct_default); -be_define_const_str(gamma10, "gamma10", 3472052483u, 0, 7, &be_const_str_get_free_heap); -be_define_const_str(gamma8, "gamma8", 3802843830u, 0, 6, &be_const_str_resp_cmnd); -be_define_const_str(gc, "gc", 1042313471u, 0, 2, NULL); +be_define_const_str(fromptr, "fromptr", 666189689u, 0, 7, &be_const_str_set_style_bg_color); +be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, &be_const_str_publish); +be_define_const_str(function, "function", 2664841801u, 0, 8, NULL); +be_define_const_str(gamma, "gamma", 3492353034u, 0, 5, &be_const_str_isnan); +be_define_const_str(gamma10, "gamma10", 3472052483u, 0, 7, NULL); +be_define_const_str(gamma8, "gamma8", 3802843830u, 0, 6, &be_const_str_memory); +be_define_const_str(gc, "gc", 1042313471u, 0, 2, &be_const_str_tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29); be_define_const_str(gen_cb, "gen_cb", 3245227551u, 0, 6, NULL); -be_define_const_str(get, "get", 1410115415u, 0, 3, &be_const_str__X7Bs_X7DTemp_X20AXP_X7Bm_X7D_X25_X2E1f_X20_XB0C_X7Be_X7D); -be_define_const_str(get_alternate, "get_alternate", 1450148894u, 0, 13, NULL); +be_define_const_str(get, "get", 1410115415u, 0, 3, NULL); +be_define_const_str(get_alternate, "get_alternate", 1450148894u, 0, 13, &be_const_str_scale_uint); be_define_const_str(get_aps_voltage, "get_aps_voltage", 2293036435u, 0, 15, NULL); -be_define_const_str(get_bat_charge_current, "get_bat_charge_current", 1385293050u, 0, 22, &be_const_str_pi); +be_define_const_str(get_bat_charge_current, "get_bat_charge_current", 1385293050u, 0, 22, &be_const_str_read12); be_define_const_str(get_bat_current, "get_bat_current", 1912106073u, 0, 15, NULL); -be_define_const_str(get_bat_power, "get_bat_power", 3067374853u, 0, 13, &be_const_str_ins_time); -be_define_const_str(get_bat_voltage, "get_bat_voltage", 706676538u, 0, 15, NULL); -be_define_const_str(get_battery_chargin_status, "get_battery_chargin_status", 2233241571u, 0, 26, NULL); -be_define_const_str(get_bri, "get_bri", 2041809895u, 0, 7, &be_const_str_page_autoconf_ctl); -be_define_const_str(get_coords, "get_coords", 1044089006u, 0, 10, &be_const_str_upper); -be_define_const_str(get_current_module_name, "get_current_module_name", 2379270740u, 0, 23, NULL); +be_define_const_str(get_bat_power, "get_bat_power", 3067374853u, 0, 13, &be_const_str_json_fdump_list); +be_define_const_str(get_bat_voltage, "get_bat_voltage", 706676538u, 0, 15, &be_const_str_save_before_restart); +be_define_const_str(get_battery_chargin_status, "get_battery_chargin_status", 2233241571u, 0, 26, &be_const_str_split); +be_define_const_str(get_bri, "get_bri", 2041809895u, 0, 7, &be_const_str_math); +be_define_const_str(get_coords, "get_coords", 1044089006u, 0, 10, &be_const_str_get_temp); +be_define_const_str(get_current_module_name, "get_current_module_name", 2379270740u, 0, 23, &be_const_str_get_width); be_define_const_str(get_current_module_path, "get_current_module_path", 3206673408u, 0, 23, NULL); -be_define_const_str(get_free_heap, "get_free_heap", 625069757u, 0, 13, &be_const_str_no_X20GPIO_X20specified_X20for_X20neopixelbus); -be_define_const_str(get_height, "get_height", 3571755523u, 0, 10, &be_const_str_obj_class_create_obj); -be_define_const_str(get_input_power_status, "get_input_power_status", 4102829177u, 0, 22, &be_const_str_get_style_bg_color); -be_define_const_str(get_light, "get_light", 381930476u, 0, 9, &be_const_str_unknown_X20instruction); -be_define_const_str(get_object_from_ptr, "get_object_from_ptr", 2345019201u, 0, 19, NULL); +be_define_const_str(get_free_heap, "get_free_heap", 625069757u, 0, 13, &be_const_str_push); +be_define_const_str(get_height, "get_height", 3571755523u, 0, 10, &be_const_str_ins_goto); +be_define_const_str(get_input_power_status, "get_input_power_status", 4102829177u, 0, 22, NULL); +be_define_const_str(get_light, "get_light", 381930476u, 0, 9, &be_const_str_setitem); +be_define_const_str(get_object_from_ptr, "get_object_from_ptr", 2345019201u, 0, 19, &be_const_str_log); be_define_const_str(get_option, "get_option", 2123730033u, 0, 10, NULL); be_define_const_str(get_percentage, "get_percentage", 2880483992u, 0, 14, NULL); be_define_const_str(get_pixel_color, "get_pixel_color", 337490048u, 0, 15, NULL); -be_define_const_str(get_power, "get_power", 3009799377u, 0, 9, NULL); -be_define_const_str(get_size, "get_size", 2803644713u, 0, 8, &be_const_str_tomap); -be_define_const_str(get_string, "get_string", 4195847969u, 0, 10, &be_const_str_remove_driver); -be_define_const_str(get_style_bg_color, "get_style_bg_color", 964794381u, 0, 18, &be_const_str_number); -be_define_const_str(get_style_line_color, "get_style_line_color", 805371932u, 0, 20, &be_const_str_ins_ramp); +be_define_const_str(get_power, "get_power", 3009799377u, 0, 9, &be_const_str_open); +be_define_const_str(get_size, "get_size", 2803644713u, 0, 8, NULL); +be_define_const_str(get_string, "get_string", 4195847969u, 0, 10, NULL); +be_define_const_str(get_style_bg_color, "get_style_bg_color", 964794381u, 0, 18, &be_const_str_r); +be_define_const_str(get_style_line_color, "get_style_line_color", 805371932u, 0, 20, &be_const_str_time_str); be_define_const_str(get_style_pad_right, "get_style_pad_right", 3150287466u, 0, 19, NULL); -be_define_const_str(get_switch, "get_switch", 164821028u, 0, 10, &be_const_str_set_y); -be_define_const_str(get_tasmota, "get_tasmota", 334356779u, 0, 11, &be_const_str_imax); +be_define_const_str(get_switch, "get_switch", 164821028u, 0, 10, &be_const_str_isrunning); +be_define_const_str(get_tasmota, "get_tasmota", 334356779u, 0, 11, &be_const_str_getbits); be_define_const_str(get_temp, "get_temp", 3370919486u, 0, 8, NULL); -be_define_const_str(get_vbus_current, "get_vbus_current", 1205347942u, 0, 16, &be_const_str_tele); -be_define_const_str(get_vbus_voltage, "get_vbus_voltage", 2398210401u, 0, 16, &be_const_str_toupper); -be_define_const_str(get_warning_level, "get_warning_level", 1737834441u, 0, 17, NULL); -be_define_const_str(get_width, "get_width", 3293417300u, 0, 9, &be_const_str_readbytes); -be_define_const_str(getbits, "getbits", 3094168979u, 0, 7, &be_const_str_has_arg); -be_define_const_str(geti, "geti", 2381006490u, 0, 4, NULL); -be_define_const_str(global, "global", 503252654u, 0, 6, NULL); -be_define_const_str(gpio, "gpio", 2638155258u, 0, 4, &be_const_str_wire_scan); -be_define_const_str(group_def, "group_def", 1524213328u, 0, 9, NULL); -be_define_const_str(h, "h", 3977000791u, 0, 1, &be_const_str_init); -be_define_const_str(has, "has", 3988721635u, 0, 3, &be_const_str_pow); -be_define_const_str(has_arg, "has_arg", 424878688u, 0, 7, &be_const_str__X7D); -be_define_const_str(height_def, "height_def", 2348238838u, 0, 10, &be_const_str_set_height); -be_define_const_str(hex, "hex", 4273249610u, 0, 3, &be_const_str_https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_manifest_X2Ejson); -be_define_const_str(hour, "hour", 3053661199u, 0, 4, &be_const_str_pixel_count); -be_define_const_str(hs2rgb, "hs2rgb", 1040816349u, 0, 6, &be_const_str_path); -be_define_const_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_X2F_X25s_X2Eautoconf, "https://raw.githubusercontent.com/tasmota/autoconf/main/%s/%s.autoconf", 2743526309u, 0, 70, &be_const_str_pc_abs); -be_define_const_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_manifest_X2Ejson, "https://raw.githubusercontent.com/tasmota/autoconf/main/%s_manifest.json", 3657552045u, 0, 72, &be_const_str_int); -be_define_const_str(i2c_enabled, "i2c_enabled", 218388101u, 0, 11, NULL); -be_define_const_str(id, "id", 926444256u, 0, 2, &be_const_str_x); +be_define_const_str(get_vbus_current, "get_vbus_current", 1205347942u, 0, 16, &be_const_str_while); +be_define_const_str(get_vbus_voltage, "get_vbus_voltage", 2398210401u, 0, 16, &be_const_str_return_X20code_X3D_X25i); +be_define_const_str(get_warning_level, "get_warning_level", 1737834441u, 0, 17, &be_const_str_map); +be_define_const_str(get_width, "get_width", 3293417300u, 0, 9, NULL); +be_define_const_str(getbits, "getbits", 3094168979u, 0, 7, &be_const_str_tag); +be_define_const_str(geti, "geti", 2381006490u, 0, 4, &be_const_str_k); +be_define_const_str(global, "global", 503252654u, 0, 6, &be_const_str_widget_constructor); +be_define_const_str(gpio, "gpio", 2638155258u, 0, 4, &be_const_str_line_dsc); +be_define_const_str(group_def, "group_def", 1524213328u, 0, 9, &be_const_str_web_send); +be_define_const_str(h, "h", 3977000791u, 0, 1, &be_const_str_value_error); +be_define_const_str(has, "has", 3988721635u, 0, 3, NULL); +be_define_const_str(has_arg, "has_arg", 424878688u, 0, 7, &be_const_str_rad); +be_define_const_str(height_def, "height_def", 2348238838u, 0, 10, &be_const_str_wire2); +be_define_const_str(hex, "hex", 4273249610u, 0, 3, &be_const_str_register_obj); +be_define_const_str(hour, "hour", 3053661199u, 0, 4, &be_const_str_widget_ctor_impl); +be_define_const_str(hs2rgb, "hs2rgb", 1040816349u, 0, 6, NULL); +be_define_const_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_X2F_X25s_X2Eautoconf, "https://raw.githubusercontent.com/tasmota/autoconf/main/%s/%s.autoconf", 2743526309u, 0, 70, NULL); +be_define_const_str(https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_manifest_X2Ejson, "https://raw.githubusercontent.com/tasmota/autoconf/main/%s_manifest.json", 3657552045u, 0, 72, NULL); +be_define_const_str(i2c_enabled, "i2c_enabled", 218388101u, 0, 11, &be_const_str_keys); +be_define_const_str(id, "id", 926444256u, 0, 2, &be_const_str_print); be_define_const_str(if, "if", 959999494u, 50, 2, NULL); -be_define_const_str(imax, "imax", 3084515410u, 0, 4, &be_const_str_resize); -be_define_const_str(imin, "imin", 2714127864u, 0, 4, NULL); +be_define_const_str(imax, "imax", 3084515410u, 0, 4, NULL); +be_define_const_str(imin, "imin", 2714127864u, 0, 4, &be_const_str_members); be_define_const_str(import, "import", 288002260u, 66, 6, NULL); -be_define_const_str(init, "init", 380752755u, 0, 4, &be_const_str_pc_rel); -be_define_const_str(init_draw_line_dsc, "init_draw_line_dsc", 2507936040u, 0, 18, NULL); -be_define_const_str(input, "input", 4191711099u, 0, 5, &be_const_str_reset); +be_define_const_str(init, "init", 380752755u, 0, 4, NULL); +be_define_const_str(init_draw_line_dsc, "init_draw_line_dsc", 2507936040u, 0, 18, &be_const_str_pop); +be_define_const_str(input, "input", 4191711099u, 0, 5, &be_const_str_json); be_define_const_str(ins_goto, "ins_goto", 1342843963u, 0, 8, NULL); -be_define_const_str(ins_ramp, "ins_ramp", 1068049360u, 0, 8, &be_const_str_stop_iteration); -be_define_const_str(ins_time, "ins_time", 2980245553u, 0, 8, NULL); -be_define_const_str(insert, "insert", 3332609576u, 0, 6, &be_const_str_lvgl_event_dispatch); -be_define_const_str(instance, "instance", 193386898u, 0, 8, &be_const_str_set_matrix_pixel_color); +be_define_const_str(ins_ramp, "ins_ramp", 1068049360u, 0, 8, &be_const_str_wire_scan); +be_define_const_str(ins_time, "ins_time", 2980245553u, 0, 8, &be_const_str_target_search); +be_define_const_str(insert, "insert", 3332609576u, 0, 6, NULL); +be_define_const_str(instance, "instance", 193386898u, 0, 8, NULL); be_define_const_str(instance_size, "instance_size", 4280269518u, 0, 13, NULL); -be_define_const_str(int, "int", 2515107422u, 0, 3, &be_const_str_set_style_text_font); -be_define_const_str(internal_error, "internal_error", 2519158169u, 0, 14, &be_const_str_width_def); -be_define_const_str(introspect, "introspect", 164638290u, 0, 10, &be_const_str_preinit); -be_define_const_str(invalidate, "invalidate", 2649734928u, 0, 10, NULL); -be_define_const_str(io_error, "io_error", 1970281036u, 0, 8, NULL); -be_define_const_str(ip, "ip", 1261996636u, 0, 2, NULL); -be_define_const_str(is_dirty, "is_dirty", 418034110u, 0, 8, &be_const_str_on); -be_define_const_str(is_first_time, "is_first_time", 275242384u, 0, 13, &be_const_str_persist); -be_define_const_str(is_running, "is_running", 2226847261u, 0, 10, &be_const_str__X7B_X7D); -be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, &be_const_str_last_modified); -be_define_const_str(isnan, "isnan", 2981347434u, 0, 5, &be_const_str_iter); -be_define_const_str(isrunning, "isrunning", 1688182268u, 0, 9, NULL); -be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, &be_const_str_setmember); -be_define_const_str(item, "item", 2671260646u, 0, 4, &be_const_str_json_fdump_any); -be_define_const_str(iter, "iter", 3124256359u, 0, 4, &be_const_str_name); +be_define_const_str(int, "int", 2515107422u, 0, 3, NULL); +be_define_const_str(internal_error, "internal_error", 2519158169u, 0, 14, &be_const_str_offseta); +be_define_const_str(introspect, "introspect", 164638290u, 0, 10, &be_const_str_widget_dtor_impl); +be_define_const_str(invalidate, "invalidate", 2649734928u, 0, 10, &be_const_str_no_X20GPIO_X20specified_X20for_X20neopixelbus); +be_define_const_str(io_error, "io_error", 1970281036u, 0, 8, &be_const_str_readbytes); +be_define_const_str(ip, "ip", 1261996636u, 0, 2, &be_const_str_super); +be_define_const_str(is_dirty, "is_dirty", 418034110u, 0, 8, &be_const_str_rand); +be_define_const_str(is_first_time, "is_first_time", 275242384u, 0, 13, &be_const_str_local); +be_define_const_str(is_running, "is_running", 2226847261u, 0, 10, &be_const_str_reverse); +be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, NULL); +be_define_const_str(isnan, "isnan", 2981347434u, 0, 5, NULL); +be_define_const_str(isrunning, "isrunning", 1688182268u, 0, 9, &be_const_str_refr_size); +be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, NULL); +be_define_const_str(item, "item", 2671260646u, 0, 4, &be_const_str_widget_editable); +be_define_const_str(iter, "iter", 3124256359u, 0, 4, &be_const_str_class); be_define_const_str(json, "json", 916562499u, 0, 4, NULL); -be_define_const_str(json_append, "json_append", 3002019284u, 0, 11, &be_const_str_import); -be_define_const_str(json_fdump, "json_fdump", 1694216580u, 0, 10, NULL); -be_define_const_str(json_fdump_any, "json_fdump_any", 3348629385u, 0, 14, NULL); -be_define_const_str(json_fdump_list, "json_fdump_list", 3903879853u, 0, 15, &be_const_str_millis); -be_define_const_str(json_fdump_map, "json_fdump_map", 4091954653u, 0, 14, &be_const_str_save_before_restart); -be_define_const_str(k, "k", 3993778410u, 0, 1, &be_const_str_keys); -be_define_const_str(keys, "keys", 4182378701u, 0, 4, &be_const_str_min); -be_define_const_str(kv, "kv", 1497177492u, 0, 2, NULL); +be_define_const_str(json_append, "json_append", 3002019284u, 0, 11, NULL); +be_define_const_str(json_fdump, "json_fdump", 1694216580u, 0, 10, &be_const_str_nil); +be_define_const_str(json_fdump_any, "json_fdump_any", 3348629385u, 0, 14, &be_const_str_pixel_size); +be_define_const_str(json_fdump_list, "json_fdump_list", 3903879853u, 0, 15, &be_const_str_json_fdump_map); +be_define_const_str(json_fdump_map, "json_fdump_map", 4091954653u, 0, 14, &be_const_str_select); +be_define_const_str(k, "k", 3993778410u, 0, 1, &be_const_str_set_auth); +be_define_const_str(keys, "keys", 4182378701u, 0, 4, NULL); +be_define_const_str(kv, "kv", 1497177492u, 0, 2, &be_const_str_persist_X2E_p_X20is_X20not_X20a_X20map); be_define_const_str(last_modified, "last_modified", 772177145u, 0, 13, NULL); -be_define_const_str(leds, "leds", 558858555u, 0, 4, &be_const_str_elif); -be_define_const_str(length_X20in_X20bits_X20must_X20be_X20between_X200_X20and_X2032, "length in bits must be between 0 and 32", 2584509128u, 0, 39, &be_const_str_false); +be_define_const_str(leds, "leds", 558858555u, 0, 4, &be_const_str__X7Bs_X7DVBus_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D); +be_define_const_str(length_X20in_X20bits_X20must_X20be_X20between_X200_X20and_X2032, "length in bits must be between 0 and 32", 2584509128u, 0, 39, &be_const_str_lv_event); be_define_const_str(light, "light", 3801947695u, 0, 5, NULL); -be_define_const_str(line_dsc, "line_dsc", 4094490978u, 0, 8, &be_const_str_print); +be_define_const_str(line_dsc, "line_dsc", 4094490978u, 0, 8, &be_const_str_offset); be_define_const_str(list, "list", 217798785u, 0, 4, NULL); be_define_const_str(listdir, "listdir", 2005220720u, 0, 7, NULL); be_define_const_str(load, "load", 3859241449u, 0, 4, NULL); -be_define_const_str(load_templates, "load_templates", 3513870133u, 0, 14, &be_const_str_set_bri); -be_define_const_str(local, "local", 2621662984u, 0, 5, NULL); -be_define_const_str(log, "log", 1062293841u, 0, 3, &be_const_str_the_X20second_X20argument_X20is_X20not_X20a_X20function); -be_define_const_str(log10, "log10", 2346846000u, 0, 5, &be_const_str_web_add_handler); -be_define_const_str(loop, "loop", 3723446379u, 0, 4, &be_const_str_continue); -be_define_const_str(lower, "lower", 3038577850u, 0, 5, &be_const_str_push_path); -be_define_const_str(lv, "lv", 1529997255u, 0, 2, NULL); -be_define_const_str(lv_event, "lv_event", 2434089968u, 0, 8, &be_const_str_set_timer); -be_define_const_str(lv_event_cb, "lv_event_cb", 2480731016u, 0, 11, &be_const_str_try_rule); -be_define_const_str(lv_obj, "lv_obj", 4257833149u, 0, 6, NULL); +be_define_const_str(load_templates, "load_templates", 3513870133u, 0, 14, NULL); +be_define_const_str(local, "local", 2621662984u, 0, 5, &be_const_str_round_start); +be_define_const_str(log, "log", 1062293841u, 0, 3, &be_const_str_read_sensors); +be_define_const_str(log10, "log10", 2346846000u, 0, 5, NULL); +be_define_const_str(loop, "loop", 3723446379u, 0, 4, NULL); +be_define_const_str(lower, "lower", 3038577850u, 0, 5, &be_const_str_end); +be_define_const_str(lv, "lv", 1529997255u, 0, 2, &be_const_str_x); +be_define_const_str(lv_event, "lv_event", 2434089968u, 0, 8, &be_const_str_remove_rule); +be_define_const_str(lv_event_cb, "lv_event_cb", 2480731016u, 0, 11, &be_const_str_run_deferred); +be_define_const_str(lv_obj, "lv_obj", 4257833149u, 0, 6, &be_const_str_traceback); be_define_const_str(lv_obj_class, "lv_obj_class", 4039656294u, 0, 12, NULL); -be_define_const_str(lvgl_event_dispatch, "lvgl_event_dispatch", 2104396622u, 0, 19, &be_const_str_rule); -be_define_const_str(map, "map", 3751997361u, 0, 3, NULL); -be_define_const_str(math, "math", 4001929615u, 0, 4, &be_const_str_widget_event_cb); -be_define_const_str(matrix, "matrix", 365099244u, 0, 6, &be_const_str_pixels_buffer); -be_define_const_str(member, "member", 719708611u, 0, 6, &be_const_str_web_add_management_button); -be_define_const_str(members, "members", 937576464u, 0, 7, &be_const_str_remove_rule); -be_define_const_str(memory, "memory", 2229924270u, 0, 6, NULL); -be_define_const_str(millis, "millis", 1214679063u, 0, 6, &be_const_str_module); -be_define_const_str(min, "min", 3381609815u, 0, 3, NULL); +be_define_const_str(lvgl_event_dispatch, "lvgl_event_dispatch", 2104396622u, 0, 19, &be_const_str_set_matrix_pixel_color); +be_define_const_str(map, "map", 3751997361u, 0, 3, &be_const_str_redirect); +be_define_const_str(math, "math", 4001929615u, 0, 4, NULL); +be_define_const_str(matrix, "matrix", 365099244u, 0, 6, NULL); +be_define_const_str(member, "member", 719708611u, 0, 6, NULL); +be_define_const_str(members, "members", 937576464u, 0, 7, &be_const_str_target); +be_define_const_str(memory, "memory", 2229924270u, 0, 6, &be_const_str_resp_cmnd_str); +be_define_const_str(millis, "millis", 1214679063u, 0, 6, NULL); +be_define_const_str(min, "min", 3381609815u, 0, 3, &be_const_str_widget_cb); be_define_const_str(minute, "minute", 954666857u, 0, 6, NULL); -be_define_const_str(module, "module", 3617558685u, 0, 6, &be_const_str_setrange); -be_define_const_str(month, "month", 3598321157u, 0, 5, &be_const_str_web_send); +be_define_const_str(module, "module", 3617558685u, 0, 6, &be_const_str_percentage); +be_define_const_str(month, "month", 3598321157u, 0, 5, NULL); be_define_const_str(name, "name", 2369371622u, 0, 4, NULL); -be_define_const_str(nan, "nan", 797905850u, 0, 3, &be_const_str_size); +be_define_const_str(nan, "nan", 797905850u, 0, 3, NULL); be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL); -be_define_const_str(no_X20GPIO_X20specified_X20for_X20neopixelbus, "no GPIO specified for neopixelbus", 42078528u, 0, 33, NULL); -be_define_const_str(null_cb, "null_cb", 2333536460u, 0, 7, NULL); -be_define_const_str(number, "number", 467038368u, 0, 6, &be_const_str_range); -be_define_const_str(obj_class_create_obj, "obj_class_create_obj", 3304390632u, 0, 20, NULL); +be_define_const_str(no_X20GPIO_X20specified_X20for_X20neopixelbus, "no GPIO specified for neopixelbus", 42078528u, 0, 33, &be_const_str_number); +be_define_const_str(null_cb, "null_cb", 2333536460u, 0, 7, &be_const_str_public_key); +be_define_const_str(number, "number", 467038368u, 0, 6, NULL); +be_define_const_str(obj_class_create_obj, "obj_class_create_obj", 3304390632u, 0, 20, &be_const_str_write_bytes); be_define_const_str(obj_event_base, "obj_event_base", 1624064363u, 0, 14, NULL); -be_define_const_str(offset, "offset", 348705738u, 0, 6, &be_const_str_web_add_button); +be_define_const_str(offset, "offset", 348705738u, 0, 6, &be_const_str_sec); be_define_const_str(offseta, "offseta", 1663383089u, 0, 7, NULL); -be_define_const_str(on, "on", 1630810064u, 0, 2, &be_const_str_webclient); -be_define_const_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E, "onsubmit='return confirm(\"This will cause a restart.\");'>", 232646018u, 0, 57, &be_const_str_wire2); -be_define_const_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20change_X20the_X20current_X20configuration_X20and_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E, "onsubmit='return confirm(\"This will change the current configuration and cause a restart.\");'>", 3792412559u, 0, 94, &be_const_str_srand); -be_define_const_str(open, "open", 3546203337u, 0, 4, &be_const_str_search); +be_define_const_str(on, "on", 1630810064u, 0, 2, NULL); +be_define_const_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E, "onsubmit='return confirm(\"This will cause a restart.\");'>", 232646018u, 0, 57, NULL); +be_define_const_str(onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20change_X20the_X20current_X20configuration_X20and_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E, "onsubmit='return confirm(\"This will change the current configuration and cause a restart.\");'>", 3792412559u, 0, 94, &be_const_str_sqrt); +be_define_const_str(open, "open", 3546203337u, 0, 4, NULL); be_define_const_str(out_X20of_X20range, "out of range", 2236631477u, 0, 12, NULL); -be_define_const_str(p1, "p1", 2689521274u, 0, 2, NULL); -be_define_const_str(p2, "p2", 2672743655u, 0, 2, &be_const_str_set_alternate); -be_define_const_str(page_autoconf_ctl, "page_autoconf_ctl", 2453381496u, 0, 17, NULL); -be_define_const_str(page_autoconf_mgr, "page_autoconf_mgr", 3643937031u, 0, 17, &be_const_str_write8); -be_define_const_str(param, "param", 1309554226u, 0, 5, &be_const_str_resp_cmnd_error); -be_define_const_str(path, "path", 2223459638u, 0, 4, &be_const_str_real); -be_define_const_str(pc, "pc", 1313756516u, 0, 2, &be_const_str_nil); -be_define_const_str(pc_abs, "pc_abs", 920256495u, 0, 6, &be_const_str_set); -be_define_const_str(pc_rel, "pc_rel", 991921176u, 0, 6, &be_const_str_web_add_config_button); -be_define_const_str(percentage, "percentage", 2538831285u, 0, 10, &be_const_str_tcpclient); +be_define_const_str(p1, "p1", 2689521274u, 0, 2, &be_const_str_widget_event_cb); +be_define_const_str(p2, "p2", 2672743655u, 0, 2, NULL); +be_define_const_str(page_autoconf_ctl, "page_autoconf_ctl", 2453381496u, 0, 17, &be_const_str_pc_rel); +be_define_const_str(page_autoconf_mgr, "page_autoconf_mgr", 3643937031u, 0, 17, &be_const_str_reduce); +be_define_const_str(param, "param", 1309554226u, 0, 5, &be_const_str_set_dcdc_enable); +be_define_const_str(path, "path", 2223459638u, 0, 4, &be_const_str_pop_path); +be_define_const_str(pc, "pc", 1313756516u, 0, 2, &be_const_str_zip); +be_define_const_str(pc_abs, "pc_abs", 920256495u, 0, 6, NULL); +be_define_const_str(pc_rel, "pc_rel", 991921176u, 0, 6, NULL); +be_define_const_str(percentage, "percentage", 2538831285u, 0, 10, &be_const_str_web_add_config_button); be_define_const_str(persist, "persist", 3917083779u, 0, 7, NULL); -be_define_const_str(persist_X2E_p_X20is_X20not_X20a_X20map, "persist._p is not a map", 1176528732u, 0, 23, NULL); -be_define_const_str(pi, "pi", 1213090802u, 0, 2, NULL); -be_define_const_str(pin, "pin", 1866532500u, 0, 3, NULL); -be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, &be_const_str_set_ldo_voltage); -be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, &be_const_str_set_auth); +be_define_const_str(persist_X2E_p_X20is_X20not_X20a_X20map, "persist._p is not a map", 1176528732u, 0, 23, &be_const_str_publish_result); +be_define_const_str(pi, "pi", 1213090802u, 0, 2, &be_const_str_set_alternate); +be_define_const_str(pin, "pin", 1866532500u, 0, 3, &be_const_str_running); +be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, &be_const_str_set_first_time); +be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, &be_const_str_reapply); be_define_const_str(pixel_count, "pixel_count", 2439130743u, 0, 11, NULL); be_define_const_str(pixel_size, "pixel_size", 2209135785u, 0, 10, NULL); be_define_const_str(pixels_buffer, "pixels_buffer", 1229555807u, 0, 13, NULL); -be_define_const_str(point, "point", 414084241u, 0, 5, NULL); -be_define_const_str(pop, "pop", 1362321360u, 0, 3, &be_const_str_resp_cmnd_failed); +be_define_const_str(point, "point", 414084241u, 0, 5, &be_const_str_setmember); +be_define_const_str(pop, "pop", 1362321360u, 0, 3, NULL); be_define_const_str(pop_path, "pop_path", 2403243998u, 0, 8, NULL); -be_define_const_str(pow, "pow", 1479764693u, 0, 3, &be_const_str_seg7_font); -be_define_const_str(preinit, "preinit", 2722007100u, 0, 7, &be_const_str_widget_ctor_cb); -be_define_const_str(print, "print", 372738696u, 0, 5, NULL); -be_define_const_str(public_key, "public_key", 4169142980u, 0, 10, &be_const_str_read32); -be_define_const_str(publish, "publish", 264247304u, 0, 7, NULL); -be_define_const_str(publish_result, "publish_result", 2013351252u, 0, 14, &be_const_str_skip); -be_define_const_str(push, "push", 2272264157u, 0, 4, &be_const_str_width); +be_define_const_str(pow, "pow", 1479764693u, 0, 3, NULL); +be_define_const_str(preinit, "preinit", 2722007100u, 0, 7, NULL); +be_define_const_str(print, "print", 372738696u, 0, 5, &be_const_str_else); +be_define_const_str(public_key, "public_key", 4169142980u, 0, 10, &be_const_str_continue); +be_define_const_str(publish, "publish", 264247304u, 0, 7, &be_const_str_web_add_main_button); +be_define_const_str(publish_result, "publish_result", 2013351252u, 0, 14, &be_const_str_set_x); +be_define_const_str(push, "push", 2272264157u, 0, 4, &be_const_str_stop); be_define_const_str(push_path, "push_path", 1155254157u, 0, 9, NULL); -be_define_const_str(quality, "quality", 2597670950u, 0, 7, &be_const_str_else); -be_define_const_str(r, "r", 4144776981u, 0, 1, &be_const_str_set_light); -be_define_const_str(rad, "rad", 1358899048u, 0, 3, &be_const_str_set_ldo_enable); +be_define_const_str(quality, "quality", 2597670950u, 0, 7, NULL); +be_define_const_str(r, "r", 4144776981u, 0, 1, &be_const_str_tele); +be_define_const_str(rad, "rad", 1358899048u, 0, 3, NULL); be_define_const_str(raise, "raise", 1593437475u, 70, 5, NULL); be_define_const_str(rand, "rand", 2711325910u, 0, 4, NULL); -be_define_const_str(range, "range", 4208725202u, 0, 5, &be_const_str_reverse_gamma10); +be_define_const_str(range, "range", 4208725202u, 0, 5, &be_const_str_web_add_handler); be_define_const_str(read, "read", 3470762949u, 0, 4, NULL); be_define_const_str(read12, "read12", 4291076970u, 0, 6, NULL); -be_define_const_str(read13, "read13", 12887293u, 0, 6, NULL); +be_define_const_str(read13, "read13", 12887293u, 0, 6, &be_const_str_set_timer); be_define_const_str(read24, "read24", 1808533811u, 0, 6, NULL); -be_define_const_str(read32, "read32", 1741276240u, 0, 6, NULL); -be_define_const_str(read8, "read8", 2802788167u, 0, 5, NULL); -be_define_const_str(read_bytes, "read_bytes", 3576733173u, 0, 10, NULL); -be_define_const_str(read_sensors, "read_sensors", 892689201u, 0, 12, &be_const_str_round_end); -be_define_const_str(readbytes, "readbytes", 2716426756u, 0, 9, NULL); -be_define_const_str(readline, "readline", 1212709927u, 0, 8, NULL); -be_define_const_str(real, "real", 3604983901u, 0, 4, NULL); +be_define_const_str(read32, "read32", 1741276240u, 0, 6, &be_const_str_break); +be_define_const_str(read8, "read8", 2802788167u, 0, 5, &be_const_str_readline); +be_define_const_str(read_bytes, "read_bytes", 3576733173u, 0, 10, &be_const_str_type); +be_define_const_str(read_sensors, "read_sensors", 892689201u, 0, 12, NULL); +be_define_const_str(readbytes, "readbytes", 2716426756u, 0, 9, &be_const_str_show); +be_define_const_str(readline, "readline", 1212709927u, 0, 8, &be_const_str_solidified); +be_define_const_str(real, "real", 3604983901u, 0, 4, &be_const_str__X7B_X7D); be_define_const_str(reapply, "reapply", 3778939332u, 0, 7, NULL); -be_define_const_str(redirect, "redirect", 389758641u, 0, 8, &be_const_str_rtc); -be_define_const_str(reduce, "reduce", 2002030311u, 0, 6, &be_const_str_sec); -be_define_const_str(refr_size, "refr_size", 1958144468u, 0, 9, &be_const_str_target_search); -be_define_const_str(register_obj, "register_obj", 3982614770u, 0, 12, &be_const_str_sys); +be_define_const_str(redirect, "redirect", 389758641u, 0, 8, NULL); +be_define_const_str(reduce, "reduce", 2002030311u, 0, 6, NULL); +be_define_const_str(refr_size, "refr_size", 1958144468u, 0, 9, NULL); +be_define_const_str(register_obj, "register_obj", 3982614770u, 0, 12, NULL); be_define_const_str(remove, "remove", 3683784189u, 0, 6, NULL); be_define_const_str(remove_cmd, "remove_cmd", 3832315702u, 0, 10, NULL); -be_define_const_str(remove_driver, "remove_driver", 1030243768u, 0, 13, &be_const_str_tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29); -be_define_const_str(remove_rule, "remove_rule", 3456211328u, 0, 11, &be_const_str_except); +be_define_const_str(remove_driver, "remove_driver", 1030243768u, 0, 13, &be_const_str_string); +be_define_const_str(remove_rule, "remove_rule", 3456211328u, 0, 11, NULL); be_define_const_str(remove_timer, "remove_timer", 4141472215u, 0, 12, NULL); be_define_const_str(reset, "reset", 1695364032u, 0, 5, NULL); -be_define_const_str(reset_search, "reset_search", 1350414305u, 0, 12, NULL); +be_define_const_str(reset_search, "reset_search", 1350414305u, 0, 12, &be_const_str_widget_destructor); be_define_const_str(resize, "resize", 3514612129u, 0, 6, NULL); be_define_const_str(resolvecmnd, "resolvecmnd", 993361485u, 0, 11, NULL); -be_define_const_str(resp_cmnd, "resp_cmnd", 2869459626u, 0, 9, &be_const_str_widget_editable); -be_define_const_str(resp_cmnd_done, "resp_cmnd_done", 2601874875u, 0, 14, NULL); +be_define_const_str(resp_cmnd, "resp_cmnd", 2869459626u, 0, 9, &be_const_str_web_add_management_button); +be_define_const_str(resp_cmnd_done, "resp_cmnd_done", 2601874875u, 0, 14, &be_const_str_raise); be_define_const_str(resp_cmnd_error, "resp_cmnd_error", 2404088863u, 0, 15, NULL); -be_define_const_str(resp_cmnd_failed, "resp_cmnd_failed", 2136281562u, 0, 16, &be_const_str_set_chg_current); +be_define_const_str(resp_cmnd_failed, "resp_cmnd_failed", 2136281562u, 0, 16, NULL); be_define_const_str(resp_cmnd_str, "resp_cmnd_str", 737845590u, 0, 13, NULL); -be_define_const_str(response_append, "response_append", 450346371u, 0, 15, &be_const_str_set_first_time); +be_define_const_str(response_append, "response_append", 450346371u, 0, 15, NULL); be_define_const_str(return, "return", 2246981567u, 60, 6, NULL); -be_define_const_str(return_X20code_X3D_X25i, "return code=%i", 2127454401u, 0, 14, NULL); -be_define_const_str(reverse, "reverse", 558918661u, 0, 7, NULL); -be_define_const_str(reverse_gamma10, "reverse_gamma10", 739112262u, 0, 15, NULL); +be_define_const_str(return_X20code_X3D_X25i, "return code=%i", 2127454401u, 0, 14, &be_const_str_set_ldo_enable); +be_define_const_str(reverse, "reverse", 558918661u, 0, 7, &be_const_str_sin); +be_define_const_str(reverse_gamma10, "reverse_gamma10", 739112262u, 0, 15, &be_const_str_to_gamma); be_define_const_str(rotate, "rotate", 2784296202u, 0, 6, NULL); -be_define_const_str(round_end, "round_end", 985288225u, 0, 9, &be_const_str_strftime); -be_define_const_str(round_start, "round_start", 2949484384u, 0, 11, &be_const_str_sqrt); -be_define_const_str(rtc, "rtc", 1070575216u, 0, 3, NULL); -be_define_const_str(rule, "rule", 4230889683u, 0, 4, &be_const_str_settings); -be_define_const_str(run, "run", 718098122u, 0, 3, &be_const_str_set_style_line_color); -be_define_const_str(run_bat, "run_bat", 2536903298u, 0, 7, &be_const_str_valuer_error); +be_define_const_str(round_end, "round_end", 985288225u, 0, 9, NULL); +be_define_const_str(round_start, "round_start", 2949484384u, 0, 11, &be_const_str_wire); +be_define_const_str(rtc, "rtc", 1070575216u, 0, 3, &be_const_str_settings); +be_define_const_str(rule, "rule", 4230889683u, 0, 4, NULL); +be_define_const_str(run, "run", 718098122u, 0, 3, NULL); +be_define_const_str(run_bat, "run_bat", 2536903298u, 0, 7, NULL); be_define_const_str(run_deferred, "run_deferred", 371594696u, 0, 12, NULL); -be_define_const_str(running, "running", 343848780u, 0, 7, &be_const_str_string); -be_define_const_str(save, "save", 3439296072u, 0, 4, NULL); +be_define_const_str(running, "running", 343848780u, 0, 7, NULL); +be_define_const_str(save, "save", 3439296072u, 0, 4, &be_const_str_tanh); be_define_const_str(save_before_restart, "save_before_restart", 1253239338u, 0, 19, NULL); -be_define_const_str(scale_uint, "scale_uint", 3090811094u, 0, 10, &be_const_str_widget_group_def); -be_define_const_str(scan, "scan", 3974641896u, 0, 4, NULL); +be_define_const_str(scale_uint, "scale_uint", 3090811094u, 0, 10, &be_const_str_set_style_pad_right); +be_define_const_str(scan, "scan", 3974641896u, 0, 4, &be_const_str_set_dc_voltage); be_define_const_str(search, "search", 2150836393u, 0, 6, NULL); be_define_const_str(sec, "sec", 3139892658u, 0, 3, NULL); -be_define_const_str(seg7_font, "seg7_font", 4099690689u, 0, 9, &be_const_str_set_useragent); +be_define_const_str(seg7_font, "seg7_font", 4099690689u, 0, 9, NULL); be_define_const_str(select, "select", 297952813u, 0, 6, NULL); -be_define_const_str(serial, "serial", 3687697785u, 0, 6, NULL); +be_define_const_str(serial, "serial", 3687697785u, 0, 6, &be_const_str_url_encode); be_define_const_str(set, "set", 3324446467u, 0, 3, NULL); -be_define_const_str(set_alternate, "set_alternate", 1709680562u, 0, 13, &be_const_str_widget_event); -be_define_const_str(set_auth, "set_auth", 1057170930u, 0, 8, &be_const_str_update); -be_define_const_str(set_bri, "set_bri", 2789118779u, 0, 7, &be_const_str_str); +be_define_const_str(set_alternate, "set_alternate", 1709680562u, 0, 13, &be_const_str_widget_struct_by_class); +be_define_const_str(set_auth, "set_auth", 1057170930u, 0, 8, NULL); +be_define_const_str(set_bri, "set_bri", 2789118779u, 0, 7, &be_const_str_wire1); be_define_const_str(set_chg_current, "set_chg_current", 336304386u, 0, 15, NULL); -be_define_const_str(set_dc_voltage, "set_dc_voltage", 2181981936u, 0, 14, NULL); -be_define_const_str(set_dcdc_enable, "set_dcdc_enable", 1594690786u, 0, 15, &be_const_str_class); -be_define_const_str(set_first_time, "set_first_time", 3111247550u, 0, 14, &be_const_str_tan); -be_define_const_str(set_height, "set_height", 1080207399u, 0, 10, NULL); +be_define_const_str(set_dc_voltage, "set_dc_voltage", 2181981936u, 0, 14, &be_const_str_toupper); +be_define_const_str(set_dcdc_enable, "set_dcdc_enable", 1594690786u, 0, 15, &be_const_str_tomap); +be_define_const_str(set_first_time, "set_first_time", 3111247550u, 0, 14, NULL); +be_define_const_str(set_height, "set_height", 1080207399u, 0, 10, &be_const_str_width_def); be_define_const_str(set_ldo_enable, "set_ldo_enable", 2916502041u, 0, 14, NULL); -be_define_const_str(set_ldo_voltage, "set_ldo_voltage", 4090501160u, 0, 15, NULL); -be_define_const_str(set_light, "set_light", 3176076152u, 0, 9, NULL); +be_define_const_str(set_ldo_voltage, "set_ldo_voltage", 4090501160u, 0, 15, &be_const_str_tob64); +be_define_const_str(set_light, "set_light", 3176076152u, 0, 9, &be_const_str_setrange); be_define_const_str(set_matrix_pixel_color, "set_matrix_pixel_color", 1197149462u, 0, 22, NULL); -be_define_const_str(set_percentage, "set_percentage", 2952022724u, 0, 14, &be_const_str__X7Bs_X7DBatt_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D); +be_define_const_str(set_percentage, "set_percentage", 2952022724u, 0, 14, NULL); be_define_const_str(set_pixel_color, "set_pixel_color", 1275248356u, 0, 15, NULL); -be_define_const_str(set_power, "set_power", 549820893u, 0, 9, &be_const_str_v); +be_define_const_str(set_power, "set_power", 549820893u, 0, 9, &be_const_str_widget_height_def); be_define_const_str(set_style_bg_color, "set_style_bg_color", 1689513089u, 0, 18, NULL); be_define_const_str(set_style_line_color, "set_style_line_color", 3665238976u, 0, 20, NULL); be_define_const_str(set_style_pad_right, "set_style_pad_right", 3314069054u, 0, 19, NULL); -be_define_const_str(set_style_text_font, "set_style_text_font", 1028590019u, 0, 19, &be_const_str_widget_ctor_impl); +be_define_const_str(set_style_text_font, "set_style_text_font", 1028590019u, 0, 19, NULL); be_define_const_str(set_text, "set_text", 1849641155u, 0, 8, NULL); -be_define_const_str(set_time, "set_time", 900236405u, 0, 8, &be_const_str_if); -be_define_const_str(set_timeouts, "set_timeouts", 3732850900u, 0, 12, NULL); -be_define_const_str(set_timer, "set_timer", 2135414533u, 0, 9, &be_const_str_for); +be_define_const_str(set_time, "set_time", 900236405u, 0, 8, NULL); +be_define_const_str(set_timeouts, "set_timeouts", 3732850900u, 0, 12, &be_const_str_import); +be_define_const_str(set_timer, "set_timer", 2135414533u, 0, 9, NULL); be_define_const_str(set_useragent, "set_useragent", 612237244u, 0, 13, NULL); -be_define_const_str(set_width, "set_width", 484671920u, 0, 9, NULL); -be_define_const_str(set_x, "set_x", 1849400772u, 0, 5, &be_const_str_var); -be_define_const_str(set_y, "set_y", 1866178391u, 0, 5, &be_const_str_raise); -be_define_const_str(setbits, "setbits", 2762408167u, 0, 7, &be_const_str_super); +be_define_const_str(set_width, "set_width", 484671920u, 0, 9, &be_const_str__X7D); +be_define_const_str(set_x, "set_x", 1849400772u, 0, 5, &be_const_str_def); +be_define_const_str(set_y, "set_y", 1866178391u, 0, 5, NULL); +be_define_const_str(setbits, "setbits", 2762408167u, 0, 7, NULL); be_define_const_str(seti, "seti", 1500556254u, 0, 4, NULL); be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, NULL); -be_define_const_str(setmember, "setmember", 1432909441u, 0, 9, NULL); +be_define_const_str(setmember, "setmember", 1432909441u, 0, 9, &be_const_str_strptime); be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL); be_define_const_str(settings, "settings", 1745255176u, 0, 8, NULL); -be_define_const_str(shared_key, "shared_key", 2200833624u, 0, 10, NULL); -be_define_const_str(show, "show", 2840060476u, 0, 4, NULL); -be_define_const_str(sin, "sin", 3761252941u, 0, 3, &be_const_str_widget_constructor); -be_define_const_str(sinh, "sinh", 282220607u, 0, 4, NULL); -be_define_const_str(size, "size", 597743964u, 0, 4, &be_const_str_top); -be_define_const_str(skip, "skip", 1097563074u, 0, 4, &be_const_str_tr); +be_define_const_str(shared_key, "shared_key", 2200833624u, 0, 10, &be_const_str_wifi); +be_define_const_str(show, "show", 2840060476u, 0, 4, &be_const_str_y); +be_define_const_str(sin, "sin", 3761252941u, 0, 3, NULL); +be_define_const_str(sinh, "sinh", 282220607u, 0, 4, &be_const_str_tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29); +be_define_const_str(size, "size", 597743964u, 0, 4, NULL); +be_define_const_str(skip, "skip", 1097563074u, 0, 4, NULL); be_define_const_str(solidified, "solidified", 3257553487u, 0, 10, NULL); -be_define_const_str(split, "split", 2276994531u, 0, 5, &be_const_str__X7Bs_X7DVBus_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D); -be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, &be_const_str_widget_cb); +be_define_const_str(split, "split", 2276994531u, 0, 5, &be_const_str_strftime); +be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, NULL); be_define_const_str(srand, "srand", 465518633u, 0, 5, NULL); be_define_const_str(start, "start", 1697318111u, 0, 5, NULL); be_define_const_str(state, "state", 2016490230u, 0, 5, NULL); @@ -641,42 +641,43 @@ be_define_const_str(str, "str", 3259748752u, 0, 3, NULL); be_define_const_str(strftime, "strftime", 187738851u, 0, 8, NULL); be_define_const_str(string, "string", 398550328u, 0, 6, NULL); be_define_const_str(strip, "strip", 4246411473u, 0, 5, NULL); -be_define_const_str(super, "super", 4152230356u, 0, 5, NULL); +be_define_const_str(strptime, "strptime", 1277910361u, 0, 8, &be_const_str_unknown_X20instruction); +be_define_const_str(super, "super", 4152230356u, 0, 5, &be_const_str_year); be_define_const_str(sys, "sys", 3277365014u, 0, 3, NULL); -be_define_const_str(tag, "tag", 2516003219u, 0, 3, NULL); +be_define_const_str(tag, "tag", 2516003219u, 0, 3, &be_const_str_widget_instance_size); be_define_const_str(tan, "tan", 2633446552u, 0, 3, NULL); -be_define_const_str(tanh, "tanh", 153638352u, 0, 4, &be_const_str__X7B); -be_define_const_str(target, "target", 845187144u, 0, 6, &be_const_str_widget_width_def); -be_define_const_str(target_search, "target_search", 1947846553u, 0, 13, &be_const_str_url_encode); -be_define_const_str(tasmota, "tasmota", 424643812u, 0, 7, &be_const_str_value_error); -be_define_const_str(tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29, "tasmota.get_light() is deprecated, use light.get()", 3525753647u, 0, 50, &be_const_str_while); +be_define_const_str(tanh, "tanh", 153638352u, 0, 4, NULL); +be_define_const_str(target, "target", 845187144u, 0, 6, NULL); +be_define_const_str(target_search, "target_search", 1947846553u, 0, 13, NULL); +be_define_const_str(tasmota, "tasmota", 424643812u, 0, 7, NULL); +be_define_const_str(tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29, "tasmota.get_light() is deprecated, use light.get()", 3525753647u, 0, 50, NULL); be_define_const_str(tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29, "tasmota.set_light() is deprecated, use light.set()", 2124937871u, 0, 50, NULL); be_define_const_str(tcpclient, "tcpclient", 3828797983u, 0, 9, NULL); -be_define_const_str(tele, "tele", 3474458061u, 0, 4, &be_const_str_time_dump); +be_define_const_str(tele, "tele", 3474458061u, 0, 4, NULL); be_define_const_str(the_X20second_X20argument_X20is_X20not_X20a_X20function, "the second argument is not a function", 3954574469u, 0, 37, NULL); be_define_const_str(time_dump, "time_dump", 3330410747u, 0, 9, NULL); -be_define_const_str(time_reached, "time_reached", 2075136773u, 0, 12, &be_const_str__X7Bs_X7DBatt_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D); -be_define_const_str(time_str, "time_str", 2613827612u, 0, 8, NULL); -be_define_const_str(to_gamma, "to_gamma", 1597139862u, 0, 8, &be_const_str_value); +be_define_const_str(time_reached, "time_reached", 2075136773u, 0, 12, NULL); +be_define_const_str(time_str, "time_str", 2613827612u, 0, 8, &be_const_str__X7Bs_X7DTemp_X20AXP_X7Bm_X7D_X25_X2E1f_X20_XB0C_X7Be_X7D); +be_define_const_str(to_gamma, "to_gamma", 1597139862u, 0, 8, NULL); be_define_const_str(tob64, "tob64", 373777640u, 0, 5, NULL); be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, NULL); be_define_const_str(tomap, "tomap", 612167626u, 0, 5, NULL); be_define_const_str(top, "top", 2802900028u, 0, 3, NULL); be_define_const_str(toptr, "toptr", 3379847454u, 0, 5, NULL); be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL); -be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, &be_const_str_webserver); +be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, NULL); be_define_const_str(tr, "tr", 1195724803u, 0, 2, NULL); -be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, NULL); +be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, &be_const_str_as); be_define_const_str(true, "true", 1303515621u, 61, 4, NULL); be_define_const_str(try, "try", 2887626766u, 68, 3, NULL); -be_define_const_str(try_rule, "try_rule", 1986449405u, 0, 8, NULL); +be_define_const_str(try_rule, "try_rule", 1986449405u, 0, 8, &be_const_str_widget_dtor_cb); be_define_const_str(type, "type", 1361572173u, 0, 4, NULL); -be_define_const_str(unknown_X20instruction, "unknown instruction", 1093911841u, 0, 19, NULL); +be_define_const_str(unknown_X20instruction, "unknown instruction", 1093911841u, 0, 19, &be_const_str_widget_event_impl); be_define_const_str(update, "update", 672109684u, 0, 6, NULL); be_define_const_str(upper, "upper", 176974407u, 0, 5, NULL); be_define_const_str(url_encode, "url_encode", 528392145u, 0, 10, NULL); -be_define_const_str(v, "v", 4077666505u, 0, 1, NULL); -be_define_const_str(value, "value", 1113510858u, 0, 5, NULL); +be_define_const_str(v, "v", 4077666505u, 0, 1, &be_const_str_valuer_error); +be_define_const_str(value, "value", 1113510858u, 0, 5, &be_const_str_web_add_button); be_define_const_str(value_error, "value_error", 773297791u, 0, 11, NULL); be_define_const_str(valuer_error, "valuer_error", 2567947105u, 0, 12, NULL); be_define_const_str(var, "var", 2317739966u, 64, 3, NULL); @@ -687,21 +688,21 @@ be_define_const_str(web_add_config_button, "web_add_config_button", 639674325u, be_define_const_str(web_add_console_button, "web_add_console_button", 3481436192u, 0, 22, NULL); be_define_const_str(web_add_handler, "web_add_handler", 3990174962u, 0, 15, NULL); be_define_const_str(web_add_main_button, "web_add_main_button", 3960367664u, 0, 19, NULL); -be_define_const_str(web_add_management_button, "web_add_management_button", 2738877186u, 0, 25, &be_const_str_do); +be_define_const_str(web_add_management_button, "web_add_management_button", 2738877186u, 0, 25, &be_const_str_webclient); be_define_const_str(web_send, "web_send", 2989941448u, 0, 8, NULL); be_define_const_str(web_send_decimal, "web_send_decimal", 1407210204u, 0, 16, NULL); -be_define_const_str(web_sensor, "web_sensor", 2900096972u, 0, 10, &be_const_str_write_gpio); +be_define_const_str(web_sensor, "web_sensor", 2900096972u, 0, 10, &be_const_str_do); be_define_const_str(webclient, "webclient", 4076389146u, 0, 9, NULL); be_define_const_str(webserver, "webserver", 1572454038u, 0, 9, NULL); be_define_const_str(while, "while", 231090382u, 53, 5, NULL); -be_define_const_str(widget_cb, "widget_cb", 2763583055u, 0, 9, NULL); -be_define_const_str(widget_constructor, "widget_constructor", 2543785934u, 0, 18, NULL); -be_define_const_str(widget_ctor_cb, "widget_ctor_cb", 876007560u, 0, 14, NULL); -be_define_const_str(widget_ctor_impl, "widget_ctor_impl", 194252479u, 0, 16, NULL); +be_define_const_str(widget_cb, "widget_cb", 2763583055u, 0, 9, &be_const_str_width); +be_define_const_str(widget_constructor, "widget_constructor", 2543785934u, 0, 18, &be_const_str_yield); +be_define_const_str(widget_ctor_cb, "widget_ctor_cb", 876007560u, 0, 14, &be_const_str_for); +be_define_const_str(widget_ctor_impl, "widget_ctor_impl", 194252479u, 0, 16, &be_const_str_write_file); be_define_const_str(widget_destructor, "widget_destructor", 4207388345u, 0, 17, NULL); be_define_const_str(widget_dtor_cb, "widget_dtor_cb", 3151545845u, 0, 14, NULL); be_define_const_str(widget_dtor_impl, "widget_dtor_impl", 520430610u, 0, 16, NULL); -be_define_const_str(widget_editable, "widget_editable", 3821793286u, 0, 15, NULL); +be_define_const_str(widget_editable, "widget_editable", 3821793286u, 0, 15, &be_const_str_try); be_define_const_str(widget_event, "widget_event", 1951408186u, 0, 12, NULL); be_define_const_str(widget_event_cb, "widget_event_cb", 1508466754u, 0, 15, NULL); be_define_const_str(widget_event_impl, "widget_event_impl", 2178430561u, 0, 17, NULL); @@ -715,15 +716,15 @@ be_define_const_str(width, "width", 2508680735u, 0, 5, NULL); be_define_const_str(width_def, "width_def", 1143717879u, 0, 9, NULL); be_define_const_str(wifi, "wifi", 120087624u, 0, 4, NULL); be_define_const_str(wire, "wire", 4082753944u, 0, 4, NULL); -be_define_const_str(wire1, "wire1", 3212721419u, 0, 5, &be_const_str_true); +be_define_const_str(wire1, "wire1", 3212721419u, 0, 5, NULL); be_define_const_str(wire2, "wire2", 3229499038u, 0, 5, NULL); be_define_const_str(wire_scan, "wire_scan", 2671275880u, 0, 9, NULL); be_define_const_str(write, "write", 3190202204u, 0, 5, NULL); be_define_const_str(write8, "write8", 3133991532u, 0, 6, NULL); be_define_const_str(write_bit, "write_bit", 2660990436u, 0, 9, NULL); -be_define_const_str(write_bytes, "write_bytes", 1227543792u, 0, 11, NULL); +be_define_const_str(write_bytes, "write_bytes", 1227543792u, 0, 11, &be_const_str_except); be_define_const_str(write_file, "write_file", 3177658879u, 0, 10, NULL); -be_define_const_str(write_gpio, "write_gpio", 2267940334u, 0, 10, NULL); +be_define_const_str(write_gpio, "write_gpio", 2267940334u, 0, 10, &be_const_str_if); be_define_const_str(x, "x", 4245442695u, 0, 1, NULL); be_define_const_str(x1, "x1", 274927234u, 0, 2, NULL); be_define_const_str(y, "y", 4228665076u, 0, 1, NULL); @@ -731,7 +732,7 @@ be_define_const_str(y1, "y1", 2355101727u, 0, 2, NULL); be_define_const_str(year, "year", 2927578396u, 0, 4, NULL); be_define_const_str(yield, "yield", 1821831854u, 0, 5, NULL); be_define_const_str(zero, "zero", 2339366755u, 0, 4, NULL); -be_define_const_str(zip, "zip", 2877453236u, 0, 3, NULL); +be_define_const_str(zip, "zip", 2877453236u, 0, 3, &be_const_str__X7Bs_X7DBatt_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D); be_define_const_str(_X7B, "{", 4262220314u, 0, 1, NULL); be_define_const_str(_X7Bs_X7DBatt_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D, "{s}Batt Current{m}%.1f mA{e}", 866537156u, 0, 28, NULL); be_define_const_str(_X7Bs_X7DBatt_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D, "{s}Batt Voltage{m}%.3f V{e}", 3184308199u, 0, 27, NULL); @@ -742,369 +743,370 @@ be_define_const_str(_X7B_X7D, "{}", 1415952421u, 0, 2, NULL); be_define_const_str(_X7D, "}", 4161554600u, 0, 1, NULL); static const bstring* const m_string_table[] = { - (const bstring *)&be_const_str__X3E_X3D, - (const bstring *)&be_const_str_run_bat, - NULL, - NULL, - (const bstring *)&be_const_str_io_error, - (const bstring *)&be_const_str_depower, - (const bstring *)&be_const_str_SERIAL_6O1, - (const bstring *)&be_const_str_STATE_DEFAULT, - (const bstring *)&be_const_str_SERIAL_6N1, - (const bstring *)&be_const_str_Auto_X2Dconfiguration, - (const bstring *)&be_const_str_decrypt, - (const bstring *)&be_const_str_insert, - NULL, (const bstring *)&be_const_str__X3D, - (const bstring *)&be_const_str_write_bytes, + (const bstring *)&be_const_str_point, + (const bstring *)&be_const_str_run, NULL, - (const bstring *)&be_const_str_running, - (const bstring *)&be_const_str_onsubmit_X3D_X27return_X20confirm_X28_X22This_X20will_X20cause_X20a_X20restart_X2E_X22_X29_X3B_X27_X3E, - (const bstring *)&be_const_str_read_bytes, - (const bstring *)&be_const_str_draw_arc, - (const bstring *)&be_const_str__X20, - (const bstring *)&be_const_str_event, - (const bstring *)&be_const_str_SERIAL_5E2, - (const bstring *)&be_const_str_SERIAL_6E1, - (const bstring *)&be_const_str_leds, - (const bstring *)&be_const_str__lvgl, - (const bstring *)&be_const_str_zip, - (const bstring *)&be_const_str_EC_C25519, - (const bstring *)&be_const_str_COLOR_BLACK, - (const bstring *)&be_const_str_readline, - (const bstring *)&be_const_str__X3C_X2Fselect_X3E_X3Cp_X3E_X3C_X2Fp_X3E, - NULL, - (const bstring *)&be_const_str_load_templates, - (const bstring *)&be_const_str_get, - (const bstring *)&be_const_str_POST, - (const bstring *)&be_const_str___iterator__, - (const bstring *)&be_const_str_AudioGeneratorMP3, - (const bstring *)&be_const_str__energy, - (const bstring *)&be_const_str__rules, - (const bstring *)&be_const_str_break, - (const bstring *)&be_const_str__X2F_X2Eautoconf, - (const bstring *)&be_const_str_content_button, - (const bstring *)&be_const_str__cb, - (const bstring *)&be_const_str_get_aps_voltage, - (const bstring *)&be_const_str_AXP192, - (const bstring *)&be_const_str_select, - (const bstring *)&be_const_str_autoexec, - (const bstring *)&be_const_str__X0A, - (const bstring *)&be_const_str_available, - NULL, - (const bstring *)&be_const_str__X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B, - (const bstring *)&be_const_str_gc, - (const bstring *)&be_const_str_CFG_X3A_X20loading_X20_X27_X25s_X27, - (const bstring *)&be_const_str__X21_X3D_X3D, - (const bstring *)&be_const_str_split, - (const bstring *)&be_const_str_lower, - (const bstring *)&be_const_str__X3Clabel_X3EChoose_X20a_X20device_X20configuration_X3A_X3C_X2Flabel_X3E_X3Cbr_X3E, - (const bstring *)&be_const_str__X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, - (const bstring *)&be_const_str_base_class, - (const bstring *)&be_const_str_connected, - (const bstring *)&be_const_str_instance, - NULL, - (const bstring *)&be_const_str__X2Etapp, - (const bstring *)&be_const_str__X3Cp_X3ECurrent_X20configuration_X3A_X20_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E, - (const bstring *)&be_const_str_attrdump, - (const bstring *)&be_const_str_EVENT_DRAW_MAIN, - (const bstring *)&be_const_str__request_from, - (const bstring *)&be_const_str__X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E, - (const bstring *)&be_const_str_acos, - (const bstring *)&be_const_str_get_light, - (const bstring *)&be_const_str_resp_cmnd_str, - NULL, - (const bstring *)&be_const_str_CFG_X3A_X20removing_X20autoconf_X20files, - NULL, - (const bstring *)&be_const_str_w, - (const bstring *)&be_const_str_draw_line, - NULL, - (const bstring *)&be_const_str_strip, - (const bstring *)&be_const_str_format, - (const bstring *)&be_const_str_Leds, - (const bstring *)&be_const_str_exec_tele, - (const bstring *)&be_const_str_chars_in_string, - (const bstring *)&be_const_str_CFG_X3A_X20skipping_X20_X27display_X2Eini_X27_X20because_X20already_X20present_X20in_X20file_X2Dsystem, - NULL, - (const bstring *)&be_const_str_widget_dtor_cb, - (const bstring *)&be_const_str_invalidate, - (const bstring *)&be_const_str__X3A, - NULL, - (const bstring *)&be_const_str_out_X20of_X20range, - NULL, - (const bstring *)&be_const_str_lv_event_cb, - (const bstring *)&be_const_str_LVG_X3A_X20call_X20to_X20unsupported_X20callback, - (const bstring *)&be_const_str_escape, - (const bstring *)&be_const_str_event_cb, - (const bstring *)&be_const_str_init_draw_line_dsc, - NULL, - (const bstring *)&be_const_str_isinstance, - (const bstring *)&be_const_str_exists, - (const bstring *)&be_const_str_HTTP_GET, - (const bstring *)&be_const_str_clear_first_time, - (const bstring *)&be_const_str__X2Eautoconf, - (const bstring *)&be_const_str_clear, - (const bstring *)&be_const_str__X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, - (const bstring *)&be_const_str_SERIAL_7N1, - (const bstring *)&be_const_str_get_percentage, - (const bstring *)&be_const_str_SERIAL_7O1, - (const bstring *)&be_const_str_remove, - (const bstring *)&be_const_str_set_time, - (const bstring *)&be_const_str_get_size, - (const bstring *)&be_const_str_remove_timer, - (const bstring *)&be_const_str__X23autoexec_X2Ebat, - (const bstring *)&be_const_str__X2D_X2D_X3A_X2D_X2D, - (const bstring *)&be_const_str_due, - (const bstring *)&be_const_str__X2C, - (const bstring *)&be_const_str_instance_size, - (const bstring *)&be_const_str_Animate_X20pc_X20is_X20out_X20of_X20range, - (const bstring *)&be_const_str_get_bat_voltage, - (const bstring *)&be_const_str_resp_cmnd_done, - NULL, - (const bstring *)&be_const_str_energy_struct, - NULL, - (const bstring *)&be_const_str__drivers, + (const bstring *)&be_const_str_class_init_obj, + (const bstring *)&be_const_str_try_rule, (const bstring *)&be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dzip_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, - (const bstring *)&be_const_str_tob64, - (const bstring *)&be_const_str__X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, - (const bstring *)&be_const_str_CFG_X3A_X20multiple_X20autoconf_X20files_X20found_X2C_X20aborting_X20_X28_X27_X25s_X27_X20_X2B_X20_X27_X25s_X27_X29, - (const bstring *)&be_const_str__X3C, - (const bstring *)&be_const_str_y, - (const bstring *)&be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3E_X26_X23129668_X3B_X20Auto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E, - (const bstring *)&be_const_str_files, - (const bstring *)&be_const_str__X2Ew, - (const bstring *)&be_const_str_assert, - (const bstring *)&be_const_str_bytes, - (const bstring *)&be_const_str__X23, - (const bstring *)&be_const_str_abs, - (const bstring *)&be_const_str__X2E_X2E, - (const bstring *)&be_const_str__global_addr, - (const bstring *)&be_const_str_connect, - (const bstring *)&be_const_str__settings_ptr, - NULL, - (const bstring *)&be_const_str_CFG_X3A_X20ran_X20_X20, - (const bstring *)&be_const_str_BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20, - NULL, - (const bstring *)&be_const_str__X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d, - (const bstring *)&be_const_str_i2c_enabled, - (const bstring *)&be_const_str_ctypes_bytes_dyn, - (const bstring *)&be_const_str_CFG_X3A_X20loading_X20, - NULL, - NULL, - (const bstring *)&be_const_str_refr_size, - (const bstring *)&be_const_str_content_send_style, - NULL, - NULL, - (const bstring *)&be_const_str__get_cb, - (const bstring *)&be_const_str_c, - (const bstring *)&be_const_str_ins_goto, - (const bstring *)&be_const_str__buffer, - (const bstring *)&be_const_str_concat, - (const bstring *)&be_const_str_percentage, - NULL, - (const bstring *)&be_const_str_SERIAL_5N2, - NULL, - NULL, - (const bstring *)&be_const_str_SK6812_GRBW, - (const bstring *)&be_const_str__X3Cp_X3E_X3Csmall_X3E_X26nbsp_X3B_X28This_X20feature_X20requires_X20an_X20internet_X20connection_X29_X3C_X2Fsmall_X3E_X3C_X2Fp_X3E, - (const bstring *)&be_const_str__X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, - NULL, - NULL, - (const bstring *)&be_const_str_lv_obj, - (const bstring *)&be_const_str___upper__, - (const bstring *)&be_const_str_Restart_X201, - NULL, - (const bstring *)&be_const_str_introspect, - (const bstring *)&be_const_str__X23autoexec_X2Ebe, - (const bstring *)&be_const_str_CFG_X3A_X20exception_X20_X27_X25s_X27_X20_X2D_X20_X27_X25s_X27, - (const bstring *)&be_const_str_bool, - (const bstring *)&be_const_str_PART_MAIN, - (const bstring *)&be_const_str_back_forth, - (const bstring *)&be_const_str_lv_obj_class, - (const bstring *)&be_const_str_TAP_X3A_X20found_X20Tasmota_X20App_X20_X27_X25s_X27, - (const bstring *)&be_const_str_GET, - (const bstring *)&be_const_str_deg, - (const bstring *)&be_const_str__X28_X29, - NULL, - (const bstring *)&be_const_str__X23preinit_X2Ebe, - (const bstring *)&be_const_str__class, - NULL, - (const bstring *)&be_const_str__X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, - (const bstring *)&be_const_str_CFG_X3A_X20downloading_X20_X27_X25s_X27, - (const bstring *)&be_const_str__X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E, - (const bstring *)&be_const_str_fromstring, - (const bstring *)&be_const_str_SERIAL_8E2, - NULL, - (const bstring *)&be_const_str__anonymous_, - (const bstring *)&be_const_str__X2502d_X25s_X2502d, - (const bstring *)&be_const_str_CFG_X3A_X20return_code_X3D_X25i, - (const bstring *)&be_const_str_web_sensor, - (const bstring *)&be_const_str_detect, - (const bstring *)&be_const_str_exec_cmd, - (const bstring *)&be_const_str_to_gamma, - (const bstring *)&be_const_str__ptr, - (const bstring *)&be_const_str_null_cb, - (const bstring *)&be_const_str_eth, - (const bstring *)&be_const_str_https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_X2F_X25s_X2Eautoconf, - (const bstring *)&be_const_str_erase, - (const bstring *)&be_const_str__archive, - (const bstring *)&be_const_str_CFG_X3A_X20removed_X20file_X20_X27_X25s_X27, - (const bstring *)&be_const_str_code, - (const bstring *)&be_const_str_BUTTON_CONFIGURATION, - (const bstring *)&be_const_str_web_send_decimal, - (const bstring *)&be_const_str_fromptr, - (const bstring *)&be_const_str_SERIAL_8E1, - NULL, - (const bstring *)&be_const_str_set_style_bg_color, - (const bstring *)&be_const_str_end, - (const bstring *)&be_const_str__read, - (const bstring *)&be_const_str_cos, - (const bstring *)&be_const_str_codedump, - (const bstring *)&be_const_str__X23init_X2Ebat, - (const bstring *)&be_const_str_get_battery_chargin_status, - (const bstring *)&be_const_str__X2Ebec, - (const bstring *)&be_const_str_set_dcdc_enable, - NULL, - (const bstring *)&be_const_str_ctor, - (const bstring *)&be_const_str_digital_read, - (const bstring *)&be_const_str_close, - (const bstring *)&be_const_str__X2F, - (const bstring *)&be_const_str_cosh, - (const bstring *)&be_const_str_I2C_Driver, - (const bstring *)&be_const_str_read24, - (const bstring *)&be_const_str__write, - (const bstring *)&be_const_str__X23display_X2Eini, - (const bstring *)&be_const_str_get_bat_power, - (const bstring *)&be_const_str_pin_mode, - (const bstring *)&be_const_str__, - (const bstring *)&be_const_str_scale_uint, - (const bstring *)&be_const_str_WS2812_GRB, - (const bstring *)&be_const_str_AudioOutput, - (const bstring *)&be_const_str_animate, - (const bstring *)&be_const_str__X3F, - (const bstring *)&be_const_str_id, - (const bstring *)&be_const_str_arg_name, - (const bstring *)&be_const_str_internal_error, - (const bstring *)&be_const_str_serial, - NULL, - NULL, - (const bstring *)&be_const_str_CFG_X3A_X20could_X20not_X20run_X20_X25s_X20_X28_X25s_X20_X2D_X20_X25s_X29, - (const bstring *)&be_const_str__begin_transmission, - (const bstring *)&be_const_str__X2Ep1, - (const bstring *)&be_const_str_engine, - (const bstring *)&be_const_str__def, - (const bstring *)&be_const_str_get_pixel_color, - (const bstring *)&be_const_str__X3C_X3D, - (const bstring *)&be_const_str_CFG_X3A_X20removing_X20first_X20time_X20marker, - (const bstring *)&be_const_str__X3D_X3D, - (const bstring *)&be_const_str_can_show, - (const bstring *)&be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, - (const bstring *)&be_const_str_response_append, - (const bstring *)&be_const_str_CFG_X3A_X20_X27init_X2Ebat_X27_X20done_X2C_X20restarting, - (const bstring *)&be_const_str_content_send, - (const bstring *)&be_const_str_create_segment, - (const bstring *)&be_const_str_duration, - (const bstring *)&be_const_str_get_height, - (const bstring *)&be_const_str_delete_all_configs, - (const bstring *)&be_const_str_reset_search, - (const bstring *)&be_const_str_BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson, - (const bstring *)&be_const_str_, - (const bstring *)&be_const_str_b, - (const bstring *)&be_const_str_SERIAL_5E1, - (const bstring *)&be_const_str_SERIAL_6E2, - (const bstring *)&be_const_str_read13, - (const bstring *)&be_const_str_BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, - (const bstring *)&be_const_str_publish_result, - (const bstring *)&be_const_str_get_bat_current, - NULL, - (const bstring *)&be_const_str_ceil, - (const bstring *)&be_const_str_autorun, - (const bstring *)&be_const_str_length_X20in_X20bits_X20must_X20be_X20between_X200_X20and_X2032, - (const bstring *)&be_const_str_set_text, - (const bstring *)&be_const_str__X3D_X3C_X3E_X21, - (const bstring *)&be_const_str_r, - (const bstring *)&be_const_str_CFG_X3A_X20loaded_X20_X20, - (const bstring *)&be_const_str__X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E, - (const bstring *)&be_const_str__X2Ep, - (const bstring *)&be_const_str__error, - (const bstring *)&be_const_str_lv, - (const bstring *)&be_const_str_flush, - (const bstring *)&be_const_str_AudioFileSource, - (const bstring *)&be_const_str_web_add_main_button, - (const bstring *)&be_const_str__X2Elen, - (const bstring *)&be_const_str_persist_X2E_p_X20is_X20not_X20a_X20map, - (const bstring *)&be_const_str_compile, - (const bstring *)&be_const_str_CFG_X3A_X20running_X20, - (const bstring *)&be_const_str_compress, - NULL, - (const bstring *)&be_const_str_pin_used, - (const bstring *)&be_const_str__X2Ebe, - (const bstring *)&be_const_str_SERIAL_8O1, - (const bstring *)&be_const_str_CFG_X3A_X20loaded_X20_X27_X25s_X27, - (const bstring *)&be_const_str_EVENT_DRAW_PART_END, - NULL, - NULL, - (const bstring *)&be_const_str_button_pressed, - (const bstring *)&be_const_str_atleast1, - (const bstring *)&be_const_str_add_anim, - (const bstring *)&be_const_str_count, - (const bstring *)&be_const_str__X25s_X2Eautoconf, - (const bstring *)&be_const_str_False, - (const bstring *)&be_const_str_time_str, - (const bstring *)&be_const_str__X26lt_X3BNone_X26gt_X3B, - (const bstring *)&be_const_str_allocated, - NULL, - (const bstring *)&be_const_str_cb_obj, - (const bstring *)&be_const_str__X21_X3D, - (const bstring *)&be_const_str__X3Cselect_X20name_X3D_X27zip_X27_X3E, - (const bstring *)&be_const_str_OneWire, - (const bstring *)&be_const_str_classof, - (const bstring *)&be_const_str_json, - (const bstring *)&be_const_str_True, + (const bstring *)&be_const_str_setbits, + (const bstring *)&be_const_str_AXP192, + (const bstring *)&be_const_str_tolower, (const bstring *)&be_const_str__X2B, - (const bstring *)&be_const_str_decompress, - (const bstring *)&be_const_str_CFG_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, - (const bstring *)&be_const_str_lv_event, - (const bstring *)&be_const_str_counters, - (const bstring *)&be_const_str_pc, - (const bstring *)&be_const_str__X2Esize, + (const bstring *)&be_const_str_I2C_X3A, + (const bstring *)&be_const_str_exec_rules, + (const bstring *)&be_const_str_read13, + (const bstring *)&be_const_str__X2F, + (const bstring *)&be_const_str_pc_abs, + (const bstring *)&be_const_str__error, + (const bstring *)&be_const_str__X23autoexec_X2Ebat, + (const bstring *)&be_const_str__X23, + (const bstring *)&be_const_str__X2Ep, + (const bstring *)&be_const_str__X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, + (const bstring *)&be_const_str_SERIAL_6N1, + (const bstring *)&be_const_str_cb_do_nothing, + (const bstring *)&be_const_str_CFG_X3A_X20loading_X20, + (const bstring *)&be_const_str_HTTP_POST, + (const bstring *)&be_const_str__rules, + NULL, + NULL, + NULL, + (const bstring *)&be_const_str_the_X20second_X20argument_X20is_X20not_X20a_X20function, + (const bstring *)&be_const_str_begin, + (const bstring *)&be_const_str_POST, + (const bstring *)&be_const_str_web_add_console_button, + (const bstring *)&be_const_str__X2F_X2Eautoconf, + NULL, + (const bstring *)&be_const_str__filename, + (const bstring *)&be_const_str_write_bit, + (const bstring *)&be_const_str_SERIAL_5O1, + (const bstring *)&be_const_str_AES_GCM, + (const bstring *)&be_const_str_set_height, + (const bstring *)&be_const_str__end_transmission, + (const bstring *)&be_const_str__X2D_X2D_X3A_X2D_X2D, + (const bstring *)&be_const_str_cb_obj, + (const bstring *)&be_const_str_CFG_X3A_X20removing_X20first_X20time_X20marker, + (const bstring *)&be_const_str__archive, + (const bstring *)&be_const_str_module, + (const bstring *)&be_const_str_SERIAL_7N1, + (const bstring *)&be_const_str_sinh, + (const bstring *)&be_const_str__X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, + (const bstring *)&be_const_str_SERIAL_6O2, + (const bstring *)&be_const_str_detected_X20on_X20bus, + (const bstring *)&be_const_str_response_append, + (const bstring *)&be_const_str_WS2812_GRB, + (const bstring *)&be_const_str__X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29, + (const bstring *)&be_const_str_toptr, + (const bstring *)&be_const_str_get_bri, + NULL, + (const bstring *)&be_const_str_arch, NULL, - (const bstring *)&be_const_str__X5B, (const bstring *)&be_const_str__X3C_X2Fform_X3E_X3C_X2Fp_X3E, (const bstring *)&be_const_str_connection_error, - (const bstring *)&be_const_str_classname, - (const bstring *)&be_const_str_AudioGeneratorWAV, + (const bstring *)&be_const_str_, + (const bstring *)&be_const_str_calldepth, + (const bstring *)&be_const_str___iterator__, + (const bstring *)&be_const_str__X2Esize, + (const bstring *)&be_const_str_widget_group_def, + (const bstring *)&be_const_str_resp_cmnd, + (const bstring *)&be_const_str__X2Ep2, + (const bstring *)&be_const_str_get_switch, + (const bstring *)&be_const_str_clear_first_time, + NULL, + (const bstring *)&be_const_str_EC_C25519, + (const bstring *)&be_const_str_save, + NULL, + NULL, + (const bstring *)&be_const_str_SERIAL_8N1, + (const bstring *)&be_const_str_ip, + (const bstring *)&be_const_str_alternate, + (const bstring *)&be_const_str_compile, + (const bstring *)&be_const_str_file_X20extension_X20is_X20not_X20_X27_X2Ebe_X27_X20or_X20_X27_X2Ebec_X27, + (const bstring *)&be_const_str_animate, + (const bstring *)&be_const_str__X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d, + NULL, + (const bstring *)&be_const_str_SERIAL_8O2, + (const bstring *)&be_const_str__X25s_X2Eautoconf, + NULL, + (const bstring *)&be_const_str__dirty, + (const bstring *)&be_const_str_y1, + (const bstring *)&be_const_str_remove_driver, + (const bstring *)&be_const_str_get_string, + (const bstring *)&be_const_str_CFG_X3A_X20removing_X20autoconf_X20files, + (const bstring *)&be_const_str_autoexec, + (const bstring *)&be_const_str_get_style_line_color, + (const bstring *)&be_const_str_bool, + (const bstring *)&be_const_str_write_gpio, + (const bstring *)&be_const_str__X3D_X3D, + (const bstring *)&be_const_str_id, + (const bstring *)&be_const_str_SERIAL_5N2, + NULL, + (const bstring *)&be_const_str_persist, + (const bstring *)&be_const_str_set_timeouts, + NULL, (const bstring *)&be_const_str_AudioGenerator, - (const bstring *)&be_const_str_Parameter_X20error, - (const bstring *)&be_const_str_get_tasmota, - (const bstring *)&be_const_str_loop, - (const bstring *)&be_const_str__timers, - (const bstring *)&be_const_str_constructor_cb, - (const bstring *)&be_const_str_addr, - (const bstring *)&be_const_str__X2E, - (const bstring *)&be_const_str_RES_OK, - NULL, - (const bstring *)&be_const_str_OPTION_A, - NULL, - (const bstring *)&be_const_str_collect, - (const bstring *)&be_const_str_SERIAL_6O2, - (const bstring *)&be_const_str_AudioFileSourceFS, - (const bstring *)&be_const_str_show, - (const bstring *)&be_const_str__cmd, - (const bstring *)&be_const_str_SERIAL_7N2, - (const bstring *)&be_const_str_dirty, - (const bstring *)&be_const_str_SERIAL_7E2, - (const bstring *)&be_const_str__X3E, - (const bstring *)&be_const_str__X2F_X3Frst_X3D, - (const bstring *)&be_const_str__X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, + (const bstring *)&be_const_str_byte, (const bstring *)&be_const_str_EVENT_DRAW_PART_BEGIN, + (const bstring *)&be_const_str_collect, + (const bstring *)&be_const_str_widget_event, + (const bstring *)&be_const_str_SERIAL_6E2, + (const bstring *)&be_const_str_add_anim, + (const bstring *)&be_const_str_erase, + (const bstring *)&be_const_str___lower__, + (const bstring *)&be_const_str_arg, + (const bstring *)&be_const_str_CFG_X3A_X20ran_X20_X20, + (const bstring *)&be_const_str_srand, + (const bstring *)&be_const_str_skip, + (const bstring *)&be_const_str_Leds, + NULL, + (const bstring *)&be_const_str__X23init_X2Ebat, + (const bstring *)&be_const_str__X3Clambda_X3E, + (const bstring *)&be_const_str_GET, + (const bstring *)&be_const_str_widget_ctor_cb, + (const bstring *)&be_const_str__global_addr, + (const bstring *)&be_const_str_OneWire, + (const bstring *)&be_const_str__X3C_X2Fselect_X3E_X3Cp_X3E_X3C_X2Fp_X3E, + (const bstring *)&be_const_str_update, + NULL, + NULL, + NULL, + (const bstring *)&be_const_str_AudioOutput, + NULL, + (const bstring *)&be_const_str_decompress, + NULL, + (const bstring *)&be_const_str_EVENT_DRAW_PART_END, + (const bstring *)&be_const_str_load_templates, + (const bstring *)&be_const_str_get_alternate, + (const bstring *)&be_const_str_acos, + (const bstring *)&be_const_str__X2Elen, + (const bstring *)&be_const_str_constructor_cb, + (const bstring *)&be_const_str_CFG_X3A_X20loaded_X20_X20, + NULL, + (const bstring *)&be_const_str_get_current_module_name, + (const bstring *)&be_const_str__X2Ebec, + (const bstring *)&be_const_str__settings_ptr, + (const bstring *)&be_const_str_dump, + NULL, + (const bstring *)&be_const_str__drivers, + (const bstring *)&be_const_str__X28_X29, + NULL, + (const bstring *)&be_const_str__X2Ebe, + (const bstring *)&be_const_str_content_start, + (const bstring *)&be_const_str__class, + (const bstring *)&be_const_str_h, + (const bstring *)&be_const_str_Unknown_X20command, + (const bstring *)&be_const_str_CFG_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, + (const bstring *)&be_const_str_p1, + NULL, + NULL, + (const bstring *)&be_const_str_b, + (const bstring *)&be_const_str_Parameter_X20error, + (const bstring *)&be_const_str_event, + (const bstring *)&be_const_str_read32, + (const bstring *)&be_const_str_f, + (const bstring *)&be_const_str_resp_cmnd_failed, + (const bstring *)&be_const_str_create_matrix, + (const bstring *)&be_const_str_SERIAL_7E2, + (const bstring *)&be_const_str_resolvecmnd, + (const bstring *)&be_const_str_draw_line, + (const bstring *)&be_const_str_autorun, + (const bstring *)&be_const_str__X2Eautoconf, + (const bstring *)&be_const_str_editable, + NULL, + NULL, + NULL, + (const bstring *)&be_const_str__X3A, + (const bstring *)&be_const_str_EVENT_DRAW_MAIN, + (const bstring *)&be_const_str_remove_timer, + (const bstring *)&be_const_str_Wire, + (const bstring *)&be_const_str__X3E, + (const bstring *)&be_const_str__X26lt_X3BNone_X26gt_X3B, + (const bstring *)&be_const_str__X3C, + (const bstring *)&be_const_str_pin, + (const bstring *)&be_const_str__def, + (const bstring *)&be_const_str_int, + (const bstring *)&be_const_str_atan2, + (const bstring *)&be_const_str_AudioOutputI2S, + (const bstring *)&be_const_str_last_modified, + (const bstring *)&be_const_str_get_style_pad_right, + (const bstring *)&be_const_str__settings_def, + (const bstring *)&be_const_str_CFG_X3A_X20loaded_X20_X27_X25s_X27, + (const bstring *)&be_const_str__X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B, + NULL, + (const bstring *)&be_const_str_start, + (const bstring *)&be_const_str_reset, + (const bstring *)&be_const_str__X2E, + (const bstring *)&be_const_str__X21_X3D_X3D, + (const bstring *)&be_const_str__X2C, + (const bstring *)&be_const_str__X23preinit_X2Ebe, + (const bstring *)&be_const_str_month, + (const bstring *)&be_const_str_instance_size, + (const bstring *)&be_const_str__X20, + (const bstring *)&be_const_str_exp, + (const bstring *)&be_const_str_bus, + (const bstring *)&be_const_str_cmd_res, + (const bstring *)&be_const_str_draw_line_dsc, + (const bstring *)&be_const_str_BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s, + (const bstring *)&be_const_str_tostring, + (const bstring *)&be_const_str_var, + (const bstring *)&be_const_str_upper, + (const bstring *)&be_const_str_color, + (const bstring *)&be_const_str_internal_error, + (const bstring *)&be_const_str_encrypt, + (const bstring *)&be_const_str__X21_X3D, + NULL, + NULL, + (const bstring *)&be_const_str_CFG_X3A_X20running_X20, + (const bstring *)&be_const_str_Restart_X201, + (const bstring *)&be_const_str_BUTTON_CONFIGURATION, + NULL, + (const bstring *)&be_const_str_HTTP_GET, + (const bstring *)&be_const_str_loop, + (const bstring *)&be_const_str_SERIAL_5O2, + (const bstring *)&be_const_str__X0A, + (const bstring *)&be_const_str_back_forth, + (const bstring *)&be_const_str_add_rule, + (const bstring *)&be_const_str_CFG_X3A_X20skipping_X20_X27display_X2Eini_X27_X20because_X20already_X20present_X20in_X20file_X2Dsystem, + (const bstring *)&be_const_str_list, + (const bstring *)&be_const_str_closure, + (const bstring *)&be_const_str__X2F_X3Frst_X3D, + NULL, + (const bstring *)&be_const_str__X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, + (const bstring *)&be_const_str_COLOR_WHITE, + NULL, + (const bstring *)&be_const_str_SERIAL_6O1, + (const bstring *)&be_const_str_widget_struct_default, + (const bstring *)&be_const_str_gamma, + (const bstring *)&be_const_str_abs, + (const bstring *)&be_const_str_pc, + (const bstring *)&be_const_str_concat, + (const bstring *)&be_const_str_height_def, + NULL, + (const bstring *)&be_const_str_log10, + (const bstring *)&be_const_str_call, + (const bstring *)&be_const_str__p, + (const bstring *)&be_const_str_file, + (const bstring *)&be_const_str__request_from, + (const bstring *)&be_const_str_BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson, + (const bstring *)&be_const_str__X2Ep1, + (const bstring *)&be_const_str_content_send_style, + (const bstring *)&be_const_str_AudioGeneratorWAV, + (const bstring *)&be_const_str_seg7_font, + NULL, + (const bstring *)&be_const_str_add_driver, + (const bstring *)&be_const_str_pin_used, + (const bstring *)&be_const_str_Tele, + (const bstring *)&be_const_str_SERIAL_8N2, + NULL, + (const bstring *)&be_const_str__X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, + (const bstring *)&be_const_str_get_input_power_status, (const bstring *)&be_const_str__persist_X2Ejson, - (const bstring *)&be_const_str_tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29, - (const bstring *)&be_const_str__X3Clambda_X3E + NULL, + (const bstring *)&be_const_str__X23display_X2Eini, + (const bstring *)&be_const_str_Animate_X20pc_X20is_X20out_X20of_X20range, + (const bstring *)&be_const_str_SERIAL_8O1, + (const bstring *)&be_const_str_ctypes_bytes, + (const bstring *)&be_const_str__X3Clabel_X3EChoose_X20a_X20device_X20configuration_X3A_X3C_X2Flabel_X3E_X3Cbr_X3E, + (const bstring *)&be_const_str_round_end, + (const bstring *)&be_const_str_codedump, + (const bstring *)&be_const_str_MD5, + (const bstring *)&be_const_str_PART_MAIN, + NULL, + (const bstring *)&be_const_str_asin, + (const bstring *)&be_const_str_content_stop, + (const bstring *)&be_const_str_set_light, + (const bstring *)&be_const_str_get_bat_current, + (const bstring *)&be_const_str_x1, + NULL, + NULL, + (const bstring *)&be_const_str_compress, + (const bstring *)&be_const_str_escape, + (const bstring *)&be_const_str_atan, + (const bstring *)&be_const_str_SERIAL_5N1, + (const bstring *)&be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3E_X26_X23129668_X3B_X20Auto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E, + (const bstring *)&be_const_str__X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E, + (const bstring *)&be_const_str_tr, + (const bstring *)&be_const_str__X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, + (const bstring *)&be_const_str__X2E_X2E, + (const bstring *)&be_const_str_SERIAL_6E1, + (const bstring *)&be_const_str_content_button, + (const bstring *)&be_const_str_asstring, + NULL, + (const bstring *)&be_const_str_detect, + (const bstring *)&be_const_str_close, + (const bstring *)&be_const_str_add_header, + (const bstring *)&be_const_str_day, + (const bstring *)&be_const_str_seti, + (const bstring *)&be_const_str_light, + (const bstring *)&be_const_str__X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E, + (const bstring *)&be_const_str_event_cb, + (const bstring *)&be_const_str_AudioFileSource, + (const bstring *)&be_const_str_get_tasmota, + (const bstring *)&be_const_str_preinit, + (const bstring *)&be_const_str__available, + (const bstring *)&be_const_str_name, + NULL, + NULL, + (const bstring *)&be_const_str_reset_search, + (const bstring *)&be_const_str__X3C_X3D, + (const bstring *)&be_const_str_from_to, + NULL, + (const bstring *)&be_const_str_remove, + (const bstring *)&be_const_str__read, + (const bstring *)&be_const_str_deg, + (const bstring *)&be_const_str_obj_class_create_obj, + (const bstring *)&be_const_str_ins_time, + (const bstring *)&be_const_str__X2Etapp, + (const bstring *)&be_const_str_content_flush, + (const bstring *)&be_const_str_area, + (const bstring *)&be_const_str_CFG_X3A_X20no_X20_X27_X2A_X2Eautoconf_X27_X20file_X20found, + (const bstring *)&be_const_str_webserver, + (const bstring *)&be_const_str_iter, + (const bstring *)&be_const_str_ceil, + (const bstring *)&be_const_str__global_def, + (const bstring *)&be_const_str__get_cb, + (const bstring *)&be_const_str___upper__, + (const bstring *)&be_const_str_size, + (const bstring *)&be_const_str_cb_event_closure, + (const bstring *)&be_const_str_find_key_i, + (const bstring *)&be_const_str__cb, + (const bstring *)&be_const_str_AudioGeneratorMP3, + (const bstring *)&be_const_str_BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20, + (const bstring *)&be_const_str_clear_to, + (const bstring *)&be_const_str__X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, + (const bstring *)&be_const_str_web_sensor, + (const bstring *)&be_const_str__ccmd, + NULL, + (const bstring *)&be_const_str_p2, + (const bstring *)&be_const_str_SERIAL_8E1, + (const bstring *)&be_const_str_connect, + (const bstring *)&be_const_str_c, + (const bstring *)&be_const_str_cmd, + (const bstring *)&be_const_str_a, + (const bstring *)&be_const_str_SERIAL_7E1, + (const bstring *)&be_const_str__cmd, + (const bstring *)&be_const_str_ctor, + (const bstring *)&be_const_str_attrdump, + (const bstring *)&be_const_str_every_second, + (const bstring *)&be_const_str__X5B, + (const bstring *)&be_const_str_can_show, + NULL, + (const bstring *)&be_const_str_Auto_X2Dconfiguration, + (const bstring *)&be_const_str__, + (const bstring *)&be_const_str_gen_cb, + (const bstring *)&be_const_str__X5D, + (const bstring *)&be_const_str_get_size, + NULL, + (const bstring *)&be_const_str__X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E, + (const bstring *)&be_const_str__X3E_X3D, + NULL, + (const bstring *)&be_const_str__X3F, + (const bstring *)&be_const_str_base_class }; static const struct bconststrtab m_const_string_table = { - .size = 359, - .count = 742, + .size = 360, + .count = 743, .table = m_string_table }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h index f691e6602..dc2abcca8 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h @@ -1,90 +1,91 @@ #include "be_constobj.h" static be_define_const_map_slots(be_class_tasmota_map) { - { be_const_key(resp_cmnd_done, -1), be_const_func(l_respCmndDone) }, - { be_const_key(resolvecmnd, 42), be_const_func(l_resolveCmnd) }, - { be_const_key(add_driver, -1), be_const_closure(Tasmota_add_driver_closure) }, { be_const_key(gc, -1), be_const_closure(Tasmota_gc_closure) }, - { be_const_key(find_op, -1), be_const_closure(Tasmota_find_op_closure) }, - { be_const_key(scale_uint, 15), be_const_func(l_scaleuint) }, - { be_const_key(try_rule, -1), be_const_closure(Tasmota_try_rule_closure) }, - { be_const_key(time_reached, -1), be_const_func(l_timereached) }, - { be_const_key(web_send, -1), be_const_func(l_webSend) }, - { be_const_key(eth, 21), be_const_func(l_eth) }, - { be_const_key(get_switch, 34), be_const_func(l_getswitch) }, - { be_const_key(set_power, -1), be_const_func(l_setpower) }, - { be_const_key(_drivers, 50), be_const_var(0) }, - { be_const_key(_rules, -1), be_const_var(1) }, - { be_const_key(_ccmd, 6), be_const_var(2) }, - { be_const_key(time_dump, -1), be_const_func(l_time_dump) }, - { be_const_key(gen_cb, 17), be_const_closure(Tasmota_gen_cb_closure) }, - { be_const_key(cmd_res, 20), be_const_var(3) }, - { be_const_key(set_light, 63), be_const_closure(Tasmota_set_light_closure) }, - { be_const_key(millis, -1), be_const_func(l_millis) }, - { be_const_key(global, -1), be_const_var(4) }, - { be_const_key(exec_tele, 67), be_const_closure(Tasmota_exec_tele_closure) }, - { be_const_key(_settings_ptr, -1), be_const_comptr(&Settings) }, - { be_const_key(get_power, -1), be_const_func(l_getpower) }, - { be_const_key(_cb, 57), be_const_var(5) }, - { be_const_key(save, -1), be_const_func(l_save) }, - { be_const_key(run_deferred, -1), be_const_closure(Tasmota_run_deferred_closure) }, - { be_const_key(i2c_enabled, 9), be_const_func(l_i2cenabled) }, - { be_const_key(remove_driver, -1), be_const_closure(Tasmota_remove_driver_closure) }, - { be_const_key(event, -1), be_const_closure(Tasmota_event_closure) }, + { be_const_key(read_sensors, 7), be_const_func(l_read_sensors) }, + { be_const_key(_get_cb, -1), be_const_func(l_get_cb) }, + { be_const_key(response_append, 50), be_const_func(l_respAppend) }, + { be_const_key(try_rule, 74), be_const_closure(Tasmota_try_rule_closure) }, + { be_const_key(eth, -1), be_const_func(l_eth) }, { be_const_key(find_key_i, -1), be_const_closure(Tasmota_find_key_i_closure) }, - { be_const_key(web_send_decimal, -1), be_const_func(l_webSendDecimal) }, - { be_const_key(get_free_heap, 3), be_const_func(l_getFreeHeap) }, - { be_const_key(wire_scan, -1), be_const_closure(Tasmota_wire_scan_closure) }, - { be_const_key(init, -1), be_const_closure(Tasmota_init_closure) }, - { be_const_key(wd, -1), be_const_var(6) }, - { be_const_key(_debug_present, -1), be_const_var(7) }, - { be_const_key(time_str, 45), be_const_closure(Tasmota_time_str_closure) }, - { be_const_key(remove_rule, 71), be_const_closure(Tasmota_remove_rule_closure) }, - { be_const_key(memory, 62), be_const_func(l_memory) }, - { be_const_key(wifi, -1), be_const_func(l_wifi) }, - { be_const_key(get_option, 44), be_const_func(l_getoption) }, - { be_const_key(rtc, -1), be_const_func(l_rtc) }, - { be_const_key(load, 72), be_const_closure(Tasmota_load_closure) }, - { be_const_key(chars_in_string, -1), be_const_closure(Tasmota_chars_in_string_closure) }, - { be_const_key(cmd, -1), be_const_closure(Tasmota_cmd_closure) }, - { be_const_key(publish, 43), be_const_func(l_publish) }, - { be_const_key(resp_cmnd_error, 18), be_const_func(l_respCmndError) }, - { be_const_key(add_cmd, -1), be_const_closure(Tasmota_add_cmd_closure) }, - { be_const_key(_settings_def, -1), be_const_comptr(&be_tasmota_settings_struct) }, - { be_const_key(strftime, 4), be_const_func(l_strftime) }, - { be_const_key(add_rule, 41), be_const_closure(Tasmota_add_rule_closure) }, - { be_const_key(wire2, -1), be_const_var(8) }, - { be_const_key(settings, -1), be_const_var(9) }, - { be_const_key(exec_rules, -1), be_const_closure(Tasmota_exec_rules_closure) }, + { be_const_key(exec_tele, 73), be_const_closure(Tasmota_exec_tele_closure) }, + { be_const_key(remove_driver, 28), be_const_closure(Tasmota_remove_driver_closure) }, + { be_const_key(load, -1), be_const_closure(Tasmota_load_closure) }, + { be_const_key(_settings_ptr, -1), be_const_comptr(&Settings) }, + { be_const_key(cmd_res, -1), be_const_var(0) }, + { be_const_key(time_str, 43), be_const_closure(Tasmota_time_str_closure) }, + { be_const_key(set_power, -1), be_const_func(l_setpower) }, + { be_const_key(yield, 20), be_const_func(l_yield) }, + { be_const_key(set_light, -1), be_const_closure(Tasmota_set_light_closure) }, + { be_const_key(find_op, 32), be_const_closure(Tasmota_find_op_closure) }, + { be_const_key(get_power, -1), be_const_func(l_getpower) }, + { be_const_key(add_rule, -1), be_const_closure(Tasmota_add_rule_closure) }, { be_const_key(cb_dispatch, -1), be_const_closure(Tasmota_cb_dispatch_closure) }, - { be_const_key(yield, 68), be_const_func(l_yield) }, - { be_const_key(_get_cb, 75), be_const_func(l_get_cb) }, - { be_const_key(wire1, 33), be_const_var(10) }, + { be_const_key(global, -1), be_const_var(1) }, + { be_const_key(i2c_enabled, -1), be_const_func(l_i2cenabled) }, + { be_const_key(remove_cmd, 10), be_const_closure(Tasmota_remove_cmd_closure) }, + { be_const_key(millis, 18), be_const_func(l_millis) }, + { be_const_key(publish, 69), be_const_func(l_publish) }, + { be_const_key(_drivers, -1), be_const_var(2) }, { be_const_key(resp_cmnd, -1), be_const_func(l_respCmnd) }, - { be_const_key(resp_cmnd_failed, 16), be_const_func(l_respCmndFailed) }, - { be_const_key(_global_addr, -1), be_const_comptr(&TasmotaGlobal) }, + { be_const_key(time_dump, -1), be_const_func(l_time_dump) }, + { be_const_key(web_send, -1), be_const_func(l_webSend) }, { be_const_key(hs2rgb, -1), be_const_closure(Tasmota_hs2rgb_closure) }, - { be_const_key(resp_cmnd_str, 76), be_const_func(l_respCmndStr) }, - { be_const_key(_global_def, -1), be_const_comptr(&be_tasmota_global_struct) }, - { be_const_key(kv, 74), be_const_closure(Tasmota_kv_closure) }, - { be_const_key(delay, -1), be_const_func(l_delay) }, - { be_const_key(remove_cmd, 19), be_const_closure(Tasmota_remove_cmd_closure) }, - { be_const_key(set_timer, -1), be_const_closure(Tasmota_set_timer_closure) }, - { be_const_key(_cmd, 54), be_const_func(l_cmd) }, - { be_const_key(publish_result, -1), be_const_func(l_publish_result) }, - { be_const_key(log, -1), be_const_func(l_logInfo) }, - { be_const_key(arch, -1), be_const_func(l_arch) }, - { be_const_key(remove_timer, 66), be_const_closure(Tasmota_remove_timer_closure) }, - { be_const_key(_timers, -1), be_const_var(11) }, - { be_const_key(read_sensors, -1), be_const_func(l_read_sensors) }, + { be_const_key(memory, -1), be_const_func(l_memory) }, + { be_const_key(gen_cb, 0), be_const_closure(Tasmota_gen_cb_closure) }, + { be_const_key(rtc, -1), be_const_func(l_rtc) }, + { be_const_key(get_option, -1), be_const_func(l_getoption) }, + { be_const_key(add_cmd, -1), be_const_closure(Tasmota_add_cmd_closure) }, + { be_const_key(init, -1), be_const_closure(Tasmota_init_closure) }, + { be_const_key(_timers, -1), be_const_var(3) }, + { be_const_key(_global_addr, -1), be_const_comptr(&TasmotaGlobal) }, + { be_const_key(wd, -1), be_const_var(4) }, { be_const_key(exec_cmd, -1), be_const_closure(Tasmota_exec_cmd_closure) }, - { be_const_key(response_append, -1), be_const_func(l_respAppend) }, - { be_const_key(get_light, -1), be_const_closure(Tasmota_get_light_closure) }, + { be_const_key(wire_scan, -1), be_const_closure(Tasmota_wire_scan_closure) }, + { be_const_key(_global_def, 61), be_const_comptr(&be_tasmota_global_struct) }, + { be_const_key(resp_cmnd_failed, 11), be_const_func(l_respCmndFailed) }, + { be_const_key(chars_in_string, -1), be_const_closure(Tasmota_chars_in_string_closure) }, + { be_const_key(web_send_decimal, -1), be_const_func(l_webSendDecimal) }, + { be_const_key(_debug_present, 4), be_const_var(5) }, + { be_const_key(cmd, -1), be_const_closure(Tasmota_cmd_closure) }, + { be_const_key(_cb, -1), be_const_var(6) }, + { be_const_key(remove_rule, -1), be_const_closure(Tasmota_remove_rule_closure) }, + { be_const_key(run_deferred, -1), be_const_closure(Tasmota_run_deferred_closure) }, + { be_const_key(strftime, -1), be_const_func(l_strftime) }, + { be_const_key(add_driver, 3), be_const_closure(Tasmota_add_driver_closure) }, + { be_const_key(kv, 60), be_const_closure(Tasmota_kv_closure) }, + { be_const_key(set_timer, 58), be_const_closure(Tasmota_set_timer_closure) }, + { be_const_key(scale_uint, -1), be_const_func(l_scaleuint) }, + { be_const_key(remove_timer, -1), be_const_closure(Tasmota_remove_timer_closure) }, + { be_const_key(settings, 49), be_const_var(7) }, + { be_const_key(arch, -1), be_const_func(l_arch) }, + { be_const_key(_ccmd, 64), be_const_var(8) }, + { be_const_key(wire1, 46), be_const_var(9) }, + { be_const_key(exec_rules, 66), be_const_closure(Tasmota_exec_rules_closure) }, + { be_const_key(strptime, -1), be_const_func(l_strptime) }, + { be_const_key(_cmd, -1), be_const_func(l_cmd) }, + { be_const_key(resp_cmnd_error, -1), be_const_func(l_respCmndError) }, + { be_const_key(time_reached, -1), be_const_func(l_timereached) }, + { be_const_key(_rules, -1), be_const_var(10) }, + { be_const_key(publish_result, -1), be_const_func(l_publish_result) }, + { be_const_key(_settings_def, -1), be_const_comptr(&be_tasmota_settings_struct) }, + { be_const_key(get_switch, -1), be_const_func(l_getswitch) }, + { be_const_key(delay, 71), be_const_func(l_delay) }, + { be_const_key(resp_cmnd_str, -1), be_const_func(l_respCmndStr) }, + { be_const_key(wifi, -1), be_const_func(l_wifi) }, + { be_const_key(save, 15), be_const_func(l_save) }, + { be_const_key(log, 37), be_const_func(l_logInfo) }, + { be_const_key(resolvecmnd, -1), be_const_func(l_resolveCmnd) }, + { be_const_key(resp_cmnd_done, -1), be_const_func(l_respCmndDone) }, + { be_const_key(get_light, 5), be_const_closure(Tasmota_get_light_closure) }, + { be_const_key(get_free_heap, -1), be_const_func(l_getFreeHeap) }, + { be_const_key(wire2, -1), be_const_var(11) }, + { be_const_key(event, 34), be_const_closure(Tasmota_event_closure) }, }; static be_define_const_map( be_class_tasmota_map, - 79 + 80 ); BE_EXPORT_VARIABLE be_define_const_class( diff --git a/tasmota/xdrv_52_3_berry_tasmota.ino b/tasmota/xdrv_52_3_berry_tasmota.ino index 6b8e83ea3..d165c209c 100644 --- a/tasmota/xdrv_52_3_berry_tasmota.ino +++ b/tasmota/xdrv_52_3_berry_tasmota.ino @@ -293,6 +293,24 @@ extern "C" { be_raise(vm, kTypeError, nullptr); } + int32_t l_strptime(bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc == 3 && be_isstring(vm, 2) && be_isstring(vm, 3)) { + const char * input = be_tostring(vm, 2); + const char * format = be_tostring(vm, 3); + struct tm time; + char * ret = strptime(input, format, &time); + if (ret) { + time_t ts = mktime(&time); + be_pushint(vm, ts); + be_return(vm); + } else { + be_return_nil(vm); + } + } + be_raise(vm, kTypeError, nullptr); + } + // Berry: tasmota.delay(timer:int) -> nil // int32_t l_delay(struct bvm *vm); @@ -311,6 +329,7 @@ extern "C" { int32_t l_yield(bvm *vm); int32_t l_yield(bvm *vm) { BrTimeoutYield(); // reset timeout + strptime(nullptr, nullptr, nullptr); be_return_nil(vm); } From 6905cfbe40a37641af2326e9475eaa504034a1eb Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Fri, 10 Dec 2021 23:22:46 +0100 Subject: [PATCH 13/16] Remove leftover --- tasmota/xdrv_52_3_berry_tasmota.ino | 1 - 1 file changed, 1 deletion(-) diff --git a/tasmota/xdrv_52_3_berry_tasmota.ino b/tasmota/xdrv_52_3_berry_tasmota.ino index d165c209c..d471b3ab7 100644 --- a/tasmota/xdrv_52_3_berry_tasmota.ino +++ b/tasmota/xdrv_52_3_berry_tasmota.ino @@ -329,7 +329,6 @@ extern "C" { int32_t l_yield(bvm *vm); int32_t l_yield(bvm *vm) { BrTimeoutYield(); // reset timeout - strptime(nullptr, nullptr, nullptr); be_return_nil(vm); } From 6ded581a371d37b2fedf1eea957a857205bd1411 Mon Sep 17 00:00:00 2001 From: Barbudor Date: Sat, 11 Dec 2021 09:18:14 +0000 Subject: [PATCH 14/16] fix O2 sensor message format --- tasmota/xsns_78_ezoo2.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasmota/xsns_78_ezoo2.ino b/tasmota/xsns_78_ezoo2.ino index ffeea4a86..81a40867e 100644 --- a/tasmota/xsns_78_ezoo2.ino +++ b/tasmota/xsns_78_ezoo2.ino @@ -39,7 +39,7 @@ struct EZOO2 : public EZOStruct { dtostrfd(O2, 2, str); if (json) { - ResponseAppend_P(PSTR(",\"%s\":{\"" D_JSON_O2 "\":%d}" ), name, str); + ResponseAppend_P(PSTR(",\"%s\":{\"" D_JSON_O2 "\":%s}" ), name, str); #ifdef USE_WEBSERVER }else { WSContentSend_PD(HTTP_SNS_O2, name, str); From c261a4f86335429ecead3d5da4ba9b99faa4b469 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Sat, 11 Dec 2021 10:21:57 +0100 Subject: [PATCH 15/16] Fixed strptime --- tasmota/xdrv_52_3_berry_tasmota.ino | 30 ++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/tasmota/xdrv_52_3_berry_tasmota.ino b/tasmota/xdrv_52_3_berry_tasmota.ino index d471b3ab7..cfc847e7a 100644 --- a/tasmota/xdrv_52_3_berry_tasmota.ino +++ b/tasmota/xdrv_52_3_berry_tasmota.ino @@ -260,20 +260,25 @@ extern "C" { be_raise(vm, kTypeError, nullptr); } + static void l_push_time(bvm *vm, struct tm *t, const char *unparsed) { + be_newobject(vm, "map"); + map_insert_int(vm, "year", t->tm_year + 1900); + map_insert_int(vm, "month", t->tm_mon + 1); + map_insert_int(vm, "day", t->tm_mday); + map_insert_int(vm, "hour", t->tm_hour); + map_insert_int(vm, "min", t->tm_min); + map_insert_int(vm, "sec", t->tm_sec); + map_insert_int(vm, "weekday", t->tm_wday); + if (unparsed) map_insert_str(vm, "unparsed", unparsed); + be_pop(vm, 1); + } + int32_t l_time_dump(bvm *vm) { int32_t top = be_top(vm); // Get the number of arguments if (top == 2 && be_isint(vm, 2)) { time_t ts = be_toint(vm, 2); struct tm *t = gmtime(&ts); - be_newobject(vm, "map"); - map_insert_int(vm, "year", t->tm_year + 1900); - map_insert_int(vm, "month", t->tm_mon + 1); - map_insert_int(vm, "day", t->tm_mday); - map_insert_int(vm, "hour", t->tm_hour); - map_insert_int(vm, "min", t->tm_min); - map_insert_int(vm, "sec", t->tm_sec); - map_insert_int(vm, "weekday", t->tm_wday); - be_pop(vm, 1); + l_push_time(vm, t, NULL); be_return(vm); } be_raise(vm, kTypeError, nullptr); @@ -298,11 +303,10 @@ extern "C" { if (argc == 3 && be_isstring(vm, 2) && be_isstring(vm, 3)) { const char * input = be_tostring(vm, 2); const char * format = be_tostring(vm, 3); - struct tm time; - char * ret = strptime(input, format, &time); + struct tm t = {0}; + char * ret = strptime(input, format, &t); if (ret) { - time_t ts = mktime(&time); - be_pushint(vm, ts); + l_push_time(vm, &t, ret); be_return(vm); } else { be_return_nil(vm); From d0806d33c684a41493b064125985187f3f5a1d4e Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Sat, 11 Dec 2021 16:36:29 +0100 Subject: [PATCH 16/16] Berry fix webclient --- lib/libesp32/Berry/default/be_modtab.c | 2 ++ lib/libesp32/Berry/default/be_tcpclient_lib.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/libesp32/Berry/default/be_modtab.c b/lib/libesp32/Berry/default/be_modtab.c index 5f4279c27..47db8b24e 100644 --- a/lib/libesp32/Berry/default/be_modtab.c +++ b/lib/libesp32/Berry/default/be_modtab.c @@ -135,6 +135,7 @@ extern void be_load_I2C_Driver_class(bvm *vm); extern void be_load_AXP192_class(bvm *vm); extern void be_load_md5_lib(bvm *vm); extern void be_load_webclient_lib(bvm *vm); +extern void be_load_tcpclient_lib(bvm *vm); extern void be_load_crypto_lib(bvm *vm); extern void be_load_Leds_ntv_class(bvm *vm); extern void be_load_Leds_class(bvm *vm); @@ -189,6 +190,7 @@ BERRY_API void be_load_custom_libs(bvm *vm) #endif // USE_ENERGY_SENSOR #ifdef USE_WEBCLIENT be_load_webclient_lib(vm); + be_load_tcpclient_lib(vm); #endif // USE_WEBCLIENT #if defined(USE_ONEWIRE) || defined(USE_DS18x20) be_load_onewirelib(vm); diff --git a/lib/libesp32/Berry/default/be_tcpclient_lib.c b/lib/libesp32/Berry/default/be_tcpclient_lib.c index d8bfef023..b39db458e 100644 --- a/lib/libesp32/Berry/default/be_tcpclient_lib.c +++ b/lib/libesp32/Berry/default/be_tcpclient_lib.c @@ -22,7 +22,7 @@ extern int wc_tcp_readbytes(bvm *vm); #include "../generate/be_fixed_be_class_tcpclient.h" -void be_load_webclient_lib(bvm *vm) { +void be_load_tcpclient_lib(bvm *vm) { be_pushntvclass(vm, &be_class_tcpclient); be_setglobal(vm, "tcpclient"); be_pop(vm, 1);