diff --git a/CHANGELOG.md b/CHANGELOG.md
index 17fb77879..c775e9a13 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file.
- Command ``SetSensor1..127 0|1`` to globally disable individual sensor driver
- Support for CAN bus and Freedom Won Battery Management System by Marius Bezuidenhout (#12651)
- Disable PSRAM on unsupported hardware
+- Berry add support for I2S audio mp3 playback
## [9.5.0.2] 20210714
### Added
diff --git a/lib/libesp32/Berry/default/be_driverlib.c b/lib/libesp32/Berry/default/be_driverlib.c
index e8ff3a74c..a62a53805 100644
--- a/lib/libesp32/Berry/default/be_driverlib.c
+++ b/lib/libesp32/Berry/default/be_driverlib.c
@@ -125,6 +125,7 @@ void be_load_driverlib(bvm *vm) {
#if !BE_USE_PRECOMPILED_OBJECT
static const bnfuncinfo members[] = {
{ "every_second", NULL },
+ { "every_50ms", NULL },
{ "every_100ms", NULL },
{ "web_add_handler", NULL },
{ "web_add_button", NULL },
@@ -155,6 +156,7 @@ void be_load_driverlib(bvm *vm) {
class be_class_tasmota_driver (scope: global, name: Driver) {
every_second, var
+ every_50ms, var
every_100ms, var
web_add_handler, var
web_add_button, var
diff --git a/lib/libesp32/Berry/default/be_gpio_lib.c b/lib/libesp32/Berry/default/be_gpio_lib.c
index d2c9bf8db..045fbd23e 100644
--- a/lib/libesp32/Berry/default/be_gpio_lib.c
+++ b/lib/libesp32/Berry/default/be_gpio_lib.c
@@ -275,7 +275,18 @@ be_native_module_attr_table(gpio) {
be_native_module_int("HALLEFFECT", 237),
be_native_module_int("EPD_DATA", 238),
be_native_module_int("INPUT", 239),
- be_native_module_int("SENSOR_END", 240),
+ be_native_module_int("KEY1_PD", 240),
+ be_native_module_int("KEY1_INV_PD", 241),
+ be_native_module_int("SWT1_PD", 242),
+ be_native_module_int("I2S_OUT_DATA", 243),
+ be_native_module_int("I2S_OUT_CLK", 244),
+ be_native_module_int("I2S_OUT_SLCT", 245),
+ be_native_module_int("I2S_IN_DATA", 246),
+ be_native_module_int("I2S_IN_CLK", 247),
+ be_native_module_int("I2S_IN_SLCT", 248),
+ be_native_module_int("INTERRUPT", 249),
+
+ be_native_module_int("SENSOR_END", 250),
be_native_module_function("pin_mode", gp_pin_mode),
be_native_module_function("digital_write", gp_digital_write),
@@ -546,7 +557,18 @@ module gpio (scope: global) {
HALLEFFECT, int(237)
EPD_DATA, int(238)
INPUT, int(239)
- SENSOR_END, int(240)
+ KEY1_PD, int(240)
+ KEY1_INV_PD, int(241)
+ SWT1_PD, int(242)
+ I2S_OUT_DATA, int(243)
+ I2S_OUT_CLK, int(244)
+ I2S_OUT_SLCT, int(245)
+ I2S_IN_DATA, int(246)
+ I2S_IN_CLK, int(247)
+ I2S_IN_SLCT, int(248)
+ INTERRUPT, int(249)
+
+ SENSOR_END, int(250)
pin_mode, func(gp_pin_mode)
digital_write, func(gp_digital_write)
diff --git a/lib/libesp32/Berry/default/be_i2s_audio_lib.c b/lib/libesp32/Berry/default/be_i2s_audio_lib.c
new file mode 100644
index 000000000..fb08e66b0
--- /dev/null
+++ b/lib/libesp32/Berry/default/be_i2s_audio_lib.c
@@ -0,0 +1,98 @@
+/********************************************************************
+ * Tasmota I2S audio classes
+ *
+ *
+ *******************************************************************/
+#include "be_constobj.h"
+
+#ifdef USE_I2S
+#ifdef USE_I2S_AUDIO_BERRY
+
+// extern bclass* be_class_tasmota_driver; // Parent class
+
+
+extern int i2s_output_i2s_init(bvm *vm);
+extern int i2s_output_i2s_deinit(bvm *vm);
+
+extern int i2s_generator_mp3_init(bvm *vm);
+extern int i2s_generator_mp3_deinit(bvm *vm);
+extern int i2s_generator_mp3_begin(bvm *vm);
+extern int i2s_generator_mp3_loop(bvm *vm);
+extern int i2s_generator_mp3_stop(bvm *vm);
+extern int i2s_generator_mp3_isrunning(bvm *vm);
+
+#ifdef USE_UFILESYS
+extern int i2s_file_source_fs_init(bvm *vm);
+extern int i2s_file_source_fs_deinit(bvm *vm);
+#endif // USE_UFILESYS
+
+
+#if BE_USE_PRECOMPILED_OBJECT
+#include "../generate/be_fixed_be_class_audio_output.h"
+#include "../generate/be_fixed_be_class_audio_output_i2s.h"
+#include "../generate/be_fixed_be_class_audio_generator.h"
+#include "../generate/be_fixed_be_class_audio_generator_mp3.h"
+#include "../generate/be_fixed_be_class_audio_file_source.h"
+#include "../generate/be_fixed_be_class_audio_file_source_fs.h"
+#endif
+
+void be_load_driver_audio_lib(bvm *vm) {
+ be_pushntvclass(vm, &be_class_audio_output);
+ be_setglobal(vm, "AudioOutput");
+ be_pop(vm, 1);
+
+ be_pushntvclass(vm, &be_class_audio_output_i2s);
+ be_setglobal(vm, "AudioOutputI2S");
+ be_pop(vm, 1);
+
+ be_pushntvclass(vm, &be_class_audio_generator_mp3);
+ be_setglobal(vm, "AudioGeneratorMP3");
+ be_pop(vm, 1);
+
+#ifdef USE_UFILESYS
+ be_pushntvclass(vm, &be_class_audio_file_source_fs);
+ be_setglobal(vm, "AudioFileSourceFS");
+ be_pop(vm, 1);
+#endif // USE_UFILESYS
+}
+
+/* @const_object_info_begin
+
+class be_class_audio_output (scope: global, name: AudioOutput) {
+ .p, var
+}
+
+class be_class_audio_generator (scope: global, name: AudioGenerator) {
+ .p, var
+}
+
+class be_class_audio_file_source (scope: global, name: AudioFileSource) {
+ .p, var
+}
+
+class be_class_audio_output_i2s (scope: global, name: AudioOutputI2S, super: be_class_audio_output) {
+ init, func(i2s_output_i2s_init)
+ deinit, func(i2s_output_i2s_deinit)
+ close, func(i2s_output_i2s_deinit)
+}
+
+class be_class_audio_generator_mp3 (scope: global, name: AudioGeneratorMP3, super: be_class_audio_generator) {
+ init, func(i2s_generator_mp3_init)
+ deinit, func(i2s_generator_mp3_deinit)
+ close, func(i2s_generator_mp3_deinit)
+ begin, func(i2s_generator_mp3_begin)
+ loop, func(i2s_generator_mp3_loop)
+ stop, func(i2s_generator_mp3_stop)
+ isrunning, func(i2s_generator_mp3_isrunning)
+}
+
+class be_class_audio_file_source_fs (scope: global, name: AudioFileSourceFS, super: be_class_audio_file_source) {
+ init, func(i2s_file_source_fs_init)
+ deinit, func(i2s_file_source_fs_deinit)
+ close, func(i2s_file_source_fs_deinit)
+}
+
+@const_object_info_end */
+
+#endif // USE_I2S_AUDIO_BERRY
+#endif // USE_I2S
\ No newline at end of file
diff --git a/lib/libesp32/Berry/default/be_modtab.c b/lib/libesp32/Berry/default/be_modtab.c
index 42ef74c7f..1654aa804 100644
--- a/lib/libesp32/Berry/default/be_modtab.c
+++ b/lib/libesp32/Berry/default/be_modtab.c
@@ -100,6 +100,10 @@ extern void be_load_driverlib(bvm *vm);
extern void be_load_driver_i2c_lib(bvm *vm);
extern void be_load_md5_lib(bvm *vm);
+#ifdef USE_I2S_AUDIO_BERRY
+extern void be_load_driver_audio_lib(bvm *vm);
+#endif
+
#ifdef USE_LVGL
extern void be_load_lvgl_color_lib(bvm *vm);
extern void be_load_lvgl_font_lib(bvm *vm);
@@ -126,6 +130,9 @@ BERRY_API void be_load_custom_libs(bvm *vm)
be_load_wirelib(vm);
be_load_driver_i2c_lib(vm);
#endif // USE_I2C
+#ifdef USE_I2S_AUDIO_BERRY
+ be_load_driver_audio_lib(vm);
+#endif
#ifdef USE_LVGL
// LVGL
be_load_lvgl_color_lib(vm);
diff --git a/lib/libesp32/Berry/default/be_tasmotalib.c b/lib/libesp32/Berry/default/be_tasmotalib.c
index f0268439e..5bff80d4f 100644
--- a/lib/libesp32/Berry/default/be_tasmotalib.c
+++ b/lib/libesp32/Berry/default/be_tasmotalib.c
@@ -1368,193 +1368,200 @@ be_local_closure(event, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[29]) { /* upvals */
- { { .s=be_nested_const_str("cmd", -158181397, 3) }, BE_STRING},
- { { .s=be_nested_const_str("exec_cmd", 493567399, 8) }, BE_STRING},
- { { .s=be_nested_const_str("rule", -64077613, 4) }, BE_STRING},
- { { .s=be_nested_const_str("exec_rules", 1445221092, 10) }, BE_STRING},
- { { .s=be_nested_const_str("mqtt_data", -1756753932, 9) }, BE_STRING},
- { { .s=be_nested_const_str("gc", 1042313471, 2) }, BE_STRING},
- { { .s=be_nested_const_str("every_50ms", -1911083288, 10) }, BE_STRING},
- { { .s=be_nested_const_str("run_deferred", 371594696, 12) }, BE_STRING},
- { { .s=be_nested_const_str("_drivers", -1034638311, 8) }, BE_STRING},
- { { .s=be_nested_const_str("every_second", 2075451465, 12) }, BE_STRING},
- { { .s=be_nested_const_str("every_100ms", 1546407804, 11) }, BE_STRING},
- { { .s=be_nested_const_str("web_add_button", -757092238, 14) }, BE_STRING},
- { { .s=be_nested_const_str("web_add_main_button", -334599632, 19) }, BE_STRING},
- { { .s=be_nested_const_str("web_add_management_button", -1556090110, 25) }, BE_STRING},
- { { .s=be_nested_const_str("web_add_config_button", 639674325, 21) }, BE_STRING},
- { { .s=be_nested_const_str("web_add_console_button", -813531104, 22) }, BE_STRING},
- { { .s=be_nested_const_str("save_before_restart", 1253239338, 19) }, BE_STRING},
- { { .s=be_nested_const_str("web_add_handler", -304792334, 15) }, BE_STRING},
- { { .s=be_nested_const_str("web_sensor", -1394870324, 10) }, BE_STRING},
- { { .s=be_nested_const_str("json_append", -1292948012, 11) }, BE_STRING},
- { { .s=be_nested_const_str("button_pressed", 1694209616, 14) }, BE_STRING},
- { { .s=be_nested_const_str("button_preselif", 491115394, 15) }, BE_STRING},
- { { .s=be_nested_const_str("display", 1164572437, 7) }, BE_STRING},
- { { .s=be_nested_const_str("string", 398550328, 6) }, BE_STRING},
- { { .s=be_nested_const_str("log", 1062293841, 3) }, BE_STRING},
- { { .s=be_nested_const_str("format", -1180859054, 6) }, BE_STRING},
- { { .s=be_nested_const_str("BRY: exception %s - %m", -1290966132, 22) }, BE_STRING},
- { { .i=3 }, BE_INT},
- { { .s=be_nested_const_str("stop_iteration", -121173395, 14) }, BE_STRING},
+ ( &(const bvalue[26]) { /* constants */
+ be_nested_string("every_50ms", -1911083288, 10),
+ be_nested_string("run_deferred", 371594696, 12),
+ be_nested_string("cmd", -158181397, 3),
+ be_nested_string("exec_cmd", 493567399, 8),
+ be_nested_string("rule", -64077613, 4),
+ be_nested_string("exec_rules", 1445221092, 10),
+ be_nested_string("mqtt_data", -1756753932, 9),
+ be_nested_string("gc", 1042313471, 2),
+ be_nested_string("_drivers", -1034638311, 8),
+ be_nested_string("every_second", 2075451465, 12),
+ be_nested_string("every_100ms", 1546407804, 11),
+ be_nested_string("web_add_button", -757092238, 14),
+ be_nested_string("web_add_main_button", -334599632, 19),
+ be_nested_string("web_add_management_button", -1556090110, 25),
+ be_nested_string("web_add_config_button", 639674325, 21),
+ be_nested_string("web_add_console_button", -813531104, 22),
+ be_nested_string("save_before_restart", 1253239338, 19),
+ be_nested_string("web_add_handler", -304792334, 15),
+ be_nested_string("web_sensor", -1394870324, 10),
+ be_nested_string("json_append", -1292948012, 11),
+ be_nested_string("button_pressed", 1694209616, 14),
+ be_nested_string("display", 1164572437, 7),
+ be_nested_string("string", 398550328, 6),
+ be_nested_string("format", -1180859054, 6),
+ be_nested_string("BRY: Exception> '%s' - %s", -2047976332, 25),
+ be_nested_string("stop_iteration", -121173395, 14),
}),
(be_nested_const_str("event", -30355297, 5)),
(be_nested_const_str("input", -103256197, 5)),
- ( &(const binstruction[153]) { /* code */
+ ( &(const binstruction[163]) { /* code */
0x1C140300, // 0000 EQ R5 R1 R256
- 0x78160006, // 0001 JMPF R5 #0009
+ 0x78160001, // 0001 JMPF R5 #0004
0x8C140101, // 0002 GETMET R5 R0 R257
- 0x5C1C0400, // 0003 MOVE R7 R2
- 0x5C200600, // 0004 MOVE R8 R3
- 0x5C240800, // 0005 MOVE R9 R4
- 0x7C140800, // 0006 CALL R5 4
- 0x80040A00, // 0007 RET 1 R5
- 0x7002008E, // 0008 JMP #0098
- 0x1C140302, // 0009 EQ R5 R1 R258
- 0x78160004, // 000A JMPF R5 #0010
- 0x8C140103, // 000B GETMET R5 R0 R259
- 0x5C1C0800, // 000C MOVE R7 R4
- 0x7C140400, // 000D CALL R5 2
- 0x80040A00, // 000E RET 1 R5
- 0x70020087, // 000F JMP #0098
- 0x1C140304, // 0010 EQ R5 R1 R260
- 0x78160002, // 0011 JMPF R5 #0015
- 0x4C140000, // 0012 LDNIL 5
- 0x80040A00, // 0013 RET 1 R5
- 0x70020082, // 0014 JMP #0098
- 0x1C140305, // 0015 EQ R5 R1 R261
- 0x78160003, // 0016 JMPF R5 #001B
- 0x8C140105, // 0017 GETMET R5 R0 R261
- 0x7C140200, // 0018 CALL R5 1
- 0x80040A00, // 0019 RET 1 R5
- 0x7002007C, // 001A JMP #0098
- 0x1C140306, // 001B EQ R5 R1 R262
- 0x78160003, // 001C JMPF R5 #0021
- 0x8C140107, // 001D GETMET R5 R0 R263
- 0x7C140200, // 001E CALL R5 1
- 0x80040A00, // 001F RET 1 R5
- 0x70020076, // 0020 JMP #0098
- 0x88140108, // 0021 GETMBR R5 R0 R264
- 0x78160074, // 0022 JMPF R5 #0098
- 0x60140000, // 0023 GETGBL R5 G0
- 0x88180108, // 0024 GETMBR R6 R0 R264
- 0x7C140200, // 0025 CALL R5 1
- 0xA802006D, // 0026 EXBLK 0 #0095
- 0x5C180A00, // 0027 MOVE R6 R5
- 0x7C180000, // 0028 CALL R6 0
- 0xA802005E, // 0029 EXBLK 0 #0089
- 0x1C1C0309, // 002A EQ R7 R1 R265
- 0x781E0004, // 002B JMPF R7 #0031
- 0x881C0D09, // 002C GETMBR R7 R6 R265
- 0x781E0002, // 002D JMPF R7 #0031
- 0x8C1C0D09, // 002E GETMET R7 R6 R265
- 0x7C1C0200, // 002F CALL R7 1
- 0x70020055, // 0030 JMP #0087
- 0x1C1C030A, // 0031 EQ R7 R1 R266
- 0x781E0004, // 0032 JMPF R7 #0038
- 0x881C0D0A, // 0033 GETMBR R7 R6 R266
- 0x781E0002, // 0034 JMPF R7 #0038
- 0x8C1C0D0A, // 0035 GETMET R7 R6 R266
- 0x7C1C0200, // 0036 CALL R7 1
- 0x7002004E, // 0037 JMP #0087
- 0x1C1C030B, // 0038 EQ R7 R1 R267
- 0x781E0004, // 0039 JMPF R7 #003F
- 0x881C0D0B, // 003A GETMBR R7 R6 R267
- 0x781E0002, // 003B JMPF R7 #003F
- 0x8C1C0D0B, // 003C GETMET R7 R6 R267
- 0x7C1C0200, // 003D CALL R7 1
- 0x70020047, // 003E JMP #0087
- 0x1C1C030C, // 003F EQ R7 R1 R268
- 0x781E0004, // 0040 JMPF R7 #0046
- 0x881C0D0C, // 0041 GETMBR R7 R6 R268
- 0x781E0002, // 0042 JMPF R7 #0046
- 0x8C1C0D0C, // 0043 GETMET R7 R6 R268
- 0x7C1C0200, // 0044 CALL R7 1
- 0x70020040, // 0045 JMP #0087
- 0x1C1C030D, // 0046 EQ R7 R1 R269
- 0x781E0004, // 0047 JMPF R7 #004D
- 0x881C0D0D, // 0048 GETMBR R7 R6 R269
- 0x781E0002, // 0049 JMPF R7 #004D
- 0x8C1C0D0D, // 004A GETMET R7 R6 R269
- 0x7C1C0200, // 004B CALL R7 1
- 0x70020039, // 004C JMP #0087
- 0x1C1C030E, // 004D EQ R7 R1 R270
- 0x781E0004, // 004E JMPF R7 #0054
- 0x881C0D0E, // 004F GETMBR R7 R6 R270
- 0x781E0002, // 0050 JMPF R7 #0054
- 0x8C1C0D0E, // 0051 GETMET R7 R6 R270
- 0x7C1C0200, // 0052 CALL R7 1
- 0x70020032, // 0053 JMP #0087
- 0x1C1C030F, // 0054 EQ R7 R1 R271
- 0x781E0004, // 0055 JMPF R7 #005B
- 0x881C0D0F, // 0056 GETMBR R7 R6 R271
- 0x781E0002, // 0057 JMPF R7 #005B
- 0x8C1C0D0F, // 0058 GETMET R7 R6 R271
- 0x7C1C0200, // 0059 CALL R7 1
- 0x7002002B, // 005A JMP #0087
- 0x1C1C0310, // 005B EQ R7 R1 R272
- 0x781E0004, // 005C JMPF R7 #0062
- 0x881C0D10, // 005D GETMBR R7 R6 R272
- 0x781E0002, // 005E JMPF R7 #0062
- 0x8C1C0D10, // 005F GETMET R7 R6 R272
- 0x7C1C0200, // 0060 CALL R7 1
- 0x70020024, // 0061 JMP #0087
- 0x1C1C0311, // 0062 EQ R7 R1 R273
- 0x781E0004, // 0063 JMPF R7 #0069
- 0x881C0D11, // 0064 GETMBR R7 R6 R273
- 0x781E0002, // 0065 JMPF R7 #0069
- 0x8C1C0D11, // 0066 GETMET R7 R6 R273
- 0x7C1C0200, // 0067 CALL R7 1
- 0x7002001D, // 0068 JMP #0087
- 0x1C1C0312, // 0069 EQ R7 R1 R274
- 0x781E0004, // 006A JMPF R7 #0070
- 0x881C0D12, // 006B GETMBR R7 R6 R274
- 0x781E0002, // 006C JMPF R7 #0070
- 0x8C1C0D12, // 006D GETMET R7 R6 R274
- 0x7C1C0200, // 006E CALL R7 1
- 0x70020016, // 006F JMP #0087
- 0x1C1C0313, // 0070 EQ R7 R1 R275
- 0x781E0004, // 0071 JMPF R7 #0077
- 0x881C0D13, // 0072 GETMBR R7 R6 R275
- 0x781E0002, // 0073 JMPF R7 #0077
- 0x8C1C0D13, // 0074 GETMET R7 R6 R275
- 0x7C1C0200, // 0075 CALL R7 1
- 0x7002000F, // 0076 JMP #0087
- 0x1C1C0314, // 0077 EQ R7 R1 R276
- 0x781E0007, // 0078 JMPF R7 #0081
- 0x881C0D14, // 0079 GETMBR R7 R6 R276
- 0x781E0005, // 007A JMPF R7 #0081
- 0x1C1C0311, // 007B EQ R7 R1 R273
- 0x781DFFFE, // 007C JMPF R7 #007C
- 0x881C0D16, // 007D GETMBR R7 R6 R278
- 0x8C1C0D16, // 007E GETMET R7 R6 R278
- 0x7C1C0200, // 007F CALL R7 1
- 0x70020005, // 0080 JMP #0087
- 0x1C1C0316, // 0081 EQ R7 R1 R278
- 0x781E0003, // 0082 JMPF R7 #0087
- 0x881C0D16, // 0083 GETMBR R7 R6 R278
- 0x781E0001, // 0084 JMPF R7 #0087
- 0x8C1C0D16, // 0085 GETMET R7 R6 R278
- 0x7C1C0200, // 0086 CALL R7 1
- 0xA8040001, // 0087 EXBLK 1 1
- 0x7002000A, // 0088 JMP #0094
- 0xAC1C0002, // 0089 CATCH R7 0 2
- 0x70020007, // 008A JMP #0093
- 0xA4262E00, // 008B IMPORT R9 R279
- 0x8C280118, // 008C GETMET R10 R0 R280
- 0x8C301319, // 008D GETMET R12 R9 R281
- 0x5838001A, // 008E LDCONST R14 K26
- 0x583C001B, // 008F LDCONST R15 K27
- 0x7C300600, // 0090 CALL R12 3
- 0x7C280400, // 0091 CALL R10 2
- 0x70020000, // 0092 JMP #0094
- 0xB0080000, // 0093 RAISE 2 R0 R0
- 0x7001FF91, // 0094 JMP #0027
- 0x5814001C, // 0095 LDCONST R5 K28
- 0xAC140200, // 0096 CATCH R5 1 0
- 0xB0080000, // 0097 RAISE 2 R0 R0
- 0x80000000, // 0098 RET 0 R0
+ 0x7C140200, // 0003 CALL R5 1
+ 0x1C140302, // 0004 EQ R5 R1 R258
+ 0x78160006, // 0005 JMPF R5 #000D
+ 0x8C140103, // 0006 GETMET R5 R0 R259
+ 0x5C1C0400, // 0007 MOVE R7 R2
+ 0x5C200600, // 0008 MOVE R8 R3
+ 0x5C240800, // 0009 MOVE R9 R4
+ 0x7C140800, // 000A CALL R5 4
+ 0x80040A00, // 000B RET 1 R5
+ 0x70020094, // 000C JMP #00A2
+ 0x1C140304, // 000D EQ R5 R1 R260
+ 0x78160004, // 000E JMPF R5 #0014
+ 0x8C140105, // 000F GETMET R5 R0 R261
+ 0x5C1C0800, // 0010 MOVE R7 R4
+ 0x7C140400, // 0011 CALL R5 2
+ 0x80040A00, // 0012 RET 1 R5
+ 0x7002008D, // 0013 JMP #00A2
+ 0x1C140306, // 0014 EQ R5 R1 R262
+ 0x78160002, // 0015 JMPF R5 #0019
+ 0x4C140000, // 0016 LDNIL 5
+ 0x80040A00, // 0017 RET 1 R5
+ 0x70020088, // 0018 JMP #00A2
+ 0x1C140307, // 0019 EQ R5 R1 R263
+ 0x78160003, // 001A JMPF R5 #001F
+ 0x8C140107, // 001B GETMET R5 R0 R263
+ 0x7C140200, // 001C CALL R5 1
+ 0x80040A00, // 001D RET 1 R5
+ 0x70020082, // 001E JMP #00A2
+ 0x88140108, // 001F GETMBR R5 R0 R264
+ 0x78160080, // 0020 JMPF R5 #00A2
+ 0x60140000, // 0021 GETGBL R5 G0
+ 0x88180108, // 0022 GETMBR R6 R0 R264
+ 0x7C140200, // 0023 CALL R5 1
+ 0xA8020079, // 0024 EXBLK 0 #009F
+ 0x5C180A00, // 0025 MOVE R6 R5
+ 0x7C180000, // 0026 CALL R6 0
+ 0xA8020069, // 0027 EXBLK 0 #0092
+ 0x1C1C0309, // 0028 EQ R7 R1 R265
+ 0x781E0004, // 0029 JMPF R7 #002F
+ 0x881C0D09, // 002A GETMBR R7 R6 R265
+ 0x781E0002, // 002B JMPF R7 #002F
+ 0x8C1C0D09, // 002C GETMET R7 R6 R265
+ 0x7C1C0200, // 002D CALL R7 1
+ 0x70020060, // 002E JMP #0090
+ 0x1C1C0300, // 002F EQ R7 R1 R256
+ 0x781E0004, // 0030 JMPF R7 #0036
+ 0x881C0D00, // 0031 GETMBR R7 R6 R256
+ 0x781E0002, // 0032 JMPF R7 #0036
+ 0x8C1C0D00, // 0033 GETMET R7 R6 R256
+ 0x7C1C0200, // 0034 CALL R7 1
+ 0x70020059, // 0035 JMP #0090
+ 0x1C1C030A, // 0036 EQ R7 R1 R266
+ 0x781E0004, // 0037 JMPF R7 #003D
+ 0x881C0D0A, // 0038 GETMBR R7 R6 R266
+ 0x781E0002, // 0039 JMPF R7 #003D
+ 0x8C1C0D0A, // 003A GETMET R7 R6 R266
+ 0x7C1C0200, // 003B CALL R7 1
+ 0x70020052, // 003C JMP #0090
+ 0x1C1C030B, // 003D EQ R7 R1 R267
+ 0x781E0004, // 003E JMPF R7 #0044
+ 0x881C0D0B, // 003F GETMBR R7 R6 R267
+ 0x781E0002, // 0040 JMPF R7 #0044
+ 0x8C1C0D0B, // 0041 GETMET R7 R6 R267
+ 0x7C1C0200, // 0042 CALL R7 1
+ 0x7002004B, // 0043 JMP #0090
+ 0x1C1C030C, // 0044 EQ R7 R1 R268
+ 0x781E0004, // 0045 JMPF R7 #004B
+ 0x881C0D0C, // 0046 GETMBR R7 R6 R268
+ 0x781E0002, // 0047 JMPF R7 #004B
+ 0x8C1C0D0C, // 0048 GETMET R7 R6 R268
+ 0x7C1C0200, // 0049 CALL R7 1
+ 0x70020044, // 004A JMP #0090
+ 0x1C1C030D, // 004B EQ R7 R1 R269
+ 0x781E0004, // 004C JMPF R7 #0052
+ 0x881C0D0D, // 004D GETMBR R7 R6 R269
+ 0x781E0002, // 004E JMPF R7 #0052
+ 0x8C1C0D0D, // 004F GETMET R7 R6 R269
+ 0x7C1C0200, // 0050 CALL R7 1
+ 0x7002003D, // 0051 JMP #0090
+ 0x1C1C030E, // 0052 EQ R7 R1 R270
+ 0x781E0004, // 0053 JMPF R7 #0059
+ 0x881C0D0E, // 0054 GETMBR R7 R6 R270
+ 0x781E0002, // 0055 JMPF R7 #0059
+ 0x8C1C0D0E, // 0056 GETMET R7 R6 R270
+ 0x7C1C0200, // 0057 CALL R7 1
+ 0x70020036, // 0058 JMP #0090
+ 0x1C1C030F, // 0059 EQ R7 R1 R271
+ 0x781E0004, // 005A JMPF R7 #0060
+ 0x881C0D0F, // 005B GETMBR R7 R6 R271
+ 0x781E0002, // 005C JMPF R7 #0060
+ 0x8C1C0D0F, // 005D GETMET R7 R6 R271
+ 0x7C1C0200, // 005E CALL R7 1
+ 0x7002002F, // 005F JMP #0090
+ 0x1C1C0310, // 0060 EQ R7 R1 R272
+ 0x781E0004, // 0061 JMPF R7 #0067
+ 0x881C0D10, // 0062 GETMBR R7 R6 R272
+ 0x781E0002, // 0063 JMPF R7 #0067
+ 0x8C1C0D10, // 0064 GETMET R7 R6 R272
+ 0x7C1C0200, // 0065 CALL R7 1
+ 0x70020028, // 0066 JMP #0090
+ 0x1C1C0311, // 0067 EQ R7 R1 R273
+ 0x781E0004, // 0068 JMPF R7 #006E
+ 0x881C0D11, // 0069 GETMBR R7 R6 R273
+ 0x781E0002, // 006A JMPF R7 #006E
+ 0x8C1C0D11, // 006B GETMET R7 R6 R273
+ 0x7C1C0200, // 006C CALL R7 1
+ 0x70020021, // 006D JMP #0090
+ 0x1C1C0312, // 006E EQ R7 R1 R274
+ 0x781E0004, // 006F JMPF R7 #0075
+ 0x881C0D12, // 0070 GETMBR R7 R6 R274
+ 0x781E0002, // 0071 JMPF R7 #0075
+ 0x8C1C0D12, // 0072 GETMET R7 R6 R274
+ 0x7C1C0200, // 0073 CALL R7 1
+ 0x7002001A, // 0074 JMP #0090
+ 0x1C1C0313, // 0075 EQ R7 R1 R275
+ 0x781E0004, // 0076 JMPF R7 #007C
+ 0x881C0D13, // 0077 GETMBR R7 R6 R275
+ 0x781E0002, // 0078 JMPF R7 #007C
+ 0x8C1C0D13, // 0079 GETMET R7 R6 R275
+ 0x7C1C0200, // 007A CALL R7 1
+ 0x70020013, // 007B JMP #0090
+ 0x1C1C0314, // 007C EQ R7 R1 R276
+ 0x781E0004, // 007D JMPF R7 #0083
+ 0x881C0D14, // 007E GETMBR R7 R6 R276
+ 0x781E0002, // 007F JMPF R7 #0083
+ 0x8C1C0D14, // 0080 GETMET R7 R6 R276
+ 0x7C1C0200, // 0081 CALL R7 1
+ 0x7002000C, // 0082 JMP #0090
+ 0x1C1C0311, // 0083 EQ R7 R1 R273
+ 0x781E0004, // 0084 JMPF R7 #008A
+ 0x881C0D15, // 0085 GETMBR R7 R6 R277
+ 0x781E0002, // 0086 JMPF R7 #008A
+ 0x8C1C0D15, // 0087 GETMET R7 R6 R277
+ 0x7C1C0200, // 0088 CALL R7 1
+ 0x70020005, // 0089 JMP #0090
+ 0x1C1C0315, // 008A EQ R7 R1 R277
+ 0x781E0003, // 008B JMPF R7 #0090
+ 0x881C0D15, // 008C GETMBR R7 R6 R277
+ 0x781E0001, // 008D JMPF R7 #0090
+ 0x8C1C0D15, // 008E GETMET R7 R6 R277
+ 0x7C1C0200, // 008F CALL R7 1
+ 0xA8040001, // 0090 EXBLK 1 1
+ 0x7002000B, // 0091 JMP #009E
+ 0xAC1C0002, // 0092 CATCH R7 0 2
+ 0x70020008, // 0093 JMP #009D
+ 0xA4262C00, // 0094 IMPORT R9 R278
+ 0x6028000F, // 0095 GETGBL R10 G15
+ 0x8C2C1317, // 0096 GETMET R11 R9 R279
+ 0x58340018, // 0097 LDCONST R13 K24
+ 0x5C380E00, // 0098 MOVE R14 R7
+ 0x5C3C1000, // 0099 MOVE R15 R8
+ 0x7C2C0800, // 009A CALL R11 4
+ 0x7C280200, // 009B CALL R10 1
+ 0x70020000, // 009C JMP #009E
+ 0xB0080000, // 009D RAISE 2 R0 R0
+ 0x7001FF85, // 009E JMP #0025
+ 0x58140019, // 009F LDCONST R5 K25
+ 0xAC140200, // 00A0 CATCH R5 1 0
+ 0xB0080000, // 00A1 RAISE 2 R0 R0
+ 0x80000000, // 00A2 RET 0 R0
})
)
);
diff --git a/lib/libesp32/Berry/default/embedded/Tasmota.be b/lib/libesp32/Berry/default/embedded/Tasmota.be
index 4b3647168..cf92ac5b9 100644
--- a/lib/libesp32/Berry/default/embedded/Tasmota.be
+++ b/lib/libesp32/Berry/default/embedded/Tasmota.be
@@ -242,15 +242,17 @@ class Tasmota2 : Tasmota
end
def event(type, cmd, idx, payload)
+ if type=='every_50ms' self.run_deferred() end #- first run deferred events -#
+
if type=='cmd' return self.exec_cmd(cmd, idx, payload)
elif type=='rule' return self.exec_rules(payload)
elif type=='mqtt_data' return nil
elif type=='gc' return self.gc()
- elif type=='every_50ms' return self.run_deferred()
elif self._drivers
for d:self._drivers
try
if type=='every_second' && d.every_second d.every_second()
+ elif type=='every_50ms' && d.every_50ms d.every_50ms()
elif type=='every_100ms' && d.every_100ms d.every_100ms()
elif type=='web_add_button' && d.web_add_button d.web_add_button()
elif type=='web_add_main_button' && d.web_add_main_button d.web_add_main_button()
diff --git a/lib/libesp32/Berry/generate/be_const_strtab.h b/lib/libesp32/Berry/generate/be_const_strtab.h
index 11b5c6e7f..ce34e8dd5 100644
--- a/lib/libesp32/Berry/generate/be_const_strtab.h
+++ b/lib/libesp32/Berry/generate/be_const_strtab.h
@@ -1,635 +1,657 @@
-extern const bcstring be_const_str_lv_style;
-extern const bcstring be_const_str_ETH_PHY_MDIO;
-extern const bcstring be_const_str_SYMBOL_PLUS;
-extern const bcstring be_const_str_hex;
-extern const bcstring be_const_str_setrange;
-extern const bcstring be_const_str_bus;
-extern const bcstring be_const_str_concat;
-extern const bcstring be_const_str_raise;
-extern const bcstring be_const_str_ROT1A;
-extern const bcstring be_const_str_SPI_CLK;
-extern const bcstring be_const_str_SYMBOL_MINUS;
-extern const bcstring be_const_str_WEBCAM_PSCLK;
-extern const bcstring be_const_str_top;
-extern const bcstring be_const_str_EPAPER42_CS;
-extern const bcstring be_const_str_return;
-extern const bcstring be_const_str_MCP39F5_RST;
-extern const bcstring be_const_str_OUTPUT_OPEN_DRAIN;
-extern const bcstring be_const_str_write_bytes;
-extern const bcstring be_const_str_SYMBOL_SETTINGS;
-extern const bcstring be_const_str_call;
-extern const bcstring be_const_str_lv_draw_mask_angle_param;
-extern const bcstring be_const_str_pi;
-extern const bcstring be_const_str_acos;
-extern const bcstring be_const_str_atan;
-extern const bcstring be_const_str_content_flush;
-extern const bcstring be_const_str_SYMBOL_BACKSPACE;
-extern const bcstring be_const_str_TM1638STB;
-extern const bcstring be_const_str_resp_cmnd;
-extern const bcstring be_const_str_web_add_management_button;
-extern const bcstring be_const_str_NRG_SEL;
-extern const bcstring be_const_str_SYMBOL_OK;
-extern const bcstring be_const_str_Wire;
-extern const bcstring be_const_str_SYMBOL_BATTERY_3;
-extern const bcstring be_const_str_init;
-extern const bcstring be_const_str_redirect;
-extern const bcstring be_const_str_ADC_TEMP;
-extern const bcstring be_const_str__get_cb;
-extern const bcstring be_const_str_finish;
-extern const bcstring be_const_str_SPI_DC;
-extern const bcstring be_const_str_MIEL_HVAC_RX;
-extern const bcstring be_const_str_NEOPOOL_TX;
-extern const bcstring be_const_str_SSD1331_CS;
-extern const bcstring be_const_str_TELEINFO_RX;
-extern const bcstring be_const_str_SHELLY_DIMMER_RST_INV;
-extern const bcstring be_const_str_MAX7219CS;
-extern const bcstring be_const_str_pin_mode;
-extern const bcstring be_const_str_SDM72_RX;
-extern const bcstring be_const_str_SYMBOL_HOME;
-extern const bcstring be_const_str_TM1637CLK;
-extern const bcstring be_const_str_char;
-extern const bcstring be_const_str_resp_cmnd_done;
-extern const bcstring be_const_str_ADC_LIGHT;
-extern const bcstring be_const_str_ZIGBEE_TX;
-extern const bcstring be_const_str_lv_dropdown;
-extern const bcstring be_const_str_A4988_DIR;
-extern const bcstring be_const_str_AS3935;
-extern const bcstring be_const_str_lv_sqrt_res;
-extern const bcstring be_const_str_IEM3000_TX;
-extern const bcstring be_const_str_cosh;
-extern const bcstring be_const_str_web_sensor;
-extern const bcstring be_const_str_continue;
-extern const bcstring be_const_str_BS814_DAT;
-extern const bcstring be_const_str_opt_add;
-extern const bcstring be_const_str_A4988_ENA;
-extern const bcstring be_const_str_lv_point;
-extern const bcstring be_const_str_delay;
-extern const bcstring be_const_str_resp_cmnd_str;
-extern const bcstring be_const_str_iter;
-extern const bcstring be_const_str_fromstring;
-extern const bcstring be_const_str_lv_event_cb;
-extern const bcstring be_const_str_CNTR1_NP;
-extern const bcstring be_const_str_tanh;
-extern const bcstring be_const_str_lv_objmask;
-extern const bcstring be_const_str_SOLAXX1_RX;
-extern const bcstring be_const_str_HRE_CLOCK;
-extern const bcstring be_const_str_MAX31855CS;
-extern const bcstring be_const_str_SDM630_TX;
-extern const bcstring be_const_str_every_second;
-extern const bcstring be_const_str_SYMBOL_AUDIO;
-extern const bcstring be_const_str_RC522_CS;
-extern const bcstring be_const_str_def;
-extern const bcstring be_const_str_REL1;
-extern const bcstring be_const_str_load_font;
-extern const bcstring be_const_str_real;
-extern const bcstring be_const_str_set;
-extern const bcstring be_const_str_PZEM016_RX;
-extern const bcstring be_const_str_SSPI_CS;
-extern const bcstring be_const_str_SYMBOL_TRASH;
-extern const bcstring be_const_str_wire;
-extern const bcstring be_const_str_REL1_INV;
-extern const bcstring be_const_str_FTC532;
-extern const bcstring be_const_str_OUTPUT_HI;
-extern const bcstring be_const_str_classof;
-extern const bcstring be_const_str_web_send_decimal;
-extern const bcstring be_const_str_opt_neq;
-extern const bcstring be_const_str_LED1_INV;
-extern const bcstring be_const_str_load;
-extern const bcstring be_const_str_ADC_INPUT;
-extern const bcstring be_const_str_SPI_CS;
-extern const bcstring be_const_str_WEBCAM_RESET;
-extern const bcstring be_const_str_ceil;
-extern const bcstring be_const_str_clear;
-extern const bcstring be_const_str_cmd;
-extern const bcstring be_const_str_response_append;
-extern const bcstring be_const_str_lv_btn;
-extern const bcstring be_const_str_lv_draw_line_dsc;
-extern const bcstring be_const_str_gc;
-extern const bcstring be_const_str_WINDMETER_SPEED;
-extern const bcstring be_const_str_number;
-extern const bcstring be_const_str_write_bit;
-extern const bcstring be_const_str_WEBCAM_SIOC;
-extern const bcstring be_const_str_I2C_SCL;
-extern const bcstring be_const_str_XPT2046_CS;
-extern const bcstring be_const_str_lv_calendar;
-extern const bcstring be_const_str_RISING;
-extern const bcstring be_const_str_arg;
-extern const bcstring be_const_str__read;
-extern const bcstring be_const_str_rand;
-extern const bcstring be_const_str_SYMBOL_SHUFFLE;
-extern const bcstring be_const_str_DDSU666_TX;
-extern const bcstring be_const_str_web_add_button;
-extern const bcstring be_const_str_except;
-extern const bcstring be_const_str_RFRECV;
-extern const bcstring be_const_str_PZEM017_RX;
-extern const bcstring be_const_str_RA8876_CS;
-extern const bcstring be_const_str_KEY1_INV;
-extern const bcstring be_const_str___iterator__;
-extern const bcstring be_const_str_lv_draw_mask_map_param_cfg;
-extern const bcstring be_const_str_module;
-extern const bcstring be_const_str_ADC_BUTTON;
-extern const bcstring be_const_str_get_tasmota;
-extern const bcstring be_const_str_read24;
-extern const bcstring be_const_str_start;
-extern const bcstring be_const_str_MIEL_HVAC_TX;
-extern const bcstring be_const_str_SYMBOL_DRIVE;
-extern const bcstring be_const_str_SYMBOL_WARNING;
-extern const bcstring be_const_str_gamma8;
-extern const bcstring be_const_str_lv_draw_mask_line_param;
-extern const bcstring be_const_str_memory;
-extern const bcstring be_const_str_SPI_MOSI;
-extern const bcstring be_const_str_digital_read;
-extern const bcstring be_const_str_lv_design_cb;
-extern const bcstring be_const_str_MD5;
-extern const bcstring be_const_str_get_option;
-extern const bcstring be_const_str_lv_checkbox;
-extern const bcstring be_const_str_PMS5003_RX;
-extern const bcstring be_const_str_SYMBOL_BATTERY_2;
-extern const bcstring be_const_str_read32;
-extern const bcstring be_const_str_dump;
-extern const bcstring be_const_str_SYMBOL_EYE_CLOSE;
-extern const bcstring be_const_str_SYMBOL_IMAGE;
-extern const bcstring be_const_str_abs;
-extern const bcstring be_const_str_traceback;
-extern const bcstring be_const_str_HPMA_RX;
-extern const bcstring be_const_str_SM16716_DAT;
-extern const bcstring be_const_str_SYMBOL_PAUSE;
-extern const bcstring be_const_str_attrdump;
-extern const bcstring be_const_str_lv_draw_mask_fade_param;
-extern const bcstring be_const_str_CC1101_GDO0;
-extern const bcstring be_const_str_super;
-extern const bcstring be_const_str_if;
-extern const bcstring be_const_str_TCP_RX;
-extern const bcstring be_const_str_keys;
-extern const bcstring be_const_str_lv_led;
-extern const bcstring be_const_str_time_dump;
-extern const bcstring be_const_str_HPMA_TX;
-extern const bcstring be_const_str_PN532_TXD;
-extern const bcstring be_const_str_compile;
-extern const bcstring be_const_str_TCP_TX;
-extern const bcstring be_const_str_lv_gauge_format_cb;
-extern const bcstring be_const_str_remove_rule;
-extern const bcstring be_const_str_KEY1_TC;
-extern const bcstring be_const_str_TASMOTACLIENT_RST;
-extern const bcstring be_const_str_tolower;
-extern const bcstring be_const_str_type;
-extern const bcstring be_const_str_lv_cont;
-extern const bcstring be_const_str_every_100ms;
-extern const bcstring be_const_str_lv_list;
-extern const bcstring be_const_str_CSE7766_TX;
-extern const bcstring be_const_str__available;
-extern const bcstring be_const_str_display;
-extern const bcstring be_const_str_sin;
-extern const bcstring be_const_str_SM2135_DAT;
-extern const bcstring be_const_str_WEBCAM_SIOD;
-extern const bcstring be_const_str_publish;
-extern const bcstring be_const_str_input;
-extern const bcstring be_const_str_map;
-extern const bcstring be_const_str_IRRECV;
-extern const bcstring be_const_str_SSD1351_CS;
-extern const bcstring be_const_str_SYMBOL_PLAY;
-extern const bcstring be_const_str_MGC3130_RESET;
-extern const bcstring be_const_str_SYMBOL_SAVE;
-extern const bcstring be_const_str_lv_draw_mask_radius_param_cfg;
-extern const bcstring be_const_str_resp_cmnd_failed;
-extern const bcstring be_const_str_ADC_RANGE;
-extern const bcstring be_const_str_PZEM0XX_TX;
-extern const bcstring be_const_str_SYMBOL_USB;
-extern const bcstring be_const_str_int;
-extern const bcstring be_const_str_time_str;
-extern const bcstring be_const_str_LEDLNK_INV;
-extern const bcstring be_const_str_VL53L0X_XSHUT1;
-extern const bcstring be_const_str_set_power;
-extern const bcstring be_const_str__end_transmission;
-extern const bcstring be_const_str_get;
-extern const bcstring be_const_str_SPI_MISO;
-extern const bcstring be_const_str_print;
-extern const bcstring be_const_str_format;
-extern const bcstring be_const_str_MAX7219DIN;
-extern const bcstring be_const_str_lv_img;
-extern const bcstring be_const_str_HM10_RX;
-extern const bcstring be_const_str_allocated;
-extern const bcstring be_const_str_while;
-extern const bcstring be_const_str_getbits;
-extern const bcstring be_const_str_lv_spinner;
-extern const bcstring be_const_str_pow;
-extern const bcstring be_const_str_A4988_MS1;
-extern const bcstring be_const_str_SYMBOL_KEYBOARD;
-extern const bcstring be_const_str_lv_slider;
-extern const bcstring be_const_str_read13;
-extern const bcstring be_const_str_NRF24_CS;
-extern const bcstring be_const_str_PWM1;
-extern const bcstring be_const_str_SWT1;
-extern const bcstring be_const_str_SSD1331_DC;
-extern const bcstring be_const_str_PMS5003_TX;
-extern const bcstring be_const_str_TM1638DIO;
-extern const bcstring be_const_str__cmd;
-extern const bcstring be_const_str_asin;
-extern const bcstring be_const_str_read12;
-extern const bcstring be_const_str_state;
-extern const bcstring be_const_str_exec_cmd;
-extern const bcstring be_const_str_HLW_CF;
-extern const bcstring be_const_str_SYMBOL_DIRECTORY;
-extern const bcstring be_const_str_SYMBOL_PASTE;
-extern const bcstring be_const_str_resolvecmnd;
-extern const bcstring be_const_str_ST7789_CS;
-extern const bcstring be_const_str_SYMBOL_BATTERY_FULL;
-extern const bcstring be_const_str_log10;
-extern const bcstring be_const_str_TXD;
-extern const bcstring be_const_str_SYMBOL_EYE_OPEN;
-extern const bcstring be_const_str__buffer;
-extern const bcstring be_const_str_EXS_ENABLE;
-extern const bcstring be_const_str_HJL_CF;
-extern const bcstring be_const_str_lv_draw_mask_fade_param_cfg;
-extern const bcstring be_const_str_PROJECTOR_CTRL_RX;
-extern const bcstring be_const_str_SBR_TX;
-extern const bcstring be_const_str_sqrt;
-extern const bcstring be_const_str_MAX31855DO;
-extern const bcstring be_const_str_SYMBOL_DOWN;
-extern const bcstring be_const_str_save_before_restart;
-extern const bcstring be_const_str_write8;
-extern const bcstring be_const_str_byte;
-extern const bcstring be_const_str_write;
-extern const bcstring be_const_str_GPS_TX;
-extern const bcstring be_const_str_ELECTRIQ_MOODL_TX;
-extern const bcstring be_const_str_SYMBOL_BATTERY_1;
-extern const bcstring be_const_str_WE517_RX;
-extern const bcstring be_const_str_digital_write;
-extern const bcstring be_const_str_lv_spinbox;
-extern const bcstring be_const_str_lv_switch;
-extern const bcstring be_const_str_pin;
-extern const bcstring be_const_str_pin_used;
-extern const bcstring be_const_str_SAIR_RX;
-extern const bcstring be_const_str_SI7021;
-extern const bcstring be_const_str_WE517_TX;
-extern const bcstring be_const_str_lv_obj;
-extern const bcstring be_const_str_SSPI_MAX31865_CS1;
-extern const bcstring be_const_str_DHT22;
-extern const bcstring be_const_str_arg_size;
-extern const bcstring be_const_str_millis;
-extern const bcstring be_const_str_remove;
-extern const bcstring be_const_str_deinit;
-extern const bcstring be_const_str_wire2;
-extern const bcstring be_const_str_SYMBOL_FILE;
-extern const bcstring be_const_str_lv_canvas;
-extern const bcstring be_const_str_ROT1A_NP;
-extern const bcstring be_const_str_WEBCAM_DATA;
-extern const bcstring be_const_str_IEM3000_RX;
-extern const bcstring be_const_str_NEOPOOL_RX;
-extern const bcstring be_const_str_OUTPUT;
-extern const bcstring be_const_str_lv_msgbox;
-extern const bcstring be_const_str_has_arg;
-extern const bcstring be_const_str_lv_table;
-extern const bcstring be_const_str_SSPI_MOSI;
-extern const bcstring be_const_str_CSE7761_TX;
-extern const bcstring be_const_str_P9813_DAT;
-extern const bcstring be_const_str_WEBCAM_PWDN;
-extern const bcstring be_const_str_count;
-extern const bcstring be_const_str_LMT01;
-extern const bcstring be_const_str_read8;
-extern const bcstring be_const_str_PN532_RXD;
-extern const bcstring be_const_str_PZEM004_RX;
-extern const bcstring be_const_str__begin_transmission;
-extern const bcstring be_const_str_web_add_console_button;
-extern const bcstring be_const_str_web_add_handler;
-extern const bcstring be_const_str_INPUT_PULLDOWN;
-extern const bcstring be_const_str_CSE7761_RX;
-extern const bcstring be_const_str_find;
-extern const bcstring be_const_str_break;
-extern const bcstring be_const_str_NRG_SEL_INV;
-extern const bcstring be_const_str_ILI9488_CS;
-extern const bcstring be_const_str_MCP39F5_RX;
-extern const bcstring be_const_str_ROT1B;
-extern const bcstring be_const_str_opt_call;
-extern const bcstring be_const_str_SOLAXX1_TX;
-extern const bcstring be_const_str_SHELLY_DIMMER_BOOT0;
-extern const bcstring be_const_str_WEBCAM_VSYNC;
-extern const bcstring be_const_str_tan;
-extern const bcstring be_const_str_web_send;
-extern const bcstring be_const_str_LED1;
-extern const bcstring be_const_str_INPUT_PULLUP;
-extern const bcstring be_const_str_chars_in_string;
-extern const bcstring be_const_str_else;
-extern const bcstring be_const_str_nil;
-extern const bcstring be_const_str_MAX31855CLK;
-extern const bcstring be_const_str_SYMBOL_GPS;
-extern const bcstring be_const_str_lv_draw_mask_map_param;
-extern const bcstring be_const_str_SWT1_NP;
-extern const bcstring be_const_str_log;
-extern const bcstring be_const_str_read_bytes;
-extern const bcstring be_const_str_dot_def;
-extern const bcstring be_const_str_SYMBOL_CALL;
-extern const bcstring be_const_str_DHT11;
-extern const bcstring be_const_str_NRG_CF1;
-extern const bcstring be_const_str_SYMBOL_MUTE;
-extern const bcstring be_const_str_ETH_PHY_POWER;
-extern const bcstring be_const_str_TFMINIPLUS_TX;
-extern const bcstring be_const_str_EPAPER29_CS;
-extern const bcstring be_const_str_lv_chart;
-extern const bcstring be_const_str_name;
-extern const bcstring be_const_str_event;
-extern const bcstring be_const_str_ADC_JOY;
-extern const bcstring be_const_str_FALLING;
-extern const bcstring be_const_str_remove_cmd;
-extern const bcstring be_const_str_CSE7766_RX;
-extern const bcstring be_const_str_DYP_RX;
-extern const bcstring be_const_str_LEDLNK;
-extern const bcstring be_const_str_IRSEND;
-extern const bcstring be_const_str_lv_textarea;
-extern const bcstring be_const_str_RFSEND;
-extern const bcstring be_const_str_SSD1351_DC;
-extern const bcstring be_const_str_SYMBOL_COPY;
-extern const bcstring be_const_str_SYMBOL_UP;
-extern const bcstring be_const_str_TX2X_TXD_BLACK;
-extern const bcstring be_const_str_json_append;
-extern const bcstring be_const_str_TUYA_RX;
-extern const bcstring be_const_str_HRE_DATA;
-extern const bcstring be_const_str_DDSU666_RX;
-extern const bcstring be_const_str_reverse_gamma10;
-extern const bcstring be_const_str_SM16716_SEL;
-extern const bcstring be_const_str_TASMOTACLIENT_RST_INV;
-extern const bcstring be_const_str_add_rule;
-extern const bcstring be_const_str_resize;
-extern const bcstring be_const_str_resp_cmnd_error;
-extern const bcstring be_const_str_ADC_BUTTON_INV;
-extern const bcstring be_const_str_TASMOTACLIENT_TXD;
-extern const bcstring be_const_str_MP3_DFR562;
-extern const bcstring be_const_str_RC522_RST;
-extern const bcstring be_const_str_SYMBOL_LEFT;
-extern const bcstring be_const_str_rad;
-extern const bcstring be_const_str_ARIRFSEL;
-extern const bcstring be_const_str_MHZ_TXD;
-extern const bcstring be_const_str_SAIR_TX;
-extern const bcstring be_const_str_sinh;
-extern const bcstring be_const_str_lv_group_focus_cb;
-extern const bcstring be_const_str_SENSOR_END;
-extern const bcstring be_const_str_assert;
-extern const bcstring be_const_str_reverse;
-extern const bcstring be_const_str_codedump;
-extern const bcstring be_const_str_CNTR1;
-extern const bcstring be_const_str_lv_draw_mask_saved;
-extern const bcstring be_const_str_read;
-extern const bcstring be_const_str_DDS2382_TX;
-extern const bcstring be_const_str_ROT1B_NP;
-extern const bcstring be_const_str_SSPI_MISO;
-extern const bcstring be_const_str___upper__;
-extern const bcstring be_const_str_pop;
-extern const bcstring be_const_str_SDCARD_CS;
-extern const bcstring be_const_str__write;
-extern const bcstring be_const_str_lv_draw_mask_line_param_cfg;
-extern const bcstring be_const_str_setmember;
-extern const bcstring be_const_str_I2C_Driver;
-extern const bcstring be_const_str_addr;
-extern const bcstring be_const_str_find_key_i;
-extern const bcstring be_const_str_BOILER_OT_TX;
-extern const bcstring be_const_str_P9813_CLK;
-extern const bcstring be_const_str_lv_area;
-extern const bcstring be_const_str_split;
-extern const bcstring be_const_str_CHANGE;
-extern const bcstring be_const_str_SM2135_CLK;
-extern const bcstring be_const_str_ZEROCROSS;
-extern const bcstring be_const_str_i2c_enabled;
-extern const bcstring be_const_str_lv_color;
-extern const bcstring be_const_str_wire1;
-extern const bcstring be_const_str_lv_draw_rect_dsc;
-extern const bcstring be_const_str_seti;
-extern const bcstring be_const_str_ST7789_DC;
-extern const bcstring be_const_str_var;
-extern const bcstring be_const_str_MCP39F5_TX;
-extern const bcstring be_const_str__ccmd;
-extern const bcstring be_const_str_AS608_TX;
-extern const bcstring be_const_str_TM1638CLK;
-extern const bcstring be_const_str_get_free_heap;
-extern const bcstring be_const_str_lv_keyboard;
-extern const bcstring be_const_str_elif;
-extern const bcstring be_const_str_KEY1;
-extern const bcstring be_const_str_LE01MR_TX;
-extern const bcstring be_const_str_lv_tileview;
-extern const bcstring be_const_str_class;
-extern const bcstring be_const_str_BUZZER_INV;
-extern const bcstring be_const_str_lv_roller;
-extern const bcstring be_const_str_ADC_CT_POWER;
-extern const bcstring be_const_str_asstring;
-extern const bcstring be_const_str_lv_draw_mask_angle_param_cfg;
-extern const bcstring be_const_str_save;
-extern const bcstring be_const_str_size;
-extern const bcstring be_const_str_NONE;
-extern const bcstring be_const_str_static;
-extern const bcstring be_const_str_exp;
-extern const bcstring be_const_str_on;
-extern const bcstring be_const_str_BL0940_RX;
-extern const bcstring be_const_str_WIEGAND_D0;
-extern const bcstring be_const_str_check_privileged_access;
-extern const bcstring be_const_str_lv_indev;
-extern const bcstring be_const_str_opt_eq;
-extern const bcstring be_const_str_TFMINIPLUS_RX;
-extern const bcstring be_const_str_PULLDOWN;
-extern const bcstring be_const_str_;
-extern const bcstring be_const_str_arg_name;
-extern const bcstring be_const_str_screenshot;
-extern const bcstring be_const_str_setbits;
-extern const bcstring be_const_str_SYMBOL_LOOP;
-extern const bcstring be_const_str_MHZ_RXD;
-extern const bcstring be_const_str_get_power;
-extern const bcstring be_const_str_lv_font;
-extern const bcstring be_const_str_BACKLIGHT;
-extern const bcstring be_const_str_BS814_CLK;
-extern const bcstring be_const_str_PULLUP;
-extern const bcstring be_const_str_TM1637DIO;
-extern const bcstring be_const_str_lv_btnmatrix;
-extern const bcstring be_const_str_SR04_ECHO;
-extern const bcstring be_const_str_ADE7953_IRQ;
-extern const bcstring be_const_str_classname;
-extern const bcstring be_const_str_str;
-extern const bcstring be_const_str_SYMBOL_PREV;
-extern const bcstring be_const_str_add_driver;
-extern const bcstring be_const_str_content_button;
-extern const bcstring be_const_str_HX711_DAT;
-extern const bcstring be_const_str_dot_p;
-extern const bcstring be_const_str_content_stop;
-extern const bcstring be_const_str_exists;
-extern const bcstring be_const_str_GPS_RX;
-extern const bcstring be_const_str_HX711_SCK;
-extern const bcstring be_const_str_RDM6300_RX;
-extern const bcstring be_const_str_AZ_RXD;
-extern const bcstring be_const_str_Tasmota;
-extern const bcstring be_const_str_ZIGBEE_RX;
-extern const bcstring be_const_str_imax;
-extern const bcstring be_const_str_montserrat_font;
-extern const bcstring be_const_str_srand;
-extern const bcstring be_const_str_time_reached;
-extern const bcstring be_const_str_try_rule;
-extern const bcstring be_const_str_LOW;
-extern const bcstring be_const_str_SDM120_TX;
-extern const bcstring be_const_str_SYMBOL_BELL;
-extern const bcstring be_const_str_tostring;
-extern const bcstring be_const_str_DDS2382_RX;
-extern const bcstring be_const_str_HRXL_RX;
-extern const bcstring be_const_str_button_pressed;
-extern const bcstring be_const_str_lv_arc;
-extern const bcstring be_const_str_SDM120_RX;
-extern const bcstring be_const_str_SYMBOL_POWER;
-extern const bcstring be_const_str_list;
-extern const bcstring be_const_str_lv_bar;
-extern const bcstring be_const_str_lv_linemeter;
-extern const bcstring be_const_str_lv_page;
-extern const bcstring be_const_str_upper;
-extern const bcstring be_const_str_wire_scan;
-extern const bcstring be_const_str_SBR_RX;
-extern const bcstring be_const_str_gamma10;
-extern const bcstring be_const_str_PWM1_INV;
-extern const bcstring be_const_str_exec_rules;
-extern const bcstring be_const_str_ETH_PHY_MDC;
-extern const bcstring be_const_str_content_send_style;
-extern const bcstring be_const_str_run_deferred;
-extern const bcstring be_const_str_SYMBOL_REFRESH;
-extern const bcstring be_const_str_TASMOTACLIENT_RXD;
-extern const bcstring be_const_str_WS2812;
-extern const bcstring be_const_str_PROJECTOR_CTRL_TX;
-extern const bcstring be_const_str_lv_line;
-extern const bcstring be_const_str_SYMBOL_VOLUME_MAX;
-extern const bcstring be_const_str_MAX7219CLK;
-extern const bcstring be_const_str_RF_SENSOR;
-extern const bcstring be_const_str_WEBCAM_PCLK;
-extern const bcstring be_const_str_lv_imgbtn;
-extern const bcstring be_const_str_try;
-extern const bcstring be_const_str_EPD_DATA;
-extern const bcstring be_const_str_cb_dispatch;
-extern const bcstring be_const_str_ADC_PH;
-extern const bcstring be_const_str_DHT11_OUT;
-extern const bcstring be_const_str_SYMBOL_RIGHT;
-extern const bcstring be_const_str_IBEACON_TX;
-extern const bcstring be_const_str_gen_cb;
-extern const bcstring be_const_str_open;
-extern const bcstring be_const_str_OLED_RESET;
-extern const bcstring be_const_str_lv_cpicker;
-extern const bcstring be_const_str_scan;
-extern const bcstring be_const_str_toupper;
-extern const bcstring be_const_str_SDS0X1_RX;
-extern const bcstring be_const_str_content_send;
-extern const bcstring be_const_str_lv_group;
-extern const bcstring be_const_str_AS608_RX;
-extern const bcstring be_const_str_SYMBOL_CHARGE;
extern const bcstring be_const_str_get_light;
-extern const bcstring be_const_str_load_freetype_font;
-extern const bcstring be_const_str_setitem;
-extern const bcstring be_const_str_opt_connect;
-extern const bcstring be_const_str_SDM72_TX;
-extern const bcstring be_const_str_SYMBOL_VOLUME_MID;
-extern const bcstring be_const_str_TELEINFO_ENABLE;
-extern const bcstring be_const_str_collect;
-extern const bcstring be_const_str__timers;
-extern const bcstring be_const_str_add;
-extern const bcstring be_const_str_isinstance;
-extern const bcstring be_const_str_rtc;
-extern const bcstring be_const_str_lv_draw_img_dsc;
-extern const bcstring be_const_str_HIGH;
-extern const bcstring be_const_str_add_cmd;
-extern const bcstring be_const_str_erase;
-extern const bcstring be_const_str_as;
-extern const bcstring be_const_str_DSB;
-extern const bcstring be_const_str_KEY1_INV_NP;
-extern const bcstring be_const_str___lower__;
-extern const bcstring be_const_str_set_light;
-extern const bcstring be_const_str_ARIRFRCV;
-extern const bcstring be_const_str_KEY1_NP;
-extern const bcstring be_const_str_WIEGAND_D1;
-extern const bcstring be_const_str_find_op;
-extern const bcstring be_const_str_NRF24_DC;
-extern const bcstring be_const_str_content_start;
-extern const bcstring be_const_str_SYMBOL_STOP;
-extern const bcstring be_const_str_lv_win;
-extern const bcstring be_const_str_false;
-extern const bcstring be_const_str_A4988_STP;
-extern const bcstring be_const_str_SYMBOL_NEXT;
-extern const bcstring be_const_str_WEBCAM_XCLK;
-extern const bcstring be_const_str_WEBCAM_PSRCS;
-extern const bcstring be_const_str_scale_uint;
-extern const bcstring be_const_str_do;
-extern const bcstring be_const_str_OUTPUT_LO;
-extern const bcstring be_const_str_SSPI_DC;
-extern const bcstring be_const_str_import;
-extern const bcstring be_const_str_push;
-extern const bcstring be_const_str_cos;
-extern const bcstring be_const_str_lv_tabview;
-extern const bcstring be_const_str_set_timer;
-extern const bcstring be_const_str_DEEPSLEEP;
-extern const bcstring be_const_str_ILI9341_DC;
-extern const bcstring be_const_str_yield;
-extern const bcstring be_const_str_SDM630_RX;
-extern const bcstring be_const_str_DI;
-extern const bcstring be_const_str_SYMBOL_BLUETOOTH;
-extern const bcstring be_const_str_lv_draw_label_dsc;
-extern const bcstring be_const_str_update;
-extern const bcstring be_const_str_INPUT;
-extern const bcstring be_const_str_SYMBOL_NEW_LINE;
-extern const bcstring be_const_str_ZIGBEE_RST;
-extern const bcstring be_const_str_SYMBOL_SD_CARD;
-extern const bcstring be_const_str_CC1101_GDO2;
-extern const bcstring be_const_str_MGC3130_XFER;
-extern const bcstring be_const_str__drivers;
-extern const bcstring be_const_str_copy;
-extern const bcstring be_const_str_detect;
-extern const bcstring be_const_str_SR04_TRIG;
-extern const bcstring be_const_str_TUYA_TX;
-extern const bcstring be_const_str__cb;
-extern const bcstring be_const_str_HALLEFFECT;
-extern const bcstring be_const_str_RXD;
-extern const bcstring be_const_str_imin;
-extern const bcstring be_const_str_SYMBOL_VIDEO;
-extern const bcstring be_const_str_SYMBOL_LIST;
-extern const bcstring be_const_str_calldepth;
-extern const bcstring be_const_str_AZ_TXD;
-extern const bcstring be_const_str_DSB_OUT;
-extern const bcstring be_const_str_end;
-extern const bcstring be_const_str_SYMBOL_BATTERY_EMPTY;
-extern const bcstring be_const_str_lv_gauge;
-extern const bcstring be_const_str_for;
-extern const bcstring be_const_str_BUZZER;
-extern const bcstring be_const_str_member;
-extern const bcstring be_const_str_SSPI_SCLK;
-extern const bcstring be_const_str_lv_draw_mask_radius_param;
-extern const bcstring be_const_str_range;
-extern const bcstring be_const_str_issubclass;
-extern const bcstring be_const_str_WEBCAM_HREF;
-extern const bcstring be_const_str_bytes;
-extern const bcstring be_const_str_lv_signal_cb;
-extern const bcstring be_const_str_Driver;
-extern const bcstring be_const_str_OPTION_A;
-extern const bcstring be_const_str_SYMBOL_DUMMY;
-extern const bcstring be_const_str_WEBCAM_HSD;
-extern const bcstring be_const_str_IBEACON_RX;
-extern const bcstring be_const_str_SYMBOL_WIFI;
-extern const bcstring be_const_str_HM10_TX;
-extern const bcstring be_const_str_BOILER_OT_RX;
-extern const bcstring be_const_str_SM16716_CLK;
-extern const bcstring be_const_str_SYMBOL_EJECT;
-extern const bcstring be_const_str_item;
-extern const bcstring be_const_str_SDS0X1_TX;
-extern const bcstring be_const_str_deg;
-extern const bcstring be_const_str_OPEN_DRAIN;
-extern const bcstring be_const_str_SYMBOL_DOWNLOAD;
-extern const bcstring be_const_str_SYMBOL_EDIT;
-extern const bcstring be_const_str_geti;
-extern const bcstring be_const_str_lv_label;
-extern const bcstring be_const_str__rules;
-extern const bcstring be_const_str_insert;
-extern const bcstring be_const_str_register_button_encoder;
-extern const bcstring be_const_str_web_add_config_button;
-extern const bcstring be_const_str_true;
-extern const bcstring be_const_str_SYMBOL_BULLET;
-extern const bcstring be_const_str_SYMBOL_CLOSE;
-extern const bcstring be_const_str_SYMBOL_CUT;
-extern const bcstring be_const_str__request_from;
-extern const bcstring be_const_str_lower;
-extern const bcstring be_const_str_SYMBOL_UPLOAD;
-extern const bcstring be_const_str_ctypes_bytes;
-extern const bcstring be_const_str_lv_draw_mask_common_dsc;
+extern const bcstring be_const_str_lv_tileview;
extern const bcstring be_const_str_LE01MR_RX;
-extern const bcstring be_const_str_web_add_main_button;
+extern const bcstring be_const_str_issubclass;
+extern const bcstring be_const_str_CSE7766_TX;
+extern const bcstring be_const_str_I2C_SCL;
+extern const bcstring be_const_str_response_append;
+extern const bcstring be_const_str_NRF24_CS;
+extern const bcstring be_const_str_PMS5003_TX;
+extern const bcstring be_const_str_run_deferred;
+extern const bcstring be_const_str_read;
+extern const bcstring be_const_str_Wire;
+extern const bcstring be_const_str_allocated;
+extern const bcstring be_const_str_lv_draw_mask_angle_param_cfg;
+extern const bcstring be_const_str_copy;
+extern const bcstring be_const_str_P9813_DAT;
+extern const bcstring be_const_str_SYMBOL_FILE;
+extern const bcstring be_const_str_lv_bar;
+extern const bcstring be_const_str_TXD;
+extern const bcstring be_const_str_lv_tabview;
+extern const bcstring be_const_str_ADC_LIGHT;
+extern const bcstring be_const_str_WEBCAM_PSCLK;
+extern const bcstring be_const_str_srand;
+extern const bcstring be_const_str_KEY1;
+extern const bcstring be_const_str_TELEINFO_RX;
+extern const bcstring be_const_str_SYMBOL_TRASH;
+extern const bcstring be_const_str_split;
+extern const bcstring be_const_str_module;
+extern const bcstring be_const_str_read8;
+extern const bcstring be_const_str_BOILER_OT_TX;
+extern const bcstring be_const_str_ceil;
+extern const bcstring be_const_str_every_100ms;
+extern const bcstring be_const_str_setmember;
+extern const bcstring be_const_str_PZEM017_RX;
+extern const bcstring be_const_str_lv_linemeter;
+extern const bcstring be_const_str_AS608_RX;
+extern const bcstring be_const_str_WEBCAM_XCLK;
+extern const bcstring be_const_str_exec_rules;
extern const bcstring be_const_str_floor;
+extern const bcstring be_const_str_lv_point;
+extern const bcstring be_const_str_web_add_config_button;
+extern const bcstring be_const_str_WS2812;
+extern const bcstring be_const_str_ADC_RANGE;
+extern const bcstring be_const_str_display;
+extern const bcstring be_const_str_lower;
+extern const bcstring be_const_str_REL1;
+extern const bcstring be_const_str_SYMBOL_SETTINGS;
+extern const bcstring be_const_str_SYMBOL_SD_CARD;
+extern const bcstring be_const_str_SYMBOL_VIDEO;
+extern const bcstring be_const_str__timers;
+extern const bcstring be_const_str_str;
+extern const bcstring be_const_str_continue;
+extern const bcstring be_const_str_OPTION_A;
+extern const bcstring be_const_str_SYMBOL_LEFT;
+extern const bcstring be_const_str_MAX7219CS;
+extern const bcstring be_const_str_lv_switch;
+extern const bcstring be_const_str_HX711_DAT;
+extern const bcstring be_const_str_SYMBOL_CALL;
+extern const bcstring be_const_str_ZIGBEE_RX;
+extern const bcstring be_const_str_resp_cmnd;
+extern const bcstring be_const_str_ROT1A_NP;
+extern const bcstring be_const_str_SOLAXX1_TX;
+extern const bcstring be_const_str_SYMBOL_PASTE;
+extern const bcstring be_const_str_gc;
+extern const bcstring be_const_str_isrunning;
+extern const bcstring be_const_str_DHT22;
+extern const bcstring be_const_str__rules;
+extern const bcstring be_const_str_content_start;
+extern const bcstring be_const_str_web_add_management_button;
+extern const bcstring be_const_str_DYP_RX;
+extern const bcstring be_const_str_SDM120_TX;
+extern const bcstring be_const_str_chars_in_string;
+extern const bcstring be_const_str_wire2;
+extern const bcstring be_const_str_SYMBOL_DOWNLOAD;
+extern const bcstring be_const_str_lv_roller;
+extern const bcstring be_const_str_SYMBOL_SHUFFLE;
+extern const bcstring be_const_str_DHT11_OUT;
+extern const bcstring be_const_str_SYMBOL_BATTERY_2;
+extern const bcstring be_const_str_RDM6300_RX;
+extern const bcstring be_const_str_SYMBOL_WARNING;
+extern const bcstring be_const_str_atan;
+extern const bcstring be_const_str_pin;
+extern const bcstring be_const_str_web_add_button;
+extern const bcstring be_const_str_stop;
+extern const bcstring be_const_str_TFMINIPLUS_TX;
+extern const bcstring be_const_str_lv_draw_mask_radius_param;
+extern const bcstring be_const_str_register_button_encoder;
+extern const bcstring be_const_str_classname;
+extern const bcstring be_const_str_millis;
+extern const bcstring be_const_str_montserrat_font;
+extern const bcstring be_const_str_SWT1;
+extern const bcstring be_const_str_number;
+extern const bcstring be_const_str_pin_mode;
+extern const bcstring be_const_str_SHELLY_DIMMER_RST_INV;
+extern const bcstring be_const_str_SYMBOL_MINUS;
+extern const bcstring be_const_str_TFMINIPLUS_RX;
+extern const bcstring be_const_str_lv_list;
+extern const bcstring be_const_str_member;
+extern const bcstring be_const_str_SYMBOL_COPY;
+extern const bcstring be_const_str___iterator__;
+extern const bcstring be_const_str_lv_gauge;
+extern const bcstring be_const_str_resp_cmnd_done;
+extern const bcstring be_const_str_SYMBOL_CUT;
+extern const bcstring be_const_str_KEY1_PD;
+extern const bcstring be_const_str_SSD1351_DC;
+extern const bcstring be_const_str_static;
+extern const bcstring be_const_str_lv_label;
+extern const bcstring be_const_str_SI7021;
extern const bcstring be_const_str_seg7_font;
-extern const bcstring be_const_str_DCKI;
-extern const bcstring be_const_str_I2C_SDA;
+extern const bcstring be_const_str_HIGH;
+extern const bcstring be_const_str_DDSU666_TX;
+extern const bcstring be_const_str_SENSOR_END;
extern const bcstring be_const_str_ILI9341_CS;
+extern const bcstring be_const_str_WEBCAM_DATA;
+extern const bcstring be_const_str_CC1101_GDO0;
+extern const bcstring be_const_str_SYMBOL_EDIT;
+extern const bcstring be_const_str_ctypes_bytes;
+extern const bcstring be_const_str_ILI9488_CS;
+extern const bcstring be_const_str__request_from;
+extern const bcstring be_const_str_SYMBOL_PLUS;
+extern const bcstring be_const_str_acos;
+extern const bcstring be_const_str_HRE_DATA;
+extern const bcstring be_const_str_CSE7761_TX;
+extern const bcstring be_const_str_HJL_CF;
+extern const bcstring be_const_str__ccmd;
+extern const bcstring be_const_str_EPD_DATA;
+extern const bcstring be_const_str_clear;
+extern const bcstring be_const_str_isinstance;
+extern const bcstring be_const_str_I2S_IN_CLK;
+extern const bcstring be_const_str_sin;
+extern const bcstring be_const_str_WEBCAM_PCLK;
+extern const bcstring be_const_str_RA8876_CS;
+extern const bcstring be_const_str_WEBCAM_RESET;
+extern const bcstring be_const_str_on;
+extern const bcstring be_const_str_SM16716_CLK;
+extern const bcstring be_const_str_get_tasmota;
+extern const bcstring be_const_str_load;
+extern const bcstring be_const_str_KEY1_NP;
+extern const bcstring be_const_str_SM16716_DAT;
+extern const bcstring be_const_str_RISING;
+extern const bcstring be_const_str_get_power;
+extern const bcstring be_const_str_lv_gauge_format_cb;
+extern const bcstring be_const_str_INPUT;
+extern const bcstring be_const_str_SDM630_RX;
+extern const bcstring be_const_str_SYMBOL_SAVE;
+extern const bcstring be_const_str_ARIRFSEL;
+extern const bcstring be_const_str_begin;
+extern const bcstring be_const_str_NEOPOOL_TX;
+extern const bcstring be_const_str_asstring;
+extern const bcstring be_const_str_count;
+extern const bcstring be_const_str_SSD1331_DC;
+extern const bcstring be_const_str_lv_btnmatrix;
+extern const bcstring be_const_str_TUYA_RX;
+extern const bcstring be_const_str_FTC532;
+extern const bcstring be_const_str_MHZ_RXD;
+extern const bcstring be_const_str_SBR_RX;
+extern const bcstring be_const_str_BS814_DAT;
+extern const bcstring be_const_str_SYMBOL_IMAGE;
+extern const bcstring be_const_str_iter;
+extern const bcstring be_const_str_lv_draw_mask_common_dsc;
+extern const bcstring be_const_str_setrange;
+extern const bcstring be_const_str_concat;
+extern const bcstring be_const_str_def;
+extern const bcstring be_const_str_SYMBOL_MUTE;
+extern const bcstring be_const_str_add;
+extern const bcstring be_const_str_lv_dropdown;
+extern const bcstring be_const_str_ST7789_DC;
+extern const bcstring be_const_str_format;
+extern const bcstring be_const_str_SYMBOL_WIFI;
+extern const bcstring be_const_str_byte;
+extern const bcstring be_const_str_lv_obj;
+extern const bcstring be_const_str_remove;
+extern const bcstring be_const_str_DSB_OUT;
+extern const bcstring be_const_str_open;
+extern const bcstring be_const_str_has_arg;
+extern const bcstring be_const_str_I2C_SDA;
+extern const bcstring be_const_str_content_send_style;
+extern const bcstring be_const_str_find_key_i;
+extern const bcstring be_const_str__begin_transmission;
+extern const bcstring be_const_str_DHT11;
+extern const bcstring be_const_str_MAX7219CLK;
+extern const bcstring be_const_str_SDM72_TX;
+extern const bcstring be_const_str_VL53L0X_XSHUT1;
+extern const bcstring be_const_str_lv_draw_mask_map_param_cfg;
+extern const bcstring be_const_str_opt_eq;
+extern const bcstring be_const_str_HM10_TX;
+extern const bcstring be_const_str_ROT1B;
+extern const bcstring be_const_str_bus;
+extern const bcstring be_const_str_lv_draw_img_dsc;
+extern const bcstring be_const_str_BACKLIGHT;
+extern const bcstring be_const_str_setbits;
+extern const bcstring be_const_str_DSB;
+extern const bcstring be_const_str_HRXL_RX;
+extern const bcstring be_const_str_codedump;
+extern const bcstring be_const_str_reverse;
+extern const bcstring be_const_str_write;
+extern const bcstring be_const_str_NRF24_DC;
+extern const bcstring be_const_str_type;
+extern const bcstring be_const_str_KEY1_INV_NP;
+extern const bcstring be_const_str_SDCARD_CS;
+extern const bcstring be_const_str_GPS_TX;
+extern const bcstring be_const_str_REL1_INV;
+extern const bcstring be_const_str_lv_msgbox;
+extern const bcstring be_const_str_SYMBOL_POWER;
+extern const bcstring be_const_str_delay;
+extern const bcstring be_const_str_tan;
+extern const bcstring be_const_str_SYMBOL_BATTERY_3;
+extern const bcstring be_const_str_json_append;
+extern const bcstring be_const_str_SSD1331_CS;
+extern const bcstring be_const_str_lv_draw_mask_line_param_cfg;
+extern const bcstring be_const_str_ADC_BUTTON;
+extern const bcstring be_const_str_lv_led;
+extern const bcstring be_const_str_do;
+extern const bcstring be_const_str_opt_call;
+extern const bcstring be_const_str_MD5;
+extern const bcstring be_const_str_SPI_CLK;
+extern const bcstring be_const_str_SYMBOL_EYE_OPEN;
+extern const bcstring be_const_str_SYMBOL_HOME;
+extern const bcstring be_const_str_web_add_main_button;
+extern const bcstring be_const_str_OPEN_DRAIN;
+extern const bcstring be_const_str_I2S_OUT_CLK;
+extern const bcstring be_const_str_lv_cont;
+extern const bcstring be_const_str_save_before_restart;
+extern const bcstring be_const_str_PN532_RXD;
+extern const bcstring be_const_str_load_font;
+extern const bcstring be_const_str_lv_style;
+extern const bcstring be_const_str_ADC_BUTTON_INV;
+extern const bcstring be_const_str_LMT01;
+extern const bcstring be_const_str_detect;
+extern const bcstring be_const_str_input;
+extern const bcstring be_const_str_tostring;
+extern const bcstring be_const_str_FALLING;
+extern const bcstring be_const_str_HLW_CF;
+extern const bcstring be_const_str_HPMA_RX;
+extern const bcstring be_const_str_read12;
+extern const bcstring be_const_str_DDS2382_TX;
+extern const bcstring be_const_str_list;
+extern const bcstring be_const_str_lv_chart;
+extern const bcstring be_const_str_lv_indev;
+extern const bcstring be_const_str_pin_used;
+extern const bcstring be_const_str_;
+extern const bcstring be_const_str_lv_font;
+extern const bcstring be_const_str_memory;
+extern const bcstring be_const_str_DDS2382_RX;
+extern const bcstring be_const_str_SYMBOL_DIRECTORY;
+extern const bcstring be_const_str_erase;
+extern const bcstring be_const_str_getbits;
+extern const bcstring be_const_str_pow;
+extern const bcstring be_const_str_reverse_gamma10;
+extern const bcstring be_const_str_save;
+extern const bcstring be_const_str_ADC_JOY;
+extern const bcstring be_const_str_SYMBOL_CLOSE;
+extern const bcstring be_const_str_name;
+extern const bcstring be_const_str_CHANGE;
+extern const bcstring be_const_str_LED1;
+extern const bcstring be_const_str_PN532_TXD;
+extern const bcstring be_const_str_sqrt;
+extern const bcstring be_const_str_SSPI_MOSI;
+extern const bcstring be_const_str_SSPI_SCLK;
+extern const bcstring be_const_str_resolvecmnd;
+extern const bcstring be_const_str_exp;
+extern const bcstring be_const_str_set_timer;
+extern const bcstring be_const_str_collect;
+extern const bcstring be_const_str_SWT1_NP;
+extern const bcstring be_const_str_TM1638DIO;
+extern const bcstring be_const_str_i2c_enabled;
+extern const bcstring be_const_str_PZEM016_RX;
+extern const bcstring be_const_str_lv_group_focus_cb;
+extern const bcstring be_const_str_RFRECV;
+extern const bcstring be_const_str_A4988_MS1;
+extern const bcstring be_const_str_SAIR_RX;
+extern const bcstring be_const_str__cmd;
+extern const bcstring be_const_str_compile;
+extern const bcstring be_const_str_RXD;
+extern const bcstring be_const_str_SYMBOL_PLAY;
+extern const bcstring be_const_str_lv_img;
+extern const bcstring be_const_str_super;
+extern const bcstring be_const_str_SAIR_TX;
+extern const bcstring be_const_str_SDM120_RX;
+extern const bcstring be_const_str_attrdump;
+extern const bcstring be_const_str_elif;
+extern const bcstring be_const_str_WEBCAM_HREF;
+extern const bcstring be_const_str__drivers;
+extern const bcstring be_const_str_import;
+extern const bcstring be_const_str_SYMBOL_OK;
+extern const bcstring be_const_str_geti;
+extern const bcstring be_const_str_lv_calendar;
+extern const bcstring be_const_str_CSE7761_RX;
+extern const bcstring be_const_str_WINDMETER_SPEED;
+extern const bcstring be_const_str_find;
extern const bcstring be_const_str_lv_cb;
+extern const bcstring be_const_str_WEBCAM_HSD;
+extern const bcstring be_const_str_SYMBOL_KEYBOARD;
+extern const bcstring be_const_str_SYMBOL_DRIVE;
+extern const bcstring be_const_str_AudioGeneratorMP3;
+extern const bcstring be_const_str_close;
+extern const bcstring be_const_str_BOILER_OT_RX;
+extern const bcstring be_const_str_TCP_RX;
+extern const bcstring be_const_str_XPT2046_CS;
+extern const bcstring be_const_str_ADC_CT_POWER;
+extern const bcstring be_const_str_every_second;
+extern const bcstring be_const_str_lv_draw_rect_dsc;
+extern const bcstring be_const_str_asin;
+extern const bcstring be_const_str_load_freetype_font;
+extern const bcstring be_const_str_resize;
+extern const bcstring be_const_str_TASMOTACLIENT_RXD;
+extern const bcstring be_const_str_scan;
+extern const bcstring be_const_str_HRE_CLOCK;
+extern const bcstring be_const_str_MAX7219DIN;
+extern const bcstring be_const_str_SYMBOL_DUMMY;
+extern const bcstring be_const_str_NRG_SEL;
+extern const bcstring be_const_str_SPI_MOSI;
+extern const bcstring be_const_str_AudioFileSource;
+extern const bcstring be_const_str_AudioOutput;
+extern const bcstring be_const_str_ETH_PHY_MDC;
+extern const bcstring be_const_str_IEM3000_TX;
+extern const bcstring be_const_str_imax;
+extern const bcstring be_const_str_OUTPUT_OPEN_DRAIN;
+extern const bcstring be_const_str_SYMBOL_BELL;
+extern const bcstring be_const_str_redirect;
+extern const bcstring be_const_str_SPI_DC;
+extern const bcstring be_const_str_lv_draw_mask_saved;
+extern const bcstring be_const_str_TASMOTACLIENT_RST;
+extern const bcstring be_const_str_lv_canvas;
+extern const bcstring be_const_str_lv_sqrt_res;
+extern const bcstring be_const_str_MHZ_TXD;
+extern const bcstring be_const_str_resp_cmnd_error;
+extern const bcstring be_const_str_AS3935;
+extern const bcstring be_const_str_deg;
+extern const bcstring be_const_str_var;
+extern const bcstring be_const_str_SYMBOL_CHARGE;
+extern const bcstring be_const_str_TASMOTACLIENT_TXD;
+extern const bcstring be_const_str_lv_table;
+extern const bcstring be_const_str_opt_neq;
+extern const bcstring be_const_str_PROJECTOR_CTRL_RX;
+extern const bcstring be_const_str_DCKI;
+extern const bcstring be_const_str_KEY1_INV;
+extern const bcstring be_const_str_imin;
+extern const bcstring be_const_str_lv_draw_mask_angle_param;
+extern const bcstring be_const_str_PWM1;
+extern const bcstring be_const_str_ZIGBEE_TX;
+extern const bcstring be_const_str_assert;
+extern const bcstring be_const_str_resp_cmnd_failed;
+extern const bcstring be_const_str_web_add_console_button;
+extern const bcstring be_const_str_PULLUP;
+extern const bcstring be_const_str_ARIRFRCV;
+extern const bcstring be_const_str_AudioOutputI2S;
+extern const bcstring be_const_str_LE01MR_TX;
+extern const bcstring be_const_str_MCP39F5_RX;
+extern const bcstring be_const_str_ROT1B_NP;
+extern const bcstring be_const_str_TM1638STB;
+extern const bcstring be_const_str_SM2135_CLK;
+extern const bcstring be_const_str_SYMBOL_AUDIO;
+extern const bcstring be_const_str_tanh;
+extern const bcstring be_const_str_if;
+extern const bcstring be_const_str_IBEACON_TX;
+extern const bcstring be_const_str__read;
+extern const bcstring be_const_str_ILI9341_DC;
+extern const bcstring be_const_str_PULLDOWN;
+extern const bcstring be_const_str_RF_SENSOR;
+extern const bcstring be_const_str_lv_color;
+extern const bcstring be_const_str_I2C_Driver;
+extern const bcstring be_const_str_KEY1_TC;
+extern const bcstring be_const_str__buffer;
+extern const bcstring be_const_str_add_driver;
+extern const bcstring be_const_str_find_op;
+extern const bcstring be_const_str_rand;
+extern const bcstring be_const_str_IBEACON_RX;
+extern const bcstring be_const_str_LEDLNK;
+extern const bcstring be_const_str_HALLEFFECT;
+extern const bcstring be_const_str_SR04_TRIG;
+extern const bcstring be_const_str_SYMBOL_NEXT;
+extern const bcstring be_const_str_SYMBOL_USB;
+extern const bcstring be_const_str_OUTPUT_HI;
+extern const bcstring be_const_str_SPI_MISO;
+extern const bcstring be_const_str_time_dump;
+extern const bcstring be_const_str_CSE7766_RX;
+extern const bcstring be_const_str_SPI_CS;
+extern const bcstring be_const_str_lv_line;
+extern const bcstring be_const_str_write_bit;
+extern const bcstring be_const_str_class;
+extern const bcstring be_const_str_SYMBOL_LOOP;
+extern const bcstring be_const_str_WEBCAM_SIOC;
+extern const bcstring be_const_str_cosh;
+extern const bcstring be_const_str_INPUT_PULLDOWN;
+extern const bcstring be_const_str_WE517_RX;
+extern const bcstring be_const_str_AudioFileSourceFS;
+extern const bcstring be_const_str_ZEROCROSS;
+extern const bcstring be_const_str_get;
+extern const bcstring be_const_str_resp_cmnd_str;
+extern const bcstring be_const_str_DI;
+extern const bcstring be_const_str_ROT1A;
+extern const bcstring be_const_str_SYMBOL_UPLOAD;
+extern const bcstring be_const_str_deinit;
+extern const bcstring be_const_str_write8;
+extern const bcstring be_const_str_I2S_OUT_DATA;
+extern const bcstring be_const_str_SSD1351_CS;
+extern const bcstring be_const_str_SSPI_CS;
+extern const bcstring be_const_str_PZEM004_RX;
+extern const bcstring be_const_str_loop;
+extern const bcstring be_const_str_ADC_TEMP;
+extern const bcstring be_const_str_BL0940_RX;
+extern const bcstring be_const_str___lower__;
+extern const bcstring be_const_str_yield;
+extern const bcstring be_const_str_raise;
+extern const bcstring be_const_str_lv_group;
+extern const bcstring be_const_str_size;
+extern const bcstring be_const_str_DDSU666_RX;
+extern const bcstring be_const_str_SYMBOL_REFRESH;
+extern const bcstring be_const_str_lv_draw_mask_fade_param;
+extern const bcstring be_const_str_range;
+extern const bcstring be_const_str_ADE7953_IRQ;
+extern const bcstring be_const_str_AZ_RXD;
+extern const bcstring be_const_str_SYMBOL_BACKSPACE;
+extern const bcstring be_const_str_SYMBOL_DOWN;
+extern const bcstring be_const_str_calldepth;
+extern const bcstring be_const_str_true;
+extern const bcstring be_const_str_NEOPOOL_RX;
+extern const bcstring be_const_str_keys;
+extern const bcstring be_const_str_MCP39F5_TX;
+extern const bcstring be_const_str_lv_arc;
+extern const bcstring be_const_str_break;
+extern const bcstring be_const_str_HPMA_TX;
+extern const bcstring be_const_str_SOLAXX1_RX;
+extern const bcstring be_const_str_ETH_PHY_MDIO;
+extern const bcstring be_const_str_SR04_ECHO;
+extern const bcstring be_const_str_log;
+extern const bcstring be_const_str_set_light;
+extern const bcstring be_const_str_AZ_TXD;
+extern const bcstring be_const_str_SYMBOL_UP;
+extern const bcstring be_const_str_lv_cpicker;
+extern const bcstring be_const_str_MP3_DFR562;
+extern const bcstring be_const_str_hex;
+extern const bcstring be_const_str_log10;
+extern const bcstring be_const_str_INTERRUPT;
+extern const bcstring be_const_str_SYMBOL_VOLUME_MAX;
+extern const bcstring be_const_str_HX711_SCK;
+extern const bcstring be_const_str_WIEGAND_D1;
+extern const bcstring be_const_str_event;
+extern const bcstring be_const_str_lv_btn;
+extern const bcstring be_const_str_CC1101_GDO2;
+extern const bcstring be_const_str_lv_draw_label_dsc;
+extern const bcstring be_const_str_try;
+extern const bcstring be_const_str_I2S_OUT_SLCT;
+extern const bcstring be_const_str_lv_textarea;
+extern const bcstring be_const_str_A4988_ENA;
+extern const bcstring be_const_str_WEBCAM_PSRCS;
+extern const bcstring be_const_str_publish;
+extern const bcstring be_const_str_SYMBOL_BULLET;
+extern const bcstring be_const_str_WEBCAM_PWDN;
+extern const bcstring be_const_str_Driver;
+extern const bcstring be_const_str_OLED_RESET;
+extern const bcstring be_const_str_SSPI_DC;
+extern const bcstring be_const_str_SYMBOL_BATTERY_EMPTY;
+extern const bcstring be_const_str__write;
+extern const bcstring be_const_str_web_add_handler;
+extern const bcstring be_const_str_RFSEND;
+extern const bcstring be_const_str_pop;
+extern const bcstring be_const_str_HM10_RX;
+extern const bcstring be_const_str_lv_draw_line_dsc;
+extern const bcstring be_const_str_scale_uint;
+extern const bcstring be_const_str_TUYA_TX;
+extern const bcstring be_const_str_TX2X_TXD_BLACK;
+extern const bcstring be_const_str_push;
+extern const bcstring be_const_str_GPS_RX;
+extern const bcstring be_const_str_SYMBOL_EJECT;
+extern const bcstring be_const_str_classof;
+extern const bcstring be_const_str_item;
+extern const bcstring be_const_str_dot_def;
+extern const bcstring be_const_str_SSPI_MAX31865_CS1;
+extern const bcstring be_const_str_for;
+extern const bcstring be_const_str_DEEPSLEEP;
+extern const bcstring be_const_str_ST7789_CS;
+extern const bcstring be_const_str_while;
+extern const bcstring be_const_str_TELEINFO_ENABLE;
+extern const bcstring be_const_str__cb;
+extern const bcstring be_const_str_TM1637DIO;
+extern const bcstring be_const_str_arg_size;
+extern const bcstring be_const_str_lv_keyboard;
+extern const bcstring be_const_str_SDM630_TX;
+extern const bcstring be_const_str_abs;
+extern const bcstring be_const_str_RC522_RST;
+extern const bcstring be_const_str_SYMBOL_BLUETOOTH;
+extern const bcstring be_const_str_WEBCAM_VSYNC;
+extern const bcstring be_const_str_set_power;
+extern const bcstring be_const_str_opt_connect;
+extern const bcstring be_const_str_MAX31855CS;
+extern const bcstring be_const_str_NRG_SEL_INV;
+extern const bcstring be_const_str_TM1638CLK;
+extern const bcstring be_const_str___upper__;
+extern const bcstring be_const_str_bytes;
+extern const bcstring be_const_str_gamma8;
+extern const bcstring be_const_str_lv_spinbox;
+extern const bcstring be_const_str_IRSEND;
+extern const bcstring be_const_str_SDS0X1_RX;
+extern const bcstring be_const_str_tolower;
+extern const bcstring be_const_str_content_stop;
+extern const bcstring be_const_str_KEY1_INV_PD;
+extern const bcstring be_const_str_rad;
+extern const bcstring be_const_str_time_reached;
+extern const bcstring be_const_str_SDS0X1_TX;
+extern const bcstring be_const_str_cmd;
+extern const bcstring be_const_str_init;
+extern const bcstring be_const_str_wire_scan;
+extern const bcstring be_const_str_digital_write;
+extern const bcstring be_const_str_SYMBOL_RIGHT;
+extern const bcstring be_const_str_ETH_PHY_POWER;
+extern const bcstring be_const_str_SYMBOL_BATTERY_FULL;
+extern const bcstring be_const_str_arg_name;
+extern const bcstring be_const_str_start;
+extern const bcstring be_const_str_except;
+extern const bcstring be_const_str_TASMOTACLIENT_RST_INV;
+extern const bcstring be_const_str_SWT1_PD;
+extern const bcstring be_const_str_add_cmd;
+extern const bcstring be_const_str_int;
+extern const bcstring be_const_str_lv_draw_mask_line_param;
+extern const bcstring be_const_str_AudioGenerator;
+extern const bcstring be_const_str_BS814_CLK;
+extern const bcstring be_const_str_CNTR1_NP;
+extern const bcstring be_const_str_MAX31855CLK;
+extern const bcstring be_const_str_WEBCAM_SIOD;
+extern const bcstring be_const_str_exists;
+extern const bcstring be_const_str_map;
+extern const bcstring be_const_str_ADC_INPUT;
+extern const bcstring be_const_str_EXS_ENABLE;
+extern const bcstring be_const_str_update;
+extern const bcstring be_const_str_LOW;
+extern const bcstring be_const_str_SDM72_RX;
+extern const bcstring be_const_str_SYMBOL_PAUSE;
+extern const bcstring be_const_str_every_50ms;
+extern const bcstring be_const_str_get_option;
+extern const bcstring be_const_str_sinh;
+extern const bcstring be_const_str_LED1_INV;
+extern const bcstring be_const_str_button_pressed;
+extern const bcstring be_const_str_set;
+extern const bcstring be_const_str_EPAPER29_CS;
+extern const bcstring be_const_str_end;
+extern const bcstring be_const_str_OUTPUT;
+extern const bcstring be_const_str_lv_draw_mask_fade_param_cfg;
+extern const bcstring be_const_str_I2S_IN_DATA;
+extern const bcstring be_const_str_lv_area;
+extern const bcstring be_const_str_SM2135_DAT;
+extern const bcstring be_const_str_traceback;
+extern const bcstring be_const_str_INPUT_PULLUP;
+extern const bcstring be_const_str_SBR_TX;
+extern const bcstring be_const_str_char;
+extern const bcstring be_const_str_lv_design_cb;
+extern const bcstring be_const_str_I2S_IN_SLCT;
+extern const bcstring be_const_str_PWM1_INV;
+extern const bcstring be_const_str_lv_checkbox;
+extern const bcstring be_const_str_print;
+extern const bcstring be_const_str_TCP_TX;
+extern const bcstring be_const_str_finish;
+extern const bcstring be_const_str_remove_rule;
+extern const bcstring be_const_str_content_button;
+extern const bcstring be_const_str_BUZZER;
+extern const bcstring be_const_str_digital_read;
+extern const bcstring be_const_str_lv_slider;
+extern const bcstring be_const_str_pi;
+extern const bcstring be_const_str_MIEL_HVAC_TX;
+extern const bcstring be_const_str_arg;
+extern const bcstring be_const_str_else;
+extern const bcstring be_const_str_content_send;
+extern const bcstring be_const_str_lv_win;
+extern const bcstring be_const_str_opt_add;
+extern const bcstring be_const_str_content_flush;
+extern const bcstring be_const_str_lv_imgbtn;
+extern const bcstring be_const_str_rtc;
+extern const bcstring be_const_str_wire1;
+extern const bcstring be_const_str_ADC_PH;
+extern const bcstring be_const_str_AS608_TX;
+extern const bcstring be_const_str_gen_cb;
+extern const bcstring be_const_str_get_free_heap;
+extern const bcstring be_const_str_toupper;
+extern const bcstring be_const_str_upper;
+extern const bcstring be_const_str_SYMBOL_LIST;
+extern const bcstring be_const_str_web_sensor;
+extern const bcstring be_const_str_SYMBOL_BATTERY_1;
+extern const bcstring be_const_str_lv_event_cb;
+extern const bcstring be_const_str_write_bytes;
+extern const bcstring be_const_str_SYMBOL_EYE_CLOSE;
+extern const bcstring be_const_str_SSPI_MISO;
+extern const bcstring be_const_str_SHELLY_DIMMER_BOOT0;
+extern const bcstring be_const_str_dump;
+extern const bcstring be_const_str_lv_draw_mask_radius_param_cfg;
+extern const bcstring be_const_str_lv_page;
+extern const bcstring be_const_str_try_rule;
+extern const bcstring be_const_str_web_send_decimal;
+extern const bcstring be_const_str_MGC3130_RESET;
+extern const bcstring be_const_str_state;
+extern const bcstring be_const_str_MAX31855DO;
+extern const bcstring be_const_str_read13;
+extern const bcstring be_const_str_SYMBOL_NEW_LINE;
+extern const bcstring be_const_str_TM1637CLK;
+extern const bcstring be_const_str_ZIGBEE_RST;
+extern const bcstring be_const_str__end_transmission;
+extern const bcstring be_const_str_top;
+extern const bcstring be_const_str_A4988_DIR;
+extern const bcstring be_const_str_return;
+extern const bcstring be_const_str_PROJECTOR_CTRL_TX;
+extern const bcstring be_const_str_as;
+extern const bcstring be_const_str_dot_p;
+extern const bcstring be_const_str_NONE;
+extern const bcstring be_const_str_P9813_CLK;
+extern const bcstring be_const_str_SYMBOL_STOP;
+extern const bcstring be_const_str_OUTPUT_LO;
+extern const bcstring be_const_str_WIEGAND_D0;
+extern const bcstring be_const_str_PMS5003_RX;
+extern const bcstring be_const_str_lv_spinner;
+extern const bcstring be_const_str_seti;
+extern const bcstring be_const_str_BUZZER_INV;
+extern const bcstring be_const_str__available;
+extern const bcstring be_const_str_lv_objmask;
+extern const bcstring be_const_str_read_bytes;
+extern const bcstring be_const_str_call;
+extern const bcstring be_const_str_exec_cmd;
+extern const bcstring be_const_str_gamma10;
+extern const bcstring be_const_str_screenshot;
+extern const bcstring be_const_str_web_send;
+extern const bcstring be_const_str_MIEL_HVAC_RX;
+extern const bcstring be_const_str_false;
+extern const bcstring be_const_str_RC522_CS;
+extern const bcstring be_const_str_WE517_TX;
+extern const bcstring be_const_str_cos;
+extern const bcstring be_const_str_EPAPER42_CS;
+extern const bcstring be_const_str_SYMBOL_GPS;
+extern const bcstring be_const_str_SYMBOL_VOLUME_MID;
+extern const bcstring be_const_str__get_cb;
+extern const bcstring be_const_str_insert;
+extern const bcstring be_const_str_real;
+extern const bcstring be_const_str_ELECTRIQ_MOODL_TX;
+extern const bcstring be_const_str_IEM3000_RX;
+extern const bcstring be_const_str_addr;
+extern const bcstring be_const_str_check_privileged_access;
+extern const bcstring be_const_str_lv_signal_cb;
+extern const bcstring be_const_str_CNTR1;
+extern const bcstring be_const_str_cb_dispatch;
+extern const bcstring be_const_str_time_str;
+extern const bcstring be_const_str_IRRECV;
+extern const bcstring be_const_str_LEDLNK_INV;
+extern const bcstring be_const_str_NRG_CF1;
+extern const bcstring be_const_str_SYMBOL_PREV;
+extern const bcstring be_const_str_nil;
+extern const bcstring be_const_str_read24;
+extern const bcstring be_const_str_MCP39F5_RST;
+extern const bcstring be_const_str_remove_cmd;
+extern const bcstring be_const_str_wire;
+extern const bcstring be_const_str_A4988_STP;
+extern const bcstring be_const_str_read32;
+extern const bcstring be_const_str_fromstring;
+extern const bcstring be_const_str_MGC3130_XFER;
+extern const bcstring be_const_str_Tasmota;
+extern const bcstring be_const_str_lv_draw_mask_map_param;
+extern const bcstring be_const_str_PZEM0XX_TX;
+extern const bcstring be_const_str_SM16716_SEL;
+extern const bcstring be_const_str_add_rule;
+extern const bcstring be_const_str_setitem;
diff --git a/lib/libesp32/Berry/generate/be_const_strtab_def.h b/lib/libesp32/Berry/generate/be_const_strtab_def.h
index 988eca7bc..c9df0c8c4 100644
--- a/lib/libesp32/Berry/generate/be_const_strtab_def.h
+++ b/lib/libesp32/Berry/generate/be_const_strtab_def.h
@@ -1,950 +1,983 @@
-be_define_const_str(lv_style, "lv_style", 4151611549u, 0, 8, NULL);
-be_define_const_str(ETH_PHY_MDIO, "ETH_PHY_MDIO", 3261871568u, 0, 12, &be_const_str_SYMBOL_PLUS);
-be_define_const_str(SYMBOL_PLUS, "SYMBOL_PLUS", 2860093262u, 0, 11, &be_const_str_hex);
-be_define_const_str(hex, "hex", 4273249610u, 0, 3, &be_const_str_setrange);
-be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL);
-be_define_const_str(bus, "bus", 1607822841u, 0, 3, &be_const_str_concat);
-be_define_const_str(concat, "concat", 4124019837u, 0, 6, &be_const_str_raise);
-be_define_const_str(raise, "raise", 1593437475u, 70, 5, NULL);
-be_define_const_str(ROT1A, "ROT1A", 759599716u, 0, 5, &be_const_str_SPI_CLK);
-be_define_const_str(SPI_CLK, "SPI_CLK", 3943233814u, 0, 7, &be_const_str_SYMBOL_MINUS);
-be_define_const_str(SYMBOL_MINUS, "SYMBOL_MINUS", 1806749158u, 0, 12, &be_const_str_WEBCAM_PSCLK);
-be_define_const_str(WEBCAM_PSCLK, "WEBCAM_PSCLK", 3150007456u, 0, 12, &be_const_str_top);
-be_define_const_str(top, "top", 2802900028u, 0, 3, NULL);
-be_define_const_str(EPAPER42_CS, "EPAPER42_CS", 3274717451u, 0, 11, &be_const_str_return);
-be_define_const_str(return, "return", 2246981567u, 60, 6, NULL);
-be_define_const_str(MCP39F5_RST, "MCP39F5_RST", 3657125652u, 0, 11, &be_const_str_OUTPUT_OPEN_DRAIN);
-be_define_const_str(OUTPUT_OPEN_DRAIN, "OUTPUT_OPEN_DRAIN", 2147249436u, 0, 17, &be_const_str_write_bytes);
-be_define_const_str(write_bytes, "write_bytes", 1227543792u, 0, 11, NULL);
-be_define_const_str(SYMBOL_SETTINGS, "SYMBOL_SETTINGS", 339656335u, 0, 15, &be_const_str_call);
-be_define_const_str(call, "call", 3018949801u, 0, 4, &be_const_str_lv_draw_mask_angle_param);
-be_define_const_str(lv_draw_mask_angle_param, "lv_draw_mask_angle_param", 4192166041u, 0, 24, NULL);
-be_define_const_str(pi, "pi", 1213090802u, 0, 2, NULL);
-be_define_const_str(acos, "acos", 1006755615u, 0, 4, &be_const_str_atan);
-be_define_const_str(atan, "atan", 108579519u, 0, 4, &be_const_str_content_flush);
-be_define_const_str(content_flush, "content_flush", 214922475u, 0, 13, NULL);
-be_define_const_str(SYMBOL_BACKSPACE, "SYMBOL_BACKSPACE", 1997168681u, 0, 16, &be_const_str_TM1638STB);
-be_define_const_str(TM1638STB, "TM1638STB", 823674593u, 0, 9, NULL);
-be_define_const_str(resp_cmnd, "resp_cmnd", 2869459626u, 0, 9, &be_const_str_web_add_management_button);
-be_define_const_str(web_add_management_button, "web_add_management_button", 2738877186u, 0, 25, NULL);
-be_define_const_str(NRG_SEL, "NRG_SEL", 1771358125u, 0, 7, NULL);
-be_define_const_str(SYMBOL_OK, "SYMBOL_OK", 4033162940u, 0, 9, &be_const_str_Wire);
-be_define_const_str(Wire, "Wire", 1938276536u, 0, 4, NULL);
-be_define_const_str(SYMBOL_BATTERY_3, "SYMBOL_BATTERY_3", 662591301u, 0, 16, &be_const_str_init);
-be_define_const_str(init, "init", 380752755u, 0, 4, &be_const_str_redirect);
-be_define_const_str(redirect, "redirect", 389758641u, 0, 8, NULL);
-be_define_const_str(ADC_TEMP, "ADC_TEMP", 3771053440u, 0, 8, &be_const_str__get_cb);
-be_define_const_str(_get_cb, "_get_cb", 1448849122u, 0, 7, &be_const_str_finish);
-be_define_const_str(finish, "finish", 1494643858u, 0, 6, NULL);
-be_define_const_str(SPI_DC, "SPI_DC", 553259951u, 0, 6, NULL);
-be_define_const_str(MIEL_HVAC_RX, "MIEL_HVAC_RX", 3720609648u, 0, 12, &be_const_str_NEOPOOL_TX);
-be_define_const_str(NEOPOOL_TX, "NEOPOOL_TX", 2924925804u, 0, 10, &be_const_str_SSD1331_CS);
-be_define_const_str(SSD1331_CS, "SSD1331_CS", 4191047928u, 0, 10, &be_const_str_TELEINFO_RX);
-be_define_const_str(TELEINFO_RX, "TELEINFO_RX", 1195717356u, 0, 11, NULL);
-be_define_const_str(SHELLY_DIMMER_RST_INV, "SHELLY_DIMMER_RST_INV", 2366759773u, 0, 21, NULL);
-be_define_const_str(MAX7219CS, "MAX7219CS", 2593198244u, 0, 9, &be_const_str_pin_mode);
-be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, NULL);
-be_define_const_str(SDM72_RX, "SDM72_RX", 766750035u, 0, 8, &be_const_str_SYMBOL_HOME);
-be_define_const_str(SYMBOL_HOME, "SYMBOL_HOME", 730845525u, 0, 11, &be_const_str_TM1637CLK);
-be_define_const_str(TM1637CLK, "TM1637CLK", 2797300857u, 0, 9, &be_const_str_char);
-be_define_const_str(char, "char", 2823553821u, 0, 4, &be_const_str_resp_cmnd_done);
-be_define_const_str(resp_cmnd_done, "resp_cmnd_done", 2601874875u, 0, 14, NULL);
-be_define_const_str(ADC_LIGHT, "ADC_LIGHT", 3982461502u, 0, 9, &be_const_str_ZIGBEE_TX);
-be_define_const_str(ZIGBEE_TX, "ZIGBEE_TX", 25119256u, 0, 9, NULL);
-be_define_const_str(lv_dropdown, "lv_dropdown", 2797165301u, 0, 11, NULL);
-be_define_const_str(A4988_DIR, "A4988_DIR", 2223595843u, 0, 9, &be_const_str_AS3935);
-be_define_const_str(AS3935, "AS3935", 603621745u, 0, 6, &be_const_str_lv_sqrt_res);
-be_define_const_str(lv_sqrt_res, "lv_sqrt_res", 2904473995u, 0, 11, NULL);
-be_define_const_str(IEM3000_TX, "IEM3000_TX", 1185907310u, 0, 10, &be_const_str_cosh);
-be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, &be_const_str_web_sensor);
-be_define_const_str(web_sensor, "web_sensor", 2900096972u, 0, 10, &be_const_str_continue);
-be_define_const_str(continue, "continue", 2977070660u, 59, 8, NULL);
-be_define_const_str(BS814_DAT, "BS814_DAT", 3620403837u, 0, 9, NULL);
-be_define_const_str(opt_add, "+", 772578730u, 0, 1, &be_const_str_A4988_ENA);
-be_define_const_str(A4988_ENA, "A4988_ENA", 1517502682u, 0, 9, &be_const_str_lv_point);
-be_define_const_str(lv_point, "lv_point", 4120221790u, 0, 8, NULL);
-be_define_const_str(delay, "delay", 1322381784u, 0, 5, &be_const_str_resp_cmnd_str);
-be_define_const_str(resp_cmnd_str, "resp_cmnd_str", 737845590u, 0, 13, NULL);
-be_define_const_str(iter, "iter", 3124256359u, 0, 4, NULL);
-be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, &be_const_str_lv_event_cb);
-be_define_const_str(lv_event_cb, "lv_event_cb", 2480731016u, 0, 11, NULL);
-be_define_const_str(CNTR1_NP, "CNTR1_NP", 4288381648u, 0, 8, NULL);
-be_define_const_str(tanh, "tanh", 153638352u, 0, 4, NULL);
-be_define_const_str(lv_objmask, "lv_objmask", 1311221665u, 0, 10, NULL);
-be_define_const_str(SOLAXX1_RX, "SOLAXX1_RX", 971867054u, 0, 10, NULL);
-be_define_const_str(HRE_CLOCK, "HRE_CLOCK", 2870559111u, 0, 9, &be_const_str_MAX31855CS);
-be_define_const_str(MAX31855CS, "MAX31855CS", 753620511u, 0, 10, &be_const_str_SDM630_TX);
-be_define_const_str(SDM630_TX, "SDM630_TX", 696213075u, 0, 9, &be_const_str_every_second);
-be_define_const_str(every_second, "every_second", 2075451465u, 0, 12, NULL);
-be_define_const_str(SYMBOL_AUDIO, "SYMBOL_AUDIO", 3056537956u, 0, 12, NULL);
-be_define_const_str(RC522_CS, "RC522_CS", 2639619996u, 0, 8, &be_const_str_def);
-be_define_const_str(def, "def", 3310976652u, 55, 3, NULL);
-be_define_const_str(REL1, "REL1", 3142397887u, 0, 4, &be_const_str_load_font);
-be_define_const_str(load_font, "load_font", 1875840019u, 0, 9, &be_const_str_real);
-be_define_const_str(real, "real", 3604983901u, 0, 4, &be_const_str_set);
-be_define_const_str(set, "set", 3324446467u, 0, 3, NULL);
-be_define_const_str(PZEM016_RX, "PZEM016_RX", 1004012055u, 0, 10, &be_const_str_SSPI_CS);
-be_define_const_str(SSPI_CS, "SSPI_CS", 977784795u, 0, 7, NULL);
-be_define_const_str(SYMBOL_TRASH, "SYMBOL_TRASH", 3169100368u, 0, 12, &be_const_str_wire);
-be_define_const_str(wire, "wire", 4082753944u, 0, 4, NULL);
-be_define_const_str(REL1_INV, "REL1_INV", 3733155371u, 0, 8, NULL);
-be_define_const_str(FTC532, "FTC532", 3182343438u, 0, 6, &be_const_str_OUTPUT_HI);
-be_define_const_str(OUTPUT_HI, "OUTPUT_HI", 3153592902u, 0, 9, &be_const_str_classof);
-be_define_const_str(classof, "classof", 1796577762u, 0, 7, &be_const_str_web_send_decimal);
-be_define_const_str(web_send_decimal, "web_send_decimal", 1407210204u, 0, 16, NULL);
-be_define_const_str(opt_neq, "!=", 2428715011u, 0, 2, &be_const_str_LED1_INV);
-be_define_const_str(LED1_INV, "LED1_INV", 2112045097u, 0, 8, &be_const_str_load);
-be_define_const_str(load, "load", 3859241449u, 0, 4, NULL);
-be_define_const_str(ADC_INPUT, "ADC_INPUT", 2207556878u, 0, 9, &be_const_str_SPI_CS);
-be_define_const_str(SPI_CS, "SPI_CS", 553701236u, 0, 6, &be_const_str_WEBCAM_RESET);
-be_define_const_str(WEBCAM_RESET, "WEBCAM_RESET", 2171221520u, 0, 12, &be_const_str_ceil);
-be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, &be_const_str_clear);
-be_define_const_str(clear, "clear", 1550717474u, 0, 5, NULL);
-be_define_const_str(cmd, "cmd", 4136785899u, 0, 3, &be_const_str_response_append);
-be_define_const_str(response_append, "response_append", 450346371u, 0, 15, NULL);
-be_define_const_str(lv_btn, "lv_btn", 1612829968u, 0, 6, &be_const_str_lv_draw_line_dsc);
-be_define_const_str(lv_draw_line_dsc, "lv_draw_line_dsc", 2422805236u, 0, 16, NULL);
-be_define_const_str(gc, "gc", 1042313471u, 0, 2, NULL);
-be_define_const_str(WINDMETER_SPEED, "WINDMETER_SPEED", 1980822204u, 0, 15, &be_const_str_number);
-be_define_const_str(number, "number", 467038368u, 0, 6, &be_const_str_write_bit);
-be_define_const_str(write_bit, "write_bit", 2660990436u, 0, 9, NULL);
-be_define_const_str(WEBCAM_SIOC, "WEBCAM_SIOC", 218815147u, 0, 11, NULL);
-be_define_const_str(I2C_SCL, "I2C_SCL", 164217098u, 0, 7, &be_const_str_XPT2046_CS);
-be_define_const_str(XPT2046_CS, "XPT2046_CS", 4049231042u, 0, 10, &be_const_str_lv_calendar);
-be_define_const_str(lv_calendar, "lv_calendar", 3284396894u, 0, 11, NULL);
-be_define_const_str(RISING, "RISING", 1256404539u, 0, 6, &be_const_str_arg);
-be_define_const_str(arg, "arg", 1047474471u, 0, 3, NULL);
-be_define_const_str(_read, "_read", 346717030u, 0, 5, &be_const_str_rand);
-be_define_const_str(rand, "rand", 2711325910u, 0, 4, NULL);
-be_define_const_str(SYMBOL_SHUFFLE, "SYMBOL_SHUFFLE", 1123310147u, 0, 14, NULL);
-be_define_const_str(DDSU666_TX, "DDSU666_TX", 1880604150u, 0, 10, &be_const_str_web_add_button);
-be_define_const_str(web_add_button, "web_add_button", 3537875058u, 0, 14, &be_const_str_except);
-be_define_const_str(except, "except", 950914032u, 69, 6, NULL);
-be_define_const_str(RFRECV, "RFRECV", 354742801u, 0, 6, NULL);
-be_define_const_str(PZEM017_RX, "PZEM017_RX", 3227495894u, 0, 10, &be_const_str_RA8876_CS);
-be_define_const_str(RA8876_CS, "RA8876_CS", 2529944108u, 0, 9, NULL);
-be_define_const_str(KEY1_INV, "KEY1_INV", 263542563u, 0, 8, &be_const_str___iterator__);
-be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str_lv_draw_mask_map_param_cfg);
-be_define_const_str(lv_draw_mask_map_param_cfg, "lv_draw_mask_map_param_cfg", 3822900597u, 0, 26, &be_const_str_module);
-be_define_const_str(module, "module", 3617558685u, 0, 6, NULL);
-be_define_const_str(ADC_BUTTON, "ADC_BUTTON", 3393454690u, 0, 10, NULL);
-be_define_const_str(get_tasmota, "get_tasmota", 334356779u, 0, 11, &be_const_str_read24);
-be_define_const_str(read24, "read24", 1808533811u, 0, 6, &be_const_str_start);
-be_define_const_str(start, "start", 1697318111u, 0, 5, NULL);
-be_define_const_str(MIEL_HVAC_TX, "MIEL_HVAC_TX", 567403014u, 0, 12, &be_const_str_SYMBOL_DRIVE);
-be_define_const_str(SYMBOL_DRIVE, "SYMBOL_DRIVE", 567203502u, 0, 12, &be_const_str_SYMBOL_WARNING);
-be_define_const_str(SYMBOL_WARNING, "SYMBOL_WARNING", 4119913686u, 0, 14, &be_const_str_gamma8);
-be_define_const_str(gamma8, "gamma8", 3802843830u, 0, 6, &be_const_str_lv_draw_mask_line_param);
-be_define_const_str(lv_draw_mask_line_param, "lv_draw_mask_line_param", 2692990704u, 0, 23, &be_const_str_memory);
-be_define_const_str(memory, "memory", 2229924270u, 0, 6, NULL);
-be_define_const_str(SPI_MOSI, "SPI_MOSI", 2494218614u, 0, 8, &be_const_str_digital_read);
-be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, &be_const_str_lv_design_cb);
-be_define_const_str(lv_design_cb, "lv_design_cb", 3822640502u, 0, 12, NULL);
-be_define_const_str(MD5, "MD5", 1935726387u, 0, 3, &be_const_str_get_option);
-be_define_const_str(get_option, "get_option", 2123730033u, 0, 10, &be_const_str_lv_checkbox);
-be_define_const_str(lv_checkbox, "lv_checkbox", 7454841u, 0, 11, NULL);
-be_define_const_str(PMS5003_RX, "PMS5003_RX", 3934985650u, 0, 10, &be_const_str_SYMBOL_BATTERY_2);
-be_define_const_str(SYMBOL_BATTERY_2, "SYMBOL_BATTERY_2", 645813682u, 0, 16, &be_const_str_read32);
-be_define_const_str(read32, "read32", 1741276240u, 0, 6, NULL);
-be_define_const_str(dump, "dump", 3663001223u, 0, 4, NULL);
-be_define_const_str(SYMBOL_EYE_CLOSE, "SYMBOL_EYE_CLOSE", 404721792u, 0, 16, NULL);
-be_define_const_str(SYMBOL_IMAGE, "SYMBOL_IMAGE", 815601151u, 0, 12, &be_const_str_abs);
-be_define_const_str(abs, "abs", 709362235u, 0, 3, &be_const_str_traceback);
-be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, NULL);
-be_define_const_str(HPMA_RX, "HPMA_RX", 3462528998u, 0, 7, &be_const_str_SM16716_DAT);
-be_define_const_str(SM16716_DAT, "SM16716_DAT", 1905621806u, 0, 11, &be_const_str_SYMBOL_PAUSE);
-be_define_const_str(SYMBOL_PAUSE, "SYMBOL_PAUSE", 641998172u, 0, 12, &be_const_str_attrdump);
-be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_lv_draw_mask_fade_param);
-be_define_const_str(lv_draw_mask_fade_param, "lv_draw_mask_fade_param", 2743309964u, 0, 23, NULL);
-be_define_const_str(CC1101_GDO0, "CC1101_GDO0", 940611027u, 0, 11, NULL);
-be_define_const_str(super, "super", 4152230356u, 0, 5, &be_const_str_if);
-be_define_const_str(if, "if", 959999494u, 50, 2, NULL);
-be_define_const_str(TCP_RX, "TCP_RX", 3904354751u, 0, 6, &be_const_str_keys);
-be_define_const_str(keys, "keys", 4182378701u, 0, 4, &be_const_str_lv_led);
-be_define_const_str(lv_led, "lv_led", 3192184733u, 0, 6, &be_const_str_time_dump);
-be_define_const_str(time_dump, "time_dump", 3330410747u, 0, 9, NULL);
-be_define_const_str(HPMA_TX, "HPMA_TX", 173233104u, 0, 7, &be_const_str_PN532_TXD);
-be_define_const_str(PN532_TXD, "PN532_TXD", 3093418644u, 0, 9, &be_const_str_compile);
-be_define_const_str(compile, "compile", 1000265118u, 0, 7, NULL);
-be_define_const_str(TCP_TX, "TCP_TX", 2762594089u, 0, 6, &be_const_str_lv_gauge_format_cb);
-be_define_const_str(lv_gauge_format_cb, "lv_gauge_format_cb", 4073149249u, 0, 18, NULL);
-be_define_const_str(remove_rule, "remove_rule", 3456211328u, 0, 11, NULL);
-be_define_const_str(KEY1_TC, "KEY1_TC", 25685109u, 0, 7, &be_const_str_TASMOTACLIENT_RST);
-be_define_const_str(TASMOTACLIENT_RST, "TASMOTACLIENT_RST", 3326196213u, 0, 17, &be_const_str_tolower);
-be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, &be_const_str_type);
-be_define_const_str(type, "type", 1361572173u, 0, 4, NULL);
-be_define_const_str(lv_cont, "lv_cont", 1391686552u, 0, 7, NULL);
-be_define_const_str(every_100ms, "every_100ms", 1546407804u, 0, 11, &be_const_str_lv_list);
-be_define_const_str(lv_list, "lv_list", 2876551248u, 0, 7, NULL);
-be_define_const_str(CSE7766_TX, "CSE7766_TX", 674624821u, 0, 10, &be_const_str__available);
-be_define_const_str(_available, "_available", 1306196581u, 0, 10, &be_const_str_display);
-be_define_const_str(display, "display", 1164572437u, 0, 7, &be_const_str_sin);
-be_define_const_str(sin, "sin", 3761252941u, 0, 3, NULL);
-be_define_const_str(SM2135_DAT, "SM2135_DAT", 2882726942u, 0, 10, &be_const_str_WEBCAM_SIOD);
-be_define_const_str(WEBCAM_SIOD, "WEBCAM_SIOD", 302703242u, 0, 11, &be_const_str_publish);
-be_define_const_str(publish, "publish", 264247304u, 0, 7, NULL);
-be_define_const_str(input, "input", 4191711099u, 0, 5, &be_const_str_map);
-be_define_const_str(map, "map", 3751997361u, 0, 3, NULL);
-be_define_const_str(IRRECV, "IRRECV", 1743648982u, 0, 6, &be_const_str_SSD1351_CS);
-be_define_const_str(SSD1351_CS, "SSD1351_CS", 488746042u, 0, 10, &be_const_str_SYMBOL_PLAY);
-be_define_const_str(SYMBOL_PLAY, "SYMBOL_PLAY", 1750902100u, 0, 11, NULL);
-be_define_const_str(MGC3130_RESET, "MGC3130_RESET", 405013121u, 0, 13, &be_const_str_SYMBOL_SAVE);
-be_define_const_str(SYMBOL_SAVE, "SYMBOL_SAVE", 2439821015u, 0, 11, &be_const_str_lv_draw_mask_radius_param_cfg);
-be_define_const_str(lv_draw_mask_radius_param_cfg, "lv_draw_mask_radius_param_cfg", 3889386773u, 0, 29, NULL);
-be_define_const_str(resp_cmnd_failed, "resp_cmnd_failed", 2136281562u, 0, 16, NULL);
-be_define_const_str(ADC_RANGE, "ADC_RANGE", 3467329543u, 0, 9, NULL);
-be_define_const_str(PZEM0XX_TX, "PZEM0XX_TX", 944775704u, 0, 10, &be_const_str_SYMBOL_USB);
-be_define_const_str(SYMBOL_USB, "SYMBOL_USB", 1962656552u, 0, 10, &be_const_str_int);
-be_define_const_str(int, "int", 2515107422u, 0, 3, &be_const_str_time_str);
-be_define_const_str(time_str, "time_str", 2613827612u, 0, 8, NULL);
-be_define_const_str(LEDLNK_INV, "LEDLNK_INV", 3559015101u, 0, 10, &be_const_str_VL53L0X_XSHUT1);
-be_define_const_str(VL53L0X_XSHUT1, "VL53L0X_XSHUT1", 2341134183u, 0, 14, &be_const_str_set_power);
-be_define_const_str(set_power, "set_power", 549820893u, 0, 9, NULL);
-be_define_const_str(_end_transmission, "_end_transmission", 3237480400u, 0, 17, NULL);
-be_define_const_str(get, "get", 1410115415u, 0, 3, NULL);
-be_define_const_str(SPI_MISO, "SPI_MISO", 150818010u, 0, 8, &be_const_str_print);
-be_define_const_str(print, "print", 372738696u, 0, 5, NULL);
-be_define_const_str(format, "format", 3114108242u, 0, 6, NULL);
-be_define_const_str(MAX7219DIN, "MAX7219DIN", 380687049u, 0, 10, &be_const_str_lv_img);
-be_define_const_str(lv_img, "lv_img", 2474052327u, 0, 6, NULL);
-be_define_const_str(HM10_RX, "HM10_RX", 515085922u, 0, 7, &be_const_str_allocated);
-be_define_const_str(allocated, "allocated", 429986098u, 0, 9, &be_const_str_while);
-be_define_const_str(while, "while", 231090382u, 53, 5, NULL);
-be_define_const_str(getbits, "getbits", 3094168979u, 0, 7, &be_const_str_lv_spinner);
-be_define_const_str(lv_spinner, "lv_spinner", 3361501901u, 0, 10, &be_const_str_pow);
-be_define_const_str(pow, "pow", 1479764693u, 0, 3, NULL);
-be_define_const_str(A4988_MS1, "A4988_MS1", 1729976611u, 0, 9, &be_const_str_SYMBOL_KEYBOARD);
-be_define_const_str(SYMBOL_KEYBOARD, "SYMBOL_KEYBOARD", 1621492879u, 0, 15, &be_const_str_lv_slider);
-be_define_const_str(lv_slider, "lv_slider", 2274180781u, 0, 9, &be_const_str_read13);
-be_define_const_str(read13, "read13", 12887293u, 0, 6, NULL);
-be_define_const_str(NRF24_CS, "NRF24_CS", 555833194u, 0, 8, &be_const_str_PWM1);
-be_define_const_str(PWM1, "PWM1", 1353352426u, 0, 4, &be_const_str_SWT1);
-be_define_const_str(SWT1, "SWT1", 805224112u, 0, 4, NULL);
-be_define_const_str(SSD1331_DC, "SSD1331_DC", 3386560859u, 0, 10, NULL);
-be_define_const_str(PMS5003_TX, "PMS5003_TX", 3868169364u, 0, 10, &be_const_str_TM1638DIO);
-be_define_const_str(TM1638DIO, "TM1638DIO", 1408212414u, 0, 9, &be_const_str__cmd);
-be_define_const_str(_cmd, "_cmd", 3419822142u, 0, 4, &be_const_str_asin);
-be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_read12);
-be_define_const_str(read12, "read12", 4291076970u, 0, 6, &be_const_str_state);
-be_define_const_str(state, "state", 2016490230u, 0, 5, NULL);
-be_define_const_str(exec_cmd, "exec_cmd", 493567399u, 0, 8, NULL);
-be_define_const_str(HLW_CF, "HLW_CF", 3982619486u, 0, 6, NULL);
-be_define_const_str(SYMBOL_DIRECTORY, "SYMBOL_DIRECTORY", 1886053449u, 0, 16, &be_const_str_SYMBOL_PASTE);
-be_define_const_str(SYMBOL_PASTE, "SYMBOL_PASTE", 2281577421u, 0, 12, &be_const_str_resolvecmnd);
-be_define_const_str(resolvecmnd, "resolvecmnd", 993361485u, 0, 11, NULL);
-be_define_const_str(ST7789_CS, "ST7789_CS", 2937305434u, 0, 9, NULL);
-be_define_const_str(SYMBOL_BATTERY_FULL, "SYMBOL_BATTERY_FULL", 2638935545u, 0, 19, NULL);
-be_define_const_str(log10, "log10", 2346846000u, 0, 5, NULL);
-be_define_const_str(TXD, "TXD", 3614562079u, 0, 3, NULL);
-be_define_const_str(SYMBOL_EYE_OPEN, "SYMBOL_EYE_OPEN", 3449311676u, 0, 15, &be_const_str__buffer);
-be_define_const_str(_buffer, "_buffer", 2044888568u, 0, 7, NULL);
-be_define_const_str(EXS_ENABLE, "EXS_ENABLE", 1896914313u, 0, 10, &be_const_str_HJL_CF);
-be_define_const_str(HJL_CF, "HJL_CF", 786158487u, 0, 6, &be_const_str_lv_draw_mask_fade_param_cfg);
-be_define_const_str(lv_draw_mask_fade_param_cfg, "lv_draw_mask_fade_param_cfg", 4158595197u, 0, 27, NULL);
-be_define_const_str(PROJECTOR_CTRL_RX, "PROJECTOR_CTRL_RX", 1542762460u, 0, 17, NULL);
-be_define_const_str(SBR_TX, "SBR_TX", 3419096015u, 0, 6, &be_const_str_sqrt);
-be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, NULL);
-be_define_const_str(MAX31855DO, "MAX31855DO", 552730368u, 0, 10, &be_const_str_SYMBOL_DOWN);
-be_define_const_str(SYMBOL_DOWN, "SYMBOL_DOWN", 1107513570u, 0, 11, &be_const_str_save_before_restart);
-be_define_const_str(save_before_restart, "save_before_restart", 1253239338u, 0, 19, &be_const_str_write8);
-be_define_const_str(write8, "write8", 3133991532u, 0, 6, NULL);
-be_define_const_str(byte, "byte", 1683620383u, 0, 4, NULL);
-be_define_const_str(write, "write", 3190202204u, 0, 5, NULL);
-be_define_const_str(GPS_TX, "GPS_TX", 4228740808u, 0, 6, NULL);
-be_define_const_str(ELECTRIQ_MOODL_TX, "ELECTRIQ_MOODL_TX", 31009247u, 0, 17, &be_const_str_SYMBOL_BATTERY_1);
-be_define_const_str(SYMBOL_BATTERY_1, "SYMBOL_BATTERY_1", 629036063u, 0, 16, &be_const_str_WE517_RX);
-be_define_const_str(WE517_RX, "WE517_RX", 4096577879u, 0, 8, &be_const_str_digital_write);
-be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, &be_const_str_lv_spinbox);
-be_define_const_str(lv_spinbox, "lv_spinbox", 2666096729u, 0, 10, NULL);
-be_define_const_str(lv_switch, "lv_switch", 3407171508u, 0, 9, &be_const_str_pin);
-be_define_const_str(pin, "pin", 1866532500u, 0, 3, &be_const_str_pin_used);
-be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, NULL);
-be_define_const_str(SAIR_RX, "SAIR_RX", 1273688713u, 0, 7, &be_const_str_SI7021);
-be_define_const_str(SI7021, "SI7021", 864377911u, 0, 6, &be_const_str_WE517_TX);
-be_define_const_str(WE517_TX, "WE517_TX", 2954817217u, 0, 8, &be_const_str_lv_obj);
-be_define_const_str(lv_obj, "lv_obj", 4257833149u, 0, 6, NULL);
-be_define_const_str(SSPI_MAX31865_CS1, "SSPI_MAX31865_CS1", 1256578724u, 0, 17, NULL);
-be_define_const_str(DHT22, "DHT22", 215937903u, 0, 5, &be_const_str_arg_size);
-be_define_const_str(arg_size, "arg_size", 3310243257u, 0, 8, &be_const_str_millis);
-be_define_const_str(millis, "millis", 1214679063u, 0, 6, &be_const_str_remove);
-be_define_const_str(remove, "remove", 3683784189u, 0, 6, NULL);
-be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, &be_const_str_wire2);
-be_define_const_str(wire2, "wire2", 3229499038u, 0, 5, NULL);
-be_define_const_str(SYMBOL_FILE, "SYMBOL_FILE", 237085260u, 0, 11, &be_const_str_lv_canvas);
-be_define_const_str(lv_canvas, "lv_canvas", 142865412u, 0, 9, NULL);
-be_define_const_str(ROT1A_NP, "ROT1A_NP", 2322706903u, 0, 8, &be_const_str_WEBCAM_DATA);
-be_define_const_str(WEBCAM_DATA, "WEBCAM_DATA", 1476954421u, 0, 11, NULL);
-be_define_const_str(IEM3000_RX, "IEM3000_RX", 1117811096u, 0, 10, &be_const_str_NEOPOOL_RX);
-be_define_const_str(NEOPOOL_RX, "NEOPOOL_RX", 1917974474u, 0, 10, &be_const_str_OUTPUT);
-be_define_const_str(OUTPUT, "OUTPUT", 1469629700u, 0, 6, &be_const_str_lv_msgbox);
-be_define_const_str(lv_msgbox, "lv_msgbox", 689085206u, 0, 9, NULL);
-be_define_const_str(has_arg, "has_arg", 424878688u, 0, 7, &be_const_str_lv_table);
-be_define_const_str(lv_table, "lv_table", 1675691020u, 0, 8, NULL);
-be_define_const_str(SSPI_MOSI, "SSPI_MOSI", 3745917497u, 0, 9, NULL);
-be_define_const_str(CSE7761_TX, "CSE7761_TX", 3354719142u, 0, 10, &be_const_str_P9813_DAT);
-be_define_const_str(P9813_DAT, "P9813_DAT", 778577052u, 0, 9, &be_const_str_WEBCAM_PWDN);
-be_define_const_str(WEBCAM_PWDN, "WEBCAM_PWDN", 2219597454u, 0, 11, &be_const_str_count);
-be_define_const_str(count, "count", 967958004u, 0, 5, NULL);
-be_define_const_str(LMT01, "LMT01", 2490623797u, 0, 5, &be_const_str_read8);
-be_define_const_str(read8, "read8", 2802788167u, 0, 5, NULL);
-be_define_const_str(PN532_RXD, "PN532_RXD", 1780093022u, 0, 9, &be_const_str_PZEM004_RX);
-be_define_const_str(PZEM004_RX, "PZEM004_RX", 3411153194u, 0, 10, &be_const_str__begin_transmission);
-be_define_const_str(_begin_transmission, "_begin_transmission", 2779461176u, 0, 19, &be_const_str_web_add_console_button);
-be_define_const_str(web_add_console_button, "web_add_console_button", 3481436192u, 0, 22, &be_const_str_web_add_handler);
-be_define_const_str(web_add_handler, "web_add_handler", 3990174962u, 0, 15, NULL);
-be_define_const_str(INPUT_PULLDOWN, "INPUT_PULLDOWN", 1172232591u, 0, 14, NULL);
-be_define_const_str(CSE7761_RX, "CSE7761_RX", 65423248u, 0, 10, &be_const_str_find);
-be_define_const_str(find, "find", 3186656602u, 0, 4, &be_const_str_break);
-be_define_const_str(break, "break", 3378807160u, 58, 5, NULL);
-be_define_const_str(NRG_SEL_INV, "NRG_SEL_INV", 3567431069u, 0, 11, NULL);
-be_define_const_str(ILI9488_CS, "ILI9488_CS", 2363112073u, 0, 10, &be_const_str_MCP39F5_RX);
-be_define_const_str(MCP39F5_RX, "MCP39F5_RX", 190458217u, 0, 10, &be_const_str_ROT1B);
-be_define_const_str(ROT1B, "ROT1B", 809932573u, 0, 5, NULL);
-be_define_const_str(opt_call, "()", 685372826u, 0, 2, &be_const_str_SOLAXX1_TX);
-be_define_const_str(SOLAXX1_TX, "SOLAXX1_TX", 903770840u, 0, 10, NULL);
-be_define_const_str(SHELLY_DIMMER_BOOT0, "SHELLY_DIMMER_BOOT0", 2948777716u, 0, 19, &be_const_str_WEBCAM_VSYNC);
-be_define_const_str(WEBCAM_VSYNC, "WEBCAM_VSYNC", 4032882166u, 0, 12, &be_const_str_tan);
-be_define_const_str(tan, "tan", 2633446552u, 0, 3, &be_const_str_web_send);
-be_define_const_str(web_send, "web_send", 2989941448u, 0, 8, NULL);
-be_define_const_str(LED1, "LED1", 21005825u, 0, 4, NULL);
-be_define_const_str(INPUT_PULLUP, "INPUT_PULLUP", 2912931654u, 0, 12, &be_const_str_chars_in_string);
-be_define_const_str(chars_in_string, "chars_in_string", 3148785132u, 0, 15, &be_const_str_else);
-be_define_const_str(else, "else", 3183434736u, 52, 4, &be_const_str_nil);
-be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL);
-be_define_const_str(MAX31855CLK, "MAX31855CLK", 715977727u, 0, 11, NULL);
-be_define_const_str(SYMBOL_GPS, "SYMBOL_GPS", 3044165570u, 0, 10, &be_const_str_lv_draw_mask_map_param);
-be_define_const_str(lv_draw_mask_map_param, "lv_draw_mask_map_param", 1666886804u, 0, 22, NULL);
-be_define_const_str(SWT1_NP, "SWT1_NP", 4033043739u, 0, 7, &be_const_str_log);
-be_define_const_str(log, "log", 1062293841u, 0, 3, &be_const_str_read_bytes);
-be_define_const_str(read_bytes, "read_bytes", 3576733173u, 0, 10, NULL);
-be_define_const_str(dot_def, ".def", 4095748648u, 0, 4, &be_const_str_SYMBOL_CALL);
-be_define_const_str(SYMBOL_CALL, "SYMBOL_CALL", 1444504366u, 0, 11, NULL);
-be_define_const_str(DHT11, "DHT11", 367083569u, 0, 5, &be_const_str_NRG_CF1);
-be_define_const_str(NRG_CF1, "NRG_CF1", 3292534757u, 0, 7, &be_const_str_SYMBOL_MUTE);
-be_define_const_str(SYMBOL_MUTE, "SYMBOL_MUTE", 563116043u, 0, 11, NULL);
-be_define_const_str(ETH_PHY_POWER, "ETH_PHY_POWER", 487529454u, 0, 13, NULL);
-be_define_const_str(TFMINIPLUS_TX, "TFMINIPLUS_TX", 2527875337u, 0, 13, NULL);
-be_define_const_str(EPAPER29_CS, "EPAPER29_CS", 3916373594u, 0, 11, &be_const_str_lv_chart);
-be_define_const_str(lv_chart, "lv_chart", 2652494144u, 0, 8, &be_const_str_name);
-be_define_const_str(name, "name", 2369371622u, 0, 4, NULL);
-be_define_const_str(event, "event", 4264611999u, 0, 5, NULL);
-be_define_const_str(ADC_JOY, "ADC_JOY", 1116943612u, 0, 7, &be_const_str_FALLING);
-be_define_const_str(FALLING, "FALLING", 2851701064u, 0, 7, &be_const_str_remove_cmd);
-be_define_const_str(remove_cmd, "remove_cmd", 3832315702u, 0, 10, NULL);
-be_define_const_str(CSE7766_RX, "CSE7766_RX", 1546766819u, 0, 10, &be_const_str_DYP_RX);
-be_define_const_str(DYP_RX, "DYP_RX", 2122310285u, 0, 6, &be_const_str_LEDLNK);
-be_define_const_str(LEDLNK, "LEDLNK", 2862810701u, 0, 6, NULL);
-be_define_const_str(IRSEND, "IRSEND", 184848336u, 0, 6, &be_const_str_lv_textarea);
-be_define_const_str(lv_textarea, "lv_textarea", 2864635074u, 0, 11, NULL);
-be_define_const_str(RFSEND, "RFSEND", 1862630731u, 0, 6, &be_const_str_SSD1351_DC);
-be_define_const_str(SSD1351_DC, "SSD1351_DC", 84950353u, 0, 10, &be_const_str_SYMBOL_COPY);
-be_define_const_str(SYMBOL_COPY, "SYMBOL_COPY", 4193681815u, 0, 11, &be_const_str_SYMBOL_UP);
-be_define_const_str(SYMBOL_UP, "SYMBOL_UP", 3886401511u, 0, 9, NULL);
-be_define_const_str(TX2X_TXD_BLACK, "TX2X_TXD_BLACK", 956526176u, 0, 14, &be_const_str_json_append);
-be_define_const_str(json_append, "json_append", 3002019284u, 0, 11, NULL);
-be_define_const_str(TUYA_RX, "TUYA_RX", 1609397679u, 0, 7, NULL);
-be_define_const_str(HRE_DATA, "HRE_DATA", 1820377643u, 0, 8, NULL);
-be_define_const_str(DDSU666_RX, "DDSU666_RX", 1812507936u, 0, 10, &be_const_str_reverse_gamma10);
-be_define_const_str(reverse_gamma10, "reverse_gamma10", 739112262u, 0, 15, NULL);
-be_define_const_str(SM16716_SEL, "SM16716_SEL", 142377379u, 0, 11, &be_const_str_TASMOTACLIENT_RST_INV);
-be_define_const_str(TASMOTACLIENT_RST_INV, "TASMOTACLIENT_RST_INV", 2601785365u, 0, 21, &be_const_str_add_rule);
-be_define_const_str(add_rule, "add_rule", 596540743u, 0, 8, &be_const_str_resize);
-be_define_const_str(resize, "resize", 3514612129u, 0, 6, &be_const_str_resp_cmnd_error);
-be_define_const_str(resp_cmnd_error, "resp_cmnd_error", 2404088863u, 0, 15, NULL);
-be_define_const_str(ADC_BUTTON_INV, "ADC_BUTTON_INV", 2027625326u, 0, 14, &be_const_str_TASMOTACLIENT_TXD);
-be_define_const_str(TASMOTACLIENT_TXD, "TASMOTACLIENT_TXD", 1386193940u, 0, 17, NULL);
-be_define_const_str(MP3_DFR562, "MP3_DFR562", 2859952977u, 0, 10, &be_const_str_RC522_RST);
-be_define_const_str(RC522_RST, "RC522_RST", 720511443u, 0, 9, &be_const_str_SYMBOL_LEFT);
-be_define_const_str(SYMBOL_LEFT, "SYMBOL_LEFT", 1563517575u, 0, 11, NULL);
-be_define_const_str(rad, "rad", 1358899048u, 0, 3, NULL);
-be_define_const_str(ARIRFSEL, "ARIRFSEL", 233874443u, 0, 8, &be_const_str_MHZ_TXD);
-be_define_const_str(MHZ_TXD, "MHZ_TXD", 3310158233u, 0, 7, &be_const_str_SAIR_TX);
-be_define_const_str(SAIR_TX, "SAIR_TX", 268017311u, 0, 7, &be_const_str_sinh);
-be_define_const_str(sinh, "sinh", 282220607u, 0, 4, NULL);
-be_define_const_str(lv_group_focus_cb, "lv_group_focus_cb", 4288873836u, 0, 17, NULL);
-be_define_const_str(SENSOR_END, "SENSOR_END", 3512542657u, 0, 10, &be_const_str_assert);
-be_define_const_str(assert, "assert", 2774883451u, 0, 6, &be_const_str_reverse);
-be_define_const_str(reverse, "reverse", 558918661u, 0, 7, NULL);
-be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, NULL);
-be_define_const_str(CNTR1, "CNTR1", 510376965u, 0, 5, &be_const_str_lv_draw_mask_saved);
-be_define_const_str(lv_draw_mask_saved, "lv_draw_mask_saved", 2063709159u, 0, 18, &be_const_str_read);
-be_define_const_str(read, "read", 3470762949u, 0, 4, NULL);
-be_define_const_str(DDS2382_TX, "DDS2382_TX", 1438117864u, 0, 10, &be_const_str_ROT1B_NP);
-be_define_const_str(ROT1B_NP, "ROT1B_NP", 3710079736u, 0, 8, NULL);
-be_define_const_str(SSPI_MISO, "SSPI_MISO", 2485347173u, 0, 9, &be_const_str___upper__);
-be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, NULL);
-be_define_const_str(pop, "pop", 1362321360u, 0, 3, NULL);
-be_define_const_str(SDCARD_CS, "SDCARD_CS", 3348952003u, 0, 9, &be_const_str__write);
-be_define_const_str(_write, "_write", 2215462825u, 0, 6, &be_const_str_lv_draw_mask_line_param_cfg);
-be_define_const_str(lv_draw_mask_line_param_cfg, "lv_draw_mask_line_param_cfg", 2154874825u, 0, 27, &be_const_str_setmember);
-be_define_const_str(setmember, "setmember", 1432909441u, 0, 9, NULL);
-be_define_const_str(I2C_Driver, "I2C_Driver", 1714501658u, 0, 10, &be_const_str_addr);
-be_define_const_str(addr, "addr", 1087856498u, 0, 4, &be_const_str_find_key_i);
-be_define_const_str(find_key_i, "find_key_i", 850136726u, 0, 10, NULL);
-be_define_const_str(BOILER_OT_TX, "BOILER_OT_TX", 671743623u, 0, 12, &be_const_str_P9813_CLK);
-be_define_const_str(P9813_CLK, "P9813_CLK", 2455391001u, 0, 9, &be_const_str_lv_area);
-be_define_const_str(lv_area, "lv_area", 2521150401u, 0, 7, &be_const_str_split);
-be_define_const_str(split, "split", 2276994531u, 0, 5, NULL);
-be_define_const_str(CHANGE, "CHANGE", 4280911421u, 0, 6, &be_const_str_SM2135_CLK);
-be_define_const_str(SM2135_CLK, "SM2135_CLK", 2383410011u, 0, 10, &be_const_str_ZEROCROSS);
-be_define_const_str(ZEROCROSS, "ZEROCROSS", 1747596785u, 0, 9, &be_const_str_i2c_enabled);
-be_define_const_str(i2c_enabled, "i2c_enabled", 218388101u, 0, 11, &be_const_str_lv_color);
-be_define_const_str(lv_color, "lv_color", 1419148319u, 0, 8, &be_const_str_wire1);
-be_define_const_str(wire1, "wire1", 3212721419u, 0, 5, NULL);
-be_define_const_str(lv_draw_rect_dsc, "lv_draw_rect_dsc", 3246772488u, 0, 16, &be_const_str_seti);
-be_define_const_str(seti, "seti", 1500556254u, 0, 4, NULL);
-be_define_const_str(ST7789_DC, "ST7789_DC", 2533509745u, 0, 9, NULL);
-be_define_const_str(var, "var", 2317739966u, 64, 3, NULL);
-be_define_const_str(MCP39F5_TX, "MCP39F5_TX", 1332322047u, 0, 10, &be_const_str__ccmd);
-be_define_const_str(_ccmd, "_ccmd", 2163421413u, 0, 5, NULL);
-be_define_const_str(AS608_TX, "AS608_TX", 48630934u, 0, 8, &be_const_str_TM1638CLK);
-be_define_const_str(TM1638CLK, "TM1638CLK", 3045182446u, 0, 9, NULL);
-be_define_const_str(get_free_heap, "get_free_heap", 625069757u, 0, 13, &be_const_str_lv_keyboard);
-be_define_const_str(lv_keyboard, "lv_keyboard", 197530229u, 0, 11, &be_const_str_elif);
-be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL);
-be_define_const_str(KEY1, "KEY1", 6715975u, 0, 4, &be_const_str_LE01MR_TX);
-be_define_const_str(LE01MR_TX, "LE01MR_TX", 1589687023u, 0, 9, &be_const_str_lv_tileview);
-be_define_const_str(lv_tileview, "lv_tileview", 2419887973u, 0, 11, &be_const_str_class);
-be_define_const_str(class, "class", 2872970239u, 57, 5, NULL);
-be_define_const_str(BUZZER_INV, "BUZZER_INV", 3274564335u, 0, 10, NULL);
-be_define_const_str(lv_roller, "lv_roller", 661902064u, 0, 9, NULL);
-be_define_const_str(ADC_CT_POWER, "ADC_CT_POWER", 3382284599u, 0, 12, NULL);
-be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, &be_const_str_lv_draw_mask_angle_param_cfg);
-be_define_const_str(lv_draw_mask_angle_param_cfg, "lv_draw_mask_angle_param_cfg", 3599767368u, 0, 28, &be_const_str_save);
-be_define_const_str(save, "save", 3439296072u, 0, 4, &be_const_str_size);
-be_define_const_str(size, "size", 597743964u, 0, 4, NULL);
-be_define_const_str(NONE, "NONE", 1932136219u, 0, 4, &be_const_str_static);
-be_define_const_str(static, "static", 3532702267u, 71, 6, NULL);
-be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_on);
-be_define_const_str(on, "on", 1630810064u, 0, 2, NULL);
-be_define_const_str(BL0940_RX, "BL0940_RX", 2908993179u, 0, 9, &be_const_str_WIEGAND_D0);
-be_define_const_str(WIEGAND_D0, "WIEGAND_D0", 4192335759u, 0, 10, NULL);
-be_define_const_str(check_privileged_access, "check_privileged_access", 3692933968u, 0, 23, &be_const_str_lv_indev);
-be_define_const_str(lv_indev, "lv_indev", 225602374u, 0, 8, NULL);
-be_define_const_str(opt_eq, "==", 2431966415u, 0, 2, &be_const_str_TFMINIPLUS_RX);
-be_define_const_str(TFMINIPLUS_RX, "TFMINIPLUS_RX", 1522203935u, 0, 13, NULL);
-be_define_const_str(PULLDOWN, "PULLDOWN", 1853074086u, 0, 8, NULL);
-be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_arg_name);
-be_define_const_str(arg_name, "arg_name", 1345046155u, 0, 8, &be_const_str_screenshot);
-be_define_const_str(screenshot, "screenshot", 3894592561u, 0, 10, &be_const_str_setbits);
-be_define_const_str(setbits, "setbits", 2762408167u, 0, 7, NULL);
-be_define_const_str(SYMBOL_LOOP, "SYMBOL_LOOP", 2762053208u, 0, 11, NULL);
-be_define_const_str(MHZ_RXD, "MHZ_RXD", 328619727u, 0, 7, &be_const_str_get_power);
-be_define_const_str(get_power, "get_power", 3009799377u, 0, 9, &be_const_str_lv_font);
-be_define_const_str(lv_font, "lv_font", 1550958453u, 0, 7, NULL);
-be_define_const_str(BACKLIGHT, "BACKLIGHT", 3147761926u, 0, 9, &be_const_str_BS814_CLK);
-be_define_const_str(BS814_CLK, "BS814_CLK", 3002713336u, 0, 9, NULL);
-be_define_const_str(PULLUP, "PULLUP", 3417628531u, 0, 6, &be_const_str_TM1637DIO);
-be_define_const_str(TM1637DIO, "TM1637DIO", 1574659381u, 0, 9, &be_const_str_lv_btnmatrix);
-be_define_const_str(lv_btnmatrix, "lv_btnmatrix", 626248489u, 0, 12, NULL);
-be_define_const_str(SR04_ECHO, "SR04_ECHO", 1906909592u, 0, 9, NULL);
-be_define_const_str(ADE7953_IRQ, "ADE7953_IRQ", 2329185922u, 0, 11, &be_const_str_classname);
-be_define_const_str(classname, "classname", 1998589948u, 0, 9, &be_const_str_str);
-be_define_const_str(str, "str", 3259748752u, 0, 3, NULL);
-be_define_const_str(SYMBOL_PREV, "SYMBOL_PREV", 2952615023u, 0, 11, &be_const_str_add_driver);
-be_define_const_str(add_driver, "add_driver", 1654458371u, 0, 10, &be_const_str_content_button);
-be_define_const_str(content_button, "content_button", 1956476087u, 0, 14, NULL);
-be_define_const_str(HX711_DAT, "HX711_DAT", 2935118250u, 0, 9, NULL);
-be_define_const_str(dot_p, ".p", 1171526419u, 0, 2, &be_const_str_content_stop);
-be_define_const_str(content_stop, "content_stop", 658554751u, 0, 12, &be_const_str_exists);
-be_define_const_str(exists, "exists", 1002329533u, 0, 6, NULL);
-be_define_const_str(GPS_RX, "GPS_RX", 1075637342u, 0, 6, &be_const_str_HX711_SCK);
-be_define_const_str(HX711_SCK, "HX711_SCK", 3785979404u, 0, 9, &be_const_str_RDM6300_RX);
-be_define_const_str(RDM6300_RX, "RDM6300_RX", 1522345628u, 0, 10, NULL);
-be_define_const_str(AZ_RXD, "AZ_RXD", 699914019u, 0, 6, NULL);
-be_define_const_str(Tasmota, "Tasmota", 4047617668u, 0, 7, &be_const_str_ZIGBEE_RX);
-be_define_const_str(ZIGBEE_RX, "ZIGBEE_RX", 93215470u, 0, 9, &be_const_str_imax);
-be_define_const_str(imax, "imax", 3084515410u, 0, 4, &be_const_str_montserrat_font);
-be_define_const_str(montserrat_font, "montserrat_font", 1819065874u, 0, 15, NULL);
-be_define_const_str(srand, "srand", 465518633u, 0, 5, &be_const_str_time_reached);
-be_define_const_str(time_reached, "time_reached", 2075136773u, 0, 12, &be_const_str_try_rule);
-be_define_const_str(try_rule, "try_rule", 1986449405u, 0, 8, NULL);
-be_define_const_str(LOW, "LOW", 3526092385u, 0, 3, &be_const_str_SDM120_TX);
-be_define_const_str(SDM120_TX, "SDM120_TX", 2509332415u, 0, 9, &be_const_str_SYMBOL_BELL);
-be_define_const_str(SYMBOL_BELL, "SYMBOL_BELL", 1736196487u, 0, 11, &be_const_str_tostring);
-be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL);
-be_define_const_str(DDS2382_RX, "DDS2382_RX", 432446462u, 0, 10, &be_const_str_HRXL_RX);
-be_define_const_str(HRXL_RX, "HRXL_RX", 92702006u, 0, 7, &be_const_str_button_pressed);
-be_define_const_str(button_pressed, "button_pressed", 1694209616u, 0, 14, &be_const_str_lv_arc);
-be_define_const_str(lv_arc, "lv_arc", 4170125384u, 0, 6, NULL);
-be_define_const_str(SDM120_RX, "SDM120_RX", 1367571753u, 0, 9, &be_const_str_SYMBOL_POWER);
-be_define_const_str(SYMBOL_POWER, "SYMBOL_POWER", 1125993627u, 0, 12, &be_const_str_list);
-be_define_const_str(list, "list", 217798785u, 0, 4, &be_const_str_lv_bar);
-be_define_const_str(lv_bar, "lv_bar", 1582673229u, 0, 6, &be_const_str_lv_linemeter);
-be_define_const_str(lv_linemeter, "lv_linemeter", 1413069363u, 0, 12, &be_const_str_lv_page);
-be_define_const_str(lv_page, "lv_page", 2373170067u, 0, 7, &be_const_str_upper);
-be_define_const_str(upper, "upper", 176974407u, 0, 5, NULL);
-be_define_const_str(wire_scan, "wire_scan", 2671275880u, 0, 9, NULL);
-be_define_const_str(SBR_RX, "SBR_RX", 3350999801u, 0, 6, &be_const_str_gamma10);
-be_define_const_str(gamma10, "gamma10", 3472052483u, 0, 7, NULL);
-be_define_const_str(PWM1_INV, "PWM1_INV", 3939021030u, 0, 8, &be_const_str_exec_rules);
-be_define_const_str(exec_rules, "exec_rules", 1445221092u, 0, 10, NULL);
-be_define_const_str(ETH_PHY_MDC, "ETH_PHY_MDC", 1519379581u, 0, 11, &be_const_str_content_send_style);
-be_define_const_str(content_send_style, "content_send_style", 1087907647u, 0, 18, NULL);
-be_define_const_str(run_deferred, "run_deferred", 371594696u, 0, 12, NULL);
-be_define_const_str(SYMBOL_REFRESH, "SYMBOL_REFRESH", 1266229761u, 0, 14, NULL);
-be_define_const_str(TASMOTACLIENT_RXD, "TASMOTACLIENT_RXD", 72868318u, 0, 17, &be_const_str_WS2812);
-be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, NULL);
-be_define_const_str(PROJECTOR_CTRL_TX, "PROJECTOR_CTRL_TX", 535811130u, 0, 17, &be_const_str_lv_line);
-be_define_const_str(lv_line, "lv_line", 2692732914u, 0, 7, NULL);
-be_define_const_str(SYMBOL_VOLUME_MAX, "SYMBOL_VOLUME_MAX", 3582646093u, 0, 17, NULL);
-be_define_const_str(MAX7219CLK, "MAX7219CLK", 963568838u, 0, 10, &be_const_str_RF_SENSOR);
-be_define_const_str(RF_SENSOR, "RF_SENSOR", 2289628100u, 0, 9, NULL);
-be_define_const_str(WEBCAM_PCLK, "WEBCAM_PCLK", 3813770649u, 0, 11, &be_const_str_lv_imgbtn);
-be_define_const_str(lv_imgbtn, "lv_imgbtn", 2402844429u, 0, 9, NULL);
-be_define_const_str(try, "try", 2887626766u, 68, 3, NULL);
-be_define_const_str(EPD_DATA, "EPD_DATA", 3799141097u, 0, 8, &be_const_str_cb_dispatch);
-be_define_const_str(cb_dispatch, "cb_dispatch", 1741510499u, 0, 11, NULL);
-be_define_const_str(ADC_PH, "ADC_PH", 3820290594u, 0, 6, &be_const_str_DHT11_OUT);
-be_define_const_str(DHT11_OUT, "DHT11_OUT", 1645300734u, 0, 9, &be_const_str_SYMBOL_RIGHT);
-be_define_const_str(SYMBOL_RIGHT, "SYMBOL_RIGHT", 2984010648u, 0, 12, NULL);
-be_define_const_str(IBEACON_TX, "IBEACON_TX", 3471826977u, 0, 10, &be_const_str_gen_cb);
-be_define_const_str(gen_cb, "gen_cb", 3245227551u, 0, 6, &be_const_str_open);
-be_define_const_str(open, "open", 3546203337u, 0, 4, NULL);
-be_define_const_str(OLED_RESET, "OLED_RESET", 4048987655u, 0, 10, &be_const_str_lv_cpicker);
-be_define_const_str(lv_cpicker, "lv_cpicker", 1935129251u, 0, 10, NULL);
-be_define_const_str(scan, "scan", 3974641896u, 0, 4, &be_const_str_toupper);
-be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, NULL);
-be_define_const_str(SDS0X1_RX, "SDS0X1_RX", 1170717385u, 0, 9, &be_const_str_content_send);
-be_define_const_str(content_send, "content_send", 1673733649u, 0, 12, &be_const_str_lv_group);
-be_define_const_str(lv_group, "lv_group", 3852039019u, 0, 8, NULL);
-be_define_const_str(AS608_RX, "AS608_RX", 4275502016u, 0, 8, &be_const_str_SYMBOL_CHARGE);
-be_define_const_str(SYMBOL_CHARGE, "SYMBOL_CHARGE", 2106391946u, 0, 13, &be_const_str_get_light);
-be_define_const_str(get_light, "get_light", 381930476u, 0, 9, &be_const_str_load_freetype_font);
-be_define_const_str(load_freetype_font, "load_freetype_font", 2368447592u, 0, 18, &be_const_str_setitem);
-be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, NULL);
-be_define_const_str(opt_connect, "..", 2748622605u, 0, 2, &be_const_str_SDM72_TX);
-be_define_const_str(SDM72_TX, "SDM72_TX", 2042143269u, 0, 8, &be_const_str_SYMBOL_VOLUME_MID);
-be_define_const_str(SYMBOL_VOLUME_MID, "SYMBOL_VOLUME_MID", 158835057u, 0, 17, &be_const_str_TELEINFO_ENABLE);
-be_define_const_str(TELEINFO_ENABLE, "TELEINFO_ENABLE", 1600974501u, 0, 15, &be_const_str_collect);
-be_define_const_str(collect, "collect", 2399039025u, 0, 7, NULL);
-be_define_const_str(_timers, "_timers", 2600100916u, 0, 7, &be_const_str_add);
-be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_isinstance);
-be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, &be_const_str_rtc);
-be_define_const_str(rtc, "rtc", 1070575216u, 0, 3, NULL);
-be_define_const_str(lv_draw_img_dsc, "lv_draw_img_dsc", 999847907u, 0, 15, NULL);
-be_define_const_str(HIGH, "HIGH", 2066738941u, 0, 4, &be_const_str_add_cmd);
-be_define_const_str(add_cmd, "add_cmd", 3361630879u, 0, 7, &be_const_str_erase);
-be_define_const_str(erase, "erase", 1010949589u, 0, 5, &be_const_str_as);
-be_define_const_str(as, "as", 1579491469u, 67, 2, NULL);
-be_define_const_str(DSB, "DSB", 98073254u, 0, 3, &be_const_str_KEY1_INV_NP);
-be_define_const_str(KEY1_INV_NP, "KEY1_INV_NP", 3160558586u, 0, 11, &be_const_str___lower__);
-be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, &be_const_str_set_light);
-be_define_const_str(set_light, "set_light", 3176076152u, 0, 9, NULL);
-be_define_const_str(ARIRFRCV, "ARIRFRCV", 1120816444u, 0, 8, &be_const_str_KEY1_NP);
-be_define_const_str(KEY1_NP, "KEY1_NP", 709918726u, 0, 7, &be_const_str_WIEGAND_D1);
-be_define_const_str(WIEGAND_D1, "WIEGAND_D1", 4175558140u, 0, 10, &be_const_str_find_op);
-be_define_const_str(find_op, "find_op", 3766713376u, 0, 7, NULL);
-be_define_const_str(NRF24_DC, "NRF24_DC", 688921313u, 0, 8, &be_const_str_content_start);
-be_define_const_str(content_start, "content_start", 2937509069u, 0, 13, NULL);
-be_define_const_str(SYMBOL_STOP, "SYMBOL_STOP", 2836505202u, 0, 11, &be_const_str_lv_win);
-be_define_const_str(lv_win, "lv_win", 780927558u, 0, 6, &be_const_str_false);
-be_define_const_str(false, "false", 184981848u, 62, 5, NULL);
-be_define_const_str(A4988_STP, "A4988_STP", 1622172049u, 0, 9, &be_const_str_SYMBOL_NEXT);
-be_define_const_str(SYMBOL_NEXT, "SYMBOL_NEXT", 1102844455u, 0, 11, &be_const_str_WEBCAM_XCLK);
-be_define_const_str(WEBCAM_XCLK, "WEBCAM_XCLK", 536207425u, 0, 11, NULL);
-be_define_const_str(WEBCAM_PSRCS, "WEBCAM_PSRCS", 624464864u, 0, 12, &be_const_str_scale_uint);
-be_define_const_str(scale_uint, "scale_uint", 3090811094u, 0, 10, &be_const_str_do);
-be_define_const_str(do, "do", 1646057492u, 65, 2, NULL);
-be_define_const_str(OUTPUT_LO, "OUTPUT_LO", 3724620328u, 0, 9, &be_const_str_SSPI_DC);
-be_define_const_str(SSPI_DC, "SSPI_DC", 1782271864u, 0, 7, &be_const_str_import);
-be_define_const_str(import, "import", 288002260u, 66, 6, NULL);
-be_define_const_str(push, "push", 2272264157u, 0, 4, NULL);
-be_define_const_str(cos, "cos", 4220379804u, 0, 3, &be_const_str_lv_tabview);
-be_define_const_str(lv_tabview, "lv_tabview", 2109024786u, 0, 10, NULL);
-be_define_const_str(set_timer, "set_timer", 2135414533u, 0, 9, NULL);
-be_define_const_str(DEEPSLEEP, "DEEPSLEEP", 189922226u, 0, 9, &be_const_str_ILI9341_DC);
-be_define_const_str(ILI9341_DC, "ILI9341_DC", 28838624u, 0, 10, &be_const_str_yield);
-be_define_const_str(yield, "yield", 1821831854u, 0, 5, NULL);
-be_define_const_str(SDM630_RX, "SDM630_RX", 1971606309u, 0, 9, NULL);
-be_define_const_str(DI, "DI", 1070498734u, 0, 2, &be_const_str_SYMBOL_BLUETOOTH);
-be_define_const_str(SYMBOL_BLUETOOTH, "SYMBOL_BLUETOOTH", 679376572u, 0, 16, &be_const_str_lv_draw_label_dsc);
-be_define_const_str(lv_draw_label_dsc, "lv_draw_label_dsc", 265601842u, 0, 17, &be_const_str_update);
-be_define_const_str(update, "update", 672109684u, 0, 6, NULL);
-be_define_const_str(INPUT, "INPUT", 1638025307u, 0, 5, &be_const_str_SYMBOL_NEW_LINE);
-be_define_const_str(SYMBOL_NEW_LINE, "SYMBOL_NEW_LINE", 2014334315u, 0, 15, &be_const_str_ZIGBEE_RST);
-be_define_const_str(ZIGBEE_RST, "ZIGBEE_RST", 721588661u, 0, 10, NULL);
-be_define_const_str(SYMBOL_SD_CARD, "SYMBOL_SD_CARD", 2542376484u, 0, 14, NULL);
-be_define_const_str(CC1101_GDO2, "CC1101_GDO2", 974166265u, 0, 11, &be_const_str_MGC3130_XFER);
-be_define_const_str(MGC3130_XFER, "MGC3130_XFER", 4178219131u, 0, 12, &be_const_str__drivers);
-be_define_const_str(_drivers, "_drivers", 3260328985u, 0, 8, NULL);
-be_define_const_str(copy, "copy", 3848464964u, 0, 4, &be_const_str_detect);
-be_define_const_str(detect, "detect", 8884370u, 0, 6, NULL);
-be_define_const_str(SR04_TRIG, "SR04_TRIG", 68671263u, 0, 9, &be_const_str_TUYA_TX);
-be_define_const_str(TUYA_TX, "TUYA_TX", 1541301465u, 0, 7, &be_const_str__cb);
-be_define_const_str(_cb, "_cb", 4043300367u, 0, 3, NULL);
-be_define_const_str(HALLEFFECT, "HALLEFFECT", 3334305407u, 0, 10, &be_const_str_RXD);
-be_define_const_str(RXD, "RXD", 2311579049u, 0, 3, NULL);
-be_define_const_str(imin, "imin", 2714127864u, 0, 4, NULL);
-be_define_const_str(SYMBOL_VIDEO, "SYMBOL_VIDEO", 789726913u, 0, 12, NULL);
-be_define_const_str(SYMBOL_LIST, "SYMBOL_LIST", 70793990u, 0, 11, &be_const_str_calldepth);
-be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, NULL);
-be_define_const_str(AZ_TXD, "AZ_TXD", 850268709u, 0, 6, &be_const_str_DSB_OUT);
-be_define_const_str(DSB_OUT, "DSB_OUT", 732335085u, 0, 7, NULL);
-be_define_const_str(end, "end", 1787721130u, 56, 3, NULL);
-be_define_const_str(SYMBOL_BATTERY_EMPTY, "SYMBOL_BATTERY_EMPTY", 3945064277u, 0, 20, &be_const_str_lv_gauge);
-be_define_const_str(lv_gauge, "lv_gauge", 118613531u, 0, 8, NULL);
-be_define_const_str(for, "for", 2901640080u, 54, 3, NULL);
-be_define_const_str(BUZZER, "BUZZER", 1550039611u, 0, 6, &be_const_str_member);
-be_define_const_str(member, "member", 719708611u, 0, 6, NULL);
-be_define_const_str(SSPI_SCLK, "SSPI_SCLK", 136688954u, 0, 9, &be_const_str_lv_draw_mask_radius_param);
-be_define_const_str(lv_draw_mask_radius_param, "lv_draw_mask_radius_param", 3777679220u, 0, 25, &be_const_str_range);
-be_define_const_str(range, "range", 4208725202u, 0, 5, NULL);
+be_define_const_str(get_light, "get_light", 381930476u, 0, 9, NULL);
+be_define_const_str(lv_tileview, "lv_tileview", 2419887973u, 0, 11, NULL);
+be_define_const_str(LE01MR_RX, "LE01MR_RX", 1521590809u, 0, 9, &be_const_str_issubclass);
be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, NULL);
-be_define_const_str(WEBCAM_HREF, "WEBCAM_HREF", 3161890024u, 0, 11, &be_const_str_bytes);
-be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, &be_const_str_lv_signal_cb);
-be_define_const_str(lv_signal_cb, "lv_signal_cb", 3295792564u, 0, 12, NULL);
-be_define_const_str(Driver, "Driver", 3576386303u, 0, 6, NULL);
-be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_SYMBOL_DUMMY);
-be_define_const_str(SYMBOL_DUMMY, "SYMBOL_DUMMY", 3621732138u, 0, 12, &be_const_str_WEBCAM_HSD);
-be_define_const_str(WEBCAM_HSD, "WEBCAM_HSD", 2648502504u, 0, 10, NULL);
-be_define_const_str(IBEACON_RX, "IBEACON_RX", 2466155575u, 0, 10, &be_const_str_SYMBOL_WIFI);
-be_define_const_str(SYMBOL_WIFI, "SYMBOL_WIFI", 682141303u, 0, 11, NULL);
-be_define_const_str(HM10_TX, "HM10_TX", 1522037252u, 0, 7, NULL);
-be_define_const_str(BOILER_OT_RX, "BOILER_OT_RX", 603647409u, 0, 12, &be_const_str_SM16716_CLK);
-be_define_const_str(SM16716_CLK, "SM16716_CLK", 3037641483u, 0, 11, &be_const_str_SYMBOL_EJECT);
-be_define_const_str(SYMBOL_EJECT, "SYMBOL_EJECT", 873760647u, 0, 12, NULL);
-be_define_const_str(item, "item", 2671260646u, 0, 4, NULL);
-be_define_const_str(SDS0X1_TX, "SDS0X1_TX", 165045983u, 0, 9, &be_const_str_deg);
-be_define_const_str(deg, "deg", 3327754271u, 0, 3, NULL);
-be_define_const_str(OPEN_DRAIN, "OPEN_DRAIN", 677872608u, 0, 10, &be_const_str_SYMBOL_DOWNLOAD);
-be_define_const_str(SYMBOL_DOWNLOAD, "SYMBOL_DOWNLOAD", 2607324090u, 0, 15, &be_const_str_SYMBOL_EDIT);
-be_define_const_str(SYMBOL_EDIT, "SYMBOL_EDIT", 1396182822u, 0, 11, &be_const_str_geti);
-be_define_const_str(geti, "geti", 2381006490u, 0, 4, &be_const_str_lv_label);
-be_define_const_str(lv_label, "lv_label", 4199664246u, 0, 8, NULL);
-be_define_const_str(_rules, "_rules", 4266217105u, 0, 6, NULL);
-be_define_const_str(insert, "insert", 3332609576u, 0, 6, &be_const_str_register_button_encoder);
-be_define_const_str(register_button_encoder, "register_button_encoder", 2811301550u, 0, 23, NULL);
-be_define_const_str(web_add_config_button, "web_add_config_button", 639674325u, 0, 21, &be_const_str_true);
-be_define_const_str(true, "true", 1303515621u, 61, 4, NULL);
-be_define_const_str(SYMBOL_BULLET, "SYMBOL_BULLET", 587181862u, 0, 13, &be_const_str_SYMBOL_CLOSE);
-be_define_const_str(SYMBOL_CLOSE, "SYMBOL_CLOSE", 2654402806u, 0, 12, &be_const_str_SYMBOL_CUT);
-be_define_const_str(SYMBOL_CUT, "SYMBOL_CUT", 3455112394u, 0, 10, &be_const_str__request_from);
-be_define_const_str(_request_from, "_request_from", 3965148604u, 0, 13, &be_const_str_lower);
+be_define_const_str(CSE7766_TX, "CSE7766_TX", 674624821u, 0, 10, &be_const_str_I2C_SCL);
+be_define_const_str(I2C_SCL, "I2C_SCL", 164217098u, 0, 7, NULL);
+be_define_const_str(response_append, "response_append", 450346371u, 0, 15, NULL);
+be_define_const_str(NRF24_CS, "NRF24_CS", 555833194u, 0, 8, &be_const_str_PMS5003_TX);
+be_define_const_str(PMS5003_TX, "PMS5003_TX", 3868169364u, 0, 10, &be_const_str_run_deferred);
+be_define_const_str(run_deferred, "run_deferred", 371594696u, 0, 12, NULL);
+be_define_const_str(read, "read", 3470762949u, 0, 4, NULL);
+be_define_const_str(Wire, "Wire", 1938276536u, 0, 4, &be_const_str_allocated);
+be_define_const_str(allocated, "allocated", 429986098u, 0, 9, &be_const_str_lv_draw_mask_angle_param_cfg);
+be_define_const_str(lv_draw_mask_angle_param_cfg, "lv_draw_mask_angle_param_cfg", 3599767368u, 0, 28, NULL);
+be_define_const_str(copy, "copy", 3848464964u, 0, 4, NULL);
+be_define_const_str(P9813_DAT, "P9813_DAT", 778577052u, 0, 9, &be_const_str_SYMBOL_FILE);
+be_define_const_str(SYMBOL_FILE, "SYMBOL_FILE", 237085260u, 0, 11, &be_const_str_lv_bar);
+be_define_const_str(lv_bar, "lv_bar", 1582673229u, 0, 6, NULL);
+be_define_const_str(TXD, "TXD", 3614562079u, 0, 3, &be_const_str_lv_tabview);
+be_define_const_str(lv_tabview, "lv_tabview", 2109024786u, 0, 10, NULL);
+be_define_const_str(ADC_LIGHT, "ADC_LIGHT", 3982461502u, 0, 9, &be_const_str_WEBCAM_PSCLK);
+be_define_const_str(WEBCAM_PSCLK, "WEBCAM_PSCLK", 3150007456u, 0, 12, &be_const_str_srand);
+be_define_const_str(srand, "srand", 465518633u, 0, 5, NULL);
+be_define_const_str(KEY1, "KEY1", 6715975u, 0, 4, &be_const_str_TELEINFO_RX);
+be_define_const_str(TELEINFO_RX, "TELEINFO_RX", 1195717356u, 0, 11, NULL);
+be_define_const_str(SYMBOL_TRASH, "SYMBOL_TRASH", 3169100368u, 0, 12, NULL);
+be_define_const_str(split, "split", 2276994531u, 0, 5, NULL);
+be_define_const_str(module, "module", 3617558685u, 0, 6, &be_const_str_read8);
+be_define_const_str(read8, "read8", 2802788167u, 0, 5, NULL);
+be_define_const_str(BOILER_OT_TX, "BOILER_OT_TX", 671743623u, 0, 12, &be_const_str_ceil);
+be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, &be_const_str_every_100ms);
+be_define_const_str(every_100ms, "every_100ms", 1546407804u, 0, 11, &be_const_str_setmember);
+be_define_const_str(setmember, "setmember", 1432909441u, 0, 9, NULL);
+be_define_const_str(PZEM017_RX, "PZEM017_RX", 3227495894u, 0, 10, &be_const_str_lv_linemeter);
+be_define_const_str(lv_linemeter, "lv_linemeter", 1413069363u, 0, 12, NULL);
+be_define_const_str(AS608_RX, "AS608_RX", 4275502016u, 0, 8, NULL);
+be_define_const_str(WEBCAM_XCLK, "WEBCAM_XCLK", 536207425u, 0, 11, &be_const_str_exec_rules);
+be_define_const_str(exec_rules, "exec_rules", 1445221092u, 0, 10, NULL);
+be_define_const_str(floor, "floor", 3102149661u, 0, 5, NULL);
+be_define_const_str(lv_point, "lv_point", 4120221790u, 0, 8, &be_const_str_web_add_config_button);
+be_define_const_str(web_add_config_button, "web_add_config_button", 639674325u, 0, 21, NULL);
+be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, NULL);
+be_define_const_str(ADC_RANGE, "ADC_RANGE", 3467329543u, 0, 9, &be_const_str_display);
+be_define_const_str(display, "display", 1164572437u, 0, 7, &be_const_str_lower);
be_define_const_str(lower, "lower", 3038577850u, 0, 5, NULL);
-be_define_const_str(SYMBOL_UPLOAD, "SYMBOL_UPLOAD", 3293679647u, 0, 13, &be_const_str_ctypes_bytes);
-be_define_const_str(ctypes_bytes, "ctypes_bytes", 3879019703u, 0, 12, NULL);
-be_define_const_str(lv_draw_mask_common_dsc, "lv_draw_mask_common_dsc", 1429224708u, 0, 23, NULL);
-be_define_const_str(LE01MR_RX, "LE01MR_RX", 1521590809u, 0, 9, NULL);
-be_define_const_str(web_add_main_button, "web_add_main_button", 3960367664u, 0, 19, NULL);
-be_define_const_str(floor, "floor", 3102149661u, 0, 5, &be_const_str_seg7_font);
+be_define_const_str(REL1, "REL1", 3142397887u, 0, 4, &be_const_str_SYMBOL_SETTINGS);
+be_define_const_str(SYMBOL_SETTINGS, "SYMBOL_SETTINGS", 339656335u, 0, 15, NULL);
+be_define_const_str(SYMBOL_SD_CARD, "SYMBOL_SD_CARD", 2542376484u, 0, 14, &be_const_str_SYMBOL_VIDEO);
+be_define_const_str(SYMBOL_VIDEO, "SYMBOL_VIDEO", 789726913u, 0, 12, &be_const_str__timers);
+be_define_const_str(_timers, "_timers", 2600100916u, 0, 7, &be_const_str_str);
+be_define_const_str(str, "str", 3259748752u, 0, 3, NULL);
+be_define_const_str(continue, "continue", 2977070660u, 59, 8, NULL);
+be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_SYMBOL_LEFT);
+be_define_const_str(SYMBOL_LEFT, "SYMBOL_LEFT", 1563517575u, 0, 11, NULL);
+be_define_const_str(MAX7219CS, "MAX7219CS", 2593198244u, 0, 9, NULL);
+be_define_const_str(lv_switch, "lv_switch", 3407171508u, 0, 9, NULL);
+be_define_const_str(HX711_DAT, "HX711_DAT", 2935118250u, 0, 9, &be_const_str_SYMBOL_CALL);
+be_define_const_str(SYMBOL_CALL, "SYMBOL_CALL", 1444504366u, 0, 11, NULL);
+be_define_const_str(ZIGBEE_RX, "ZIGBEE_RX", 93215470u, 0, 9, &be_const_str_resp_cmnd);
+be_define_const_str(resp_cmnd, "resp_cmnd", 2869459626u, 0, 9, NULL);
+be_define_const_str(ROT1A_NP, "ROT1A_NP", 2322706903u, 0, 8, &be_const_str_SOLAXX1_TX);
+be_define_const_str(SOLAXX1_TX, "SOLAXX1_TX", 903770840u, 0, 10, &be_const_str_SYMBOL_PASTE);
+be_define_const_str(SYMBOL_PASTE, "SYMBOL_PASTE", 2281577421u, 0, 12, &be_const_str_gc);
+be_define_const_str(gc, "gc", 1042313471u, 0, 2, &be_const_str_isrunning);
+be_define_const_str(isrunning, "isrunning", 1688182268u, 0, 9, NULL);
+be_define_const_str(DHT22, "DHT22", 215937903u, 0, 5, &be_const_str__rules);
+be_define_const_str(_rules, "_rules", 4266217105u, 0, 6, &be_const_str_content_start);
+be_define_const_str(content_start, "content_start", 2937509069u, 0, 13, &be_const_str_web_add_management_button);
+be_define_const_str(web_add_management_button, "web_add_management_button", 2738877186u, 0, 25, NULL);
+be_define_const_str(DYP_RX, "DYP_RX", 2122310285u, 0, 6, &be_const_str_SDM120_TX);
+be_define_const_str(SDM120_TX, "SDM120_TX", 2509332415u, 0, 9, &be_const_str_chars_in_string);
+be_define_const_str(chars_in_string, "chars_in_string", 3148785132u, 0, 15, &be_const_str_wire2);
+be_define_const_str(wire2, "wire2", 3229499038u, 0, 5, NULL);
+be_define_const_str(SYMBOL_DOWNLOAD, "SYMBOL_DOWNLOAD", 2607324090u, 0, 15, &be_const_str_lv_roller);
+be_define_const_str(lv_roller, "lv_roller", 661902064u, 0, 9, NULL);
+be_define_const_str(SYMBOL_SHUFFLE, "SYMBOL_SHUFFLE", 1123310147u, 0, 14, NULL);
+be_define_const_str(DHT11_OUT, "DHT11_OUT", 1645300734u, 0, 9, &be_const_str_SYMBOL_BATTERY_2);
+be_define_const_str(SYMBOL_BATTERY_2, "SYMBOL_BATTERY_2", 645813682u, 0, 16, NULL);
+be_define_const_str(RDM6300_RX, "RDM6300_RX", 1522345628u, 0, 10, NULL);
+be_define_const_str(SYMBOL_WARNING, "SYMBOL_WARNING", 4119913686u, 0, 14, &be_const_str_atan);
+be_define_const_str(atan, "atan", 108579519u, 0, 4, &be_const_str_pin);
+be_define_const_str(pin, "pin", 1866532500u, 0, 3, &be_const_str_web_add_button);
+be_define_const_str(web_add_button, "web_add_button", 3537875058u, 0, 14, NULL);
+be_define_const_str(stop, "stop", 3411225317u, 0, 4, NULL);
+be_define_const_str(TFMINIPLUS_TX, "TFMINIPLUS_TX", 2527875337u, 0, 13, &be_const_str_lv_draw_mask_radius_param);
+be_define_const_str(lv_draw_mask_radius_param, "lv_draw_mask_radius_param", 3777679220u, 0, 25, &be_const_str_register_button_encoder);
+be_define_const_str(register_button_encoder, "register_button_encoder", 2811301550u, 0, 23, NULL);
+be_define_const_str(classname, "classname", 1998589948u, 0, 9, &be_const_str_millis);
+be_define_const_str(millis, "millis", 1214679063u, 0, 6, &be_const_str_montserrat_font);
+be_define_const_str(montserrat_font, "montserrat_font", 1819065874u, 0, 15, NULL);
+be_define_const_str(SWT1, "SWT1", 805224112u, 0, 4, &be_const_str_number);
+be_define_const_str(number, "number", 467038368u, 0, 6, &be_const_str_pin_mode);
+be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, NULL);
+be_define_const_str(SHELLY_DIMMER_RST_INV, "SHELLY_DIMMER_RST_INV", 2366759773u, 0, 21, &be_const_str_SYMBOL_MINUS);
+be_define_const_str(SYMBOL_MINUS, "SYMBOL_MINUS", 1806749158u, 0, 12, &be_const_str_TFMINIPLUS_RX);
+be_define_const_str(TFMINIPLUS_RX, "TFMINIPLUS_RX", 1522203935u, 0, 13, &be_const_str_lv_list);
+be_define_const_str(lv_list, "lv_list", 2876551248u, 0, 7, NULL);
+be_define_const_str(member, "member", 719708611u, 0, 6, NULL);
+be_define_const_str(SYMBOL_COPY, "SYMBOL_COPY", 4193681815u, 0, 11, NULL);
+be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str_lv_gauge);
+be_define_const_str(lv_gauge, "lv_gauge", 118613531u, 0, 8, &be_const_str_resp_cmnd_done);
+be_define_const_str(resp_cmnd_done, "resp_cmnd_done", 2601874875u, 0, 14, NULL);
+be_define_const_str(SYMBOL_CUT, "SYMBOL_CUT", 3455112394u, 0, 10, NULL);
+be_define_const_str(KEY1_PD, "KEY1_PD", 3934075620u, 0, 7, &be_const_str_SSD1351_DC);
+be_define_const_str(SSD1351_DC, "SSD1351_DC", 84950353u, 0, 10, NULL);
+be_define_const_str(static, "static", 3532702267u, 71, 6, NULL);
+be_define_const_str(lv_label, "lv_label", 4199664246u, 0, 8, NULL);
+be_define_const_str(SI7021, "SI7021", 864377911u, 0, 6, &be_const_str_seg7_font);
be_define_const_str(seg7_font, "seg7_font", 4099690689u, 0, 9, NULL);
-be_define_const_str(DCKI, "DCKI", 3846847480u, 0, 4, &be_const_str_I2C_SDA);
-be_define_const_str(I2C_SDA, "I2C_SDA", 1052592262u, 0, 7, NULL);
-be_define_const_str(ILI9341_CS, "ILI9341_CS", 3519318851u, 0, 10, &be_const_str_lv_cb);
+be_define_const_str(HIGH, "HIGH", 2066738941u, 0, 4, NULL);
+be_define_const_str(DDSU666_TX, "DDSU666_TX", 1880604150u, 0, 10, &be_const_str_SENSOR_END);
+be_define_const_str(SENSOR_END, "SENSOR_END", 3512542657u, 0, 10, NULL);
+be_define_const_str(ILI9341_CS, "ILI9341_CS", 3519318851u, 0, 10, &be_const_str_WEBCAM_DATA);
+be_define_const_str(WEBCAM_DATA, "WEBCAM_DATA", 1476954421u, 0, 11, NULL);
+be_define_const_str(CC1101_GDO0, "CC1101_GDO0", 940611027u, 0, 11, &be_const_str_SYMBOL_EDIT);
+be_define_const_str(SYMBOL_EDIT, "SYMBOL_EDIT", 1396182822u, 0, 11, &be_const_str_ctypes_bytes);
+be_define_const_str(ctypes_bytes, "ctypes_bytes", 3879019703u, 0, 12, NULL);
+be_define_const_str(ILI9488_CS, "ILI9488_CS", 2363112073u, 0, 10, &be_const_str__request_from);
+be_define_const_str(_request_from, "_request_from", 3965148604u, 0, 13, NULL);
+be_define_const_str(SYMBOL_PLUS, "SYMBOL_PLUS", 2860093262u, 0, 11, &be_const_str_acos);
+be_define_const_str(acos, "acos", 1006755615u, 0, 4, NULL);
+be_define_const_str(HRE_DATA, "HRE_DATA", 1820377643u, 0, 8, NULL);
+be_define_const_str(CSE7761_TX, "CSE7761_TX", 3354719142u, 0, 10, &be_const_str_HJL_CF);
+be_define_const_str(HJL_CF, "HJL_CF", 786158487u, 0, 6, &be_const_str__ccmd);
+be_define_const_str(_ccmd, "_ccmd", 2163421413u, 0, 5, NULL);
+be_define_const_str(EPD_DATA, "EPD_DATA", 3799141097u, 0, 8, &be_const_str_clear);
+be_define_const_str(clear, "clear", 1550717474u, 0, 5, &be_const_str_isinstance);
+be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, NULL);
+be_define_const_str(I2S_IN_CLK, "I2S_IN_CLK", 2996930120u, 0, 10, &be_const_str_sin);
+be_define_const_str(sin, "sin", 3761252941u, 0, 3, NULL);
+be_define_const_str(WEBCAM_PCLK, "WEBCAM_PCLK", 3813770649u, 0, 11, NULL);
+be_define_const_str(RA8876_CS, "RA8876_CS", 2529944108u, 0, 9, NULL);
+be_define_const_str(WEBCAM_RESET, "WEBCAM_RESET", 2171221520u, 0, 12, &be_const_str_on);
+be_define_const_str(on, "on", 1630810064u, 0, 2, NULL);
+be_define_const_str(SM16716_CLK, "SM16716_CLK", 3037641483u, 0, 11, &be_const_str_get_tasmota);
+be_define_const_str(get_tasmota, "get_tasmota", 334356779u, 0, 11, &be_const_str_load);
+be_define_const_str(load, "load", 3859241449u, 0, 4, NULL);
+be_define_const_str(KEY1_NP, "KEY1_NP", 709918726u, 0, 7, NULL);
+be_define_const_str(SM16716_DAT, "SM16716_DAT", 1905621806u, 0, 11, NULL);
+be_define_const_str(RISING, "RISING", 1256404539u, 0, 6, &be_const_str_get_power);
+be_define_const_str(get_power, "get_power", 3009799377u, 0, 9, &be_const_str_lv_gauge_format_cb);
+be_define_const_str(lv_gauge_format_cb, "lv_gauge_format_cb", 4073149249u, 0, 18, NULL);
+be_define_const_str(INPUT, "INPUT", 1638025307u, 0, 5, &be_const_str_SDM630_RX);
+be_define_const_str(SDM630_RX, "SDM630_RX", 1971606309u, 0, 9, &be_const_str_SYMBOL_SAVE);
+be_define_const_str(SYMBOL_SAVE, "SYMBOL_SAVE", 2439821015u, 0, 11, NULL);
+be_define_const_str(ARIRFSEL, "ARIRFSEL", 233874443u, 0, 8, NULL);
+be_define_const_str(begin, "begin", 1748273790u, 0, 5, NULL);
+be_define_const_str(NEOPOOL_TX, "NEOPOOL_TX", 2924925804u, 0, 10, &be_const_str_asstring);
+be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, &be_const_str_count);
+be_define_const_str(count, "count", 967958004u, 0, 5, NULL);
+be_define_const_str(SSD1331_DC, "SSD1331_DC", 3386560859u, 0, 10, &be_const_str_lv_btnmatrix);
+be_define_const_str(lv_btnmatrix, "lv_btnmatrix", 626248489u, 0, 12, NULL);
+be_define_const_str(TUYA_RX, "TUYA_RX", 1609397679u, 0, 7, NULL);
+be_define_const_str(FTC532, "FTC532", 3182343438u, 0, 6, &be_const_str_MHZ_RXD);
+be_define_const_str(MHZ_RXD, "MHZ_RXD", 328619727u, 0, 7, &be_const_str_SBR_RX);
+be_define_const_str(SBR_RX, "SBR_RX", 3350999801u, 0, 6, NULL);
+be_define_const_str(BS814_DAT, "BS814_DAT", 3620403837u, 0, 9, &be_const_str_SYMBOL_IMAGE);
+be_define_const_str(SYMBOL_IMAGE, "SYMBOL_IMAGE", 815601151u, 0, 12, &be_const_str_iter);
+be_define_const_str(iter, "iter", 3124256359u, 0, 4, &be_const_str_lv_draw_mask_common_dsc);
+be_define_const_str(lv_draw_mask_common_dsc, "lv_draw_mask_common_dsc", 1429224708u, 0, 23, NULL);
+be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL);
+be_define_const_str(concat, "concat", 4124019837u, 0, 6, &be_const_str_def);
+be_define_const_str(def, "def", 3310976652u, 55, 3, NULL);
+be_define_const_str(SYMBOL_MUTE, "SYMBOL_MUTE", 563116043u, 0, 11, &be_const_str_add);
+be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_lv_dropdown);
+be_define_const_str(lv_dropdown, "lv_dropdown", 2797165301u, 0, 11, NULL);
+be_define_const_str(ST7789_DC, "ST7789_DC", 2533509745u, 0, 9, &be_const_str_format);
+be_define_const_str(format, "format", 3114108242u, 0, 6, NULL);
+be_define_const_str(SYMBOL_WIFI, "SYMBOL_WIFI", 682141303u, 0, 11, &be_const_str_byte);
+be_define_const_str(byte, "byte", 1683620383u, 0, 4, NULL);
+be_define_const_str(lv_obj, "lv_obj", 4257833149u, 0, 6, &be_const_str_remove);
+be_define_const_str(remove, "remove", 3683784189u, 0, 6, NULL);
+be_define_const_str(DSB_OUT, "DSB_OUT", 732335085u, 0, 7, &be_const_str_open);
+be_define_const_str(open, "open", 3546203337u, 0, 4, NULL);
+be_define_const_str(has_arg, "has_arg", 424878688u, 0, 7, NULL);
+be_define_const_str(I2C_SDA, "I2C_SDA", 1052592262u, 0, 7, &be_const_str_content_send_style);
+be_define_const_str(content_send_style, "content_send_style", 1087907647u, 0, 18, NULL);
+be_define_const_str(find_key_i, "find_key_i", 850136726u, 0, 10, NULL);
+be_define_const_str(_begin_transmission, "_begin_transmission", 2779461176u, 0, 19, NULL);
+be_define_const_str(DHT11, "DHT11", 367083569u, 0, 5, &be_const_str_MAX7219CLK);
+be_define_const_str(MAX7219CLK, "MAX7219CLK", 963568838u, 0, 10, &be_const_str_SDM72_TX);
+be_define_const_str(SDM72_TX, "SDM72_TX", 2042143269u, 0, 8, NULL);
+be_define_const_str(VL53L0X_XSHUT1, "VL53L0X_XSHUT1", 2341134183u, 0, 14, &be_const_str_lv_draw_mask_map_param_cfg);
+be_define_const_str(lv_draw_mask_map_param_cfg, "lv_draw_mask_map_param_cfg", 3822900597u, 0, 26, NULL);
+be_define_const_str(opt_eq, "==", 2431966415u, 0, 2, &be_const_str_HM10_TX);
+be_define_const_str(HM10_TX, "HM10_TX", 1522037252u, 0, 7, &be_const_str_ROT1B);
+be_define_const_str(ROT1B, "ROT1B", 809932573u, 0, 5, &be_const_str_bus);
+be_define_const_str(bus, "bus", 1607822841u, 0, 3, &be_const_str_lv_draw_img_dsc);
+be_define_const_str(lv_draw_img_dsc, "lv_draw_img_dsc", 999847907u, 0, 15, NULL);
+be_define_const_str(BACKLIGHT, "BACKLIGHT", 3147761926u, 0, 9, &be_const_str_setbits);
+be_define_const_str(setbits, "setbits", 2762408167u, 0, 7, NULL);
+be_define_const_str(DSB, "DSB", 98073254u, 0, 3, &be_const_str_HRXL_RX);
+be_define_const_str(HRXL_RX, "HRXL_RX", 92702006u, 0, 7, &be_const_str_codedump);
+be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, &be_const_str_reverse);
+be_define_const_str(reverse, "reverse", 558918661u, 0, 7, &be_const_str_write);
+be_define_const_str(write, "write", 3190202204u, 0, 5, NULL);
+be_define_const_str(NRF24_DC, "NRF24_DC", 688921313u, 0, 8, NULL);
+be_define_const_str(type, "type", 1361572173u, 0, 4, NULL);
+be_define_const_str(KEY1_INV_NP, "KEY1_INV_NP", 3160558586u, 0, 11, &be_const_str_SDCARD_CS);
+be_define_const_str(SDCARD_CS, "SDCARD_CS", 3348952003u, 0, 9, NULL);
+be_define_const_str(GPS_TX, "GPS_TX", 4228740808u, 0, 6, &be_const_str_REL1_INV);
+be_define_const_str(REL1_INV, "REL1_INV", 3733155371u, 0, 8, &be_const_str_lv_msgbox);
+be_define_const_str(lv_msgbox, "lv_msgbox", 689085206u, 0, 9, NULL);
+be_define_const_str(SYMBOL_POWER, "SYMBOL_POWER", 1125993627u, 0, 12, &be_const_str_delay);
+be_define_const_str(delay, "delay", 1322381784u, 0, 5, NULL);
+be_define_const_str(tan, "tan", 2633446552u, 0, 3, NULL);
+be_define_const_str(SYMBOL_BATTERY_3, "SYMBOL_BATTERY_3", 662591301u, 0, 16, &be_const_str_json_append);
+be_define_const_str(json_append, "json_append", 3002019284u, 0, 11, NULL);
+be_define_const_str(SSD1331_CS, "SSD1331_CS", 4191047928u, 0, 10, &be_const_str_lv_draw_mask_line_param_cfg);
+be_define_const_str(lv_draw_mask_line_param_cfg, "lv_draw_mask_line_param_cfg", 2154874825u, 0, 27, NULL);
+be_define_const_str(ADC_BUTTON, "ADC_BUTTON", 3393454690u, 0, 10, &be_const_str_lv_led);
+be_define_const_str(lv_led, "lv_led", 3192184733u, 0, 6, &be_const_str_do);
+be_define_const_str(do, "do", 1646057492u, 65, 2, NULL);
+be_define_const_str(opt_call, "()", 685372826u, 0, 2, &be_const_str_MD5);
+be_define_const_str(MD5, "MD5", 1935726387u, 0, 3, &be_const_str_SPI_CLK);
+be_define_const_str(SPI_CLK, "SPI_CLK", 3943233814u, 0, 7, &be_const_str_SYMBOL_EYE_OPEN);
+be_define_const_str(SYMBOL_EYE_OPEN, "SYMBOL_EYE_OPEN", 3449311676u, 0, 15, &be_const_str_SYMBOL_HOME);
+be_define_const_str(SYMBOL_HOME, "SYMBOL_HOME", 730845525u, 0, 11, &be_const_str_web_add_main_button);
+be_define_const_str(web_add_main_button, "web_add_main_button", 3960367664u, 0, 19, NULL);
+be_define_const_str(OPEN_DRAIN, "OPEN_DRAIN", 677872608u, 0, 10, NULL);
+be_define_const_str(I2S_OUT_CLK, "I2S_OUT_CLK", 2580200387u, 0, 11, &be_const_str_lv_cont);
+be_define_const_str(lv_cont, "lv_cont", 1391686552u, 0, 7, &be_const_str_save_before_restart);
+be_define_const_str(save_before_restart, "save_before_restart", 1253239338u, 0, 19, NULL);
+be_define_const_str(PN532_RXD, "PN532_RXD", 1780093022u, 0, 9, &be_const_str_load_font);
+be_define_const_str(load_font, "load_font", 1875840019u, 0, 9, &be_const_str_lv_style);
+be_define_const_str(lv_style, "lv_style", 4151611549u, 0, 8, NULL);
+be_define_const_str(ADC_BUTTON_INV, "ADC_BUTTON_INV", 2027625326u, 0, 14, &be_const_str_LMT01);
+be_define_const_str(LMT01, "LMT01", 2490623797u, 0, 5, &be_const_str_detect);
+be_define_const_str(detect, "detect", 8884370u, 0, 6, &be_const_str_input);
+be_define_const_str(input, "input", 4191711099u, 0, 5, &be_const_str_tostring);
+be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL);
+be_define_const_str(FALLING, "FALLING", 2851701064u, 0, 7, &be_const_str_HLW_CF);
+be_define_const_str(HLW_CF, "HLW_CF", 3982619486u, 0, 6, &be_const_str_HPMA_RX);
+be_define_const_str(HPMA_RX, "HPMA_RX", 3462528998u, 0, 7, &be_const_str_read12);
+be_define_const_str(read12, "read12", 4291076970u, 0, 6, NULL);
+be_define_const_str(DDS2382_TX, "DDS2382_TX", 1438117864u, 0, 10, &be_const_str_list);
+be_define_const_str(list, "list", 217798785u, 0, 4, &be_const_str_lv_chart);
+be_define_const_str(lv_chart, "lv_chart", 2652494144u, 0, 8, &be_const_str_lv_indev);
+be_define_const_str(lv_indev, "lv_indev", 225602374u, 0, 8, &be_const_str_pin_used);
+be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, NULL);
+be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_lv_font);
+be_define_const_str(lv_font, "lv_font", 1550958453u, 0, 7, NULL);
+be_define_const_str(memory, "memory", 2229924270u, 0, 6, NULL);
+be_define_const_str(DDS2382_RX, "DDS2382_RX", 432446462u, 0, 10, &be_const_str_SYMBOL_DIRECTORY);
+be_define_const_str(SYMBOL_DIRECTORY, "SYMBOL_DIRECTORY", 1886053449u, 0, 16, &be_const_str_erase);
+be_define_const_str(erase, "erase", 1010949589u, 0, 5, &be_const_str_getbits);
+be_define_const_str(getbits, "getbits", 3094168979u, 0, 7, &be_const_str_pow);
+be_define_const_str(pow, "pow", 1479764693u, 0, 3, &be_const_str_reverse_gamma10);
+be_define_const_str(reverse_gamma10, "reverse_gamma10", 739112262u, 0, 15, &be_const_str_save);
+be_define_const_str(save, "save", 3439296072u, 0, 4, NULL);
+be_define_const_str(ADC_JOY, "ADC_JOY", 1116943612u, 0, 7, NULL);
+be_define_const_str(SYMBOL_CLOSE, "SYMBOL_CLOSE", 2654402806u, 0, 12, &be_const_str_name);
+be_define_const_str(name, "name", 2369371622u, 0, 4, NULL);
+be_define_const_str(CHANGE, "CHANGE", 4280911421u, 0, 6, &be_const_str_LED1);
+be_define_const_str(LED1, "LED1", 21005825u, 0, 4, NULL);
+be_define_const_str(PN532_TXD, "PN532_TXD", 3093418644u, 0, 9, &be_const_str_sqrt);
+be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, NULL);
+be_define_const_str(SSPI_MOSI, "SSPI_MOSI", 3745917497u, 0, 9, &be_const_str_SSPI_SCLK);
+be_define_const_str(SSPI_SCLK, "SSPI_SCLK", 136688954u, 0, 9, NULL);
+be_define_const_str(resolvecmnd, "resolvecmnd", 993361485u, 0, 11, NULL);
+be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_set_timer);
+be_define_const_str(set_timer, "set_timer", 2135414533u, 0, 9, NULL);
+be_define_const_str(collect, "collect", 2399039025u, 0, 7, NULL);
+be_define_const_str(SWT1_NP, "SWT1_NP", 4033043739u, 0, 7, &be_const_str_TM1638DIO);
+be_define_const_str(TM1638DIO, "TM1638DIO", 1408212414u, 0, 9, &be_const_str_i2c_enabled);
+be_define_const_str(i2c_enabled, "i2c_enabled", 218388101u, 0, 11, NULL);
+be_define_const_str(PZEM016_RX, "PZEM016_RX", 1004012055u, 0, 10, NULL);
+be_define_const_str(lv_group_focus_cb, "lv_group_focus_cb", 4288873836u, 0, 17, NULL);
+be_define_const_str(RFRECV, "RFRECV", 354742801u, 0, 6, NULL);
+be_define_const_str(A4988_MS1, "A4988_MS1", 1729976611u, 0, 9, &be_const_str_SAIR_RX);
+be_define_const_str(SAIR_RX, "SAIR_RX", 1273688713u, 0, 7, &be_const_str__cmd);
+be_define_const_str(_cmd, "_cmd", 3419822142u, 0, 4, &be_const_str_compile);
+be_define_const_str(compile, "compile", 1000265118u, 0, 7, NULL);
+be_define_const_str(RXD, "RXD", 2311579049u, 0, 3, &be_const_str_SYMBOL_PLAY);
+be_define_const_str(SYMBOL_PLAY, "SYMBOL_PLAY", 1750902100u, 0, 11, &be_const_str_lv_img);
+be_define_const_str(lv_img, "lv_img", 2474052327u, 0, 6, &be_const_str_super);
+be_define_const_str(super, "super", 4152230356u, 0, 5, NULL);
+be_define_const_str(SAIR_TX, "SAIR_TX", 268017311u, 0, 7, &be_const_str_SDM120_RX);
+be_define_const_str(SDM120_RX, "SDM120_RX", 1367571753u, 0, 9, &be_const_str_attrdump);
+be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_elif);
+be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL);
+be_define_const_str(WEBCAM_HREF, "WEBCAM_HREF", 3161890024u, 0, 11, &be_const_str__drivers);
+be_define_const_str(_drivers, "_drivers", 3260328985u, 0, 8, &be_const_str_import);
+be_define_const_str(import, "import", 288002260u, 66, 6, NULL);
+be_define_const_str(SYMBOL_OK, "SYMBOL_OK", 4033162940u, 0, 9, &be_const_str_geti);
+be_define_const_str(geti, "geti", 2381006490u, 0, 4, &be_const_str_lv_calendar);
+be_define_const_str(lv_calendar, "lv_calendar", 3284396894u, 0, 11, NULL);
+be_define_const_str(CSE7761_RX, "CSE7761_RX", 65423248u, 0, 10, &be_const_str_WINDMETER_SPEED);
+be_define_const_str(WINDMETER_SPEED, "WINDMETER_SPEED", 1980822204u, 0, 15, &be_const_str_find);
+be_define_const_str(find, "find", 3186656602u, 0, 4, &be_const_str_lv_cb);
be_define_const_str(lv_cb, "lv_cb", 1389787433u, 0, 5, NULL);
+be_define_const_str(WEBCAM_HSD, "WEBCAM_HSD", 2648502504u, 0, 10, NULL);
+be_define_const_str(SYMBOL_KEYBOARD, "SYMBOL_KEYBOARD", 1621492879u, 0, 15, NULL);
+be_define_const_str(SYMBOL_DRIVE, "SYMBOL_DRIVE", 567203502u, 0, 12, NULL);
+be_define_const_str(AudioGeneratorMP3, "AudioGeneratorMP3", 2199818488u, 0, 17, &be_const_str_close);
+be_define_const_str(close, "close", 667630371u, 0, 5, NULL);
+be_define_const_str(BOILER_OT_RX, "BOILER_OT_RX", 603647409u, 0, 12, &be_const_str_TCP_RX);
+be_define_const_str(TCP_RX, "TCP_RX", 3904354751u, 0, 6, &be_const_str_XPT2046_CS);
+be_define_const_str(XPT2046_CS, "XPT2046_CS", 4049231042u, 0, 10, NULL);
+be_define_const_str(ADC_CT_POWER, "ADC_CT_POWER", 3382284599u, 0, 12, &be_const_str_every_second);
+be_define_const_str(every_second, "every_second", 2075451465u, 0, 12, &be_const_str_lv_draw_rect_dsc);
+be_define_const_str(lv_draw_rect_dsc, "lv_draw_rect_dsc", 3246772488u, 0, 16, NULL);
+be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_load_freetype_font);
+be_define_const_str(load_freetype_font, "load_freetype_font", 2368447592u, 0, 18, &be_const_str_resize);
+be_define_const_str(resize, "resize", 3514612129u, 0, 6, NULL);
+be_define_const_str(TASMOTACLIENT_RXD, "TASMOTACLIENT_RXD", 72868318u, 0, 17, &be_const_str_scan);
+be_define_const_str(scan, "scan", 3974641896u, 0, 4, NULL);
+be_define_const_str(HRE_CLOCK, "HRE_CLOCK", 2870559111u, 0, 9, &be_const_str_MAX7219DIN);
+be_define_const_str(MAX7219DIN, "MAX7219DIN", 380687049u, 0, 10, &be_const_str_SYMBOL_DUMMY);
+be_define_const_str(SYMBOL_DUMMY, "SYMBOL_DUMMY", 3621732138u, 0, 12, NULL);
+be_define_const_str(NRG_SEL, "NRG_SEL", 1771358125u, 0, 7, &be_const_str_SPI_MOSI);
+be_define_const_str(SPI_MOSI, "SPI_MOSI", 2494218614u, 0, 8, NULL);
+be_define_const_str(AudioFileSource, "AudioFileSource", 2959980058u, 0, 15, &be_const_str_AudioOutput);
+be_define_const_str(AudioOutput, "AudioOutput", 3257792048u, 0, 11, &be_const_str_ETH_PHY_MDC);
+be_define_const_str(ETH_PHY_MDC, "ETH_PHY_MDC", 1519379581u, 0, 11, &be_const_str_IEM3000_TX);
+be_define_const_str(IEM3000_TX, "IEM3000_TX", 1185907310u, 0, 10, &be_const_str_imax);
+be_define_const_str(imax, "imax", 3084515410u, 0, 4, NULL);
+be_define_const_str(OUTPUT_OPEN_DRAIN, "OUTPUT_OPEN_DRAIN", 2147249436u, 0, 17, &be_const_str_SYMBOL_BELL);
+be_define_const_str(SYMBOL_BELL, "SYMBOL_BELL", 1736196487u, 0, 11, &be_const_str_redirect);
+be_define_const_str(redirect, "redirect", 389758641u, 0, 8, NULL);
+be_define_const_str(SPI_DC, "SPI_DC", 553259951u, 0, 6, &be_const_str_lv_draw_mask_saved);
+be_define_const_str(lv_draw_mask_saved, "lv_draw_mask_saved", 2063709159u, 0, 18, NULL);
+be_define_const_str(TASMOTACLIENT_RST, "TASMOTACLIENT_RST", 3326196213u, 0, 17, &be_const_str_lv_canvas);
+be_define_const_str(lv_canvas, "lv_canvas", 142865412u, 0, 9, &be_const_str_lv_sqrt_res);
+be_define_const_str(lv_sqrt_res, "lv_sqrt_res", 2904473995u, 0, 11, NULL);
+be_define_const_str(MHZ_TXD, "MHZ_TXD", 3310158233u, 0, 7, NULL);
+be_define_const_str(resp_cmnd_error, "resp_cmnd_error", 2404088863u, 0, 15, NULL);
+be_define_const_str(AS3935, "AS3935", 603621745u, 0, 6, &be_const_str_deg);
+be_define_const_str(deg, "deg", 3327754271u, 0, 3, &be_const_str_var);
+be_define_const_str(var, "var", 2317739966u, 64, 3, NULL);
+be_define_const_str(SYMBOL_CHARGE, "SYMBOL_CHARGE", 2106391946u, 0, 13, &be_const_str_TASMOTACLIENT_TXD);
+be_define_const_str(TASMOTACLIENT_TXD, "TASMOTACLIENT_TXD", 1386193940u, 0, 17, &be_const_str_lv_table);
+be_define_const_str(lv_table, "lv_table", 1675691020u, 0, 8, NULL);
+be_define_const_str(opt_neq, "!=", 2428715011u, 0, 2, &be_const_str_PROJECTOR_CTRL_RX);
+be_define_const_str(PROJECTOR_CTRL_RX, "PROJECTOR_CTRL_RX", 1542762460u, 0, 17, NULL);
+be_define_const_str(DCKI, "DCKI", 3846847480u, 0, 4, &be_const_str_KEY1_INV);
+be_define_const_str(KEY1_INV, "KEY1_INV", 263542563u, 0, 8, &be_const_str_imin);
+be_define_const_str(imin, "imin", 2714127864u, 0, 4, &be_const_str_lv_draw_mask_angle_param);
+be_define_const_str(lv_draw_mask_angle_param, "lv_draw_mask_angle_param", 4192166041u, 0, 24, NULL);
+be_define_const_str(PWM1, "PWM1", 1353352426u, 0, 4, &be_const_str_ZIGBEE_TX);
+be_define_const_str(ZIGBEE_TX, "ZIGBEE_TX", 25119256u, 0, 9, &be_const_str_assert);
+be_define_const_str(assert, "assert", 2774883451u, 0, 6, &be_const_str_resp_cmnd_failed);
+be_define_const_str(resp_cmnd_failed, "resp_cmnd_failed", 2136281562u, 0, 16, &be_const_str_web_add_console_button);
+be_define_const_str(web_add_console_button, "web_add_console_button", 3481436192u, 0, 22, NULL);
+be_define_const_str(PULLUP, "PULLUP", 3417628531u, 0, 6, NULL);
+be_define_const_str(ARIRFRCV, "ARIRFRCV", 1120816444u, 0, 8, &be_const_str_AudioOutputI2S);
+be_define_const_str(AudioOutputI2S, "AudioOutputI2S", 638031784u, 0, 14, &be_const_str_LE01MR_TX);
+be_define_const_str(LE01MR_TX, "LE01MR_TX", 1589687023u, 0, 9, NULL);
+be_define_const_str(MCP39F5_RX, "MCP39F5_RX", 190458217u, 0, 10, &be_const_str_ROT1B_NP);
+be_define_const_str(ROT1B_NP, "ROT1B_NP", 3710079736u, 0, 8, &be_const_str_TM1638STB);
+be_define_const_str(TM1638STB, "TM1638STB", 823674593u, 0, 9, NULL);
+be_define_const_str(SM2135_CLK, "SM2135_CLK", 2383410011u, 0, 10, NULL);
+be_define_const_str(SYMBOL_AUDIO, "SYMBOL_AUDIO", 3056537956u, 0, 12, &be_const_str_tanh);
+be_define_const_str(tanh, "tanh", 153638352u, 0, 4, &be_const_str_if);
+be_define_const_str(if, "if", 959999494u, 50, 2, NULL);
+be_define_const_str(IBEACON_TX, "IBEACON_TX", 3471826977u, 0, 10, &be_const_str__read);
+be_define_const_str(_read, "_read", 346717030u, 0, 5, NULL);
+be_define_const_str(ILI9341_DC, "ILI9341_DC", 28838624u, 0, 10, &be_const_str_PULLDOWN);
+be_define_const_str(PULLDOWN, "PULLDOWN", 1853074086u, 0, 8, &be_const_str_RF_SENSOR);
+be_define_const_str(RF_SENSOR, "RF_SENSOR", 2289628100u, 0, 9, &be_const_str_lv_color);
+be_define_const_str(lv_color, "lv_color", 1419148319u, 0, 8, NULL);
+be_define_const_str(I2C_Driver, "I2C_Driver", 1714501658u, 0, 10, &be_const_str_KEY1_TC);
+be_define_const_str(KEY1_TC, "KEY1_TC", 25685109u, 0, 7, &be_const_str__buffer);
+be_define_const_str(_buffer, "_buffer", 2044888568u, 0, 7, &be_const_str_add_driver);
+be_define_const_str(add_driver, "add_driver", 1654458371u, 0, 10, &be_const_str_find_op);
+be_define_const_str(find_op, "find_op", 3766713376u, 0, 7, &be_const_str_rand);
+be_define_const_str(rand, "rand", 2711325910u, 0, 4, NULL);
+be_define_const_str(IBEACON_RX, "IBEACON_RX", 2466155575u, 0, 10, &be_const_str_LEDLNK);
+be_define_const_str(LEDLNK, "LEDLNK", 2862810701u, 0, 6, NULL);
+be_define_const_str(HALLEFFECT, "HALLEFFECT", 3334305407u, 0, 10, NULL);
+be_define_const_str(SR04_TRIG, "SR04_TRIG", 68671263u, 0, 9, &be_const_str_SYMBOL_NEXT);
+be_define_const_str(SYMBOL_NEXT, "SYMBOL_NEXT", 1102844455u, 0, 11, &be_const_str_SYMBOL_USB);
+be_define_const_str(SYMBOL_USB, "SYMBOL_USB", 1962656552u, 0, 10, NULL);
+be_define_const_str(OUTPUT_HI, "OUTPUT_HI", 3153592902u, 0, 9, &be_const_str_SPI_MISO);
+be_define_const_str(SPI_MISO, "SPI_MISO", 150818010u, 0, 8, &be_const_str_time_dump);
+be_define_const_str(time_dump, "time_dump", 3330410747u, 0, 9, NULL);
+be_define_const_str(CSE7766_RX, "CSE7766_RX", 1546766819u, 0, 10, &be_const_str_SPI_CS);
+be_define_const_str(SPI_CS, "SPI_CS", 553701236u, 0, 6, &be_const_str_lv_line);
+be_define_const_str(lv_line, "lv_line", 2692732914u, 0, 7, &be_const_str_write_bit);
+be_define_const_str(write_bit, "write_bit", 2660990436u, 0, 9, NULL);
+be_define_const_str(class, "class", 2872970239u, 57, 5, NULL);
+be_define_const_str(SYMBOL_LOOP, "SYMBOL_LOOP", 2762053208u, 0, 11, &be_const_str_WEBCAM_SIOC);
+be_define_const_str(WEBCAM_SIOC, "WEBCAM_SIOC", 218815147u, 0, 11, &be_const_str_cosh);
+be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, NULL);
+be_define_const_str(INPUT_PULLDOWN, "INPUT_PULLDOWN", 1172232591u, 0, 14, &be_const_str_WE517_RX);
+be_define_const_str(WE517_RX, "WE517_RX", 4096577879u, 0, 8, NULL);
+be_define_const_str(AudioFileSourceFS, "AudioFileSourceFS", 1839147653u, 0, 17, &be_const_str_ZEROCROSS);
+be_define_const_str(ZEROCROSS, "ZEROCROSS", 1747596785u, 0, 9, &be_const_str_get);
+be_define_const_str(get, "get", 1410115415u, 0, 3, &be_const_str_resp_cmnd_str);
+be_define_const_str(resp_cmnd_str, "resp_cmnd_str", 737845590u, 0, 13, NULL);
+be_define_const_str(DI, "DI", 1070498734u, 0, 2, &be_const_str_ROT1A);
+be_define_const_str(ROT1A, "ROT1A", 759599716u, 0, 5, &be_const_str_SYMBOL_UPLOAD);
+be_define_const_str(SYMBOL_UPLOAD, "SYMBOL_UPLOAD", 3293679647u, 0, 13, &be_const_str_deinit);
+be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, NULL);
+be_define_const_str(write8, "write8", 3133991532u, 0, 6, NULL);
+be_define_const_str(I2S_OUT_DATA, "I2S_OUT_DATA", 1176288293u, 0, 12, &be_const_str_SSD1351_CS);
+be_define_const_str(SSD1351_CS, "SSD1351_CS", 488746042u, 0, 10, &be_const_str_SSPI_CS);
+be_define_const_str(SSPI_CS, "SSPI_CS", 977784795u, 0, 7, NULL);
+be_define_const_str(PZEM004_RX, "PZEM004_RX", 3411153194u, 0, 10, NULL);
+be_define_const_str(loop, "loop", 3723446379u, 0, 4, NULL);
+be_define_const_str(ADC_TEMP, "ADC_TEMP", 3771053440u, 0, 8, &be_const_str_BL0940_RX);
+be_define_const_str(BL0940_RX, "BL0940_RX", 2908993179u, 0, 9, NULL);
+be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, &be_const_str_yield);
+be_define_const_str(yield, "yield", 1821831854u, 0, 5, &be_const_str_raise);
+be_define_const_str(raise, "raise", 1593437475u, 70, 5, NULL);
+be_define_const_str(lv_group, "lv_group", 3852039019u, 0, 8, &be_const_str_size);
+be_define_const_str(size, "size", 597743964u, 0, 4, NULL);
+be_define_const_str(DDSU666_RX, "DDSU666_RX", 1812507936u, 0, 10, &be_const_str_SYMBOL_REFRESH);
+be_define_const_str(SYMBOL_REFRESH, "SYMBOL_REFRESH", 1266229761u, 0, 14, &be_const_str_lv_draw_mask_fade_param);
+be_define_const_str(lv_draw_mask_fade_param, "lv_draw_mask_fade_param", 2743309964u, 0, 23, NULL);
+be_define_const_str(range, "range", 4208725202u, 0, 5, NULL);
+be_define_const_str(ADE7953_IRQ, "ADE7953_IRQ", 2329185922u, 0, 11, &be_const_str_AZ_RXD);
+be_define_const_str(AZ_RXD, "AZ_RXD", 699914019u, 0, 6, &be_const_str_SYMBOL_BACKSPACE);
+be_define_const_str(SYMBOL_BACKSPACE, "SYMBOL_BACKSPACE", 1997168681u, 0, 16, &be_const_str_SYMBOL_DOWN);
+be_define_const_str(SYMBOL_DOWN, "SYMBOL_DOWN", 1107513570u, 0, 11, &be_const_str_calldepth);
+be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, &be_const_str_true);
+be_define_const_str(true, "true", 1303515621u, 61, 4, NULL);
+be_define_const_str(NEOPOOL_RX, "NEOPOOL_RX", 1917974474u, 0, 10, &be_const_str_keys);
+be_define_const_str(keys, "keys", 4182378701u, 0, 4, NULL);
+be_define_const_str(MCP39F5_TX, "MCP39F5_TX", 1332322047u, 0, 10, &be_const_str_lv_arc);
+be_define_const_str(lv_arc, "lv_arc", 4170125384u, 0, 6, &be_const_str_break);
+be_define_const_str(break, "break", 3378807160u, 58, 5, NULL);
+be_define_const_str(HPMA_TX, "HPMA_TX", 173233104u, 0, 7, &be_const_str_SOLAXX1_RX);
+be_define_const_str(SOLAXX1_RX, "SOLAXX1_RX", 971867054u, 0, 10, NULL);
+be_define_const_str(ETH_PHY_MDIO, "ETH_PHY_MDIO", 3261871568u, 0, 12, &be_const_str_SR04_ECHO);
+be_define_const_str(SR04_ECHO, "SR04_ECHO", 1906909592u, 0, 9, &be_const_str_log);
+be_define_const_str(log, "log", 1062293841u, 0, 3, &be_const_str_set_light);
+be_define_const_str(set_light, "set_light", 3176076152u, 0, 9, NULL);
+be_define_const_str(AZ_TXD, "AZ_TXD", 850268709u, 0, 6, &be_const_str_SYMBOL_UP);
+be_define_const_str(SYMBOL_UP, "SYMBOL_UP", 3886401511u, 0, 9, NULL);
+be_define_const_str(lv_cpicker, "lv_cpicker", 1935129251u, 0, 10, NULL);
+be_define_const_str(MP3_DFR562, "MP3_DFR562", 2859952977u, 0, 10, &be_const_str_hex);
+be_define_const_str(hex, "hex", 4273249610u, 0, 3, NULL);
+be_define_const_str(log10, "log10", 2346846000u, 0, 5, NULL);
+be_define_const_str(INTERRUPT, "INTERRUPT", 3809502704u, 0, 9, NULL);
+be_define_const_str(SYMBOL_VOLUME_MAX, "SYMBOL_VOLUME_MAX", 3582646093u, 0, 17, NULL);
+be_define_const_str(HX711_SCK, "HX711_SCK", 3785979404u, 0, 9, NULL);
+be_define_const_str(WIEGAND_D1, "WIEGAND_D1", 4175558140u, 0, 10, &be_const_str_event);
+be_define_const_str(event, "event", 4264611999u, 0, 5, &be_const_str_lv_btn);
+be_define_const_str(lv_btn, "lv_btn", 1612829968u, 0, 6, NULL);
+be_define_const_str(CC1101_GDO2, "CC1101_GDO2", 974166265u, 0, 11, &be_const_str_lv_draw_label_dsc);
+be_define_const_str(lv_draw_label_dsc, "lv_draw_label_dsc", 265601842u, 0, 17, &be_const_str_try);
+be_define_const_str(try, "try", 2887626766u, 68, 3, NULL);
+be_define_const_str(I2S_OUT_SLCT, "I2S_OUT_SLCT", 4037293837u, 0, 12, &be_const_str_lv_textarea);
+be_define_const_str(lv_textarea, "lv_textarea", 2864635074u, 0, 11, NULL);
+be_define_const_str(A4988_ENA, "A4988_ENA", 1517502682u, 0, 9, &be_const_str_WEBCAM_PSRCS);
+be_define_const_str(WEBCAM_PSRCS, "WEBCAM_PSRCS", 624464864u, 0, 12, NULL);
+be_define_const_str(publish, "publish", 264247304u, 0, 7, NULL);
+be_define_const_str(SYMBOL_BULLET, "SYMBOL_BULLET", 587181862u, 0, 13, &be_const_str_WEBCAM_PWDN);
+be_define_const_str(WEBCAM_PWDN, "WEBCAM_PWDN", 2219597454u, 0, 11, NULL);
+be_define_const_str(Driver, "Driver", 3576386303u, 0, 6, &be_const_str_OLED_RESET);
+be_define_const_str(OLED_RESET, "OLED_RESET", 4048987655u, 0, 10, &be_const_str_SSPI_DC);
+be_define_const_str(SSPI_DC, "SSPI_DC", 1782271864u, 0, 7, &be_const_str_SYMBOL_BATTERY_EMPTY);
+be_define_const_str(SYMBOL_BATTERY_EMPTY, "SYMBOL_BATTERY_EMPTY", 3945064277u, 0, 20, &be_const_str__write);
+be_define_const_str(_write, "_write", 2215462825u, 0, 6, &be_const_str_web_add_handler);
+be_define_const_str(web_add_handler, "web_add_handler", 3990174962u, 0, 15, NULL);
+be_define_const_str(RFSEND, "RFSEND", 1862630731u, 0, 6, &be_const_str_pop);
+be_define_const_str(pop, "pop", 1362321360u, 0, 3, NULL);
+be_define_const_str(HM10_RX, "HM10_RX", 515085922u, 0, 7, &be_const_str_lv_draw_line_dsc);
+be_define_const_str(lv_draw_line_dsc, "lv_draw_line_dsc", 2422805236u, 0, 16, &be_const_str_scale_uint);
+be_define_const_str(scale_uint, "scale_uint", 3090811094u, 0, 10, NULL);
+be_define_const_str(TUYA_TX, "TUYA_TX", 1541301465u, 0, 7, &be_const_str_TX2X_TXD_BLACK);
+be_define_const_str(TX2X_TXD_BLACK, "TX2X_TXD_BLACK", 956526176u, 0, 14, &be_const_str_push);
+be_define_const_str(push, "push", 2272264157u, 0, 4, NULL);
+be_define_const_str(GPS_RX, "GPS_RX", 1075637342u, 0, 6, &be_const_str_SYMBOL_EJECT);
+be_define_const_str(SYMBOL_EJECT, "SYMBOL_EJECT", 873760647u, 0, 12, &be_const_str_classof);
+be_define_const_str(classof, "classof", 1796577762u, 0, 7, &be_const_str_item);
+be_define_const_str(item, "item", 2671260646u, 0, 4, NULL);
+be_define_const_str(dot_def, ".def", 4095748648u, 0, 4, &be_const_str_SSPI_MAX31865_CS1);
+be_define_const_str(SSPI_MAX31865_CS1, "SSPI_MAX31865_CS1", 1256578724u, 0, 17, &be_const_str_for);
+be_define_const_str(for, "for", 2901640080u, 54, 3, NULL);
+be_define_const_str(DEEPSLEEP, "DEEPSLEEP", 189922226u, 0, 9, &be_const_str_ST7789_CS);
+be_define_const_str(ST7789_CS, "ST7789_CS", 2937305434u, 0, 9, &be_const_str_while);
+be_define_const_str(while, "while", 231090382u, 53, 5, NULL);
+be_define_const_str(TELEINFO_ENABLE, "TELEINFO_ENABLE", 1600974501u, 0, 15, &be_const_str__cb);
+be_define_const_str(_cb, "_cb", 4043300367u, 0, 3, NULL);
+be_define_const_str(TM1637DIO, "TM1637DIO", 1574659381u, 0, 9, &be_const_str_arg_size);
+be_define_const_str(arg_size, "arg_size", 3310243257u, 0, 8, &be_const_str_lv_keyboard);
+be_define_const_str(lv_keyboard, "lv_keyboard", 197530229u, 0, 11, NULL);
+be_define_const_str(SDM630_TX, "SDM630_TX", 696213075u, 0, 9, &be_const_str_abs);
+be_define_const_str(abs, "abs", 709362235u, 0, 3, NULL);
+be_define_const_str(RC522_RST, "RC522_RST", 720511443u, 0, 9, &be_const_str_SYMBOL_BLUETOOTH);
+be_define_const_str(SYMBOL_BLUETOOTH, "SYMBOL_BLUETOOTH", 679376572u, 0, 16, &be_const_str_WEBCAM_VSYNC);
+be_define_const_str(WEBCAM_VSYNC, "WEBCAM_VSYNC", 4032882166u, 0, 12, NULL);
+be_define_const_str(set_power, "set_power", 549820893u, 0, 9, NULL);
+be_define_const_str(opt_connect, "..", 2748622605u, 0, 2, &be_const_str_MAX31855CS);
+be_define_const_str(MAX31855CS, "MAX31855CS", 753620511u, 0, 10, &be_const_str_NRG_SEL_INV);
+be_define_const_str(NRG_SEL_INV, "NRG_SEL_INV", 3567431069u, 0, 11, NULL);
+be_define_const_str(TM1638CLK, "TM1638CLK", 3045182446u, 0, 9, NULL);
+be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, &be_const_str_bytes);
+be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, &be_const_str_gamma8);
+be_define_const_str(gamma8, "gamma8", 3802843830u, 0, 6, &be_const_str_lv_spinbox);
+be_define_const_str(lv_spinbox, "lv_spinbox", 2666096729u, 0, 10, NULL);
+be_define_const_str(IRSEND, "IRSEND", 184848336u, 0, 6, &be_const_str_SDS0X1_RX);
+be_define_const_str(SDS0X1_RX, "SDS0X1_RX", 1170717385u, 0, 9, &be_const_str_tolower);
+be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, NULL);
+be_define_const_str(content_stop, "content_stop", 658554751u, 0, 12, NULL);
+be_define_const_str(KEY1_INV_PD, "KEY1_INV_PD", 3828014584u, 0, 11, &be_const_str_rad);
+be_define_const_str(rad, "rad", 1358899048u, 0, 3, &be_const_str_time_reached);
+be_define_const_str(time_reached, "time_reached", 2075136773u, 0, 12, NULL);
+be_define_const_str(SDS0X1_TX, "SDS0X1_TX", 165045983u, 0, 9, &be_const_str_cmd);
+be_define_const_str(cmd, "cmd", 4136785899u, 0, 3, NULL);
+be_define_const_str(init, "init", 380752755u, 0, 4, &be_const_str_wire_scan);
+be_define_const_str(wire_scan, "wire_scan", 2671275880u, 0, 9, NULL);
+be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, NULL);
+be_define_const_str(SYMBOL_RIGHT, "SYMBOL_RIGHT", 2984010648u, 0, 12, NULL);
+be_define_const_str(ETH_PHY_POWER, "ETH_PHY_POWER", 487529454u, 0, 13, NULL);
+be_define_const_str(SYMBOL_BATTERY_FULL, "SYMBOL_BATTERY_FULL", 2638935545u, 0, 19, &be_const_str_arg_name);
+be_define_const_str(arg_name, "arg_name", 1345046155u, 0, 8, &be_const_str_start);
+be_define_const_str(start, "start", 1697318111u, 0, 5, &be_const_str_except);
+be_define_const_str(except, "except", 950914032u, 69, 6, NULL);
+be_define_const_str(TASMOTACLIENT_RST_INV, "TASMOTACLIENT_RST_INV", 2601785365u, 0, 21, NULL);
+be_define_const_str(SWT1_PD, "SWT1_PD", 4166278953u, 0, 7, &be_const_str_add_cmd);
+be_define_const_str(add_cmd, "add_cmd", 3361630879u, 0, 7, &be_const_str_int);
+be_define_const_str(int, "int", 2515107422u, 0, 3, &be_const_str_lv_draw_mask_line_param);
+be_define_const_str(lv_draw_mask_line_param, "lv_draw_mask_line_param", 2692990704u, 0, 23, NULL);
+be_define_const_str(AudioGenerator, "AudioGenerator", 1839297342u, 0, 14, &be_const_str_BS814_CLK);
+be_define_const_str(BS814_CLK, "BS814_CLK", 3002713336u, 0, 9, &be_const_str_CNTR1_NP);
+be_define_const_str(CNTR1_NP, "CNTR1_NP", 4288381648u, 0, 8, &be_const_str_MAX31855CLK);
+be_define_const_str(MAX31855CLK, "MAX31855CLK", 715977727u, 0, 11, &be_const_str_WEBCAM_SIOD);
+be_define_const_str(WEBCAM_SIOD, "WEBCAM_SIOD", 302703242u, 0, 11, &be_const_str_exists);
+be_define_const_str(exists, "exists", 1002329533u, 0, 6, NULL);
+be_define_const_str(map, "map", 3751997361u, 0, 3, NULL);
+be_define_const_str(ADC_INPUT, "ADC_INPUT", 2207556878u, 0, 9, &be_const_str_EXS_ENABLE);
+be_define_const_str(EXS_ENABLE, "EXS_ENABLE", 1896914313u, 0, 10, &be_const_str_update);
+be_define_const_str(update, "update", 672109684u, 0, 6, NULL);
+be_define_const_str(LOW, "LOW", 3526092385u, 0, 3, &be_const_str_SDM72_RX);
+be_define_const_str(SDM72_RX, "SDM72_RX", 766750035u, 0, 8, &be_const_str_SYMBOL_PAUSE);
+be_define_const_str(SYMBOL_PAUSE, "SYMBOL_PAUSE", 641998172u, 0, 12, &be_const_str_every_50ms);
+be_define_const_str(every_50ms, "every_50ms", 2383884008u, 0, 10, &be_const_str_get_option);
+be_define_const_str(get_option, "get_option", 2123730033u, 0, 10, &be_const_str_sinh);
+be_define_const_str(sinh, "sinh", 282220607u, 0, 4, NULL);
+be_define_const_str(LED1_INV, "LED1_INV", 2112045097u, 0, 8, &be_const_str_button_pressed);
+be_define_const_str(button_pressed, "button_pressed", 1694209616u, 0, 14, &be_const_str_set);
+be_define_const_str(set, "set", 3324446467u, 0, 3, NULL);
+be_define_const_str(EPAPER29_CS, "EPAPER29_CS", 3916373594u, 0, 11, &be_const_str_end);
+be_define_const_str(end, "end", 1787721130u, 56, 3, NULL);
+be_define_const_str(OUTPUT, "OUTPUT", 1469629700u, 0, 6, &be_const_str_lv_draw_mask_fade_param_cfg);
+be_define_const_str(lv_draw_mask_fade_param_cfg, "lv_draw_mask_fade_param_cfg", 4158595197u, 0, 27, NULL);
+be_define_const_str(I2S_IN_DATA, "I2S_IN_DATA", 4125971460u, 0, 11, &be_const_str_lv_area);
+be_define_const_str(lv_area, "lv_area", 2521150401u, 0, 7, NULL);
+be_define_const_str(SM2135_DAT, "SM2135_DAT", 2882726942u, 0, 10, &be_const_str_traceback);
+be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, NULL);
+be_define_const_str(INPUT_PULLUP, "INPUT_PULLUP", 2912931654u, 0, 12, &be_const_str_SBR_TX);
+be_define_const_str(SBR_TX, "SBR_TX", 3419096015u, 0, 6, &be_const_str_char);
+be_define_const_str(char, "char", 2823553821u, 0, 4, &be_const_str_lv_design_cb);
+be_define_const_str(lv_design_cb, "lv_design_cb", 3822640502u, 0, 12, NULL);
+be_define_const_str(I2S_IN_SLCT, "I2S_IN_SLCT", 706051516u, 0, 11, &be_const_str_PWM1_INV);
+be_define_const_str(PWM1_INV, "PWM1_INV", 3939021030u, 0, 8, &be_const_str_lv_checkbox);
+be_define_const_str(lv_checkbox, "lv_checkbox", 7454841u, 0, 11, &be_const_str_print);
+be_define_const_str(print, "print", 372738696u, 0, 5, NULL);
+be_define_const_str(TCP_TX, "TCP_TX", 2762594089u, 0, 6, &be_const_str_finish);
+be_define_const_str(finish, "finish", 1494643858u, 0, 6, &be_const_str_remove_rule);
+be_define_const_str(remove_rule, "remove_rule", 3456211328u, 0, 11, NULL);
+be_define_const_str(content_button, "content_button", 1956476087u, 0, 14, NULL);
+be_define_const_str(BUZZER, "BUZZER", 1550039611u, 0, 6, &be_const_str_digital_read);
+be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, NULL);
+be_define_const_str(lv_slider, "lv_slider", 2274180781u, 0, 9, &be_const_str_pi);
+be_define_const_str(pi, "pi", 1213090802u, 0, 2, NULL);
+be_define_const_str(MIEL_HVAC_TX, "MIEL_HVAC_TX", 567403014u, 0, 12, &be_const_str_arg);
+be_define_const_str(arg, "arg", 1047474471u, 0, 3, &be_const_str_else);
+be_define_const_str(else, "else", 3183434736u, 52, 4, NULL);
+be_define_const_str(content_send, "content_send", 1673733649u, 0, 12, &be_const_str_lv_win);
+be_define_const_str(lv_win, "lv_win", 780927558u, 0, 6, NULL);
+be_define_const_str(opt_add, "+", 772578730u, 0, 1, NULL);
+be_define_const_str(content_flush, "content_flush", 214922475u, 0, 13, &be_const_str_lv_imgbtn);
+be_define_const_str(lv_imgbtn, "lv_imgbtn", 2402844429u, 0, 9, NULL);
+be_define_const_str(rtc, "rtc", 1070575216u, 0, 3, &be_const_str_wire1);
+be_define_const_str(wire1, "wire1", 3212721419u, 0, 5, NULL);
+be_define_const_str(ADC_PH, "ADC_PH", 3820290594u, 0, 6, &be_const_str_AS608_TX);
+be_define_const_str(AS608_TX, "AS608_TX", 48630934u, 0, 8, &be_const_str_gen_cb);
+be_define_const_str(gen_cb, "gen_cb", 3245227551u, 0, 6, &be_const_str_get_free_heap);
+be_define_const_str(get_free_heap, "get_free_heap", 625069757u, 0, 13, &be_const_str_toupper);
+be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, &be_const_str_upper);
+be_define_const_str(upper, "upper", 176974407u, 0, 5, NULL);
+be_define_const_str(SYMBOL_LIST, "SYMBOL_LIST", 70793990u, 0, 11, &be_const_str_web_sensor);
+be_define_const_str(web_sensor, "web_sensor", 2900096972u, 0, 10, NULL);
+be_define_const_str(SYMBOL_BATTERY_1, "SYMBOL_BATTERY_1", 629036063u, 0, 16, &be_const_str_lv_event_cb);
+be_define_const_str(lv_event_cb, "lv_event_cb", 2480731016u, 0, 11, &be_const_str_write_bytes);
+be_define_const_str(write_bytes, "write_bytes", 1227543792u, 0, 11, NULL);
+be_define_const_str(SYMBOL_EYE_CLOSE, "SYMBOL_EYE_CLOSE", 404721792u, 0, 16, NULL);
+be_define_const_str(SSPI_MISO, "SSPI_MISO", 2485347173u, 0, 9, NULL);
+be_define_const_str(SHELLY_DIMMER_BOOT0, "SHELLY_DIMMER_BOOT0", 2948777716u, 0, 19, &be_const_str_dump);
+be_define_const_str(dump, "dump", 3663001223u, 0, 4, &be_const_str_lv_draw_mask_radius_param_cfg);
+be_define_const_str(lv_draw_mask_radius_param_cfg, "lv_draw_mask_radius_param_cfg", 3889386773u, 0, 29, &be_const_str_lv_page);
+be_define_const_str(lv_page, "lv_page", 2373170067u, 0, 7, NULL);
+be_define_const_str(try_rule, "try_rule", 1986449405u, 0, 8, &be_const_str_web_send_decimal);
+be_define_const_str(web_send_decimal, "web_send_decimal", 1407210204u, 0, 16, NULL);
+be_define_const_str(MGC3130_RESET, "MGC3130_RESET", 405013121u, 0, 13, NULL);
+be_define_const_str(state, "state", 2016490230u, 0, 5, NULL);
+be_define_const_str(MAX31855DO, "MAX31855DO", 552730368u, 0, 10, &be_const_str_read13);
+be_define_const_str(read13, "read13", 12887293u, 0, 6, NULL);
+be_define_const_str(SYMBOL_NEW_LINE, "SYMBOL_NEW_LINE", 2014334315u, 0, 15, &be_const_str_TM1637CLK);
+be_define_const_str(TM1637CLK, "TM1637CLK", 2797300857u, 0, 9, &be_const_str_ZIGBEE_RST);
+be_define_const_str(ZIGBEE_RST, "ZIGBEE_RST", 721588661u, 0, 10, &be_const_str__end_transmission);
+be_define_const_str(_end_transmission, "_end_transmission", 3237480400u, 0, 17, &be_const_str_top);
+be_define_const_str(top, "top", 2802900028u, 0, 3, NULL);
+be_define_const_str(A4988_DIR, "A4988_DIR", 2223595843u, 0, 9, &be_const_str_return);
+be_define_const_str(return, "return", 2246981567u, 60, 6, NULL);
+be_define_const_str(PROJECTOR_CTRL_TX, "PROJECTOR_CTRL_TX", 535811130u, 0, 17, &be_const_str_as);
+be_define_const_str(as, "as", 1579491469u, 67, 2, NULL);
+be_define_const_str(dot_p, ".p", 1171526419u, 0, 2, &be_const_str_NONE);
+be_define_const_str(NONE, "NONE", 1932136219u, 0, 4, &be_const_str_P9813_CLK);
+be_define_const_str(P9813_CLK, "P9813_CLK", 2455391001u, 0, 9, &be_const_str_SYMBOL_STOP);
+be_define_const_str(SYMBOL_STOP, "SYMBOL_STOP", 2836505202u, 0, 11, NULL);
+be_define_const_str(OUTPUT_LO, "OUTPUT_LO", 3724620328u, 0, 9, &be_const_str_WIEGAND_D0);
+be_define_const_str(WIEGAND_D0, "WIEGAND_D0", 4192335759u, 0, 10, NULL);
+be_define_const_str(PMS5003_RX, "PMS5003_RX", 3934985650u, 0, 10, &be_const_str_lv_spinner);
+be_define_const_str(lv_spinner, "lv_spinner", 3361501901u, 0, 10, &be_const_str_seti);
+be_define_const_str(seti, "seti", 1500556254u, 0, 4, NULL);
+be_define_const_str(BUZZER_INV, "BUZZER_INV", 3274564335u, 0, 10, &be_const_str__available);
+be_define_const_str(_available, "_available", 1306196581u, 0, 10, &be_const_str_lv_objmask);
+be_define_const_str(lv_objmask, "lv_objmask", 1311221665u, 0, 10, &be_const_str_read_bytes);
+be_define_const_str(read_bytes, "read_bytes", 3576733173u, 0, 10, NULL);
+be_define_const_str(call, "call", 3018949801u, 0, 4, &be_const_str_exec_cmd);
+be_define_const_str(exec_cmd, "exec_cmd", 493567399u, 0, 8, &be_const_str_gamma10);
+be_define_const_str(gamma10, "gamma10", 3472052483u, 0, 7, &be_const_str_screenshot);
+be_define_const_str(screenshot, "screenshot", 3894592561u, 0, 10, &be_const_str_web_send);
+be_define_const_str(web_send, "web_send", 2989941448u, 0, 8, NULL);
+be_define_const_str(MIEL_HVAC_RX, "MIEL_HVAC_RX", 3720609648u, 0, 12, &be_const_str_false);
+be_define_const_str(false, "false", 184981848u, 62, 5, NULL);
+be_define_const_str(RC522_CS, "RC522_CS", 2639619996u, 0, 8, &be_const_str_WE517_TX);
+be_define_const_str(WE517_TX, "WE517_TX", 2954817217u, 0, 8, &be_const_str_cos);
+be_define_const_str(cos, "cos", 4220379804u, 0, 3, NULL);
+be_define_const_str(EPAPER42_CS, "EPAPER42_CS", 3274717451u, 0, 11, &be_const_str_SYMBOL_GPS);
+be_define_const_str(SYMBOL_GPS, "SYMBOL_GPS", 3044165570u, 0, 10, &be_const_str_SYMBOL_VOLUME_MID);
+be_define_const_str(SYMBOL_VOLUME_MID, "SYMBOL_VOLUME_MID", 158835057u, 0, 17, &be_const_str__get_cb);
+be_define_const_str(_get_cb, "_get_cb", 1448849122u, 0, 7, &be_const_str_insert);
+be_define_const_str(insert, "insert", 3332609576u, 0, 6, &be_const_str_real);
+be_define_const_str(real, "real", 3604983901u, 0, 4, NULL);
+be_define_const_str(ELECTRIQ_MOODL_TX, "ELECTRIQ_MOODL_TX", 31009247u, 0, 17, &be_const_str_IEM3000_RX);
+be_define_const_str(IEM3000_RX, "IEM3000_RX", 1117811096u, 0, 10, &be_const_str_addr);
+be_define_const_str(addr, "addr", 1087856498u, 0, 4, &be_const_str_check_privileged_access);
+be_define_const_str(check_privileged_access, "check_privileged_access", 3692933968u, 0, 23, &be_const_str_lv_signal_cb);
+be_define_const_str(lv_signal_cb, "lv_signal_cb", 3295792564u, 0, 12, NULL);
+be_define_const_str(CNTR1, "CNTR1", 510376965u, 0, 5, &be_const_str_cb_dispatch);
+be_define_const_str(cb_dispatch, "cb_dispatch", 1741510499u, 0, 11, &be_const_str_time_str);
+be_define_const_str(time_str, "time_str", 2613827612u, 0, 8, NULL);
+be_define_const_str(IRRECV, "IRRECV", 1743648982u, 0, 6, &be_const_str_LEDLNK_INV);
+be_define_const_str(LEDLNK_INV, "LEDLNK_INV", 3559015101u, 0, 10, &be_const_str_NRG_CF1);
+be_define_const_str(NRG_CF1, "NRG_CF1", 3292534757u, 0, 7, &be_const_str_SYMBOL_PREV);
+be_define_const_str(SYMBOL_PREV, "SYMBOL_PREV", 2952615023u, 0, 11, &be_const_str_nil);
+be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL);
+be_define_const_str(read24, "read24", 1808533811u, 0, 6, NULL);
+be_define_const_str(MCP39F5_RST, "MCP39F5_RST", 3657125652u, 0, 11, &be_const_str_remove_cmd);
+be_define_const_str(remove_cmd, "remove_cmd", 3832315702u, 0, 10, &be_const_str_wire);
+be_define_const_str(wire, "wire", 4082753944u, 0, 4, NULL);
+be_define_const_str(A4988_STP, "A4988_STP", 1622172049u, 0, 9, &be_const_str_read32);
+be_define_const_str(read32, "read32", 1741276240u, 0, 6, NULL);
+be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, NULL);
+be_define_const_str(MGC3130_XFER, "MGC3130_XFER", 4178219131u, 0, 12, NULL);
+be_define_const_str(Tasmota, "Tasmota", 4047617668u, 0, 7, &be_const_str_lv_draw_mask_map_param);
+be_define_const_str(lv_draw_mask_map_param, "lv_draw_mask_map_param", 1666886804u, 0, 22, NULL);
+be_define_const_str(PZEM0XX_TX, "PZEM0XX_TX", 944775704u, 0, 10, &be_const_str_SM16716_SEL);
+be_define_const_str(SM16716_SEL, "SM16716_SEL", 142377379u, 0, 11, &be_const_str_add_rule);
+be_define_const_str(add_rule, "add_rule", 596540743u, 0, 8, &be_const_str_setitem);
+be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, NULL);
static const bstring* const m_string_table[] = {
- NULL,
- (const bstring *)&be_const_str_lv_style,
- (const bstring *)&be_const_str_ETH_PHY_MDIO,
- (const bstring *)&be_const_str_bus,
- (const bstring *)&be_const_str_ROT1A,
- (const bstring *)&be_const_str_EPAPER42_CS,
- (const bstring *)&be_const_str_MCP39F5_RST,
- (const bstring *)&be_const_str_SYMBOL_SETTINGS,
- (const bstring *)&be_const_str_pi,
- (const bstring *)&be_const_str_acos,
- NULL,
- (const bstring *)&be_const_str_SYMBOL_BACKSPACE,
- (const bstring *)&be_const_str_resp_cmnd,
- (const bstring *)&be_const_str_NRG_SEL,
- (const bstring *)&be_const_str_SYMBOL_OK,
- (const bstring *)&be_const_str_SYMBOL_BATTERY_3,
- (const bstring *)&be_const_str_ADC_TEMP,
- (const bstring *)&be_const_str_SPI_DC,
- (const bstring *)&be_const_str_MIEL_HVAC_RX,
- (const bstring *)&be_const_str_SHELLY_DIMMER_RST_INV,
- (const bstring *)&be_const_str_MAX7219CS,
- (const bstring *)&be_const_str_SDM72_RX,
- (const bstring *)&be_const_str_ADC_LIGHT,
- (const bstring *)&be_const_str_lv_dropdown,
- NULL,
- (const bstring *)&be_const_str_A4988_DIR,
- (const bstring *)&be_const_str_IEM3000_TX,
- (const bstring *)&be_const_str_BS814_DAT,
- (const bstring *)&be_const_str_opt_add,
- NULL,
- (const bstring *)&be_const_str_delay,
- (const bstring *)&be_const_str_iter,
- (const bstring *)&be_const_str_fromstring,
- NULL,
- (const bstring *)&be_const_str_CNTR1_NP,
- NULL,
- (const bstring *)&be_const_str_tanh,
- (const bstring *)&be_const_str_lv_objmask,
- (const bstring *)&be_const_str_SOLAXX1_RX,
- (const bstring *)&be_const_str_HRE_CLOCK,
- (const bstring *)&be_const_str_SYMBOL_AUDIO,
- NULL,
- (const bstring *)&be_const_str_RC522_CS,
- (const bstring *)&be_const_str_REL1,
- NULL,
- (const bstring *)&be_const_str_PZEM016_RX,
- (const bstring *)&be_const_str_SYMBOL_TRASH,
- (const bstring *)&be_const_str_REL1_INV,
- (const bstring *)&be_const_str_FTC532,
- (const bstring *)&be_const_str_opt_neq,
- (const bstring *)&be_const_str_ADC_INPUT,
- (const bstring *)&be_const_str_cmd,
- (const bstring *)&be_const_str_lv_btn,
- (const bstring *)&be_const_str_gc,
- (const bstring *)&be_const_str_WINDMETER_SPEED,
- (const bstring *)&be_const_str_WEBCAM_SIOC,
- (const bstring *)&be_const_str_I2C_SCL,
- (const bstring *)&be_const_str_RISING,
- (const bstring *)&be_const_str__read,
- (const bstring *)&be_const_str_SYMBOL_SHUFFLE,
- (const bstring *)&be_const_str_DDSU666_TX,
- (const bstring *)&be_const_str_RFRECV,
- (const bstring *)&be_const_str_PZEM017_RX,
- (const bstring *)&be_const_str_KEY1_INV,
- (const bstring *)&be_const_str_ADC_BUTTON,
- (const bstring *)&be_const_str_get_tasmota,
- (const bstring *)&be_const_str_MIEL_HVAC_TX,
- NULL,
- (const bstring *)&be_const_str_SPI_MOSI,
- (const bstring *)&be_const_str_MD5,
- (const bstring *)&be_const_str_PMS5003_RX,
- (const bstring *)&be_const_str_dump,
- (const bstring *)&be_const_str_SYMBOL_EYE_CLOSE,
- (const bstring *)&be_const_str_SYMBOL_IMAGE,
- (const bstring *)&be_const_str_HPMA_RX,
- (const bstring *)&be_const_str_CC1101_GDO0,
- (const bstring *)&be_const_str_super,
- (const bstring *)&be_const_str_TCP_RX,
- (const bstring *)&be_const_str_HPMA_TX,
- (const bstring *)&be_const_str_TCP_TX,
- (const bstring *)&be_const_str_remove_rule,
- (const bstring *)&be_const_str_KEY1_TC,
- (const bstring *)&be_const_str_lv_cont,
- NULL,
- (const bstring *)&be_const_str_every_100ms,
+ (const bstring *)&be_const_str_get_light,
+ (const bstring *)&be_const_str_lv_tileview,
+ (const bstring *)&be_const_str_LE01MR_RX,
(const bstring *)&be_const_str_CSE7766_TX,
- (const bstring *)&be_const_str_SM2135_DAT,
- (const bstring *)&be_const_str_input,
- (const bstring *)&be_const_str_IRRECV,
- (const bstring *)&be_const_str_MGC3130_RESET,
- (const bstring *)&be_const_str_resp_cmnd_failed,
- (const bstring *)&be_const_str_ADC_RANGE,
- (const bstring *)&be_const_str_PZEM0XX_TX,
- (const bstring *)&be_const_str_LEDLNK_INV,
- (const bstring *)&be_const_str__end_transmission,
- (const bstring *)&be_const_str_get,
- (const bstring *)&be_const_str_SPI_MISO,
- NULL,
- (const bstring *)&be_const_str_format,
- (const bstring *)&be_const_str_MAX7219DIN,
- (const bstring *)&be_const_str_HM10_RX,
- (const bstring *)&be_const_str_getbits,
- NULL,
- (const bstring *)&be_const_str_A4988_MS1,
- NULL,
- NULL,
+ (const bstring *)&be_const_str_response_append,
(const bstring *)&be_const_str_NRF24_CS,
- (const bstring *)&be_const_str_SSD1331_DC,
- (const bstring *)&be_const_str_PMS5003_TX,
- (const bstring *)&be_const_str_exec_cmd,
- (const bstring *)&be_const_str_HLW_CF,
- (const bstring *)&be_const_str_SYMBOL_DIRECTORY,
- (const bstring *)&be_const_str_ST7789_CS,
- (const bstring *)&be_const_str_SYMBOL_BATTERY_FULL,
- (const bstring *)&be_const_str_log10,
+ (const bstring *)&be_const_str_read,
+ (const bstring *)&be_const_str_Wire,
+ (const bstring *)&be_const_str_copy,
+ (const bstring *)&be_const_str_P9813_DAT,
+ NULL,
(const bstring *)&be_const_str_TXD,
- (const bstring *)&be_const_str_SYMBOL_EYE_OPEN,
- (const bstring *)&be_const_str_EXS_ENABLE,
- (const bstring *)&be_const_str_PROJECTOR_CTRL_RX,
- (const bstring *)&be_const_str_SBR_TX,
- (const bstring *)&be_const_str_MAX31855DO,
- (const bstring *)&be_const_str_byte,
- (const bstring *)&be_const_str_write,
+ (const bstring *)&be_const_str_ADC_LIGHT,
+ (const bstring *)&be_const_str_KEY1,
+ (const bstring *)&be_const_str_SYMBOL_TRASH,
+ (const bstring *)&be_const_str_split,
+ (const bstring *)&be_const_str_module,
+ NULL,
+ (const bstring *)&be_const_str_BOILER_OT_TX,
+ (const bstring *)&be_const_str_PZEM017_RX,
+ (const bstring *)&be_const_str_AS608_RX,
+ NULL,
+ NULL,
+ (const bstring *)&be_const_str_WEBCAM_XCLK,
+ (const bstring *)&be_const_str_floor,
+ (const bstring *)&be_const_str_lv_point,
+ (const bstring *)&be_const_str_WS2812,
+ (const bstring *)&be_const_str_ADC_RANGE,
+ (const bstring *)&be_const_str_REL1,
+ (const bstring *)&be_const_str_SYMBOL_SD_CARD,
+ (const bstring *)&be_const_str_continue,
+ (const bstring *)&be_const_str_OPTION_A,
+ (const bstring *)&be_const_str_MAX7219CS,
+ (const bstring *)&be_const_str_lv_switch,
+ (const bstring *)&be_const_str_HX711_DAT,
+ (const bstring *)&be_const_str_ZIGBEE_RX,
+ (const bstring *)&be_const_str_ROT1A_NP,
+ NULL,
+ NULL,
+ (const bstring *)&be_const_str_DHT22,
+ (const bstring *)&be_const_str_DYP_RX,
+ (const bstring *)&be_const_str_SYMBOL_DOWNLOAD,
+ (const bstring *)&be_const_str_SYMBOL_SHUFFLE,
+ (const bstring *)&be_const_str_DHT11_OUT,
+ (const bstring *)&be_const_str_RDM6300_RX,
+ (const bstring *)&be_const_str_SYMBOL_WARNING,
+ (const bstring *)&be_const_str_stop,
+ (const bstring *)&be_const_str_TFMINIPLUS_TX,
+ (const bstring *)&be_const_str_classname,
+ (const bstring *)&be_const_str_SWT1,
+ (const bstring *)&be_const_str_SHELLY_DIMMER_RST_INV,
+ NULL,
+ NULL,
+ (const bstring *)&be_const_str_member,
+ NULL,
+ (const bstring *)&be_const_str_SYMBOL_COPY,
+ (const bstring *)&be_const_str___iterator__,
+ NULL,
+ (const bstring *)&be_const_str_SYMBOL_CUT,
+ (const bstring *)&be_const_str_KEY1_PD,
+ (const bstring *)&be_const_str_static,
+ NULL,
+ (const bstring *)&be_const_str_lv_label,
+ (const bstring *)&be_const_str_SI7021,
+ (const bstring *)&be_const_str_HIGH,
+ (const bstring *)&be_const_str_DDSU666_TX,
+ NULL,
+ (const bstring *)&be_const_str_ILI9341_CS,
+ (const bstring *)&be_const_str_CC1101_GDO0,
+ (const bstring *)&be_const_str_ILI9488_CS,
+ (const bstring *)&be_const_str_SYMBOL_PLUS,
+ (const bstring *)&be_const_str_HRE_DATA,
+ (const bstring *)&be_const_str_CSE7761_TX,
+ (const bstring *)&be_const_str_EPD_DATA,
+ (const bstring *)&be_const_str_I2S_IN_CLK,
+ (const bstring *)&be_const_str_WEBCAM_PCLK,
+ (const bstring *)&be_const_str_RA8876_CS,
+ (const bstring *)&be_const_str_WEBCAM_RESET,
+ (const bstring *)&be_const_str_SM16716_CLK,
+ (const bstring *)&be_const_str_KEY1_NP,
+ NULL,
+ (const bstring *)&be_const_str_SM16716_DAT,
+ (const bstring *)&be_const_str_RISING,
+ (const bstring *)&be_const_str_INPUT,
+ NULL,
+ (const bstring *)&be_const_str_ARIRFSEL,
+ NULL,
+ (const bstring *)&be_const_str_begin,
+ NULL,
+ (const bstring *)&be_const_str_NEOPOOL_TX,
+ (const bstring *)&be_const_str_SSD1331_DC,
+ (const bstring *)&be_const_str_TUYA_RX,
+ (const bstring *)&be_const_str_FTC532,
+ (const bstring *)&be_const_str_BS814_DAT,
+ (const bstring *)&be_const_str_setrange,
+ (const bstring *)&be_const_str_concat,
+ (const bstring *)&be_const_str_SYMBOL_MUTE,
+ (const bstring *)&be_const_str_ST7789_DC,
+ (const bstring *)&be_const_str_SYMBOL_WIFI,
+ (const bstring *)&be_const_str_lv_obj,
+ (const bstring *)&be_const_str_DSB_OUT,
+ (const bstring *)&be_const_str_has_arg,
+ (const bstring *)&be_const_str_I2C_SDA,
+ (const bstring *)&be_const_str_find_key_i,
+ (const bstring *)&be_const_str__begin_transmission,
+ (const bstring *)&be_const_str_DHT11,
+ (const bstring *)&be_const_str_VL53L0X_XSHUT1,
+ NULL,
+ NULL,
+ (const bstring *)&be_const_str_opt_eq,
+ (const bstring *)&be_const_str_BACKLIGHT,
+ (const bstring *)&be_const_str_DSB,
+ (const bstring *)&be_const_str_NRF24_DC,
+ (const bstring *)&be_const_str_type,
+ (const bstring *)&be_const_str_KEY1_INV_NP,
NULL,
(const bstring *)&be_const_str_GPS_TX,
- (const bstring *)&be_const_str_ELECTRIQ_MOODL_TX,
- (const bstring *)&be_const_str_lv_switch,
- (const bstring *)&be_const_str_SAIR_RX,
- (const bstring *)&be_const_str_SSPI_MAX31865_CS1,
- (const bstring *)&be_const_str_DHT22,
- (const bstring *)&be_const_str_deinit,
+ (const bstring *)&be_const_str_SYMBOL_POWER,
+ (const bstring *)&be_const_str_tan,
NULL,
- (const bstring *)&be_const_str_SYMBOL_FILE,
- (const bstring *)&be_const_str_ROT1A_NP,
- (const bstring *)&be_const_str_IEM3000_RX,
- NULL,
- (const bstring *)&be_const_str_has_arg,
- (const bstring *)&be_const_str_SSPI_MOSI,
- (const bstring *)&be_const_str_CSE7761_TX,
- (const bstring *)&be_const_str_LMT01,
- (const bstring *)&be_const_str_PN532_RXD,
- (const bstring *)&be_const_str_INPUT_PULLDOWN,
- (const bstring *)&be_const_str_CSE7761_RX,
- (const bstring *)&be_const_str_NRG_SEL_INV,
- NULL,
- (const bstring *)&be_const_str_ILI9488_CS,
+ (const bstring *)&be_const_str_SYMBOL_BATTERY_3,
+ (const bstring *)&be_const_str_SSD1331_CS,
+ (const bstring *)&be_const_str_ADC_BUTTON,
(const bstring *)&be_const_str_opt_call,
NULL,
- (const bstring *)&be_const_str_SHELLY_DIMMER_BOOT0,
- (const bstring *)&be_const_str_LED1,
- (const bstring *)&be_const_str_INPUT_PULLUP,
- (const bstring *)&be_const_str_MAX31855CLK,
- (const bstring *)&be_const_str_SYMBOL_GPS,
- (const bstring *)&be_const_str_SWT1_NP,
- (const bstring *)&be_const_str_dot_def,
- (const bstring *)&be_const_str_DHT11,
- (const bstring *)&be_const_str_ETH_PHY_POWER,
- (const bstring *)&be_const_str_TFMINIPLUS_TX,
- (const bstring *)&be_const_str_EPAPER29_CS,
- (const bstring *)&be_const_str_event,
- (const bstring *)&be_const_str_ADC_JOY,
- (const bstring *)&be_const_str_CSE7766_RX,
- (const bstring *)&be_const_str_IRSEND,
- (const bstring *)&be_const_str_RFSEND,
- (const bstring *)&be_const_str_TX2X_TXD_BLACK,
- (const bstring *)&be_const_str_TUYA_RX,
- NULL,
- (const bstring *)&be_const_str_HRE_DATA,
- (const bstring *)&be_const_str_DDSU666_RX,
- (const bstring *)&be_const_str_SM16716_SEL,
+ (const bstring *)&be_const_str_OPEN_DRAIN,
+ (const bstring *)&be_const_str_I2S_OUT_CLK,
+ (const bstring *)&be_const_str_PN532_RXD,
(const bstring *)&be_const_str_ADC_BUTTON_INV,
- (const bstring *)&be_const_str_MP3_DFR562,
- (const bstring *)&be_const_str_rad,
- (const bstring *)&be_const_str_ARIRFSEL,
- (const bstring *)&be_const_str_lv_group_focus_cb,
- (const bstring *)&be_const_str_SENSOR_END,
- (const bstring *)&be_const_str_codedump,
- (const bstring *)&be_const_str_CNTR1,
+ NULL,
+ (const bstring *)&be_const_str_FALLING,
(const bstring *)&be_const_str_DDS2382_TX,
- (const bstring *)&be_const_str_SSPI_MISO,
- (const bstring *)&be_const_str_pop,
- (const bstring *)&be_const_str_SDCARD_CS,
- (const bstring *)&be_const_str_I2C_Driver,
- (const bstring *)&be_const_str_BOILER_OT_TX,
- NULL,
- (const bstring *)&be_const_str_CHANGE,
- (const bstring *)&be_const_str_lv_draw_rect_dsc,
- (const bstring *)&be_const_str_ST7789_DC,
- (const bstring *)&be_const_str_var,
- (const bstring *)&be_const_str_MCP39F5_TX,
- (const bstring *)&be_const_str_AS608_TX,
- (const bstring *)&be_const_str_get_free_heap,
- NULL,
- (const bstring *)&be_const_str_KEY1,
- NULL,
- (const bstring *)&be_const_str_BUZZER_INV,
- (const bstring *)&be_const_str_lv_roller,
- (const bstring *)&be_const_str_ADC_CT_POWER,
- (const bstring *)&be_const_str_asstring,
- (const bstring *)&be_const_str_NONE,
- (const bstring *)&be_const_str_exp,
- (const bstring *)&be_const_str_BL0940_RX,
- (const bstring *)&be_const_str_check_privileged_access,
- (const bstring *)&be_const_str_opt_eq,
- (const bstring *)&be_const_str_PULLDOWN,
(const bstring *)&be_const_str_,
- (const bstring *)&be_const_str_SYMBOL_LOOP,
- (const bstring *)&be_const_str_MHZ_RXD,
- (const bstring *)&be_const_str_BACKLIGHT,
- NULL,
- NULL,
- (const bstring *)&be_const_str_PULLUP,
- (const bstring *)&be_const_str_SR04_ECHO,
- NULL,
- (const bstring *)&be_const_str_ADE7953_IRQ,
- (const bstring *)&be_const_str_SYMBOL_PREV,
- (const bstring *)&be_const_str_HX711_DAT,
- (const bstring *)&be_const_str_dot_p,
- (const bstring *)&be_const_str_GPS_RX,
- (const bstring *)&be_const_str_AZ_RXD,
- (const bstring *)&be_const_str_Tasmota,
- (const bstring *)&be_const_str_srand,
- NULL,
- (const bstring *)&be_const_str_LOW,
+ (const bstring *)&be_const_str_memory,
(const bstring *)&be_const_str_DDS2382_RX,
- (const bstring *)&be_const_str_SDM120_RX,
- (const bstring *)&be_const_str_wire_scan,
- (const bstring *)&be_const_str_SBR_RX,
- (const bstring *)&be_const_str_PWM1_INV,
- (const bstring *)&be_const_str_ETH_PHY_MDC,
- (const bstring *)&be_const_str_run_deferred,
- (const bstring *)&be_const_str_SYMBOL_REFRESH,
+ (const bstring *)&be_const_str_ADC_JOY,
+ (const bstring *)&be_const_str_SYMBOL_CLOSE,
+ (const bstring *)&be_const_str_CHANGE,
+ (const bstring *)&be_const_str_PN532_TXD,
+ (const bstring *)&be_const_str_SSPI_MOSI,
+ NULL,
+ (const bstring *)&be_const_str_resolvecmnd,
+ (const bstring *)&be_const_str_exp,
+ (const bstring *)&be_const_str_collect,
+ (const bstring *)&be_const_str_SWT1_NP,
+ (const bstring *)&be_const_str_PZEM016_RX,
+ (const bstring *)&be_const_str_lv_group_focus_cb,
+ (const bstring *)&be_const_str_RFRECV,
+ (const bstring *)&be_const_str_A4988_MS1,
+ NULL,
+ (const bstring *)&be_const_str_RXD,
+ (const bstring *)&be_const_str_SAIR_TX,
+ (const bstring *)&be_const_str_WEBCAM_HREF,
+ (const bstring *)&be_const_str_SYMBOL_OK,
+ (const bstring *)&be_const_str_CSE7761_RX,
+ (const bstring *)&be_const_str_WEBCAM_HSD,
+ (const bstring *)&be_const_str_SYMBOL_KEYBOARD,
+ (const bstring *)&be_const_str_SYMBOL_DRIVE,
+ (const bstring *)&be_const_str_AudioGeneratorMP3,
+ (const bstring *)&be_const_str_BOILER_OT_RX,
+ (const bstring *)&be_const_str_ADC_CT_POWER,
+ (const bstring *)&be_const_str_asin,
(const bstring *)&be_const_str_TASMOTACLIENT_RXD,
NULL,
- (const bstring *)&be_const_str_PROJECTOR_CTRL_TX,
- (const bstring *)&be_const_str_SYMBOL_VOLUME_MAX,
- (const bstring *)&be_const_str_MAX7219CLK,
- (const bstring *)&be_const_str_WEBCAM_PCLK,
- (const bstring *)&be_const_str_try,
- (const bstring *)&be_const_str_EPD_DATA,
- (const bstring *)&be_const_str_ADC_PH,
- NULL,
- NULL,
- (const bstring *)&be_const_str_IBEACON_TX,
- NULL,
- (const bstring *)&be_const_str_OLED_RESET,
- (const bstring *)&be_const_str_scan,
- (const bstring *)&be_const_str_SDS0X1_RX,
- (const bstring *)&be_const_str_AS608_RX,
- (const bstring *)&be_const_str_opt_connect,
- (const bstring *)&be_const_str__timers,
- (const bstring *)&be_const_str_lv_draw_img_dsc,
- NULL,
- (const bstring *)&be_const_str_HIGH,
- (const bstring *)&be_const_str_DSB,
- NULL,
- (const bstring *)&be_const_str_ARIRFRCV,
- (const bstring *)&be_const_str_NRF24_DC,
- (const bstring *)&be_const_str_SYMBOL_STOP,
- (const bstring *)&be_const_str_A4988_STP,
- (const bstring *)&be_const_str_WEBCAM_PSRCS,
- NULL,
- (const bstring *)&be_const_str_OUTPUT_LO,
- (const bstring *)&be_const_str_push,
- (const bstring *)&be_const_str_cos,
- (const bstring *)&be_const_str_set_timer,
- (const bstring *)&be_const_str_DEEPSLEEP,
- (const bstring *)&be_const_str_SDM630_RX,
- (const bstring *)&be_const_str_DI,
- (const bstring *)&be_const_str_INPUT,
- (const bstring *)&be_const_str_SYMBOL_SD_CARD,
- (const bstring *)&be_const_str_CC1101_GDO2,
- (const bstring *)&be_const_str_copy,
- (const bstring *)&be_const_str_SR04_TRIG,
- NULL,
- (const bstring *)&be_const_str_HALLEFFECT,
- (const bstring *)&be_const_str_imin,
- (const bstring *)&be_const_str_SYMBOL_VIDEO,
- (const bstring *)&be_const_str_SYMBOL_LIST,
- (const bstring *)&be_const_str_AZ_TXD,
- (const bstring *)&be_const_str_end,
- (const bstring *)&be_const_str_SYMBOL_BATTERY_EMPTY,
- (const bstring *)&be_const_str_for,
- (const bstring *)&be_const_str_BUZZER,
- (const bstring *)&be_const_str_SSPI_SCLK,
- (const bstring *)&be_const_str_issubclass,
- (const bstring *)&be_const_str_WEBCAM_HREF,
- (const bstring *)&be_const_str_Driver,
- (const bstring *)&be_const_str_OPTION_A,
- (const bstring *)&be_const_str_IBEACON_RX,
- (const bstring *)&be_const_str_HM10_TX,
- (const bstring *)&be_const_str_BOILER_OT_RX,
- (const bstring *)&be_const_str_item,
- (const bstring *)&be_const_str_SDS0X1_TX,
- (const bstring *)&be_const_str_OPEN_DRAIN,
- (const bstring *)&be_const_str__rules,
- (const bstring *)&be_const_str_insert,
- (const bstring *)&be_const_str_web_add_config_button,
- (const bstring *)&be_const_str_SYMBOL_BULLET,
- (const bstring *)&be_const_str_SYMBOL_UPLOAD,
- (const bstring *)&be_const_str_lv_draw_mask_common_dsc,
- (const bstring *)&be_const_str_LE01MR_RX,
- (const bstring *)&be_const_str_web_add_main_button,
- (const bstring *)&be_const_str_floor,
+ (const bstring *)&be_const_str_HRE_CLOCK,
+ (const bstring *)&be_const_str_NRG_SEL,
+ (const bstring *)&be_const_str_AudioFileSource,
+ (const bstring *)&be_const_str_OUTPUT_OPEN_DRAIN,
+ (const bstring *)&be_const_str_SPI_DC,
+ (const bstring *)&be_const_str_TASMOTACLIENT_RST,
+ (const bstring *)&be_const_str_MHZ_TXD,
+ (const bstring *)&be_const_str_resp_cmnd_error,
+ (const bstring *)&be_const_str_AS3935,
+ (const bstring *)&be_const_str_SYMBOL_CHARGE,
+ (const bstring *)&be_const_str_opt_neq,
(const bstring *)&be_const_str_DCKI,
- (const bstring *)&be_const_str_ILI9341_CS
+ (const bstring *)&be_const_str_PWM1,
+ (const bstring *)&be_const_str_PULLUP,
+ (const bstring *)&be_const_str_ARIRFRCV,
+ (const bstring *)&be_const_str_MCP39F5_RX,
+ (const bstring *)&be_const_str_SM2135_CLK,
+ (const bstring *)&be_const_str_SYMBOL_AUDIO,
+ (const bstring *)&be_const_str_IBEACON_TX,
+ (const bstring *)&be_const_str_ILI9341_DC,
+ (const bstring *)&be_const_str_I2C_Driver,
+ (const bstring *)&be_const_str_IBEACON_RX,
+ (const bstring *)&be_const_str_HALLEFFECT,
+ (const bstring *)&be_const_str_SR04_TRIG,
+ (const bstring *)&be_const_str_OUTPUT_HI,
+ (const bstring *)&be_const_str_CSE7766_RX,
+ (const bstring *)&be_const_str_class,
+ (const bstring *)&be_const_str_SYMBOL_LOOP,
+ NULL,
+ (const bstring *)&be_const_str_INPUT_PULLDOWN,
+ (const bstring *)&be_const_str_AudioFileSourceFS,
+ (const bstring *)&be_const_str_DI,
+ (const bstring *)&be_const_str_write8,
+ (const bstring *)&be_const_str_I2S_OUT_DATA,
+ NULL,
+ (const bstring *)&be_const_str_PZEM004_RX,
+ (const bstring *)&be_const_str_loop,
+ (const bstring *)&be_const_str_ADC_TEMP,
+ NULL,
+ (const bstring *)&be_const_str___lower__,
+ NULL,
+ (const bstring *)&be_const_str_lv_group,
+ (const bstring *)&be_const_str_DDSU666_RX,
+ (const bstring *)&be_const_str_range,
+ NULL,
+ (const bstring *)&be_const_str_ADE7953_IRQ,
+ (const bstring *)&be_const_str_NEOPOOL_RX,
+ (const bstring *)&be_const_str_MCP39F5_TX,
+ (const bstring *)&be_const_str_HPMA_TX,
+ (const bstring *)&be_const_str_ETH_PHY_MDIO,
+ (const bstring *)&be_const_str_AZ_TXD,
+ (const bstring *)&be_const_str_lv_cpicker,
+ (const bstring *)&be_const_str_MP3_DFR562,
+ (const bstring *)&be_const_str_log10,
+ (const bstring *)&be_const_str_INTERRUPT,
+ (const bstring *)&be_const_str_SYMBOL_VOLUME_MAX,
+ (const bstring *)&be_const_str_HX711_SCK,
+ (const bstring *)&be_const_str_WIEGAND_D1,
+ (const bstring *)&be_const_str_CC1101_GDO2,
+ (const bstring *)&be_const_str_I2S_OUT_SLCT,
+ (const bstring *)&be_const_str_A4988_ENA,
+ (const bstring *)&be_const_str_publish,
+ (const bstring *)&be_const_str_SYMBOL_BULLET,
+ NULL,
+ (const bstring *)&be_const_str_Driver,
+ (const bstring *)&be_const_str_RFSEND,
+ (const bstring *)&be_const_str_HM10_RX,
+ NULL,
+ (const bstring *)&be_const_str_TUYA_TX,
+ (const bstring *)&be_const_str_GPS_RX,
+ (const bstring *)&be_const_str_dot_def,
+ (const bstring *)&be_const_str_DEEPSLEEP,
+ NULL,
+ (const bstring *)&be_const_str_TELEINFO_ENABLE,
+ (const bstring *)&be_const_str_TM1637DIO,
+ NULL,
+ (const bstring *)&be_const_str_SDM630_TX,
+ (const bstring *)&be_const_str_RC522_RST,
+ NULL,
+ (const bstring *)&be_const_str_set_power,
+ (const bstring *)&be_const_str_opt_connect,
+ (const bstring *)&be_const_str_TM1638CLK,
+ (const bstring *)&be_const_str___upper__,
+ (const bstring *)&be_const_str_IRSEND,
+ (const bstring *)&be_const_str_content_stop,
+ (const bstring *)&be_const_str_KEY1_INV_PD,
+ (const bstring *)&be_const_str_SDS0X1_TX,
+ (const bstring *)&be_const_str_init,
+ (const bstring *)&be_const_str_digital_write,
+ NULL,
+ (const bstring *)&be_const_str_SYMBOL_RIGHT,
+ (const bstring *)&be_const_str_ETH_PHY_POWER,
+ (const bstring *)&be_const_str_SYMBOL_BATTERY_FULL,
+ (const bstring *)&be_const_str_TASMOTACLIENT_RST_INV,
+ (const bstring *)&be_const_str_SWT1_PD,
+ (const bstring *)&be_const_str_AudioGenerator,
+ (const bstring *)&be_const_str_map,
+ (const bstring *)&be_const_str_ADC_INPUT,
+ (const bstring *)&be_const_str_LOW,
+ (const bstring *)&be_const_str_LED1_INV,
+ (const bstring *)&be_const_str_EPAPER29_CS,
+ (const bstring *)&be_const_str_OUTPUT,
+ (const bstring *)&be_const_str_I2S_IN_DATA,
+ (const bstring *)&be_const_str_SM2135_DAT,
+ (const bstring *)&be_const_str_INPUT_PULLUP,
+ (const bstring *)&be_const_str_I2S_IN_SLCT,
+ (const bstring *)&be_const_str_TCP_TX,
+ (const bstring *)&be_const_str_content_button,
+ NULL,
+ (const bstring *)&be_const_str_BUZZER,
+ (const bstring *)&be_const_str_lv_slider,
+ NULL,
+ (const bstring *)&be_const_str_MIEL_HVAC_TX,
+ (const bstring *)&be_const_str_content_send,
+ (const bstring *)&be_const_str_opt_add,
+ (const bstring *)&be_const_str_content_flush,
+ (const bstring *)&be_const_str_rtc,
+ (const bstring *)&be_const_str_ADC_PH,
+ (const bstring *)&be_const_str_SYMBOL_LIST,
+ (const bstring *)&be_const_str_SYMBOL_BATTERY_1,
+ (const bstring *)&be_const_str_SYMBOL_EYE_CLOSE,
+ NULL,
+ (const bstring *)&be_const_str_SSPI_MISO,
+ (const bstring *)&be_const_str_SHELLY_DIMMER_BOOT0,
+ (const bstring *)&be_const_str_try_rule,
+ NULL,
+ (const bstring *)&be_const_str_MGC3130_RESET,
+ (const bstring *)&be_const_str_state,
+ (const bstring *)&be_const_str_MAX31855DO,
+ (const bstring *)&be_const_str_SYMBOL_NEW_LINE,
+ (const bstring *)&be_const_str_A4988_DIR,
+ (const bstring *)&be_const_str_PROJECTOR_CTRL_TX,
+ NULL,
+ (const bstring *)&be_const_str_dot_p,
+ (const bstring *)&be_const_str_OUTPUT_LO,
+ (const bstring *)&be_const_str_PMS5003_RX,
+ (const bstring *)&be_const_str_BUZZER_INV,
+ (const bstring *)&be_const_str_call,
+ (const bstring *)&be_const_str_MIEL_HVAC_RX,
+ NULL,
+ (const bstring *)&be_const_str_RC522_CS,
+ (const bstring *)&be_const_str_EPAPER42_CS,
+ NULL,
+ (const bstring *)&be_const_str_ELECTRIQ_MOODL_TX,
+ (const bstring *)&be_const_str_CNTR1,
+ (const bstring *)&be_const_str_IRRECV,
+ (const bstring *)&be_const_str_read24,
+ (const bstring *)&be_const_str_MCP39F5_RST,
+ (const bstring *)&be_const_str_A4988_STP,
+ (const bstring *)&be_const_str_fromstring,
+ (const bstring *)&be_const_str_MGC3130_XFER,
+ (const bstring *)&be_const_str_Tasmota,
+ (const bstring *)&be_const_str_PZEM0XX_TX
};
static const struct bconststrtab m_const_string_table = {
- .size = 306,
- .count = 613,
+ .size = 317,
+ .count = 635,
.table = m_string_table
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_file_source.h b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_file_source.h
new file mode 100644
index 000000000..c862ef474
--- /dev/null
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_file_source.h
@@ -0,0 +1,17 @@
+#include "be_constobj.h"
+
+static be_define_const_map_slots(be_class_audio_file_source_map) {
+ { be_const_key(dot_p, -1), be_const_index(0) },
+};
+
+static be_define_const_map(
+ be_class_audio_file_source_map,
+ 1
+);
+
+BE_EXPORT_VARIABLE be_define_const_class(
+ be_class_audio_file_source,
+ 1,
+ NULL,
+ AudioFileSource
+);
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_file_source_fs.h b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_file_source_fs.h
new file mode 100644
index 000000000..07937ef47
--- /dev/null
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_file_source_fs.h
@@ -0,0 +1,19 @@
+#include "be_constobj.h"
+
+static be_define_const_map_slots(be_class_audio_file_source_fs_map) {
+ { be_const_key(init, 2), be_const_func(i2s_file_source_fs_init) },
+ { be_const_key(deinit, -1), be_const_func(i2s_file_source_fs_deinit) },
+ { be_const_key(close, -1), be_const_func(i2s_file_source_fs_deinit) },
+};
+
+static be_define_const_map(
+ be_class_audio_file_source_fs_map,
+ 3
+);
+
+BE_EXPORT_VARIABLE be_define_const_class(
+ be_class_audio_file_source_fs,
+ 0,
+ (bclass *)&be_class_audio_file_source,
+ AudioFileSourceFS
+);
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_generator.h b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_generator.h
new file mode 100644
index 000000000..d6c5c9a6a
--- /dev/null
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_generator.h
@@ -0,0 +1,17 @@
+#include "be_constobj.h"
+
+static be_define_const_map_slots(be_class_audio_generator_map) {
+ { be_const_key(dot_p, -1), be_const_index(0) },
+};
+
+static be_define_const_map(
+ be_class_audio_generator_map,
+ 1
+);
+
+BE_EXPORT_VARIABLE be_define_const_class(
+ be_class_audio_generator,
+ 1,
+ NULL,
+ AudioGenerator
+);
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_generator_mp3.h b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_generator_mp3.h
new file mode 100644
index 000000000..785fb53b1
--- /dev/null
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_generator_mp3.h
@@ -0,0 +1,23 @@
+#include "be_constobj.h"
+
+static be_define_const_map_slots(be_class_audio_generator_mp3_map) {
+ { be_const_key(close, -1), be_const_func(i2s_generator_mp3_deinit) },
+ { be_const_key(stop, -1), be_const_func(i2s_generator_mp3_stop) },
+ { be_const_key(loop, 0), be_const_func(i2s_generator_mp3_loop) },
+ { be_const_key(isrunning, 1), be_const_func(i2s_generator_mp3_isrunning) },
+ { be_const_key(begin, -1), be_const_func(i2s_generator_mp3_begin) },
+ { be_const_key(deinit, 6), be_const_func(i2s_generator_mp3_deinit) },
+ { be_const_key(init, -1), be_const_func(i2s_generator_mp3_init) },
+};
+
+static be_define_const_map(
+ be_class_audio_generator_mp3_map,
+ 7
+);
+
+BE_EXPORT_VARIABLE be_define_const_class(
+ be_class_audio_generator_mp3,
+ 0,
+ (bclass *)&be_class_audio_generator,
+ AudioGeneratorMP3
+);
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_output.h b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_output.h
new file mode 100644
index 000000000..cb9c6282d
--- /dev/null
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_output.h
@@ -0,0 +1,17 @@
+#include "be_constobj.h"
+
+static be_define_const_map_slots(be_class_audio_output_map) {
+ { be_const_key(dot_p, -1), be_const_index(0) },
+};
+
+static be_define_const_map(
+ be_class_audio_output_map,
+ 1
+);
+
+BE_EXPORT_VARIABLE be_define_const_class(
+ be_class_audio_output,
+ 1,
+ NULL,
+ AudioOutput
+);
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_output_i2s.h b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_output_i2s.h
new file mode 100644
index 000000000..295ea5cd5
--- /dev/null
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_output_i2s.h
@@ -0,0 +1,19 @@
+#include "be_constobj.h"
+
+static be_define_const_map_slots(be_class_audio_output_i2s_map) {
+ { be_const_key(init, 2), be_const_func(i2s_output_i2s_init) },
+ { be_const_key(deinit, -1), be_const_func(i2s_output_i2s_deinit) },
+ { be_const_key(close, -1), be_const_func(i2s_output_i2s_deinit) },
+};
+
+static be_define_const_map(
+ be_class_audio_output_i2s_map,
+ 3
+);
+
+BE_EXPORT_VARIABLE be_define_const_class(
+ be_class_audio_output_i2s,
+ 0,
+ (bclass *)&be_class_audio_output,
+ AudioOutputI2S
+);
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_bytes.h b/lib/libesp32/Berry/generate/be_fixed_be_class_bytes.h
index 80ee78fdd..1ce30aa49 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_bytes.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_bytes.h
@@ -7,7 +7,7 @@ static be_define_const_map_slots(be_class_bytes_map) {
{ be_const_key(seti, -1), be_const_func(m_set) },
{ be_const_key(setitem, -1), be_const_func(m_setitem) },
{ be_const_key(item, 18), be_const_func(m_item) },
- { be_const_key(dot_p, 3), be_const_var(0) },
+ { be_const_key(dot_p, 3), be_const_index(0) },
{ be_const_key(geti, -1), be_const_func(m_geti) },
{ be_const_key(opt_connect, -1), be_const_func(m_connect) },
{ be_const_key(tostring, -1), be_const_func(m_tostring) },
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_list.h b/lib/libesp32/Berry/generate/be_fixed_be_class_list.h
index 300efcce0..6d94eb931 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_list.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_list.h
@@ -14,7 +14,7 @@ static be_define_const_map_slots(be_class_list_map) {
{ be_const_key(tostring, 3), be_const_func(m_tostring) },
{ be_const_key(opt_eq, -1), be_const_func(m_equal) },
{ be_const_key(init, -1), be_const_func(m_init) },
- { be_const_key(dot_p, 17), be_const_var(0) },
+ { be_const_key(dot_p, 17), be_const_index(0) },
{ be_const_key(setitem, -1), be_const_func(m_setitem) },
{ be_const_key(opt_connect, 4), be_const_func(m_connect) },
{ be_const_key(opt_neq, -1), be_const_func(m_nequal) },
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h
index d0512204e..df2ec5f5f 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_arc_map) {
{ be_const_key(init, 2), be_const_func(lvbe_arc_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h
index c96c467db..0d178107a 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_bar_map) {
{ be_const_key(init, 2), be_const_func(lvbe_bar_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h
index 29590fa55..e11d63c37 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_btn_map) {
{ be_const_key(init, 2), be_const_func(lvbe_btn_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h
index 3a029c9c3..eaec83aa4 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_btnmatrix_map) {
{ be_const_key(init, 2), be_const_func(lvbe_btnmatrix_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h
index 80f07efb6..7434f5004 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_calendar_map) {
{ be_const_key(init, 2), be_const_func(lvbe_calendar_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h
index 4fd9bb5ea..7c0b03d35 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_canvas_map) {
{ be_const_key(init, 2), be_const_func(lvbe_canvas_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h
index 6b09657c2..f71d24f42 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_chart_map) {
{ be_const_key(init, 2), be_const_func(lvbe_chart_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h
index 3165be40a..a73e60029 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_checkbox_map) {
{ be_const_key(init, 2), be_const_func(lvbe_checkbox_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h
index 1f4f75bfc..fb031e934 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_color_map) {
{ be_const_key(init, -1), be_const_func(lco_init) },
{ be_const_key(tostring, 2), be_const_func(lco_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
};
static be_define_const_map(
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h
index 609766430..69e3e156d 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_cont_map) {
{ be_const_key(init, 2), be_const_func(lvbe_cont_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h
index e9be78a9a..cd1c2af01 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_cpicker_map) {
{ be_const_key(init, 2), be_const_func(lvbe_cpicker_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_ctypes.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_ctypes.h
index 0fea061de..c81a8a43e 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_ctypes.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_ctypes.h
@@ -1,7 +1,7 @@
#include "be_constobj.h"
static be_define_const_map_slots(be_class_lv_ctypes_map) {
- { be_const_key(dot_def, -1), be_const_var(0) },
+ { be_const_key(dot_def, -1), be_const_index(0) },
{ be_const_key(setmember, -1), be_const_func(be_ctypes_setmember) },
{ be_const_key(init, -1), be_const_func(be_ctypes_init) },
{ be_const_key(member, 2), be_const_func(be_ctypes_member) },
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h
index b5011f491..ebe16e2f0 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_dropdown_map) {
{ be_const_key(init, 2), be_const_func(lvbe_dropdown_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h
index 1e1ebc351..ee3fb3136 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_font_map) {
{ be_const_key(init, -1), be_const_func(lvx_init) },
{ be_const_key(tostring, 2), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
};
static be_define_const_map(
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h
index cb86f23c3..e0d014cc6 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_gauge_map) {
{ be_const_key(init, 2), be_const_func(lvbe_gauge_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h
index f939812a2..393e4cad3 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_group_map) {
{ be_const_key(init, 2), be_const_func(lvbe_group_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h
index e00cc4a9a..2536f53b5 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_img_map) {
{ be_const_key(init, 2), be_const_func(lvbe_img_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h
index c35b0d8cd..aa272b8a9 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_imgbtn_map) {
{ be_const_key(init, 2), be_const_func(lvbe_imgbtn_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h
index 591758d8f..ecda18431 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_indev_map) {
{ be_const_key(init, 2), be_const_func(lv0_init) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h
index f1ffefb5b..293f8c091 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_keyboard_map) {
{ be_const_key(init, 2), be_const_func(lvbe_keyboard_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h
index c05287a03..b8cb81e58 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_label_map) {
{ be_const_key(init, 2), be_const_func(lvbe_label_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h
index e3995f1e0..a0f3b0b85 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_led_map) {
{ be_const_key(init, 2), be_const_func(lvbe_led_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h
index e12a41e8b..34dd43d2d 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_line_map) {
{ be_const_key(init, 2), be_const_func(lvbe_line_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h
index 72d00f372..9242241d7 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_linemeter_map) {
{ be_const_key(init, 2), be_const_func(lvbe_linemeter_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h
index ddbf5a12d..630146d49 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_list_map) {
{ be_const_key(init, 2), be_const_func(lvbe_list_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h
index f4402002b..d922885c0 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_msgbox_map) {
{ be_const_key(init, 2), be_const_func(lvbe_msgbox_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h
index 242fd7edb..a145b957a 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_obj_map) {
{ be_const_key(init, 2), be_const_func(lvbe_obj_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h
index 76ec1d349..7bf87f4d7 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_objmask_map) {
{ be_const_key(init, 2), be_const_func(lvbe_objmask_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h
index 99b08a995..a8e711925 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_page_map) {
{ be_const_key(init, 2), be_const_func(lvbe_page_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h
index 32c3b9ec3..8dc63062b 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_roller_map) {
{ be_const_key(init, 2), be_const_func(lvbe_roller_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h
index 2b5f13dee..d37d39db0 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_slider_map) {
{ be_const_key(init, 2), be_const_func(lvbe_slider_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h
index b511ad385..6258e8832 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_spinbox_map) {
{ be_const_key(init, 2), be_const_func(lvbe_spinbox_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h
index d4c71b01e..b782385f1 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_spinner_map) {
{ be_const_key(init, 2), be_const_func(lvbe_spinner_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h
index 0cec3423e..789c6be38 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_style_map) {
{ be_const_key(init, 2), be_const_func(lvs_init) },
{ be_const_key(tostring, -1), be_const_func(lvs_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h
index c84d70737..2033de3b4 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_switch_map) {
{ be_const_key(init, 2), be_const_func(lvbe_switch_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h
index b9449ea7d..f351e768d 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_table_map) {
{ be_const_key(init, 2), be_const_func(lvbe_table_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h
index 39c793ba8..514c2520e 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_tabview_map) {
{ be_const_key(init, 2), be_const_func(lvbe_tabview_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h
index 290a439bc..25eeb27d7 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_textarea_map) {
{ be_const_key(init, 2), be_const_func(lvbe_textarea_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h
index 88b478d11..04404de1f 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_tileview_map) {
{ be_const_key(init, 2), be_const_func(lvbe_tileview_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h
index edca478bd..96e5c6970 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h
@@ -3,7 +3,7 @@
static be_define_const_map_slots(be_class_lv_win_map) {
{ be_const_key(init, 2), be_const_func(lvbe_win_create) },
{ be_const_key(tostring, -1), be_const_func(lvx_tostring) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(member, 0), be_const_func(lvx_member) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_map.h b/lib/libesp32/Berry/generate/be_fixed_be_class_map.h
index 76e99df82..d9c033a8b 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_map.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_map.h
@@ -1,7 +1,7 @@
#include "be_constobj.h"
static be_define_const_map_slots(be_class_map_map) {
- { be_const_key(dot_p, 2), be_const_var(0) },
+ { be_const_key(dot_p, 2), be_const_index(0) },
{ be_const_key(insert, -1), be_const_func(m_insert) },
{ be_const_key(remove, -1), be_const_func(m_remove) },
{ be_const_key(tostring, -1), be_const_func(m_tostring) },
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_md5.h b/lib/libesp32/Berry/generate/be_fixed_be_class_md5.h
index 121a8e6ea..34f7ae7e5 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_md5.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_md5.h
@@ -2,7 +2,7 @@
static be_define_const_map_slots(be_class_md5_map) {
{ be_const_key(update, -1), be_const_func(m_md5_update) },
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(finish, -1), be_const_func(m_md5_finish) },
{ be_const_key(init, 1), be_const_func(m_md5_init) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_range.h b/lib/libesp32/Berry/generate/be_fixed_be_class_range.h
index 371840af1..cce2842eb 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_range.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_range.h
@@ -5,9 +5,9 @@ static be_define_const_map_slots(be_class_range_map) {
{ be_const_key(iter, -1), be_const_func(m_iter) },
{ be_const_key(lower, -1), be_const_func(m_lower) },
{ be_const_key(init, 4), be_const_func(m_init) },
- { be_const_key(__upper__, -1), be_const_var(0) },
+ { be_const_key(__upper__, -1), be_const_index(0) },
{ be_const_key(tostring, -1), be_const_func(m_tostring) },
- { be_const_key(__lower__, -1), be_const_var(1) },
+ { be_const_key(__lower__, -1), be_const_index(1) },
{ be_const_key(upper, 1), be_const_func(m_upper) },
};
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 2343a1ae9..61b0d7716 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h
@@ -10,14 +10,14 @@ static be_define_const_map_slots(be_class_tasmota_map) {
{ be_const_key(_cmd, -1), be_const_func(l_cmd) },
{ be_const_key(web_send, 16), be_const_func(l_webSend) },
{ be_const_key(set_timer, -1), be_const_closure(set_timer_closure) },
- { be_const_key(_cb, -1), be_const_var(0) },
+ { be_const_key(_cb, -1), be_const_index(0) },
{ be_const_key(exec_cmd, -1), be_const_closure(exec_cmd_closure) },
{ be_const_key(i2c_enabled, 42), be_const_func(l_i2cenabled) },
{ be_const_key(cmd, -1), be_const_closure(cmd_closure) },
{ be_const_key(resp_cmnd_done, 28), be_const_func(l_respCmndDone) },
{ be_const_key(set_light, 1), be_const_closure(set_light_closure) },
{ be_const_key(get_light, -1), be_const_closure(get_light_closure) },
- { be_const_key(_rules, 50), be_const_var(1) },
+ { be_const_key(_rules, 50), be_const_index(1) },
{ be_const_key(time_reached, -1), be_const_func(l_timereached) },
{ be_const_key(web_send_decimal, -1), be_const_func(l_webSendDecimal) },
{ be_const_key(load, 22), be_const_closure(load_closure) },
@@ -32,14 +32,14 @@ static be_define_const_map_slots(be_class_tasmota_map) {
{ be_const_key(get_option, -1), be_const_func(l_getoption) },
{ be_const_key(resp_cmnd_str, -1), be_const_func(l_respCmndStr) },
{ be_const_key(response_append, -1), be_const_func(l_respAppend) },
- { be_const_key(_timers, -1), be_const_var(2) },
+ { be_const_key(_timers, -1), be_const_index(2) },
{ be_const_key(try_rule, -1), be_const_closure(try_rule_closure) },
{ be_const_key(set_power, 45), be_const_func(l_setpower) },
{ be_const_key(resp_cmnd_error, -1), be_const_func(l_respCmndError) },
{ be_const_key(publish, -1), be_const_func(l_publish) },
- { be_const_key(_ccmd, 13), be_const_var(3) },
+ { be_const_key(_ccmd, 13), be_const_index(3) },
{ be_const_key(_get_cb, -1), be_const_func(l_get_cb) },
- { be_const_key(wire1, 15), be_const_var(4) },
+ { be_const_key(wire1, 15), be_const_index(4) },
{ be_const_key(gen_cb, 6), be_const_closure(gen_cb_closure) },
{ be_const_key(rtc, -1), be_const_func(l_rtc) },
{ be_const_key(time_dump, -1), be_const_func(l_time_dump) },
@@ -50,13 +50,13 @@ static be_define_const_map_slots(be_class_tasmota_map) {
{ be_const_key(find_op, 25), be_const_closure(find_op_closure) },
{ be_const_key(chars_in_string, -1), be_const_closure(chars_in_string_closure) },
{ be_const_key(get_power, -1), be_const_func(l_getpower) },
- { be_const_key(wire2, 8), be_const_var(5) },
+ { be_const_key(wire2, 8), be_const_index(5) },
{ be_const_key(wire_scan, 55), be_const_closure(wire_scan_closure) },
{ be_const_key(resp_cmnd_failed, -1), be_const_func(l_respCmndFailed) },
{ be_const_key(exec_rules, -1), be_const_closure(exec_rules_closure) },
{ be_const_key(cb_dispatch, -1), be_const_closure(cb_dispatch_closure) },
{ be_const_key(resp_cmnd, -1), be_const_func(l_respCmnd) },
- { be_const_key(_drivers, -1), be_const_var(6) },
+ { be_const_key(_drivers, -1), be_const_index(6) },
{ be_const_key(add_driver, -1), be_const_closure(add_driver_closure) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_driver.h b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_driver.h
index 7ad6a4a4a..19c71b1e0 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_driver.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_driver.h
@@ -1,31 +1,32 @@
#include "be_constobj.h"
static be_define_const_map_slots(be_class_tasmota_driver_map) {
- { be_const_key(every_second, 1), be_const_var(0) },
- { be_const_key(web_add_config_button, -1), be_const_var(1) },
- { be_const_key(web_sensor, 5), be_const_var(2) },
- { be_const_key(web_add_button, 10), be_const_var(3) },
+ { be_const_key(button_pressed, 6), be_const_index(0) },
+ { be_const_key(web_add_management_button, -1), be_const_index(1) },
+ { be_const_key(web_add_button, 13), be_const_index(2) },
+ { be_const_key(web_add_config_button, -1), be_const_index(3) },
+ { be_const_key(json_append, -1), be_const_index(4) },
+ { be_const_key(display, 3), be_const_index(5) },
+ { be_const_key(web_add_console_button, 14), be_const_index(6) },
+ { be_const_key(every_100ms, -1), be_const_index(7) },
+ { be_const_key(every_50ms, -1), be_const_index(8) },
+ { be_const_key(every_second, -1), be_const_index(9) },
+ { be_const_key(save_before_restart, -1), be_const_index(10) },
+ { be_const_key(get_tasmota, -1), be_const_closure(get_tasmota_closure) },
+ { be_const_key(web_sensor, 7), be_const_index(11) },
+ { be_const_key(web_add_handler, 1), be_const_index(12) },
+ { be_const_key(web_add_main_button, -1), be_const_index(13) },
{ be_const_key(add_cmd, -1), be_const_closure(add_cmd_closure) },
- { be_const_key(web_add_console_button, 12), be_const_var(4) },
- { be_const_key(web_add_management_button, -1), be_const_var(5) },
- { be_const_key(display, -1), be_const_var(6) },
- { be_const_key(get_tasmota, 13), be_const_closure(get_tasmota_closure) },
- { be_const_key(every_100ms, -1), be_const_var(7) },
- { be_const_key(save_before_restart, -1), be_const_var(8) },
- { be_const_key(button_pressed, -1), be_const_var(9) },
- { be_const_key(web_add_handler, -1), be_const_var(10) },
- { be_const_key(web_add_main_button, -1), be_const_var(11) },
- { be_const_key(json_append, 8), be_const_var(12) },
};
static be_define_const_map(
be_class_tasmota_driver_map,
- 15
+ 16
);
BE_EXPORT_VARIABLE be_define_const_class(
be_class_tasmota_driver,
- 13,
+ 14,
NULL,
Driver
);
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_i2c_driver.h b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_i2c_driver.h
index 2bc2cdf6a..9801aedbb 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_i2c_driver.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_i2c_driver.h
@@ -3,13 +3,13 @@
static be_define_const_map_slots(be_class_tasmota_i2c_driver_map) {
{ be_const_key(read32, -1), be_const_closure(read32_closure) },
{ be_const_key(write8, 6), be_const_closure(write8_closure) },
- { be_const_key(name, -1), be_const_var(0) },
- { be_const_key(addr, 10), be_const_var(1) },
+ { be_const_key(name, -1), be_const_index(0) },
+ { be_const_key(addr, 10), be_const_index(1) },
{ be_const_key(read12, -1), be_const_closure(read12_closure) },
{ be_const_key(write_bit, 8), be_const_closure(write_bit_closure) },
{ be_const_key(read13, -1), be_const_closure(read13_closure) },
{ be_const_key(read24, -1), be_const_closure(read24_closure) },
- { be_const_key(wire, -1), be_const_var(2) },
+ { be_const_key(wire, -1), be_const_index(2) },
{ be_const_key(init, -1), be_const_closure(init_closure) },
{ be_const_key(read8, -1), be_const_closure(read8_closure) },
};
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_wire.h b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_wire.h
index 71ade9f7e..9c5543578 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_wire.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_wire.h
@@ -2,7 +2,7 @@
static be_define_const_map_slots(be_class_tasmota_wire_map) {
{ be_const_key(_end_transmission, 10), be_const_func(b_wire_endtransmission) },
- { be_const_key(bus, -1), be_const_var(0) },
+ { be_const_key(bus, -1), be_const_index(0) },
{ be_const_key(_read, 7), be_const_func(b_wire_read) },
{ be_const_key(read, -1), be_const_func(b_wire_validread) },
{ be_const_key(_request_from, -1), be_const_func(b_wire_requestfrom) },
diff --git a/lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h b/lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h
index 433187e60..a0ddbeb33 100644
--- a/lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h
+++ b/lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h
@@ -1,7 +1,7 @@
#include "be_constobj.h"
static be_define_const_map_slots(be_lvgl_cb_map) {
- { be_const_key(dot_p, -1), be_const_var(0) },
+ { be_const_key(dot_p, -1), be_const_index(0) },
{ be_const_key(tostring, 2), be_const_func(lvx_tostring) },
{ be_const_key(call, -1), be_const_func(lv_cb_call) },
{ be_const_key(init, 0), be_const_func(lv0_init) },
diff --git a/lib/libesp32/Berry/generate/be_fixed_gpio.h b/lib/libesp32/Berry/generate/be_fixed_gpio.h
index 480e53d40..8638ff65e 100644
--- a/lib/libesp32/Berry/generate/be_fixed_gpio.h
+++ b/lib/libesp32/Berry/generate/be_fixed_gpio.h
@@ -1,269 +1,279 @@
#include "be_constobj.h"
static be_define_const_map_slots(m_libgpio_map) {
- { be_const_key(MAX31855CLK, -1), be_const_int(79) },
- { be_const_key(DHT11_OUT, 197), be_const_int(40) },
- { be_const_key(PZEM004_RX, 113), be_const_int(47) },
- { be_const_key(BS814_DAT, 115), be_const_int(215) },
- { be_const_key(ROT1B_NP, -1), be_const_int(212) },
- { be_const_key(WEBCAM_HREF, -1), be_const_int(161) },
- { be_const_key(SPI_CLK, 233), be_const_int(23) },
- { be_const_key(TCP_TX, -1), be_const_int(171) },
- { be_const_key(SM16716_DAT, 72), be_const_int(92) },
- { be_const_key(AZ_RXD, 136), be_const_int(77) },
- { be_const_key(PWM1, -1), be_const_int(13) },
- { be_const_key(EXS_ENABLE, -1), be_const_int(129) },
- { be_const_key(ETH_PHY_POWER, -1), be_const_int(173) },
- { be_const_key(HIGH, -1), be_const_int(1) },
- { be_const_key(ETH_PHY_MDIO, -1), be_const_int(175) },
- { be_const_key(MP3_DFR562, 11), be_const_int(67) },
- { be_const_key(HM10_RX, -1), be_const_int(138) },
- { be_const_key(SSPI_MOSI, -1), be_const_int(27) },
- { be_const_key(KEY1_INV_NP, -1), be_const_int(4) },
- { be_const_key(NONE, -1), be_const_int(0) },
- { be_const_key(DDS2382_RX, 18), be_const_int(123) },
- { be_const_key(DSB_OUT, -1), be_const_int(42) },
- { be_const_key(FTC532, -1), be_const_int(195) },
- { be_const_key(ARIRFSEL, 222), be_const_int(99) },
- { be_const_key(pin, -1), be_const_func(gp_pin) },
- { be_const_key(RFRECV, -1), be_const_int(36) },
- { be_const_key(HRXL_RX, -1), be_const_int(144) },
- { be_const_key(HRE_CLOCK, -1), be_const_int(106) },
- { be_const_key(AS608_RX, -1), be_const_int(188) },
- { be_const_key(SDS0X1_TX, -1), be_const_int(54) },
- { be_const_key(TM1637DIO, 112), be_const_int(223) },
- { be_const_key(ILI9488_CS, 138), be_const_int(201) },
- { be_const_key(WEBCAM_VSYNC, 184), be_const_int(160) },
- { be_const_key(TASMOTACLIENT_RST, 224), be_const_int(132) },
- { be_const_key(INPUT, 57), be_const_int(239) },
- { be_const_key(SBR_TX, -1), be_const_int(56) },
- { be_const_key(HPMA_TX, -1), be_const_int(135) },
- { be_const_key(MCP39F5_RX, 41), be_const_int(87) },
- { be_const_key(OUTPUT, 69), be_const_int(2) },
- { be_const_key(AZ_TXD, -1), be_const_int(76) },
{ be_const_key(ADC_BUTTON, -1), be_const_int(150) },
- { be_const_key(ETH_PHY_MDC, -1), be_const_int(174) },
- { be_const_key(ZEROCROSS, -1), be_const_int(236) },
- { be_const_key(AS3935, 147), be_const_int(146) },
- { be_const_key(SSPI_MAX31865_CS1, -1), be_const_int(105) },
- { be_const_key(LEDLNK_INV, 56), be_const_int(18) },
- { be_const_key(RDM6300_RX, -1), be_const_int(113) },
- { be_const_key(TM1638STB, -1), be_const_int(66) },
- { be_const_key(SR04_TRIG, 166), be_const_int(58) },
- { be_const_key(CSE7761_RX, -1), be_const_int(229) },
- { be_const_key(HM10_TX, -1), be_const_int(139) },
- { be_const_key(SM16716_CLK, 111), be_const_int(91) },
- { be_const_key(ADC_TEMP, 120), be_const_int(148) },
- { be_const_key(NRG_SEL_INV, -1), be_const_int(82) },
- { be_const_key(OPEN_DRAIN, -1), be_const_int(16) },
- { be_const_key(ST7789_DC, 196), be_const_int(207) },
- { be_const_key(INPUT_PULLDOWN, 122), be_const_int(9) },
- { be_const_key(SM2135_CLK, 219), be_const_int(126) },
- { be_const_key(WEBCAM_PSCLK, 32), be_const_int(163) },
- { be_const_key(ADC_CT_POWER, 82), be_const_int(153) },
- { be_const_key(OUTPUT_OPEN_DRAIN, -1), be_const_int(18) },
- { be_const_key(CC1101_GDO2, -1), be_const_int(143) },
- { be_const_key(SM2135_DAT, 28), be_const_int(127) },
- { be_const_key(digital_write, -1), be_const_func(gp_digital_write) },
- { be_const_key(GPS_TX, 68), be_const_int(137) },
- { be_const_key(TFMINIPLUS_RX, -1), be_const_int(235) },
- { be_const_key(RC522_CS, -1), be_const_int(196) },
- { be_const_key(PMS5003_TX, -1), be_const_int(52) },
- { be_const_key(DDS2382_TX, -1), be_const_int(122) },
- { be_const_key(IEM3000_RX, 133), be_const_int(180) },
- { be_const_key(ZIGBEE_RX, -1), be_const_int(112) },
{ be_const_key(ZIGBEE_RST, -1), be_const_int(181) },
- { be_const_key(HPMA_RX, -1), be_const_int(134) },
- { be_const_key(SDS0X1_RX, -1), be_const_int(55) },
- { be_const_key(WEBCAM_RESET, -1), be_const_int(155) },
- { be_const_key(CNTR1, 249), be_const_int(11) },
- { be_const_key(ADC_LIGHT, 231), be_const_int(149) },
- { be_const_key(HRE_DATA, 34), be_const_int(107) },
- { be_const_key(OUTPUT_HI, -1), be_const_int(120) },
- { be_const_key(LED1_INV, 176), be_const_int(10) },
- { be_const_key(LMT01, -1), be_const_int(178) },
- { be_const_key(DSB, -1), be_const_int(41) },
- { be_const_key(CSE7766_RX, -1), be_const_int(97) },
- { be_const_key(SBR_RX, -1), be_const_int(57) },
- { be_const_key(PROJECTOR_CTRL_TX, 148), be_const_int(224) },
- { be_const_key(DI, 211), be_const_int(94) },
- { be_const_key(PZEM0XX_TX, -1), be_const_int(46) },
- { be_const_key(SENSOR_END, -1), be_const_int(240) },
- { be_const_key(A4988_ENA, 97), be_const_int(118) },
- { be_const_key(WEBCAM_PSRCS, 46), be_const_int(165) },
- { be_const_key(ELECTRIQ_MOODL_TX, -1), be_const_int(145) },
- { be_const_key(WEBCAM_XCLK, -1), be_const_int(156) },
- { be_const_key(PN532_RXD, -1), be_const_int(90) },
- { be_const_key(BL0940_RX, 195), be_const_int(170) },
- { be_const_key(PMS5003_RX, -1), be_const_int(53) },
- { be_const_key(HALLEFFECT, -1), be_const_int(237) },
- { be_const_key(PWM1_INV, 172), be_const_int(14) },
- { be_const_key(TASMOTACLIENT_RXD, -1), be_const_int(131) },
- { be_const_key(WEBCAM_SIOD, 110), be_const_int(157) },
- { be_const_key(TM1637CLK, 33), be_const_int(222) },
- { be_const_key(IRRECV, -1), be_const_int(34) },
- { be_const_key(SPI_MOSI, -1), be_const_int(22) },
- { be_const_key(TELEINFO_RX, 182), be_const_int(176) },
- { be_const_key(TASMOTACLIENT_RST_INV, -1), be_const_int(133) },
- { be_const_key(PROJECTOR_CTRL_RX, -1), be_const_int(225) },
- { be_const_key(WIEGAND_D0, -1), be_const_int(216) },
- { be_const_key(ADE7953_IRQ, -1), be_const_int(108) },
- { be_const_key(SPI_DC, -1), be_const_int(25) },
- { be_const_key(IRSEND, -1), be_const_int(33) },
- { be_const_key(TFMINIPLUS_TX, 87), be_const_int(234) },
- { be_const_key(I2C_SCL, -1), be_const_int(19) },
- { be_const_key(MAX7219DIN, -1), be_const_int(232) },
- { be_const_key(ROT1A_NP, -1), be_const_int(211) },
- { be_const_key(PZEM017_RX, 156), be_const_int(49) },
- { be_const_key(WINDMETER_SPEED, -1), be_const_int(168) },
- { be_const_key(RC522_RST, -1), be_const_int(191) },
- { be_const_key(SR04_ECHO, 89), be_const_int(59) },
- { be_const_key(BOILER_OT_TX, -1), be_const_int(167) },
- { be_const_key(ZIGBEE_TX, 104), be_const_int(111) },
- { be_const_key(REL1_INV, -1), be_const_int(8) },
- { be_const_key(WS2812, -1), be_const_int(43) },
- { be_const_key(BUZZER, 0), be_const_int(15) },
- { be_const_key(CC1101_GDO0, -1), be_const_int(142) },
- { be_const_key(SWT1_NP, -1), be_const_int(6) },
- { be_const_key(SSPI_DC, 49), be_const_int(30) },
- { be_const_key(ADC_RANGE, 128), be_const_int(152) },
- { be_const_key(OPTION_A, 174), be_const_int(194) },
- { be_const_key(SHELLY_DIMMER_RST_INV, -1), be_const_int(190) },
- { be_const_key(MGC3130_XFER, -1), be_const_int(73) },
- { be_const_key(VL53L0X_XSHUT1, 140), be_const_int(230) },
- { be_const_key(SSD1351_CS, -1), be_const_int(204) },
- { be_const_key(LEDLNK, 63), be_const_int(17) },
- { be_const_key(P9813_DAT, 67), be_const_int(193) },
- { be_const_key(pin_mode, 218), be_const_func(gp_pin_mode) },
- { be_const_key(RF_SENSOR, -1), be_const_int(75) },
- { be_const_key(TELEINFO_ENABLE, -1), be_const_int(177) },
- { be_const_key(RISING, -1), be_const_int(1) },
- { be_const_key(DHT11, -1), be_const_int(37) },
- { be_const_key(SDCARD_CS, -1), be_const_int(210) },
- { be_const_key(ROT1B, 169), be_const_int(103) },
- { be_const_key(TUYA_RX, -1), be_const_int(72) },
- { be_const_key(SSPI_CS, -1), be_const_int(29) },
- { be_const_key(DCKI, -1), be_const_int(95) },
- { be_const_key(XPT2046_CS, -1), be_const_int(227) },
- { be_const_key(DDSU666_RX, -1), be_const_int(125) },
- { be_const_key(A4988_STP, -1), be_const_int(117) },
- { be_const_key(SOLAXX1_RX, -1), be_const_int(110) },
- { be_const_key(NRG_SEL, -1), be_const_int(81) },
- { be_const_key(HX711_DAT, -1), be_const_int(69) },
- { be_const_key(SSPI_MISO, -1), be_const_int(26) },
- { be_const_key(WEBCAM_HSD, -1), be_const_int(164) },
- { be_const_key(GPS_RX, -1), be_const_int(136) },
- { be_const_key(NEOPOOL_RX, -1), be_const_int(219) },
- { be_const_key(PZEM016_RX, -1), be_const_int(48) },
- { be_const_key(CSE7761_TX, -1), be_const_int(228) },
- { be_const_key(OLED_RESET, -1), be_const_int(32) },
- { be_const_key(ADC_INPUT, 101), be_const_int(147) },
- { be_const_key(LE01MR_TX, 80), be_const_int(141) },
- { be_const_key(EPAPER29_CS, 238), be_const_int(202) },
- { be_const_key(DHT22, -1), be_const_int(38) },
- { be_const_key(BACKLIGHT, -1), be_const_int(31) },
- { be_const_key(NRG_CF1, -1), be_const_int(83) },
- { be_const_key(MCP39F5_RST, 1), be_const_int(88) },
- { be_const_key(SDM120_TX, -1), be_const_int(60) },
- { be_const_key(HLW_CF, -1), be_const_int(84) },
- { be_const_key(BOILER_OT_RX, -1), be_const_int(166) },
- { be_const_key(TUYA_TX, -1), be_const_int(71) },
- { be_const_key(NRF24_DC, -1), be_const_int(198) },
- { be_const_key(TM1638DIO, -1), be_const_int(65) },
- { be_const_key(IBEACON_RX, 179), be_const_int(115) },
- { be_const_key(DEEPSLEEP, -1), be_const_int(128) },
- { be_const_key(HJL_CF, -1), be_const_int(85) },
- { be_const_key(DDSU666_TX, 154), be_const_int(124) },
- { be_const_key(MHZ_TXD, -1), be_const_int(44) },
- { be_const_key(MIEL_HVAC_TX, 22), be_const_int(183) },
- { be_const_key(BS814_CLK, 209), be_const_int(214) },
- { be_const_key(SM16716_SEL, -1), be_const_int(93) },
- { be_const_key(KEY1_TC, 48), be_const_int(169) },
- { be_const_key(SWT1, 5), be_const_int(5) },
- { be_const_key(WEBCAM_DATA, 217), be_const_int(159) },
- { be_const_key(PULLDOWN, -1), be_const_int(8) },
- { be_const_key(A4988_MS1, -1), be_const_int(119) },
- { be_const_key(pin_used, -1), be_const_func(gp_pin_used) },
- { be_const_key(IBEACON_TX, 220), be_const_int(114) },
- { be_const_key(NRF24_CS, -1), be_const_int(197) },
- { be_const_key(RXD, -1), be_const_int(101) },
- { be_const_key(NEOPOOL_TX, -1), be_const_int(218) },
- { be_const_key(WEBCAM_SIOC, -1), be_const_int(158) },
- { be_const_key(TASMOTACLIENT_TXD, -1), be_const_int(130) },
- { be_const_key(MAX31855CS, -1), be_const_int(78) },
- { be_const_key(TM1638CLK, -1), be_const_int(64) },
- { be_const_key(ILI9341_CS, -1), be_const_int(199) },
- { be_const_key(PN532_TXD, -1), be_const_int(89) },
- { be_const_key(LOW, -1), be_const_int(0) },
- { be_const_key(SOLAXX1_TX, -1), be_const_int(109) },
- { be_const_key(SDM72_RX, -1), be_const_int(221) },
- { be_const_key(PULLUP, -1), be_const_int(4) },
- { be_const_key(MIEL_HVAC_RX, -1), be_const_int(184) },
- { be_const_key(MAX31855DO, 216), be_const_int(80) },
- { be_const_key(REL1, -1), be_const_int(7) },
- { be_const_key(HX711_SCK, -1), be_const_int(68) },
- { be_const_key(WEBCAM_PCLK, -1), be_const_int(162) },
- { be_const_key(ARIRFRCV, 175), be_const_int(98) },
- { be_const_key(SAIR_TX, -1), be_const_int(50) },
- { be_const_key(digital_read, -1), be_const_func(gp_digital_read) },
- { be_const_key(LE01MR_RX, 125), be_const_int(140) },
- { be_const_key(TX2X_TXD_BLACK, -1), be_const_int(70) },
- { be_const_key(KEY1_INV, -1), be_const_int(3) },
- { be_const_key(ADC_JOY, -1), be_const_int(104) },
- { be_const_key(ST7789_CS, -1), be_const_int(206) },
- { be_const_key(SSD1331_CS, -1), be_const_int(208) },
- { be_const_key(FALLING, -1), be_const_int(2) },
- { be_const_key(SPI_CS, -1), be_const_int(24) },
- { be_const_key(BUZZER_INV, -1), be_const_int(16) },
- { be_const_key(RFSEND, -1), be_const_int(35) },
- { be_const_key(WE517_RX, -1), be_const_int(186) },
- { be_const_key(INPUT_PULLUP, -1), be_const_int(5) },
- { be_const_key(A4988_DIR, 223), be_const_int(116) },
- { be_const_key(SSPI_SCLK, -1), be_const_int(28) },
- { be_const_key(EPAPER42_CS, 252), be_const_int(203) },
- { be_const_key(SDM120_RX, -1), be_const_int(61) },
- { be_const_key(DYP_RX, -1), be_const_int(182) },
- { be_const_key(EPD_DATA, -1), be_const_int(238) },
- { be_const_key(TXD, -1), be_const_int(100) },
- { be_const_key(P9813_CLK, -1), be_const_int(192) },
+ { be_const_key(SPI_CLK, 231), be_const_int(23) },
{ be_const_key(MHZ_RXD, -1), be_const_int(45) },
- { be_const_key(WIEGAND_D1, -1), be_const_int(217) },
- { be_const_key(SSD1331_DC, 90), be_const_int(209) },
- { be_const_key(ADC_PH, -1), be_const_int(213) },
- { be_const_key(CSE7766_TX, -1), be_const_int(96) },
- { be_const_key(ADC_BUTTON_INV, 81), be_const_int(151) },
+ { be_const_key(SDM72_RX, -1), be_const_int(221) },
+ { be_const_key(A4988_MS1, -1), be_const_int(119) },
+ { be_const_key(DEEPSLEEP, -1), be_const_int(128) },
+ { be_const_key(WIEGAND_D1, 192), be_const_int(217) },
+ { be_const_key(WEBCAM_HSD, -1), be_const_int(164) },
+ { be_const_key(TM1637DIO, -1), be_const_int(223) },
+ { be_const_key(KEY1_INV_NP, 252), be_const_int(4) },
+ { be_const_key(IBEACON_RX, -1), be_const_int(115) },
+ { be_const_key(OUTPUT_LO, 243), be_const_int(121) },
+ { be_const_key(RISING, 87), be_const_int(1) },
+ { be_const_key(WEBCAM_PWDN, 10), be_const_int(154) },
+ { be_const_key(BOILER_OT_TX, 32), be_const_int(167) },
{ be_const_key(CNTR1_NP, -1), be_const_int(12) },
- { be_const_key(OUTPUT_LO, 85), be_const_int(121) },
- { be_const_key(SHELLY_DIMMER_BOOT0, -1), be_const_int(189) },
- { be_const_key(WEBCAM_PWDN, -1), be_const_int(154) },
- { be_const_key(KEY1, 246), be_const_int(1) },
- { be_const_key(RA8876_CS, 204), be_const_int(205) },
- { be_const_key(SDM630_RX, 171), be_const_int(63) },
- { be_const_key(ILI9341_DC, -1), be_const_int(200) },
- { be_const_key(LED1, 257), be_const_int(9) },
- { be_const_key(SPI_MISO, -1), be_const_int(21) },
- { be_const_key(SSD1351_DC, 30), be_const_int(226) },
- { be_const_key(MAX7219CLK, -1), be_const_int(231) },
- { be_const_key(MCP39F5_TX, -1), be_const_int(86) },
- { be_const_key(ROT1A, -1), be_const_int(102) },
- { be_const_key(TCP_RX, 42), be_const_int(172) },
- { be_const_key(WE517_TX, -1), be_const_int(185) },
- { be_const_key(SAIR_RX, 214), be_const_int(51) },
- { be_const_key(IEM3000_TX, 143), be_const_int(179) },
- { be_const_key(SDM630_TX, -1), be_const_int(62) },
- { be_const_key(KEY1_NP, 251), be_const_int(2) },
- { be_const_key(I2C_SDA, -1), be_const_int(20) },
- { be_const_key(MGC3130_RESET, -1), be_const_int(74) },
- { be_const_key(SI7021, -1), be_const_int(39) },
- { be_const_key(MAX7219CS, 151), be_const_int(233) },
- { be_const_key(SDM72_TX, -1), be_const_int(220) },
- { be_const_key(AS608_TX, 6), be_const_int(187) },
+ { be_const_key(MAX7219DIN, -1), be_const_int(232) },
+ { be_const_key(I2C_SDA, 42), be_const_int(20) },
+ { be_const_key(DCKI, 188), be_const_int(95) },
+ { be_const_key(I2S_IN_CLK, -1), be_const_int(247) },
{ be_const_key(CHANGE, -1), be_const_int(4) },
+ { be_const_key(pin_used, -1), be_const_func(gp_pin_used) },
+ { be_const_key(HALLEFFECT, -1), be_const_int(237) },
+ { be_const_key(ADC_TEMP, 112), be_const_int(148) },
+ { be_const_key(SSPI_MOSI, 254), be_const_int(27) },
+ { be_const_key(TASMOTACLIENT_RST, -1), be_const_int(132) },
+ { be_const_key(ZIGBEE_RX, -1), be_const_int(112) },
+ { be_const_key(ROT1B_NP, 107), be_const_int(212) },
+ { be_const_key(SSD1351_CS, 149), be_const_int(204) },
+ { be_const_key(MAX7219CLK, -1), be_const_int(231) },
+ { be_const_key(SSD1331_DC, -1), be_const_int(209) },
+ { be_const_key(SR04_TRIG, -1), be_const_int(58) },
+ { be_const_key(TCP_RX, 187), be_const_int(172) },
+ { be_const_key(SM16716_DAT, 91), be_const_int(92) },
+ { be_const_key(OLED_RESET, 264), be_const_int(32) },
+ { be_const_key(RDM6300_RX, -1), be_const_int(113) },
+ { be_const_key(LOW, -1), be_const_int(0) },
+ { be_const_key(ADC_BUTTON_INV, 79), be_const_int(151) },
+ { be_const_key(SM16716_CLK, 76), be_const_int(91) },
+ { be_const_key(SSPI_DC, -1), be_const_int(30) },
+ { be_const_key(TFMINIPLUS_RX, -1), be_const_int(235) },
+ { be_const_key(TM1638CLK, -1), be_const_int(64) },
+ { be_const_key(BL0940_RX, -1), be_const_int(170) },
+ { be_const_key(WEBCAM_PSCLK, -1), be_const_int(163) },
+ { be_const_key(RFRECV, -1), be_const_int(36) },
+ { be_const_key(GPS_RX, 124), be_const_int(136) },
+ { be_const_key(DSB_OUT, -1), be_const_int(42) },
+ { be_const_key(HPMA_TX, -1), be_const_int(135) },
+ { be_const_key(SHELLY_DIMMER_RST_INV, -1), be_const_int(190) },
+ { be_const_key(SDM72_TX, -1), be_const_int(220) },
+ { be_const_key(HJL_CF, -1), be_const_int(85) },
+ { be_const_key(IEM3000_RX, 24), be_const_int(180) },
+ { be_const_key(KEY1_NP, -1), be_const_int(2) },
+ { be_const_key(DDS2382_RX, -1), be_const_int(123) },
+ { be_const_key(INPUT_PULLDOWN, -1), be_const_int(9) },
+ { be_const_key(SSPI_MISO, -1), be_const_int(26) },
+ { be_const_key(DDS2382_TX, -1), be_const_int(122) },
+ { be_const_key(SDM630_RX, -1), be_const_int(63) },
+ { be_const_key(SDS0X1_TX, 63), be_const_int(54) },
+ { be_const_key(HPMA_RX, -1), be_const_int(134) },
+ { be_const_key(DYP_RX, -1), be_const_int(182) },
+ { be_const_key(NRG_CF1, 138), be_const_int(83) },
+ { be_const_key(REL1_INV, 169), be_const_int(8) },
+ { be_const_key(MCP39F5_RST, 131), be_const_int(88) },
+ { be_const_key(I2S_OUT_SLCT, 170), be_const_int(245) },
+ { be_const_key(ADE7953_IRQ, -1), be_const_int(108) },
+ { be_const_key(REL1, -1), be_const_int(7) },
+ { be_const_key(SOLAXX1_TX, 154), be_const_int(109) },
+ { be_const_key(CSE7766_RX, -1), be_const_int(97) },
+ { be_const_key(PROJECTOR_CTRL_TX, 29), be_const_int(224) },
+ { be_const_key(PULLUP, -1), be_const_int(4) },
+ { be_const_key(SPI_DC, 90), be_const_int(25) },
+ { be_const_key(IBEACON_TX, -1), be_const_int(114) },
+ { be_const_key(IEM3000_TX, 157), be_const_int(179) },
+ { be_const_key(WEBCAM_PSRCS, -1), be_const_int(165) },
+ { be_const_key(ELECTRIQ_MOODL_TX, -1), be_const_int(145) },
+ { be_const_key(LED1_INV, -1), be_const_int(10) },
+ { be_const_key(TASMOTACLIENT_RXD, 109), be_const_int(131) },
+ { be_const_key(PN532_RXD, -1), be_const_int(90) },
+ { be_const_key(ROT1A, 197), be_const_int(102) },
+ { be_const_key(PROJECTOR_CTRL_RX, -1), be_const_int(225) },
+ { be_const_key(EPAPER29_CS, -1), be_const_int(202) },
+ { be_const_key(VL53L0X_XSHUT1, -1), be_const_int(230) },
+ { be_const_key(DDSU666_RX, 22), be_const_int(125) },
+ { be_const_key(SSPI_CS, -1), be_const_int(29) },
+ { be_const_key(BACKLIGHT, 60), be_const_int(31) },
+ { be_const_key(CC1101_GDO0, 225), be_const_int(142) },
+ { be_const_key(INTERRUPT, -1), be_const_int(249) },
+ { be_const_key(MP3_DFR562, -1), be_const_int(67) },
+ { be_const_key(ROT1A_NP, -1), be_const_int(211) },
+ { be_const_key(PZEM017_RX, -1), be_const_int(49) },
+ { be_const_key(RC522_CS, 81), be_const_int(196) },
+ { be_const_key(TASMOTACLIENT_RST_INV, -1), be_const_int(133) },
+ { be_const_key(ETH_PHY_MDIO, -1), be_const_int(175) },
+ { be_const_key(WE517_RX, -1), be_const_int(186) },
+ { be_const_key(LMT01, -1), be_const_int(178) },
+ { be_const_key(ILI9488_CS, -1), be_const_int(201) },
+ { be_const_key(I2C_SCL, 0), be_const_int(19) },
+ { be_const_key(TM1638STB, -1), be_const_int(66) },
+ { be_const_key(ETH_PHY_MDC, -1), be_const_int(174) },
+ { be_const_key(WE517_TX, 96), be_const_int(185) },
+ { be_const_key(IRSEND, -1), be_const_int(33) },
+ { be_const_key(I2S_OUT_CLK, -1), be_const_int(244) },
+ { be_const_key(SPI_CS, -1), be_const_int(24) },
+ { be_const_key(SWT1, -1), be_const_int(5) },
+ { be_const_key(HM10_RX, -1), be_const_int(138) },
+ { be_const_key(WEBCAM_HREF, -1), be_const_int(161) },
+ { be_const_key(OPEN_DRAIN, -1), be_const_int(16) },
+ { be_const_key(AS608_TX, -1), be_const_int(187) },
+ { be_const_key(SSPI_SCLK, -1), be_const_int(28) },
+ { be_const_key(A4988_DIR, -1), be_const_int(116) },
+ { be_const_key(SHELLY_DIMMER_BOOT0, -1), be_const_int(189) },
+ { be_const_key(I2S_OUT_DATA, -1), be_const_int(243) },
+ { be_const_key(MIEL_HVAC_TX, -1), be_const_int(183) },
+ { be_const_key(WEBCAM_SIOC, 41), be_const_int(158) },
+ { be_const_key(RF_SENSOR, 57), be_const_int(75) },
+ { be_const_key(AZ_TXD, -1), be_const_int(76) },
+ { be_const_key(A4988_ENA, -1), be_const_int(118) },
+ { be_const_key(DHT22, -1), be_const_int(38) },
+ { be_const_key(TASMOTACLIENT_TXD, -1), be_const_int(130) },
+ { be_const_key(TELEINFO_ENABLE, 62), be_const_int(177) },
+ { be_const_key(NRF24_CS, -1), be_const_int(197) },
+ { be_const_key(HRE_CLOCK, -1), be_const_int(106) },
+ { be_const_key(NEOPOOL_RX, 158), be_const_int(219) },
+ { be_const_key(HIGH, 237), be_const_int(1) },
+ { be_const_key(HLW_CF, 53), be_const_int(84) },
+ { be_const_key(AZ_RXD, -1), be_const_int(77) },
+ { be_const_key(HM10_TX, 167), be_const_int(139) },
+ { be_const_key(LEDLNK, 155), be_const_int(17) },
+ { be_const_key(PWM1, -1), be_const_int(13) },
+ { be_const_key(BS814_CLK, -1), be_const_int(214) },
+ { be_const_key(TFMINIPLUS_TX, 99), be_const_int(234) },
+ { be_const_key(WEBCAM_PCLK, -1), be_const_int(162) },
+ { be_const_key(DSB, -1), be_const_int(41) },
+ { be_const_key(NONE, -1), be_const_int(0) },
+ { be_const_key(pin, 19), be_const_func(gp_pin) },
+ { be_const_key(PN532_TXD, -1), be_const_int(89) },
+ { be_const_key(SENSOR_END, 222), be_const_int(250) },
+ { be_const_key(SM2135_CLK, -1), be_const_int(126) },
+ { be_const_key(TX2X_TXD_BLACK, -1), be_const_int(70) },
+ { be_const_key(ZEROCROSS, -1), be_const_int(236) },
+ { be_const_key(ADC_INPUT, -1), be_const_int(147) },
+ { be_const_key(RC522_RST, -1), be_const_int(191) },
+ { be_const_key(SSD1331_CS, -1), be_const_int(208) },
+ { be_const_key(BS814_DAT, -1), be_const_int(215) },
+ { be_const_key(PULLDOWN, -1), be_const_int(8) },
+ { be_const_key(I2S_IN_SLCT, 105), be_const_int(248) },
+ { be_const_key(OPTION_A, -1), be_const_int(194) },
+ { be_const_key(DI, -1), be_const_int(94) },
+ { be_const_key(PZEM004_RX, -1), be_const_int(47) },
+ { be_const_key(SDCARD_CS, -1), be_const_int(210) },
+ { be_const_key(ZIGBEE_TX, 94), be_const_int(111) },
+ { be_const_key(ST7789_DC, 50), be_const_int(207) },
+ { be_const_key(P9813_DAT, 214), be_const_int(193) },
+ { be_const_key(EXS_ENABLE, 56), be_const_int(129) },
+ { be_const_key(SSPI_MAX31865_CS1, 147), be_const_int(105) },
+ { be_const_key(PMS5003_RX, -1), be_const_int(53) },
+ { be_const_key(pin_mode, -1), be_const_func(gp_pin_mode) },
+ { be_const_key(SAIR_TX, 4), be_const_int(50) },
+ { be_const_key(CSE7761_RX, 102), be_const_int(229) },
+ { be_const_key(SBR_RX, 47), be_const_int(57) },
+ { be_const_key(SOLAXX1_RX, -1), be_const_int(110) },
+ { be_const_key(KEY1, 5), be_const_int(1) },
+ { be_const_key(GPS_TX, 227), be_const_int(137) },
+ { be_const_key(EPD_DATA, -1), be_const_int(238) },
+ { be_const_key(WS2812, -1), be_const_int(43) },
+ { be_const_key(PZEM0XX_TX, -1), be_const_int(46) },
+ { be_const_key(WINDMETER_SPEED, -1), be_const_int(168) },
+ { be_const_key(TUYA_RX, 199), be_const_int(72) },
+ { be_const_key(NRG_SEL, -1), be_const_int(81) },
+ { be_const_key(PZEM016_RX, 13), be_const_int(48) },
+ { be_const_key(KEY1_PD, -1), be_const_int(240) },
+ { be_const_key(LE01MR_RX, -1), be_const_int(140) },
+ { be_const_key(ADC_PH, -1), be_const_int(213) },
+ { be_const_key(SDM120_TX, -1), be_const_int(60) },
+ { be_const_key(HX711_DAT, -1), be_const_int(69) },
+ { be_const_key(CNTR1, 132), be_const_int(11) },
+ { be_const_key(PWM1_INV, 184), be_const_int(14) },
+ { be_const_key(RFSEND, 182), be_const_int(35) },
+ { be_const_key(RXD, 194), be_const_int(101) },
+ { be_const_key(SDM120_RX, -1), be_const_int(61) },
+ { be_const_key(SWT1_NP, -1), be_const_int(6) },
+ { be_const_key(MAX31855CLK, -1), be_const_int(79) },
+ { be_const_key(DDSU666_TX, -1), be_const_int(124) },
+ { be_const_key(MHZ_TXD, -1), be_const_int(44) },
+ { be_const_key(OUTPUT_HI, -1), be_const_int(120) },
+ { be_const_key(SM16716_SEL, -1), be_const_int(93) },
+ { be_const_key(KEY1_INV_PD, -1), be_const_int(241) },
+ { be_const_key(BOILER_OT_RX, 9), be_const_int(166) },
+ { be_const_key(WEBCAM_SIOD, 78), be_const_int(157) },
+ { be_const_key(SI7021, -1), be_const_int(39) },
+ { be_const_key(MIEL_HVAC_RX, -1), be_const_int(184) },
+ { be_const_key(P9813_CLK, -1), be_const_int(192) },
+ { be_const_key(NRG_SEL_INV, 232), be_const_int(82) },
+ { be_const_key(INPUT, 85), be_const_int(239) },
+ { be_const_key(AS608_RX, -1), be_const_int(188) },
+ { be_const_key(SR04_ECHO, -1), be_const_int(59) },
+ { be_const_key(CSE7761_TX, -1), be_const_int(228) },
+ { be_const_key(digital_write, -1), be_const_func(gp_digital_write) },
+ { be_const_key(MAX31855DO, -1), be_const_int(80) },
+ { be_const_key(CC1101_GDO2, -1), be_const_int(143) },
+ { be_const_key(ETH_PHY_POWER, -1), be_const_int(173) },
+ { be_const_key(ILI9341_CS, -1), be_const_int(199) },
+ { be_const_key(OUTPUT_OPEN_DRAIN, -1), be_const_int(18) },
+ { be_const_key(TM1637CLK, -1), be_const_int(222) },
+ { be_const_key(SPI_MISO, 176), be_const_int(21) },
+ { be_const_key(KEY1_INV, -1), be_const_int(3) },
+ { be_const_key(PMS5003_TX, 75), be_const_int(52) },
+ { be_const_key(A4988_STP, -1), be_const_int(117) },
+ { be_const_key(WEBCAM_VSYNC, -1), be_const_int(160) },
+ { be_const_key(SWT1_PD, -1), be_const_int(242) },
+ { be_const_key(AS3935, -1), be_const_int(146) },
+ { be_const_key(CSE7766_TX, 100), be_const_int(96) },
+ { be_const_key(NEOPOOL_TX, 148), be_const_int(218) },
+ { be_const_key(ADC_RANGE, 72), be_const_int(152) },
+ { be_const_key(ILI9341_DC, -1), be_const_int(200) },
+ { be_const_key(DHT11, -1), be_const_int(37) },
+ { be_const_key(SM2135_DAT, 238), be_const_int(127) },
+ { be_const_key(MCP39F5_RX, 211), be_const_int(87) },
+ { be_const_key(HX711_SCK, 7), be_const_int(68) },
+ { be_const_key(SAIR_RX, -1), be_const_int(51) },
+ { be_const_key(SDS0X1_RX, -1), be_const_int(55) },
+ { be_const_key(ARIRFSEL, 266), be_const_int(99) },
+ { be_const_key(WEBCAM_RESET, -1), be_const_int(155) },
+ { be_const_key(BUZZER_INV, -1), be_const_int(16) },
+ { be_const_key(DHT11_OUT, -1), be_const_int(40) },
+ { be_const_key(FALLING, -1), be_const_int(2) },
+ { be_const_key(MAX7219CS, -1), be_const_int(233) },
+ { be_const_key(ARIRFRCV, -1), be_const_int(98) },
+ { be_const_key(ADC_CT_POWER, -1), be_const_int(153) },
+ { be_const_key(HRXL_RX, -1), be_const_int(144) },
+ { be_const_key(WEBCAM_DATA, 58), be_const_int(159) },
+ { be_const_key(TUYA_TX, -1), be_const_int(71) },
+ { be_const_key(SPI_MOSI, -1), be_const_int(22) },
+ { be_const_key(WIEGAND_D0, 33), be_const_int(216) },
+ { be_const_key(digital_read, 137), be_const_func(gp_digital_read) },
+ { be_const_key(ROT1B, -1), be_const_int(103) },
+ { be_const_key(FTC532, -1), be_const_int(195) },
+ { be_const_key(HRE_DATA, 35), be_const_int(107) },
+ { be_const_key(I2S_IN_DATA, -1), be_const_int(246) },
+ { be_const_key(TCP_TX, 26), be_const_int(171) },
+ { be_const_key(ST7789_CS, -1), be_const_int(206) },
+ { be_const_key(ADC_JOY, -1), be_const_int(104) },
+ { be_const_key(OUTPUT, 229), be_const_int(2) },
+ { be_const_key(NRF24_DC, -1), be_const_int(198) },
+ { be_const_key(IRRECV, 27), be_const_int(34) },
+ { be_const_key(MCP39F5_TX, 230), be_const_int(86) },
+ { be_const_key(TELEINFO_RX, 52), be_const_int(176) },
+ { be_const_key(SSD1351_DC, -1), be_const_int(226) },
+ { be_const_key(TM1638DIO, -1), be_const_int(65) },
+ { be_const_key(TXD, 139), be_const_int(100) },
+ { be_const_key(XPT2046_CS, -1), be_const_int(227) },
+ { be_const_key(LED1, 212), be_const_int(9) },
+ { be_const_key(LEDLNK_INV, -1), be_const_int(18) },
+ { be_const_key(SBR_TX, -1), be_const_int(56) },
+ { be_const_key(RA8876_CS, -1), be_const_int(205) },
+ { be_const_key(KEY1_TC, 180), be_const_int(169) },
+ { be_const_key(INPUT_PULLUP, -1), be_const_int(5) },
+ { be_const_key(EPAPER42_CS, -1), be_const_int(203) },
+ { be_const_key(BUZZER, -1), be_const_int(15) },
+ { be_const_key(WEBCAM_XCLK, -1), be_const_int(156) },
+ { be_const_key(ADC_LIGHT, 134), be_const_int(149) },
+ { be_const_key(SDM630_TX, 69), be_const_int(62) },
+ { be_const_key(MGC3130_XFER, 260), be_const_int(73) },
+ { be_const_key(MGC3130_RESET, 219), be_const_int(74) },
+ { be_const_key(MAX31855CS, -1), be_const_int(78) },
+ { be_const_key(LE01MR_TX, -1), be_const_int(141) },
};
static be_define_const_map(
m_libgpio_map,
- 258
+ 268
);
static be_define_const_module(
diff --git a/lib/libesp32/Berry/src/be_constobj.h b/lib/libesp32/Berry/src/be_constobj.h
index 543d6b62a..d5d417161 100644
--- a/lib/libesp32/Berry/src/be_constobj.h
+++ b/lib/libesp32/Berry/src/be_constobj.h
@@ -37,12 +37,17 @@ extern "C" {
.type = BE_FUNCTION \
}
+#define be_const_nil() { \
+ .v.i = 0, \
+ .type = BE_NIL \
+}
+
#define be_const_int(_val) { \
.v.i = (bint)(_val), \
.type = BE_INT \
}
-#define be_const_var(_val) { \
+#define be_const_index(_val) { \
.v.i = (bint)(_val), \
.type = BE_INDEX \
}
@@ -52,6 +57,16 @@ extern "C" {
.type = BE_REAL \
}
+#define be_const_real_hex(_val) { \
+ .v.p = (void*)(_val), \
+ .type = BE_REAL \
+}
+
+#define be_const_bool(_val) { \
+ .v.b = (bbool)(_val), \
+ .type = BE_BOOL \
+}
+
#define be_const_str(_str) { \
.v.s = (bstring*)(_str), \
.type = BE_STRING \
@@ -88,7 +103,7 @@ const bmap _name = { \
const bclass _name = { \
be_const_header(BE_CLASS), \
.nvar = _nvar, \
- .super = (bclass*)_super, \
+ .super = _super, \
.members = (bmap*)&_name##_map, \
.name = (bstring*)&be_const_str_##_name_ \
}
@@ -127,6 +142,39 @@ const bntvmodule be_native_module(_module) = { \
.init = _init \
}
+/* defines needed for solidified classes */
+#define be_local_class(_name, _nvar, _super, _map, _cname) \
+ const bclass be_##_name##_class = { \
+ be_const_header(BE_CLASS), \
+ .nvar = _nvar, \
+ .super = (bclass*)_super, \
+ .members = (bmap*)_map, \
+ .name = _cname \
+}
+
+#define be_nested_map(_size, _slots) \
+ & (const bmap) { \
+ be_const_header(BE_MAP), \
+ .slots = _slots, \
+ .lastfree = NULL, \
+ .size = _size, \
+ .count = _size \
+ }
+
+#define be_nested_string(_str, _hash, _len) \
+ { \
+ { .s=(be_nested_const_str(_str, _hash, _len )) \
+ }, \
+ BE_STRING \
+ }
+
+#define be_nested_key(_str, _hash, _len, _next) \
+ { \
+ { .s=(be_nested_const_str(_str, _hash, _len )) }, \
+ BE_STRING, \
+ (uint32_t)(_next) & 0xFFFFFF \
+ }
+
#else
#define be_const_key(_str, _next) { \
@@ -140,12 +188,22 @@ const bntvmodule be_native_module(_module) = { \
BE_FUNCTION \
}
+#define be_const_nil() { \
+ bvaldata(0), \
+ BE_NIL \
+}
+
#define be_const_int(_val) { \
bvaldata(bint(_val)), \
BE_INT \
}
-#define be_const_var(_val) { \
+#define be_const_bool(_val) { \
+ bvaldata(bbool(_val)), \
+ BE_BOOL \
+}
+
+#define be_const_index(_val) { \
bvaldata(bint(_val)), \
BE_INDEX \
}
@@ -155,6 +213,11 @@ const bntvmodule be_native_module(_module) = { \
BE_REAL \
}
+#define be_const_real_hex(_val) { \
+ bvaldata((void*)(_val)), \
+ BE_REAL \
+}
+
#define be_const_str(_string) { \
bvaldata(bstring(_string)), \
BE_STRING \
diff --git a/lib/libesp32/Berry/src/be_parser.c b/lib/libesp32/Berry/src/be_parser.c
index 744d9cecb..2c2928010 100644
--- a/lib/libesp32/Berry/src/be_parser.c
+++ b/lib/libesp32/Berry/src/be_parser.c
@@ -1235,7 +1235,24 @@ static void classvar_stmt(bparser *parser, bclass *c)
}
}
-static void classstatic_stmt(bparser *parser, bclass *c)
+static void class_static_assignment_expr(bparser *parser, bexpdesc *e, bstring *name)
+{
+ if (match_skip(parser, OptAssign)) { /* '=' */
+ bexpdesc e1, e2;
+ /* parse the right expression */
+ expr(parser, &e2);
+
+ e1 = *e; /* copy the class description */
+ bexpdesc key; /* build the member key */
+ init_exp(&key, ETSTRING, 0);
+ key.v.s = name;
+
+ be_code_member(parser->finfo, &e1, &key); /* compute member accessor */
+ be_code_setvar(parser->finfo, &e1, &e2); /* set member */
+ }
+}
+
+static void classstatic_stmt(bparser *parser, bclass *c, bexpdesc *e)
{
bstring *name;
/* 'static' ID {',' ID} */
@@ -1243,10 +1260,13 @@ static void classstatic_stmt(bparser *parser, bclass *c)
if (match_id(parser, name) != NULL) {
check_class_attr(parser, c, name);
be_member_bind(parser->vm, c, name, bfalse);
+ class_static_assignment_expr(parser, e, name);
+
while (match_skip(parser, OptComma)) { /* ',' */
if (match_id(parser, name) != NULL) {
check_class_attr(parser, c, name);
be_member_bind(parser->vm, c, name, bfalse);
+ class_static_assignment_expr(parser, e, name);
} else {
parser_error(parser, "class static error");
}
@@ -1281,13 +1301,13 @@ static void class_inherit(bparser *parser, bexpdesc *e)
}
}
-static void class_block(bparser *parser, bclass *c)
+static void class_block(bparser *parser, bclass *c, bexpdesc *e)
{
/* { [;] } */
while (block_follow(parser)) {
switch (next_type(parser)) {
case KeyVar: classvar_stmt(parser, c); break;
- case KeyStatic: classstatic_stmt(parser, c); break;
+ case KeyStatic: classstatic_stmt(parser, c, e); break;
case KeyDef: classdef_stmt(parser, c); break;
case OptSemic: scan_next_token(parser); break;
default: push_error(parser,
@@ -1307,7 +1327,7 @@ static void class_stmt(bparser *parser)
new_var(parser, name, &e);
be_code_class(parser->finfo, &e, c);
class_inherit(parser, &e);
- class_block(parser, c);
+ class_block(parser, c, &e);
be_class_compress(parser->vm, c); /* compress class size */
match_token(parser, KeyEnd); /* skip 'end' */
} else {
diff --git a/lib/libesp32/Berry/src/be_solidifylib.c b/lib/libesp32/Berry/src/be_solidifylib.c
index a6dec57ac..2a8880cdb 100644
--- a/lib/libesp32/Berry/src/be_solidifylib.c
+++ b/lib/libesp32/Berry/src/be_solidifylib.c
@@ -32,17 +32,49 @@
be_writestring(__lbuf); \
} while (0)
-/* output only valid types for ktab, or NULL */
-static const char * m_type_ktab(int type)
+static void m_solidify_bvalue(bvm *vm, bvalue * value)
{
- switch (type){
- case BE_NIL: return "BE_NIL";
- case BE_INT: return "BE_INT";
- case BE_INDEX: return "BE_INDEX";
- case BE_REAL: return "BE_REAL";
- case BE_BOOL: return "BE_BOOL";
- case BE_STRING: return "BE_STRING";
- default: return NULL;
+ int type = var_type(value);
+ switch (type) {
+ case BE_NIL:
+ logfmt("be_const_nil()");
+ break;
+ case BE_BOOL:
+ logfmt("be_const_bool(%i)", var_tobool(value));
+ break;
+ case BE_INT:
+ logfmt("be_const_int(%lli)", var_toint(value));
+ break;
+ case BE_INDEX:
+ logfmt("be_const_index(%lli)", var_toint(value));
+ break;
+ case BE_REAL:
+#if BE_USE_SINGLE_FLOAT
+ logfmt("be_const_real_hex(0x%08X)", (uint32_t) var_toobj(value));
+#else
+ logfmt("be_const_real_hex(0x%016llX)", (uint64_t) var_toobj(value));
+#endif
+ break;
+ case BE_STRING:
+ {
+ logfmt("be_nested_string(\"");
+ be_writestring(str(var_tostr(value)));
+ size_t len = strlen(str(var_tostr(value)));
+ if (len >= 255) {
+ be_raise(vm, "internal_error", "Strings greater than 255 chars not supported yet");
+ }
+ logfmt("\", %i, %zu)", be_strhash(var_tostr(value)), len >= 255 ? 255 : len);
+ }
+ break;
+ case BE_CLOSURE:
+ logfmt("be_const_closure(%s_closure)", str(((bclosure*) var_toobj(value))->proto->name));
+ break;
+ default:
+ {
+ char error[64];
+ snprintf(error, sizeof(error), "Unsupported type in function constants: %i", type);
+ be_raise(vm, "internal_error", error);
+ }
}
}
@@ -85,32 +117,9 @@ static void m_solidify_proto(bvm *vm, bproto *pr, const char * func_name, int bu
if (pr->nconst > 0) {
logfmt("%*s( &(const bvalue[%2d]) { /* constants */\n", indent, "", pr->nconst);
for (int k = 0; k < pr->nconst; k++) {
- int type = pr->ktab[k].type;
- const char *type_name = m_type_ktab(type);
- if (type_name == NULL) {
- char error[64];
- snprintf(error, sizeof(error), "Unsupported type in function constants: %i", type);
- be_raise(vm, "internal_error", error);
- }
- if (type == BE_STRING) {
- logfmt("%*s { { .s=be_nested_const_str(\"", indent, "");
- be_writestring(str(pr->ktab[k].v.s));
- size_t len = strlen(str(pr->ktab[k].v.s));
- if (len >= 255) {
- be_raise(vm, "internal_error", "Strings greater than 255 chars not supported yet");
- }
- logfmt("\", %i, %zu) }, %s},\n", be_strhash(pr->ktab[k].v.s), len >= 255 ? 255 : len, type_name);
- } else if (type == BE_INT || type == BE_INDEX) {
- logfmt("%*s { { .i=%" BE_INT_FMTLEN "i }, %s},\n", indent, "", pr->ktab[k].v.i, type_name);
- } else if (type == BE_REAL) {
- #if BE_USE_SINGLE_FLOAT
- logfmt("%*s { { .p=(void*)0x%08X }, %s},\n", indent, "", (uint32_t) pr->ktab[k].v.p, type_name);
- #else
- logfmt("%*s { { .p=(void*)0x%016llX }, %s},\n", indent, "", (uint64_t) pr->ktab[k].v.p, type_name);
- #endif
- } else if (type == BE_BOOL) {
- logfmt("%*s { { .b=%i }, %s},\n", indent, "", pr->ktab[k].v.b, type_name);
- }
+ logfmt("%*s ", indent, "");
+ m_solidify_bvalue(vm, &pr->ktab[k]);
+ logfmt(",\n");
}
logfmt("%*s}),\n", indent, "");
} else {
@@ -167,6 +176,75 @@ static void m_solidify_closure(bvm *vm, bclosure *cl, int builtins)
logfmt("/*******************************************************************/\n\n");
}
+
+static void m_solidify_class(bvm *vm, bclass *cl, int builtins)
+{
+ const char * class_name = str(cl->name);
+
+ /* iterate on members to dump closures */
+ if (cl->members) {
+ bmapnode *node;
+ bmapiter iter = be_map_iter();
+ while ((node = be_map_next(cl->members, &iter)) != NULL) {
+ if (var_isstr(&node->key) && var_isclosure(&node->value)) {
+ bclosure *f = var_toobj(&node->value);
+ m_solidify_closure(vm, f, builtins);
+ }
+ }
+ }
+
+
+ logfmt("\n");
+ logfmt("/********************************************************************\n");
+ logfmt("** Solidified class: %s\n", class_name);
+ logfmt("********************************************************************/\n");
+
+
+ logfmt("be_local_class(%s,\n", class_name);
+ logfmt(" %i,\n", cl->nvar);
+ if (cl->super) {
+ logfmt(" &be_%s_class,\n", str(cl->super->name));
+ } else {
+ logfmt(" NULL,\n");
+ }
+
+ if (cl->members) {
+ logfmt(" be_nested_map(%i,\n", cl->members->count);
+
+ logfmt(" ( (struct bmapnode*) &(const bmapnode[]) {\n");
+ for (int i = 0; i < cl->members->count; i++) {
+ bmapnode * node = &cl->members->slots[i];
+ if (node->key.type != BE_STRING) {
+ char error[64];
+ snprintf(error, sizeof(error), "Unsupported type in key: %i", node->key.type);
+ be_raise(vm, "internal_error", error);
+ }
+ int key_next = node->key.next;
+ size_t len = strlen(str(node->key.v.s));
+ if (0xFFFFFF == key_next) {
+ key_next = -1; /* more readable */
+ }
+ logfmt(" { be_nested_key(\"%s\", %i, %zu, %i), ", str(node->key.v.s), be_strhash(node->key.v.s), len >= 255 ? 255 : len, key_next);
+ m_solidify_bvalue(vm, &node->value);
+
+ logfmt(" },\n");
+ }
+ logfmt(" })),\n");
+ } else {
+ logfmt(" NULL,\n");
+ }
+
+ logfmt(" (be_nested_const_str(\"%s\", %i, %i))\n", class_name, be_strhash(cl->name), str_len(cl->name));
+ logfmt(");\n");
+ logfmt("/*******************************************************************/\n\n");
+
+ logfmt("void be_load_%s_class(bvm *vm) {\n", class_name);
+ logfmt(" be_pushntvclass(vm, &be_%s_class);\n", class_name);
+ logfmt(" be_setglobal(vm, \"%s\");\n", class_name);
+ logfmt(" be_pop(vm, 1);\n");
+ logfmt("}\n");
+}
+
#define be_builtin_count(vm) \
be_vector_count(&(vm)->gbldesc.builtin.vlist)
@@ -176,6 +254,8 @@ static int m_dump(bvm *vm)
bvalue *v = be_indexof(vm, 1);
if (var_isclosure(v)) {
m_solidify_closure(vm, var_toobj(v), be_builtin_count(vm));
+ } else if (var_isclass(v)) {
+ m_solidify_class(vm, var_toobj(v), be_builtin_count(vm));
}
}
be_return_nil(vm);
diff --git a/lib/libesp32/Berry/tools/coc/hash_map.cpp b/lib/libesp32/Berry/tools/coc/hash_map.cpp
index e05ca4677..9d917a81c 100755
--- a/lib/libesp32/Berry/tools/coc/hash_map.cpp
+++ b/lib/libesp32/Berry/tools/coc/hash_map.cpp
@@ -128,7 +128,7 @@ hash_map::entry hash_map::entry_modify(entry entry, int *var_count)
{
entry.key = coc::escape_operator(entry.key);
if (entry.value == "var") {
- entry.value = "be_const_var("
+ entry.value = "be_const_index("
+ std::to_string(*var_count) + ")";
++(*var_count);
} else {
diff --git a/lib/libesp32/Berry/tools/plugins/vscode/skiars.berry-0.1.0/syntaxes/berry.json b/lib/libesp32/Berry/tools/plugins/vscode/skiars.berry-0.1.0/syntaxes/berry.json
index 1cd1d7cfd..661d969a5 100755
--- a/lib/libesp32/Berry/tools/plugins/vscode/skiars.berry-0.1.0/syntaxes/berry.json
+++ b/lib/libesp32/Berry/tools/plugins/vscode/skiars.berry-0.1.0/syntaxes/berry.json
@@ -67,7 +67,7 @@
"keywords": {
"patterns": [{
"name": "keyword.berry",
- "match": "\\b(var|def|class|true|false|nil|self|super|import|as)\\b"
+ "match": "\\b(var|static|def|class|true|false|nil|self|super|import|as)\\b"
}]
},
"identifier": {
diff --git a/tasmota/xdrv_52_3_berry_audio.ino b/tasmota/xdrv_52_3_berry_audio.ino
new file mode 100644
index 000000000..d3e82b63a
--- /dev/null
+++ b/tasmota/xdrv_52_3_berry_audio.ino
@@ -0,0 +1,185 @@
+/*
+ xdrv_52_3_berry_audio.ino - Berry scripting language, support for I2S audio
+
+ Copyright (C) 2021 Stephan Hadinger, Berry language by Guan Wenliang https://github.com/Skiars/berry
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+
+#ifdef USE_BERRY
+
+#ifdef USE_I2S_AUDIO_BERRY
+
+// #include "AudioFileSourceSPIFFS.h"
+// #include "AudioFileSourceID3.h"
+#include "AudioOutputI2S.h"
+#include "AudioGeneratorMP3.h"
+#include "AudioFileSourceFS.h"
+
+#include
+
+
+/*********************************************************************************************\
+ * AudioOutput class
+ *
+\*********************************************************************************************/
+extern "C" {
+
+ //
+ // AudioOutputI2S(bclkPin: int, wclkPin: int, doutPin: int[, port:int, dmabuf:int, mode: int])
+ //
+ int i2s_output_i2s_init(bvm *vm) {
+ int argc = be_top(vm);
+ if (argc > 3) {
+ int bclkPin = be_toint(vm, 2);
+ int wclkPin = be_toint(vm, 3);
+ int doutPin = be_toint(vm, 4);
+ int port = 0;
+ if (argc > 4) {
+ port = be_toint(vm, 5);
+ }
+ int dma_buf_count = 8; // number of dma buffers of 64 bytes
+ if (argc > 5) {
+ dma_buf_count = be_toint(vm, 6);
+ }
+ int mode = 0; // EXTERNAL_I2S
+ if (argc > 6) {
+ mode = be_toint(vm, 7);
+ }
+ // AudioOutputI2S(int port=0, int output_mode=EXTERNAL_I2S, int dma_buf_count = 8, int use_apll=APLL_DISABLE);
+ AudioOutputI2S * audio = new AudioOutputI2S(port, mode, dma_buf_count);
+ audio->SetPinout(bclkPin, wclkPin, doutPin); // return value has no useful information for us
+ be_pushcomptr(vm, (void*) audio);
+ be_setmember(vm, 1, ".p");
+ be_return_nil(vm);
+ }
+
+ be_raise(vm, kTypeError, nullptr);
+ }
+
+ int i2s_output_i2s_deinit(bvm *vm) {
+ int argc = be_top(vm);
+ be_getmember(vm, 1, ".p");
+ AudioOutputI2S * audio = (AudioOutputI2S *) be_tocomptr(vm, -1);
+ if (audio) {
+ delete audio;
+ // clear
+ be_pushcomptr(vm, (void*) NULL);
+ be_setmember(vm, 1, ".p");
+ }
+
+ be_return_nil(vm);
+ }
+
+ //
+ // AudioGeneratorMP3()
+ //
+ int i2s_generator_mp3_init(bvm *vm) {
+ AudioGeneratorMP3 * mp3 = new AudioGeneratorMP3();
+ be_pushcomptr(vm, (void*) mp3);
+ be_setmember(vm, 1, ".p");
+ be_return_nil(vm);
+ }
+
+ AudioGeneratorMP3 * i2s_generator_mp3_get(bvm *vm) {
+ be_getmember(vm, 1, ".p");
+ AudioGeneratorMP3 * mp3 = (AudioGeneratorMP3 *) be_tocomptr(vm, -1);
+ return mp3;
+ }
+
+ int i2s_generator_mp3_deinit(bvm *vm) {
+ int argc = be_top(vm);
+ AudioGeneratorMP3 * mp3 = i2s_generator_mp3_get(vm);
+ if (mp3) {
+ delete mp3;
+ // clear
+ be_pushcomptr(vm, (void*) NULL);
+ be_setmember(vm, 1, ".p");
+ }
+
+ be_return_nil(vm);
+ }
+
+ int i2s_generator_mp3_begin(bvm *vm) {
+ int argc = be_top(vm);
+ if (argc > 2) {
+ AudioGeneratorMP3 * mp3 = i2s_generator_mp3_get(vm);
+ be_getmember(vm, 2, ".p");
+ AudioFileSource * source = (AudioFileSource*) be_tocomptr(vm, -1);
+ be_getmember(vm, 3, ".p");
+ AudioOutput * output = (AudioOutput*) be_tocomptr(vm, -1);
+ be_pop(vm, 2);
+
+ bool ret = mp3->begin(source, output);
+ be_pushbool(vm, ret);
+ be_return(vm);
+ }
+ be_return_nil(vm);
+ }
+
+ int i2s_generator_mp3_loop(bvm *vm) {
+ AudioGeneratorMP3 * mp3 = i2s_generator_mp3_get(vm);
+ bool ret = mp3->loop();
+ be_pushbool(vm, ret);
+ be_return(vm);
+ }
+
+ int i2s_generator_mp3_stop(bvm *vm) {
+ AudioGeneratorMP3 * mp3 = i2s_generator_mp3_get(vm);
+ bool ret = mp3->stop();
+ be_pushbool(vm, ret);
+ be_return(vm);
+ }
+
+ int i2s_generator_mp3_isrunning(bvm *vm) {
+ AudioGeneratorMP3 * mp3 = i2s_generator_mp3_get(vm);
+ bool ret = mp3->isRunning();
+ be_pushbool(vm, ret);
+ be_return(vm);
+ }
+
+ // File Source FS
+ //
+#ifdef USE_UFILESYS
+ int i2s_file_source_fs_init(bvm *vm) {
+ int argc = be_top(vm);
+ if (argc > 1 && be_isstring(vm, 2)) {
+ const char * file_name = be_tostring(vm, 2);
+ AudioFileSourceFS * file_source = new AudioFileSourceFS(*ufsp, file_name);
+ be_pushcomptr(vm, (void*) file_source);
+ be_setmember(vm, 1, ".p");
+ be_return_nil(vm);
+ }
+ be_raise(vm, kTypeError, nullptr);
+ }
+
+ int i2s_file_source_fs_deinit(bvm *vm) {
+ int argc = be_top(vm);
+ be_getmember(vm, 1, ".p");
+ AudioFileSourceFS * file_source = (AudioFileSourceFS *) be_tocomptr(vm, -1);
+ if (file_source) {
+ delete file_source;
+ // clear
+ be_pushcomptr(vm, (void*) NULL);
+ be_setmember(vm, 1, ".p");
+ }
+
+ be_return_nil(vm);
+ }
+#endif // USE_UFILESYS
+}
+
+#endif // USE_I2S_AUDIO_BERRY
+#endif // USE_BERRY