From 5cffd58c168bd684e9187f966047281663177dbb Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Fri, 28 May 2021 22:37:06 +0200 Subject: [PATCH] Berry add module `webserver` --- lib/libesp32/Berry/default/be_modtab.c | 4 + lib/libesp32/Berry/default/be_tasmotalib.c | 276 ++- lib/libesp32/Berry/default/be_webserver_lib.c | 83 + .../Berry/default/embedded/Tasmota.be | 25 + lib/libesp32/Berry/generate/be_const_strtab.h | 1137 +++++------ .../Berry/generate/be_const_strtab_def.h | 1670 +++++++++-------- .../generate/be_fixed_be_class_tasmota.h | 104 +- .../Berry/generate/be_fixed_webserver.h | 33 + tasmota/xdrv_52_2_berry_native.ino | 127 ++ tasmota/xdrv_52_3_berry_energy.ino | 3 +- tasmota/xdrv_52_3_berry_lvgl.ino | 27 - tasmota/xdrv_52_3_berry_tasmota.ino | 20 + tasmota/xdrv_52_3_berry_webserver.ino | 207 ++ tasmota/xdrv_52_9_berry.ino | 2 +- 14 files changed, 2167 insertions(+), 1551 deletions(-) create mode 100644 lib/libesp32/Berry/default/be_webserver_lib.c create mode 100644 lib/libesp32/Berry/generate/be_fixed_webserver.h create mode 100644 tasmota/xdrv_52_3_berry_webserver.ino diff --git a/lib/libesp32/Berry/default/be_modtab.c b/lib/libesp32/Berry/default/be_modtab.c index e4d584a9c..e79d3c9cb 100644 --- a/lib/libesp32/Berry/default/be_modtab.c +++ b/lib/libesp32/Berry/default/be_modtab.c @@ -25,6 +25,7 @@ be_extern_native_module(solidify); be_extern_native_module(light); be_extern_native_module(gpio); be_extern_native_module(energy); +be_extern_native_module(webserver); #ifdef USE_LVGL be_extern_native_module(lvgl); #endif // USE_LVGL @@ -79,6 +80,9 @@ BERRY_LOCAL const bntvmodule* const be_module_table[] = { #ifdef USE_ENERGY_SENSOR &be_native_module(energy), #endif // USE_ENERGY_SENSOR +#ifdef USE_WEBSERVER + &be_native_module(webserver), +#endif // USE_WEBSERVER /* user-defined modules register end */ diff --git a/lib/libesp32/Berry/default/be_tasmotalib.c b/lib/libesp32/Berry/default/be_tasmotalib.c index f6641f942..e116f17f1 100644 --- a/lib/libesp32/Berry/default/be_tasmotalib.c +++ b/lib/libesp32/Berry/default/be_tasmotalib.c @@ -8,6 +8,7 @@ extern int l_getFreeHeap(bvm *vm); extern int l_publish(bvm *vm); extern int l_cmd(bvm *vm); +extern int l_get_cb(bvm *vm); extern int l_getoption(bvm *vm); extern int l_millis(bvm *vm); extern int l_timereached(bvm *vm); @@ -1452,41 +1453,6 @@ be_define_local_closure(gc); /*******************************************************************/ -/******************************************************************** - // - // Event from Tasmota is: - // 1. event:string -- type of event (cmd, rule, ...) - // 2. cmd:string -- name of the command to process - // 3. index:int -- index number - // 4. payload:string -- payload as text, analyzed as json - // - def event(type, cmd, idx, payload) - 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 return d.every_second() - elif type=='every_100ms' && d.every_100ms return d.every_100ms() - elif type=='web_add_button' && d.web_add_button return d.web_add_button() - elif type=='web_add_main_button' && d.web_add_main_button return d.web_add_main_button() - elif type=='save_before_restart' && d.save_before_restart return d.save_before_restart() - elif type=='web_sensor' && d.web_sensor return d.web_sensor() - elif type=='json_append' && d.json_append return d.json_append() - elif type=='button_pressed' && d.button_pressed return d.button_pressed() - elif type=='display' && d.display return d.display() - end - except .. as e,m - import string - self.log(string.format('BRY: exception %s - %m',3)) - end - end - end - end -********************************************************************/ /******************************************************************** ** Solidified function: event ********************************************************************/ @@ -1511,14 +1477,15 @@ be_define_local_const_str(event_str_13, "save_before_restart", 1253239338, 19); be_define_local_const_str(event_str_14, "web_sensor", -1394870324, 10); be_define_local_const_str(event_str_15, "json_append", -1292948012, 11); be_define_local_const_str(event_str_16, "button_pressed", 1694209616, 14); -be_define_local_const_str(event_str_17, "display", 1164572437, 7); -be_define_local_const_str(event_str_18, "string", 398550328, 6); -be_define_local_const_str(event_str_19, "log", 1062293841, 3); -be_define_local_const_str(event_str_20, "format", -1180859054, 6); -be_define_local_const_str(event_str_21, "BRY: exception %s - %m", -1290966132, 22); -be_define_local_const_str(event_str_23, "stop_iteration", -121173395, 14); +be_define_local_const_str(event_str_17, "web_add_handler", -304792334, 15); +be_define_local_const_str(event_str_18, "display", 1164572437, 7); +be_define_local_const_str(event_str_19, "string", 398550328, 6); +be_define_local_const_str(event_str_20, "log", 1062293841, 3); +be_define_local_const_str(event_str_21, "format", -1180859054, 6); +be_define_local_const_str(event_str_22, "BRY: exception %s - %m", -1290966132, 22); +be_define_local_const_str(event_str_24, "stop_iteration", -121173395, 14); -static const bvalue event_ktab[24] = { +static const bvalue event_ktab[25] = { { { .s=be_local_const_str(event_str_0) }, BE_STRING}, { { .s=be_local_const_str(event_str_1) }, BE_STRING}, { { .s=be_local_const_str(event_str_2) }, BE_STRING}, @@ -1541,11 +1508,12 @@ static const bvalue event_ktab[24] = { { { .s=be_local_const_str(event_str_19) }, BE_STRING}, { { .s=be_local_const_str(event_str_20) }, BE_STRING}, { { .s=be_local_const_str(event_str_21) }, BE_STRING}, + { { .s=be_local_const_str(event_str_22) }, BE_STRING}, { { .i=3 }, BE_INT}, - { { .s=be_local_const_str(event_str_23) }, BE_STRING}, + { { .s=be_local_const_str(event_str_24) }, BE_STRING}, }; -static const uint32_t event_code[140] = { +static const uint32_t event_code[149] = { 0x1C140300, // 0000 EQ R5 R1 R256 0x78160006, // 0001 JMPF R5 #0009 0x8C140101, // 0002 GETMET R5 R0 R257 @@ -1554,40 +1522,40 @@ static const uint32_t event_code[140] = { 0x5C240800, // 0005 MOVE R9 R4 0x7C140800, // 0006 CALL R5 4 0x80040A00, // 0007 RET 1 R5 - 0x70020081, // 0008 JMP #008B + 0x7002008A, // 0008 JMP #0094 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 - 0x7002007A, // 000F JMP #008B + 0x70020083, // 000F JMP #0094 0x1C140304, // 0010 EQ R5 R1 R260 0x78160002, // 0011 JMPF R5 #0015 0x4C140000, // 0012 LDNIL 5 0x80040A00, // 0013 RET 1 R5 - 0x70020075, // 0014 JMP #008B + 0x7002007E, // 0014 JMP #0094 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 - 0x7002006F, // 001A JMP #008B + 0x70020078, // 001A JMP #0094 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 - 0x70020069, // 0020 JMP #008B + 0x70020072, // 0020 JMP #0094 0x88140108, // 0021 GETMBR R5 R0 R264 - 0x78160067, // 0022 JMPF R5 #008B + 0x78160070, // 0022 JMPF R5 #0094 0x60140000, // 0023 GETGBL R5 G0 0x88180108, // 0024 GETMBR R6 R0 R264 0x7C140200, // 0025 CALL R5 1 - 0xA8020060, // 0026 EXBLK 0 #0088 + 0xA8020069, // 0026 EXBLK 0 #0091 0x5C180A00, // 0027 MOVE R6 R5 0x7C180000, // 0028 CALL R6 0 - 0xA8020051, // 0029 EXBLK 0 #007C + 0xA802005A, // 0029 EXBLK 0 #0085 0x1C1C0309, // 002A EQ R7 R1 R265 0x781E0006, // 002B JMPF R7 #0033 0x881C0D09, // 002C GETMBR R7 R6 R265 @@ -1596,7 +1564,7 @@ static const uint32_t event_code[140] = { 0x7C1C0200, // 002F CALL R7 1 0xA8040002, // 0030 EXBLK 1 2 0x80040E00, // 0031 RET 1 R7 - 0x70020046, // 0032 JMP #007A + 0x7002004F, // 0032 JMP #0083 0x1C1C030A, // 0033 EQ R7 R1 R266 0x781E0006, // 0034 JMPF R7 #003C 0x881C0D0A, // 0035 GETMBR R7 R6 R266 @@ -1605,7 +1573,7 @@ static const uint32_t event_code[140] = { 0x7C1C0200, // 0038 CALL R7 1 0xA8040002, // 0039 EXBLK 1 2 0x80040E00, // 003A RET 1 R7 - 0x7002003D, // 003B JMP #007A + 0x70020046, // 003B JMP #0083 0x1C1C030B, // 003C EQ R7 R1 R267 0x781E0006, // 003D JMPF R7 #0045 0x881C0D0B, // 003E GETMBR R7 R6 R267 @@ -1614,7 +1582,7 @@ static const uint32_t event_code[140] = { 0x7C1C0200, // 0041 CALL R7 1 0xA8040002, // 0042 EXBLK 1 2 0x80040E00, // 0043 RET 1 R7 - 0x70020034, // 0044 JMP #007A + 0x7002003D, // 0044 JMP #0083 0x1C1C030C, // 0045 EQ R7 R1 R268 0x781E0006, // 0046 JMPF R7 #004E 0x881C0D0C, // 0047 GETMBR R7 R6 R268 @@ -1623,7 +1591,7 @@ static const uint32_t event_code[140] = { 0x7C1C0200, // 004A CALL R7 1 0xA8040002, // 004B EXBLK 1 2 0x80040E00, // 004C RET 1 R7 - 0x7002002B, // 004D JMP #007A + 0x70020034, // 004D JMP #0083 0x1C1C030D, // 004E EQ R7 R1 R269 0x781E0006, // 004F JMPF R7 #0057 0x881C0D0D, // 0050 GETMBR R7 R6 R269 @@ -1632,7 +1600,7 @@ static const uint32_t event_code[140] = { 0x7C1C0200, // 0053 CALL R7 1 0xA8040002, // 0054 EXBLK 1 2 0x80040E00, // 0055 RET 1 R7 - 0x70020022, // 0056 JMP #007A + 0x7002002B, // 0056 JMP #0083 0x1C1C030E, // 0057 EQ R7 R1 R270 0x781E0006, // 0058 JMPF R7 #0060 0x881C0D0E, // 0059 GETMBR R7 R6 R270 @@ -1641,7 +1609,7 @@ static const uint32_t event_code[140] = { 0x7C1C0200, // 005C CALL R7 1 0xA8040002, // 005D EXBLK 1 2 0x80040E00, // 005E RET 1 R7 - 0x70020019, // 005F JMP #007A + 0x70020022, // 005F JMP #0083 0x1C1C030F, // 0060 EQ R7 R1 R271 0x781E0006, // 0061 JMPF R7 #0069 0x881C0D0F, // 0062 GETMBR R7 R6 R271 @@ -1650,7 +1618,7 @@ static const uint32_t event_code[140] = { 0x7C1C0200, // 0065 CALL R7 1 0xA8040002, // 0066 EXBLK 1 2 0x80040E00, // 0067 RET 1 R7 - 0x70020010, // 0068 JMP #007A + 0x70020019, // 0068 JMP #0083 0x1C1C0310, // 0069 EQ R7 R1 R272 0x781E0006, // 006A JMPF R7 #0072 0x881C0D10, // 006B GETMBR R7 R6 R272 @@ -1659,33 +1627,42 @@ static const uint32_t event_code[140] = { 0x7C1C0200, // 006E CALL R7 1 0xA8040002, // 006F EXBLK 1 2 0x80040E00, // 0070 RET 1 R7 - 0x70020007, // 0071 JMP #007A + 0x70020010, // 0071 JMP #0083 0x1C1C0311, // 0072 EQ R7 R1 R273 - 0x781E0005, // 0073 JMPF R7 #007A - 0x881C0D11, // 0074 GETMBR R7 R6 R273 - 0x781E0003, // 0075 JMPF R7 #007A - 0x8C1C0D11, // 0076 GETMET R7 R6 R273 + 0x781E0006, // 0073 JMPF R7 #007B + 0x881C0D12, // 0074 GETMBR R7 R6 R274 + 0x781E0004, // 0075 JMPF R7 #007B + 0x8C1C0D12, // 0076 GETMET R7 R6 R274 0x7C1C0200, // 0077 CALL R7 1 0xA8040002, // 0078 EXBLK 1 2 0x80040E00, // 0079 RET 1 R7 - 0xA8040001, // 007A EXBLK 1 1 - 0x7002000A, // 007B JMP #0087 - 0xAC1C0002, // 007C CATCH R7 0 2 - 0x70020007, // 007D JMP #0086 - 0xA4262400, // 007E IMPORT R9 R274 - 0x8C280113, // 007F GETMET R10 R0 R275 - 0x8C301314, // 0080 GETMET R12 R9 R276 - 0x58380015, // 0081 LDCONST R14 K21 - 0x583C0016, // 0082 LDCONST R15 K22 - 0x7C300600, // 0083 CALL R12 3 - 0x7C280400, // 0084 CALL R10 2 - 0x70020000, // 0085 JMP #0087 - 0xB0080000, // 0086 RAISE 2 R0 R0 - 0x7001FF9E, // 0087 JMP #0027 - 0x58140017, // 0088 LDCONST R5 K23 - 0xAC140200, // 0089 CATCH R5 1 0 - 0xB0080000, // 008A RAISE 2 R0 R0 - 0x80000000, // 008B RET 0 R0 + 0x70020007, // 007A JMP #0083 + 0x1C1C0312, // 007B EQ R7 R1 R274 + 0x781E0005, // 007C JMPF R7 #0083 + 0x881C0D12, // 007D GETMBR R7 R6 R274 + 0x781E0003, // 007E JMPF R7 #0083 + 0x8C1C0D12, // 007F GETMET R7 R6 R274 + 0x7C1C0200, // 0080 CALL R7 1 + 0xA8040002, // 0081 EXBLK 1 2 + 0x80040E00, // 0082 RET 1 R7 + 0xA8040001, // 0083 EXBLK 1 1 + 0x7002000A, // 0084 JMP #0090 + 0xAC1C0002, // 0085 CATCH R7 0 2 + 0x70020007, // 0086 JMP #008F + 0xA4262600, // 0087 IMPORT R9 R275 + 0x8C280114, // 0088 GETMET R10 R0 R276 + 0x8C301315, // 0089 GETMET R12 R9 R277 + 0x58380016, // 008A LDCONST R14 K22 + 0x583C0017, // 008B LDCONST R15 K23 + 0x7C300600, // 008C CALL R12 3 + 0x7C280400, // 008D CALL R10 2 + 0x70020000, // 008E JMP #0090 + 0xB0080000, // 008F RAISE 2 R0 R0 + 0x7001FF95, // 0090 JMP #0027 + 0x58140018, // 0091 LDCONST R5 K24 + 0xAC140200, // 0092 CATCH R5 1 0 + 0xB0080000, // 0093 RAISE 2 R0 R0 + 0x80000000, // 0094 RET 0 R0 }; be_define_local_proto(event, 16, 5, 1, 0, 0); @@ -1693,18 +1670,6 @@ be_define_local_closure(event); /*******************************************************************/ -/******************************************************************** - // - // add driver to the queue of event dispatching - // - "def add_driver(d) " - "if self._drivers " - "self._drivers.push(d) " - "else " - "self._drivers = [d]" - "end " - "end " -********************************************************************/ /******************************************************************** ** Solidified function: add_driver ********************************************************************/ @@ -2398,6 +2363,118 @@ static const bclosure set_light_closure = { /*******************************************************************/ + +/******************************************************************** +** Solidified function: cb_dispatch +********************************************************************/ + +/********** Solidified proto: cb_dispatch */ +be_define_local_const_str(cb_dispatch_str_name, "cb_dispatch", 1741510499, 11); +be_define_local_const_str(cb_dispatch_str_source, "input", -103256197, 5); +be_define_local_const_str(cb_dispatch_str_0, "_cb", -251666929, 3); +be_define_local_const_str(cb_dispatch_str_2, "find", -1108310694, 4); + +static const bvalue cb_dispatch_ktab[3] = { + { { .s=be_local_const_str(cb_dispatch_str_0) }, BE_STRING}, + { { .i=0 }, BE_INT}, + { { .s=be_local_const_str(cb_dispatch_str_2) }, BE_STRING}, +}; + +static const uint32_t cb_dispatch_code[20] = { + 0x88180100, // 0000 GETMBR R6 R0 R256 + 0x4C1C0000, // 0001 LDNIL 7 + 0x1C180C07, // 0002 EQ R6 R6 R7 + 0x781A0000, // 0003 JMPF R6 #0005 + 0x80060200, // 0004 RET 1 R257 + 0x88180100, // 0005 GETMBR R6 R0 R256 + 0x8C180D02, // 0006 GETMET R6 R6 R258 + 0x5C200200, // 0007 MOVE R8 R1 + 0x7C180400, // 0008 CALL R6 2 + 0x4C1C0000, // 0009 LDNIL 7 + 0x201C0C07, // 000A NE R7 R6 R7 + 0x781E0006, // 000B JMPF R7 #0013 + 0x5C1C0C00, // 000C MOVE R7 R6 + 0x5C200400, // 000D MOVE R8 R2 + 0x5C240600, // 000E MOVE R9 R3 + 0x5C280800, // 000F MOVE R10 R4 + 0x5C2C0A00, // 0010 MOVE R11 R5 + 0x7C1C0800, // 0011 CALL R7 4 + 0x80040E00, // 0012 RET 1 R7 + 0x80060200, // 0013 RET 1 R257 +}; + +be_define_local_proto(cb_dispatch, 12, 6, 1, 0, 0); +be_define_local_closure(cb_dispatch); + +/*******************************************************************/ + +/******************************************************************** +** Solidified function: gen_cb +********************************************************************/ + +/********** Solidified proto: gen_cb */ +be_define_local_const_str(gen_cb_str_name, "gen_cb", -1049739745, 6); +be_define_local_const_str(gen_cb_str_source, "input", -103256197, 5); +be_define_local_const_str(gen_cb_str_0, "_cb", -251666929, 3); +be_define_local_const_str(gen_cb_str_2, "find", -1108310694, 4); +be_define_local_const_str(gen_cb_str_3, "_get_cb", 1448849122, 7); +be_define_local_const_str(gen_cb_str_4, "stop_iteration", -121173395, 14); +be_define_local_const_str(gen_cb_str_5, "internal_error", -1775809127, 14); +be_define_local_const_str(gen_cb_str_6, "No callback available", 633786138, 21); + +static const bvalue gen_cb_ktab[7] = { + { { .s=be_local_const_str(gen_cb_str_0) }, BE_STRING}, + { { .i=0 }, BE_INT}, + { { .s=be_local_const_str(gen_cb_str_2) }, BE_STRING}, + { { .s=be_local_const_str(gen_cb_str_3) }, BE_STRING}, + { { .s=be_local_const_str(gen_cb_str_4) }, BE_STRING}, + { { .s=be_local_const_str(gen_cb_str_5) }, BE_STRING}, + { { .s=be_local_const_str(gen_cb_str_6) }, BE_STRING}, +}; + +static const uint32_t gen_cb_code[34] = { + 0x88080100, // 0000 GETMBR R2 R0 R256 + 0x4C0C0000, // 0001 LDNIL 3 + 0x1C080403, // 0002 EQ R2 R2 R3 + 0x780A0002, // 0003 JMPF R2 #0007 + 0x6008000B, // 0004 GETGBL R2 G11 + 0x7C080000, // 0005 CALL R2 0 + 0x90020002, // 0006 SETMBR R0 R256 R2 + 0x60080000, // 0007 GETGBL R2 G0 + 0x540E0012, // 0008 LDINT R3 19 + 0x400E0203, // 0009 CONNECT R3 R257 R3 + 0x7C080200, // 000A CALL R2 1 + 0xA8020010, // 000B EXBLK 0 #001D + 0x5C0C0400, // 000C MOVE R3 R2 + 0x7C0C0000, // 000D CALL R3 0 + 0x88100100, // 000E GETMBR R4 R0 R256 + 0x8C100902, // 000F GETMET R4 R4 R258 + 0x5C180600, // 0010 MOVE R6 R3 + 0x7C100400, // 0011 CALL R4 2 + 0x4C140000, // 0012 LDNIL 5 + 0x1C100805, // 0013 EQ R4 R4 R5 + 0x78120006, // 0014 JMPF R4 #001C + 0x88100100, // 0015 GETMBR R4 R0 R256 + 0x98100601, // 0016 SETIDX R4 R3 R1 + 0x8C100103, // 0017 GETMET R4 R0 R259 + 0x5C180600, // 0018 MOVE R6 R3 + 0x7C100400, // 0019 CALL R4 2 + 0xA8040001, // 001A EXBLK 1 1 + 0x80040800, // 001B RET 1 R4 + 0x7001FFEE, // 001C JMP #000C + 0x58080004, // 001D LDCONST R2 K4 + 0xAC080200, // 001E CATCH R2 1 0 + 0xB0080000, // 001F RAISE 2 R0 R0 + 0xB0060B06, // 0020 RAISE 1 R261 R262 + 0x80000000, // 0021 RET 0 R0 +}; + +be_define_local_proto(gen_cb, 7, 2, 1, 0, 0); +be_define_local_closure(gen_cb); + +/*******************************************************************/ + + #if BE_USE_PRECOMPILED_OBJECT #include "../generate/be_fixed_be_class_tasmota.h" #endif @@ -2412,11 +2489,13 @@ void be_load_tasmota_ntvlib(bvm *vm) { "_timers", NULL }, { "_ccmd", NULL }, { "_drivers", NULL }, + { "_cb", NULL}, { "wire1", NULL }, { "wire2", NULL }, { "get_free_heap", l_getFreeHeap }, { "publish", l_publish }, { "_cmd", l_cmd }, + { "_get_cb", l_get_cb }, { "get_option", l_getoption }, { "millis", l_millis }, { "time_reached", l_timereached }, @@ -2465,6 +2544,10 @@ void be_load_tasmota_ntvlib(bvm *vm) { "wire_scan", (bntvfunc) &wire_scan_closure }, { "time_str", (bntvfunc) &time_str_closure }, + // callbacks + { "cb_dispatch", (bntvfunc) &cb_dispatch_closure }, + { "gen_cb", (bntvfunc) &gen_cb_closure }, + // deprecated { "get_light", (bntvfunc) &get_light_closure }, { "set_light", (bntvfunc) &set_light_closure }, @@ -2485,12 +2568,14 @@ class be_class_tasmota (scope: global, name: Tasmota) { _timers, var _ccmd, var _drivers, var + _cb, var wire1, var wire2, var get_free_heap, func(l_getFreeHeap) publish, func(l_publish) _cmd, func(l_cmd) + _get_cb, func(l_get_cb) get_option, func(l_getoption) millis, func(l_millis) time_reached, func(l_timereached) @@ -2538,6 +2623,9 @@ class be_class_tasmota (scope: global, name: Tasmota) { wire_scan, closure(wire_scan_closure) time_str, closure(time_str_closure) + cb_dispatch, closure(cb_dispatch_closure) + gen_cb, closure(gen_cb_closure) + get_light, closure(get_light_closure) set_light, closure(set_light_closure) } diff --git a/lib/libesp32/Berry/default/be_webserver_lib.c b/lib/libesp32/Berry/default/be_webserver_lib.c new file mode 100644 index 000000000..4eecd8dfe --- /dev/null +++ b/lib/libesp32/Berry/default/be_webserver_lib.c @@ -0,0 +1,83 @@ +/******************************************************************** + * Berry module `webserver` + * + * To use: `import webserver` + * + * Allows to respond to HTTP request + *******************************************************************/ +#include "be_constobj.h" + +#ifdef USE_WEBSERVER + +extern int w_webserver_on(bvm *vm); +extern int w_webserver_state(bvm *vm); + +extern int w_webserver_check_privileged_access(bvm *vm); +extern int w_webserver_content_start(bvm *vm); +extern int w_webserver_content_send(bvm *vm); +extern int w_webserver_content_send_style(bvm *vm); +extern int w_webserver_content_flush(bvm *vm); +extern int w_webserver_content_stop(bvm *vm); +extern int w_webserver_content_button(bvm *vm); + +extern int w_webserver_args(bvm *vm); +extern int w_webserver_arg(bvm *vm); +extern int w_webserver_has_arg(bvm *vm); + +#if !BE_USE_PRECOMPILED_OBJECT +be_native_module_attr_table(webserver) { + be_native_module_int("HTTP_OFF", 0), + be_native_module_int("HTTP_USER", 1), + be_native_module_int("HTTP_ADMIN", 2), + be_native_module_int("HTTP_MANAGER", 3), + be_native_module_int("HTTP_MANAGER_RESET_ONLY", 4), + + be_native_module_function("on", w_webserver_on), + be_native_module_function("state", w_webserver_state), + + be_native_module_function("check_privileged_access", w_webserver_check_privileged_access), + be_native_module_function("content_start", w_webserver_content_start), + be_native_module_function("content_send", w_webserver_content_send), + be_native_module_function("content_send_style", w_webserver_content_send_style), + be_native_module_function("content_flush", w_webserver_content_flush), + be_native_module_function("content_start", w_webserver_content_start), + be_native_module_function("content_stop", w_webserver_content_stop), + be_native_module_function("content_button", w_webserver_content_button), + + be_native_module_function("args", w_webserver_args), + be_native_module_function("arg", w_webserver_arg), + be_native_module_function("has_arg", w_webserver_has_arg), + +}; + +be_define_native_module(webserver, NULL); +#else +/* @const_object_info_begin +module webserver (scope: global) { + HTTP_OFF, int(0) + HTTP_USER, int(1) + HTTP_ADMIN, int(2) + HTTP_MANAGER, int(3) + HTTP_MANAGER_RESET_ONLY, int(4) + + on, func(w_webserver_on) + state, func(w_webserver_state) + + check_privileged_access, func(w_webserver_check_privileged_access) + content_start, func(w_webserver_content_start) + content_send, func(w_webserver_content_send) + content_send_style, func(w_webserver_content_send_style) + content_flush, func(w_webserver_content_flush) + content_start, func(w_webserver_content_start) + content_stop, func(w_webserver_content_stop) + content_button, func(w_webserver_content_button) + + args, func(w_webserver_args) + arg, func(w_webserver_arg) + has_arg, func(w_webserver_has_arg) +} +@const_object_info_end */ +#include "../generate/be_fixed_webserver.h" +#endif + +#endif // USE_WEBSERVER diff --git a/lib/libesp32/Berry/default/embedded/Tasmota.be b/lib/libesp32/Berry/default/embedded/Tasmota.be index 72db6a9a9..43396ec29 100644 --- a/lib/libesp32/Berry/default/embedded/Tasmota.be +++ b/lib/libesp32/Berry/default/embedded/Tasmota.be @@ -19,6 +19,7 @@ class Tasmota elif type=='web_sensor' && d.web_sensor return d.web_sensor() elif type=='json_append' && d.json_append return d.json_append() elif type=='button_pressed' && d.button_pressed return d.button_pressed() + elif type=='web_add_handler' && d.display return d.display() elif type=='display' && d.display return d.display() end except .. as e,m @@ -28,4 +29,28 @@ class Tasmota end end end + + #- dispatch callback number n, with parameters v0,v1,v2,v3 -# + def cb_dispatch(n,v0,v1,v2,v3) + if self._cb == nil return 0 end + var f = self._cb.find(n) + if f != nil + return f(v0,v1,v2,v3) + end + return 0 + end + + #- generate a new C callback and record the associated Berry closure -# + def gen_cb(f) + if self._cb == nil self._cb = {} end # create map if not already initialized + for i:0..19 + if self._cb.find(i) == nil + #- free slot -# + self._cb[i] = f + return self._get_cb(i) + end + end + raise "internal_error", "No callback available" + end + end diff --git a/lib/libesp32/Berry/generate/be_const_strtab.h b/lib/libesp32/Berry/generate/be_const_strtab.h index e00ea6b73..e7cbb8de3 100644 --- a/lib/libesp32/Berry/generate/be_const_strtab.h +++ b/lib/libesp32/Berry/generate/be_const_strtab.h @@ -1,566 +1,587 @@ -extern const bcstring be_const_str_CNTR1_NP; -extern const bcstring be_const_str_digital_read; -extern const bcstring be_const_str_MP3_DFR562; -extern const bcstring be_const_str_get_option; -extern const bcstring be_const_str_screenshot; -extern const bcstring be_const_str_ADC_PH; -extern const bcstring be_const_str_PMS5003_RX; -extern const bcstring be_const_str_SYMBOL_BATTERY_2; -extern const bcstring be_const_str_raise; -extern const bcstring be_const_str_ROT1A; -extern const bcstring be_const_str_reverse; -extern const bcstring be_const_str_HPMA_RX; -extern const bcstring be_const_str_SYMBOL_LIST; -extern const bcstring be_const_str_asin; -extern const bcstring be_const_str_OLED_RESET; -extern const bcstring be_const_str_exec_cmd; -extern const bcstring be_const_str_DDS2382_TX; -extern const bcstring be_const_str_ROT1B_NP; -extern const bcstring be_const_str_SR04_ECHO; -extern const bcstring be_const_str_scan; -extern const bcstring be_const_str_toupper; -extern const bcstring be_const_str_ILI9488_CS; -extern const bcstring be_const_str_MCP39F5_RX; -extern const bcstring be_const_str_SDS0X1_RX; -extern const bcstring be_const_str_SYMBOL_DIRECTORY; -extern const bcstring be_const_str_opt_call; -extern const bcstring be_const_str_ST7789_CS; -extern const bcstring be_const_str_SYMBOL_CHARGE; -extern const bcstring be_const_str_BUZZER; -extern const bcstring be_const_str_SSPI_CS; -extern const bcstring be_const_str_NRG_SEL; -extern const bcstring be_const_str_type; -extern const bcstring be_const_str_FTC532; -extern const bcstring be_const_str_GPS_RX; -extern const bcstring be_const_str_Driver; -extern const bcstring be_const_str_MAX31855CLK; -extern const bcstring be_const_str_add_cmd; -extern const bcstring be_const_str_lv_color; -extern const bcstring be_const_str_ADC_TEMP; -extern const bcstring be_const_str_OPTION_A; -extern const bcstring be_const_str_WEBCAM_RESET; -extern const bcstring be_const_str_lv_list; -extern const bcstring be_const_str_ST7789_DC; -extern const bcstring be_const_str_log; -extern const bcstring be_const_str_SYMBOL_DOWN; -extern const bcstring be_const_str_MAX7219CS; -extern const bcstring be_const_str_SYMBOL_PLAY; -extern const bcstring be_const_str_SYMBOL_HOME; -extern const bcstring be_const_str_lv_keyboard; -extern const bcstring be_const_str_SYMBOL_EDIT; -extern const bcstring be_const_str_lv_label; -extern const bcstring be_const_str_name; -extern const bcstring be_const_str_scale_uint; -extern const bcstring be_const_str_ADC_RANGE; -extern const bcstring be_const_str_KEY1; -extern const bcstring be_const_str_WE517_RX; -extern const bcstring be_const_str_FALLING; -extern const bcstring be_const_str_OUTPUT_LO; -extern const bcstring be_const_str_PZEM0XX_TX; -extern const bcstring be_const_str_SSPI_DC; -extern const bcstring be_const_str_SYMBOL_USB; -extern const bcstring be_const_str_insert; -extern const bcstring be_const_str_SAIR_RX; -extern const bcstring be_const_str_SYMBOL_CUT; -extern const bcstring be_const_str_lower; -extern const bcstring be_const_str_RFSEND; -extern const bcstring be_const_str_RA8876_CS; -extern const bcstring be_const_str_size; -extern const bcstring be_const_str_module; -extern const bcstring be_const_str_DI; -extern const bcstring be_const_str_WIEGAND_D0; -extern const bcstring be_const_str_start; -extern const bcstring be_const_str_DDSU666_RX; -extern const bcstring be_const_str_resize; -extern const bcstring be_const_str_detect; -extern const bcstring be_const_str_A4988_MS1; -extern const bcstring be_const_str_RC522_RST; -extern const bcstring be_const_str_count; -extern const bcstring be_const_str_LMT01; -extern const bcstring be_const_str_lv_font; -extern const bcstring be_const_str_BACKLIGHT; -extern const bcstring be_const_str_SPI_CLK; -extern const bcstring be_const_str_SYMBOL_MINUS; -extern const bcstring be_const_str_HRE_CLOCK; -extern const bcstring be_const_str_attrdump; -extern const bcstring be_const_str_break; -extern const bcstring be_const_str_lv_btnmatrix; -extern const bcstring be_const_str_end; -extern const bcstring be_const_str_lv_gauge; -extern const bcstring be_const_str_lv_group; -extern const bcstring be_const_str_time_dump; -extern const bcstring be_const_str_classname; -extern const bcstring be_const_str_get_light; -extern const bcstring be_const_str_opt_connect; -extern const bcstring be_const_str_TXD; -extern const bcstring be_const_str_issubclass; -extern const bcstring be_const_str_else; -extern const bcstring be_const_str_ZEROCROSS; -extern const bcstring be_const_str_SYMBOL_GPS; -extern const bcstring be_const_str_clear; -extern const bcstring be_const_str_imax; -extern const bcstring be_const_str_montserrat_font; -extern const bcstring be_const_str_response_append; -extern const bcstring be_const_str_HM10_TX; -extern const bcstring be_const_str_NRG_CF1; -extern const bcstring be_const_str__ccmd; -extern const bcstring be_const_str_tostring; -extern const bcstring be_const_str_AS608_TX; -extern const bcstring be_const_str_HRXL_RX; -extern const bcstring be_const_str_IRRECV; -extern const bcstring be_const_str_item; -extern const bcstring be_const_str_lv_win; -extern const bcstring be_const_str_SYMBOL_NEXT; -extern const bcstring be_const_str_SYMBOL_SAVE; -extern const bcstring be_const_str_upper; -extern const bcstring be_const_str_GPS_TX; -extern const bcstring be_const_str_ZIGBEE_TX; -extern const bcstring be_const_str_wire_scan; -extern const bcstring be_const_str_SBR_RX; -extern const bcstring be_const_str_lv_spinbox; -extern const bcstring be_const_str__request_from; -extern const bcstring be_const_str_cos; -extern const bcstring be_const_str_cosh; -extern const bcstring be_const_str_web_sensor; -extern const bcstring be_const_str_BS814_DAT; -extern const bcstring be_const_str_remove; -extern const bcstring be_const_str_TASMOTACLIENT_RXD; -extern const bcstring be_const_str_wire2; -extern const bcstring be_const_str_yield; -extern const bcstring be_const_str_TUYA_RX; -extern const bcstring be_const_str_web_add_main_button; -extern const bcstring be_const_str_seg7_font; -extern const bcstring be_const_str_HM10_RX; -extern const bcstring be_const_str_allocated; -extern const bcstring be_const_str_ILI9341_CS; -extern const bcstring be_const_str_SM16716_SEL; -extern const bcstring be_const_str_TASMOTACLIENT_TXD; -extern const bcstring be_const_str_copy; -extern const bcstring be_const_str_; -extern const bcstring be_const_str_CSE7761_TX; -extern const bcstring be_const_str_dump; -extern const bcstring be_const_str_BS814_CLK; -extern const bcstring be_const_str__begin_transmission; -extern const bcstring be_const_str_imin; -extern const bcstring be_const_str_every_second; -extern const bcstring be_const_str_open; -extern const bcstring be_const_str_find; -extern const bcstring be_const_str_RC522_CS; -extern const bcstring be_const_str_def; -extern const bcstring be_const_str_ROT1B; -extern const bcstring be_const_str_SYMBOL_PASTE; -extern const bcstring be_const_str_keys; -extern const bcstring be_const_str_lv_led; -extern const bcstring be_const_str_real; -extern const bcstring be_const_str_resolvecmnd; -extern const bcstring be_const_str_compile; -extern const bcstring be_const_str_SYMBOL_PREV; -extern const bcstring be_const_str_SYMBOL_TRASH; -extern const bcstring be_const_str_log10; -extern const bcstring be_const_str_remove_rule; -extern const bcstring be_const_str_rtc; -extern const bcstring be_const_str_LED1; -extern const bcstring be_const_str_tolower; -extern const bcstring be_const_str_classof; -extern const bcstring be_const_str_opt_neq; -extern const bcstring be_const_str_AZ_RXD; -extern const bcstring be_const_str_init; -extern const bcstring be_const_str_SPI_CS; -extern const bcstring be_const_str_Tasmota; -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_read_bytes; -extern const bcstring be_const_str_time_reached; -extern const bcstring be_const_str_KEY1_NP; -extern const bcstring be_const_str_SYMBOL_BELL; -extern const bcstring be_const_str_SYMBOL_EJECT; -extern const bcstring be_const_str_lv_arc; -extern const bcstring be_const_str_false; -extern const bcstring be_const_str_SDM120_RX; -extern const bcstring be_const_str_TFMINIPLUS_TX; -extern const bcstring be_const_str_TM1637CLK; -extern const bcstring be_const_str_EPAPER29_CS; -extern const bcstring be_const_str_I2C_SCL; -extern const bcstring be_const_str_SYMBOL_DOWNLOAD; -extern const bcstring be_const_str_resp_cmnd_failed; -extern const bcstring be_const_str_RISING; -extern const bcstring be_const_str_digital_write; -extern const bcstring be_const_str_ADC_JOY; -extern const bcstring be_const_str_time_str; -extern const bcstring be_const_str_DYP_RX; -extern const bcstring be_const_str_ETH_PHY_MDC; -extern const bcstring be_const_str_LEDLNK; -extern const bcstring be_const_str_LEDLNK_INV; -extern const bcstring be_const_str_lv_obj; -extern const bcstring be_const_str_push; -extern const bcstring be_const_str_set_power; -extern const bcstring be_const_str_IEM3000_TX; -extern const bcstring be_const_str_DHT22; -extern const bcstring be_const_str_SYMBOL_UPLOAD; -extern const bcstring be_const_str_ILI9341_DC; -extern const bcstring be_const_str_TX2X_TXD_BLACK; -extern const bcstring be_const_str_asstring; -extern const bcstring be_const_str_ADC_BUTTON; -extern const bcstring be_const_str_format; -extern const bcstring be_const_str_lv_line; -extern const bcstring be_const_str_OUTPUT; -extern const bcstring be_const_str_RF_SENSOR; -extern const bcstring be_const_str_SYMBOL_SD_CARD; -extern const bcstring be_const_str_TASMOTACLIENT_RST_INV; -extern const bcstring be_const_str_pow; -extern const bcstring be_const_str_PULLDOWN; -extern const bcstring be_const_str_SPI_MOSI; -extern const bcstring be_const_str_SYMBOL_LEFT; -extern const bcstring be_const_str_SYMBOL_LOOP; -extern const bcstring be_const_str_SYMBOL_RIGHT; -extern const bcstring be_const_str_rad; -extern const bcstring be_const_str_setrange; -extern const bcstring be_const_str_MHZ_TXD; -extern const bcstring be_const_str_RXD; -extern const bcstring be_const_str_bus; -extern const bcstring be_const_str_NRF24_CS; -extern const bcstring be_const_str_PWM1; -extern const bcstring be_const_str_PZEM004_RX; -extern const bcstring be_const_str_EPAPER42_CS; -extern const bcstring be_const_str_SSD1331_DC; -extern const bcstring be_const_str_abs; -extern const bcstring be_const_str_assert; -extern const bcstring be_const_str_OUTPUT_OPEN_DRAIN; -extern const bcstring be_const_str_SYMBOL_PAUSE; -extern const bcstring be_const_str_DSB_OUT; -extern const bcstring be_const_str_NRG_SEL_INV; -extern const bcstring be_const_str_HLW_CF; -extern const bcstring be_const_str_REL1; -extern const bcstring be_const_str_TCP_RX; -extern const bcstring be_const_str_acos; -extern const bcstring be_const_str_atan; -extern const bcstring be_const_str_AS608_RX; -extern const bcstring be_const_str_HPMA_TX; -extern const bcstring be_const_str_pop; -extern const bcstring be_const_str_str; -extern const bcstring be_const_str_for; -extern const bcstring be_const_str_SYMBOL_VOLUME_MID; -extern const bcstring be_const_str_TM1638STB; -extern const bcstring be_const_str_collect; -extern const bcstring be_const_str_setmember; -extern const bcstring be_const_str_addr; -extern const bcstring be_const_str_isinstance; -extern const bcstring be_const_str_range; -extern const bcstring be_const_str_dot_p; -extern const bcstring be_const_str_split; -extern const bcstring be_const_str_bytes; -extern const bcstring be_const_str_SYMBOL_BATTERY_3; -extern const bcstring be_const_str_i2c_enabled; -extern const bcstring be_const_str_DSB; -extern const bcstring be_const_str___lower__; -extern const bcstring be_const_str_IBEACON_RX; -extern const bcstring be_const_str_SYMBOL_WIFI; -extern const bcstring be_const_str_SSD1331_CS; -extern const bcstring be_const_str_publish; -extern const bcstring be_const_str_SSD1351_CS; -extern const bcstring be_const_str_SYMBOL_POWER; -extern const bcstring be_const_str_WEBCAM_SIOC; -extern const bcstring be_const_str_resp_cmnd_done; -extern const bcstring be_const_str_int; -extern const bcstring be_const_str_register_button_encoder; -extern const bcstring be_const_str_BUZZER_INV; -extern const bcstring be_const_str_IRSEND; -extern const bcstring be_const_str__end_transmission; -extern const bcstring be_const_str_lv_roller; -extern const bcstring be_const_str_except; -extern const bcstring be_const_str_RFRECV; -extern const bcstring be_const_str_SSD1351_DC; -extern const bcstring be_const_str_SYMBOL_REFRESH; -extern const bcstring be_const_str_DEEPSLEEP; -extern const bcstring be_const_str_WS2812; -extern const bcstring be_const_str_KEY1_INV; -extern const bcstring be_const_str_lv_canvas; -extern const bcstring be_const_str_WEBCAM_DATA; -extern const bcstring be_const_str_ZIGBEE_RST; -extern const bcstring be_const_str_I2C_SDA; -extern const bcstring be_const_str_MAX7219CLK; -extern const bcstring be_const_str_MIEL_HVAC_TX; -extern const bcstring be_const_str_SYMBOL_WARNING; -extern const bcstring be_const_str_gamma8; -extern const bcstring be_const_str_lv_indev; -extern const bcstring be_const_str_lv_msgbox; -extern const bcstring be_const_str_reverse_gamma10; -extern const bcstring be_const_str_add_rule; -extern const bcstring be_const_str_EPD_DATA; -extern const bcstring be_const_str_SSPI_MOSI; -extern const bcstring be_const_str_TUYA_TX; -extern const bcstring be_const_str_lv_checkbox; -extern const bcstring be_const_str_hex; -extern const bcstring be_const_str_ARIRFSEL; -extern const bcstring be_const_str_top; -extern const bcstring be_const_str_traceback; -extern const bcstring be_const_str_SM16716_DAT; -extern const bcstring be_const_str_TM1638DIO; -extern const bcstring be_const_str__cmd; -extern const bcstring be_const_str_calldepth; -extern const bcstring be_const_str_SYMBOL_SETTINGS; -extern const bcstring be_const_str_ADE7953_IRQ; -extern const bcstring be_const_str_SDCARD_CS; -extern const bcstring be_const_str_add_driver; -extern const bcstring be_const_str_member; -extern const bcstring be_const_str_SHELLY_DIMMER_BOOT0; -extern const bcstring be_const_str__timers; -extern const bcstring be_const_str_add; -extern const bcstring be_const_str_KEY1_TC; -extern const bcstring be_const_str_TASMOTACLIENT_RST; -extern const bcstring be_const_str_INPUT_PULLUP; -extern const bcstring be_const_str_OUTPUT_HI; -extern const bcstring be_const_str_HJL_CF; -extern const bcstring be_const_str_WEBCAM_HSD; -extern const bcstring be_const_str_ceil; -extern const bcstring be_const_str_set_light; -extern const bcstring be_const_str_srand; -extern const bcstring be_const_str_WEBCAM_SIOD; -extern const bcstring be_const_str_save_before_restart; -extern const bcstring be_const_str_SM16716_CLK; -extern const bcstring be_const_str_SYMBOL_MUTE; -extern const bcstring be_const_str_input; -extern const bcstring be_const_str_WINDMETER_SPEED; -extern const bcstring be_const_str_write; -extern const bcstring be_const_str_char; -extern const bcstring be_const_str_get_free_heap; -extern const bcstring be_const_str_lv_bar; -extern const bcstring be_const_str_ADC_LIGHT; -extern const bcstring be_const_str_lv_calendar; -extern const bcstring be_const_str_ELECTRIQ_MOODL_TX; -extern const bcstring be_const_str_LE01MR_TX; -extern const bcstring be_const_str_SYMBOL_BATTERY_1; -extern const bcstring be_const_str_event; -extern const bcstring be_const_str_class; -extern const bcstring be_const_str_AS3935; -extern const bcstring be_const_str_WE517_TX; -extern const bcstring be_const_str_lv_tabview; -extern const bcstring be_const_str_lv_textarea; -extern const bcstring be_const_str_web_add_button; -extern const bcstring be_const_str_json_append; -extern const bcstring be_const_str_SDM630_RX; -extern const bcstring be_const_str_resp_cmnd_str; -extern const bcstring be_const_str_ROT1A_NP; -extern const bcstring be_const_str_iter; -extern const bcstring be_const_str_lv_img; -extern const bcstring be_const_str_DCKI; -extern const bcstring be_const_str_IEM3000_RX; -extern const bcstring be_const_str_fromstring; -extern const bcstring be_const_str_CC1101_GDO2; -extern const bcstring be_const_str_WEBCAM_PCLK; -extern const bcstring be_const_str__drivers; -extern const bcstring be_const_str_P9813_DAT; -extern const bcstring be_const_str_concat; -extern const bcstring be_const_str_PN532_RXD; -extern const bcstring be_const_str_SOLAXX1_RX; -extern const bcstring be_const_str_INPUT_PULLDOWN; -extern const bcstring be_const_str_MAX31855CS; -extern const bcstring be_const_str_SYMBOL_IMAGE; -extern const bcstring be_const_str_return; -extern const bcstring be_const_str_CSE7761_RX; -extern const bcstring be_const_str_write_bytes; -extern const bcstring be_const_str_pi; -extern const bcstring be_const_str___upper__; -extern const bcstring be_const_str_load_font; -extern const bcstring be_const_str_set; -extern const bcstring be_const_str_PN532_TXD; -extern const bcstring be_const_str_setitem; -extern const bcstring be_const_str_SDM72_TX; -extern const bcstring be_const_str_TELEINFO_ENABLE; -extern const bcstring be_const_str_WEBCAM_VSYNC; -extern const bcstring be_const_str_find_key_i; -extern const bcstring be_const_str_BOILER_OT_TX; -extern const bcstring be_const_str_WEBCAM_HREF; -extern const bcstring be_const_str_Wire; -extern const bcstring be_const_str_lv_cont; -extern const bcstring be_const_str_EXS_ENABLE; -extern const bcstring be_const_str_LED1_INV; -extern const bcstring be_const_str_load; -extern const bcstring be_const_str_KEY1_INV_NP; -extern const bcstring be_const_str_SYMBOL_DUMMY; -extern const bcstring be_const_str_SWT1_NP; -extern const bcstring be_const_str_cmd; -extern const bcstring be_const_str_ARIRFRCV; -extern const bcstring be_const_str_NEOPOOL_TX; -extern const bcstring be_const_str_TELEINFO_RX; -extern const bcstring be_const_str_WIEGAND_D1; -extern const bcstring be_const_str_SHELLY_DIMMER_RST_INV; -extern const bcstring be_const_str_DDS2382_RX; -extern const bcstring be_const_str_ETH_PHY_POWER; extern const bcstring be_const_str_TM1638CLK; -extern const bcstring be_const_str_pin_mode; -extern const bcstring be_const_str_SDS0X1_TX; +extern const bcstring be_const_str_add; +extern const bcstring be_const_str_MAX31855CS; +extern const bcstring be_const_str_RISING; +extern const bcstring be_const_str_scan; +extern const bcstring be_const_str_set_power; extern const bcstring be_const_str_deg; -extern const bcstring be_const_str_OPEN_DRAIN; -extern const bcstring be_const_str_WEBCAM_PSRCS; -extern const bcstring be_const_str_lv_chart; -extern const bcstring be_const_str__rules; -extern const bcstring be_const_str_A4988_DIR; -extern const bcstring be_const_str_CSE7766_RX; -extern const bcstring be_const_str_SYMBOL_SHUFFLE; -extern const bcstring be_const_str_SSPI_MAX31865_CS1; -extern const bcstring be_const_str_continue; -extern const bcstring be_const_str_set_timer; -extern const bcstring be_const_str_PZEM017_RX; -extern const bcstring be_const_str___iterator__; -extern const bcstring be_const_str_delay; -extern const bcstring be_const_str_exp; -extern const bcstring be_const_str_MAX7219DIN; -extern const bcstring be_const_str_NEOPOOL_RX; -extern const bcstring be_const_str_MGC3130_XFER; -extern const bcstring be_const_str_lv_table; -extern const bcstring be_const_str_lv_slider; -extern const bcstring be_const_str_lv_style; -extern const bcstring be_const_str_DHT11_OUT; -extern const bcstring be_const_str_SYMBOL_PLUS; -extern const bcstring be_const_str_WEBCAM_PWDN; -extern const bcstring be_const_str_HALLEFFECT; -extern const bcstring be_const_str_MHZ_RXD; -extern const bcstring be_const_str_SAIR_TX; -extern const bcstring be_const_str_sinh; -extern const bcstring be_const_str_SWT1; -extern const bcstring be_const_str_SYMBOL_EYE_CLOSE; -extern const bcstring be_const_str_WEBCAM_PSCLK; -extern const bcstring be_const_str_IBEACON_TX; -extern const bcstring be_const_str_SENSOR_END; -extern const bcstring be_const_str_SYMBOL_VIDEO; -extern const bcstring be_const_str_codedump; -extern const bcstring be_const_str_CC1101_GDO0; -extern const bcstring be_const_str_PULLUP; -extern const bcstring be_const_str_lv_cpicker; -extern const bcstring be_const_str_super; -extern const bcstring be_const_str_SSPI_MISO; -extern const bcstring be_const_str_SYMBOL_BATTERY_EMPTY; -extern const bcstring be_const_str_PZEM016_RX; -extern const bcstring be_const_str_tan; -extern const bcstring be_const_str_web_send; -extern const bcstring be_const_str_wire; -extern const bcstring be_const_str_P9813_CLK; -extern const bcstring be_const_str_SM2135_CLK; -extern const bcstring be_const_str_wire1; -extern const bcstring be_const_str_PROJECTOR_CTRL_RX; -extern const bcstring be_const_str_every_100ms; -extern const bcstring be_const_str_sin; -extern const bcstring be_const_str_try_rule; -extern const bcstring be_const_str_SM2135_DAT; -extern const bcstring be_const_str_SYMBOL_CALL; -extern const bcstring be_const_str_var; -extern const bcstring be_const_str_MCP39F5_TX; -extern const bcstring be_const_str_SDM120_TX; -extern const bcstring be_const_str_byte; -extern const bcstring be_const_str_gc; -extern const bcstring be_const_str_button_pressed; -extern const bcstring be_const_str_number; -extern const bcstring be_const_str_A4988_STP; -extern const bcstring be_const_str_MGC3130_RESET; -extern const bcstring be_const_str_WEBCAM_XCLK; extern const bcstring be_const_str_list; -extern const bcstring be_const_str_XPT2046_CS; -extern const bcstring be_const_str_gamma10; -extern const bcstring be_const_str_exec_rules; -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_import; -extern const bcstring be_const_str_true; -extern const bcstring be_const_str_DDSU666_TX; -extern const bcstring be_const_str_SYMBOL_BULLET; -extern const bcstring be_const_str_SYMBOL_CLOSE; -extern const bcstring be_const_str_ADC_CT_POWER; -extern const bcstring be_const_str_SYMBOL_COPY; -extern const bcstring be_const_str_SYMBOL_UP; -extern const bcstring be_const_str_get; -extern const bcstring be_const_str_millis; -extern const bcstring be_const_str_deinit; -extern const bcstring be_const_str_print; -extern const bcstring be_const_str_save; -extern const bcstring be_const_str_LE01MR_RX; -extern const bcstring be_const_str_PROJECTOR_CTRL_TX; -extern const bcstring be_const_str_BL0940_RX; -extern const bcstring be_const_str_HRE_DATA; -extern const bcstring be_const_str_INPUT; -extern const bcstring be_const_str_SYMBOL_NEW_LINE; -extern const bcstring be_const_str_get_tasmota; -extern const bcstring be_const_str_lv_imgbtn; -extern const bcstring be_const_str_lv_spinner; -extern const bcstring be_const_str_ADC_BUTTON_INV; -extern const bcstring be_const_str_try; -extern const bcstring be_const_str_SR04_TRIG; -extern const bcstring be_const_str_SYMBOL_KEYBOARD; -extern const bcstring be_const_str_ETH_PHY_MDIO; -extern const bcstring be_const_str_tanh; -extern const bcstring be_const_str_get_power; -extern const bcstring be_const_str_lv_objmask; -extern const bcstring be_const_str_SDM630_TX; -extern const bcstring be_const_str_MCP39F5_RST; -extern const bcstring be_const_str_PMS5003_TX; -extern const bcstring be_const_str_SYMBOL_AUDIO; -extern const bcstring be_const_str_AZ_TXD; -extern const bcstring be_const_str_CNTR1; -extern const bcstring be_const_str_TM1637DIO; +extern const bcstring be_const_str_real; +extern const bcstring be_const_str_SYMBOL_BATTERY_3; +extern const bcstring be_const_str_WEBCAM_VSYNC; +extern const bcstring be_const_str_cmd; +extern const bcstring be_const_str_SDM120_RX; +extern const bcstring be_const_str_SYMBOL_HOME; +extern const bcstring be_const_str_GPS_TX; +extern const bcstring be_const_str_AS3935; +extern const bcstring be_const_str_SYMBOL_PASTE; +extern const bcstring be_const_str_web_add_main_button; +extern const bcstring be_const_str_RFSEND; +extern const bcstring be_const_str_exp; extern const bcstring be_const_str_read; -extern const bcstring be_const_str_if; -extern const bcstring be_const_str_SOLAXX1_TX; -extern const bcstring be_const_str_load_freetype_font; -extern const bcstring be_const_str_SYMBOL_BACKSPACE; -extern const bcstring be_const_str_SYMBOL_BATTERY_FULL; -extern const bcstring be_const_str_TCP_TX; -extern const bcstring be_const_str__write; -extern const bcstring be_const_str_HX711_DAT; -extern const bcstring be_const_str_I2C_Driver; -extern const bcstring be_const_str_SSPI_SCLK; -extern const bcstring be_const_str_resp_cmnd; -extern const bcstring be_const_str_REL1_INV; -extern const bcstring be_const_str_HX711_SCK; -extern const bcstring be_const_str_RDM6300_RX; -extern const bcstring be_const_str_SYMBOL_EYE_OPEN; -extern const bcstring be_const_str_SYMBOL_OK; -extern const bcstring be_const_str_chars_in_string; -extern const bcstring be_const_str_web_send_decimal; -extern const bcstring be_const_str_nil; -extern const bcstring be_const_str_CHANGE; -extern const bcstring be_const_str_HIGH; -extern const bcstring be_const_str_as; -extern const bcstring be_const_str_ADC_INPUT; -extern const bcstring be_const_str_ZIGBEE_RX; -extern const bcstring be_const_str_SBR_TX; -extern const bcstring be_const_str_SPI_DC; -extern const bcstring be_const_str_sqrt; -extern const bcstring be_const_str_MAX31855DO; -extern const bcstring be_const_str_MIEL_HVAC_RX; -extern const bcstring be_const_str_find_op; -extern const bcstring be_const_str_lv_btn; -extern const bcstring be_const_str_BOILER_OT_RX; -extern const bcstring be_const_str_DHT11; -extern const bcstring be_const_str_LOW; -extern const bcstring be_const_str_NRF24_DC; -extern const bcstring be_const_str_map; -extern const bcstring be_const_str_SYMBOL_STOP; +extern const bcstring be_const_str_DI; +extern const bcstring be_const_str_CNTR1_NP; +extern const bcstring be_const_str_lv_list; +extern const bcstring be_const_str_attrdump; +extern const bcstring be_const_str_clear; +extern const bcstring be_const_str_ADC_PH; +extern const bcstring be_const_str_PWM1; +extern const bcstring be_const_str_PZEM0XX_TX; +extern const bcstring be_const_str_format; +extern const bcstring be_const_str_log10; +extern const bcstring be_const_str_get_free_heap; +extern const bcstring be_const_str_lv_msgbox; +extern const bcstring be_const_str_publish; +extern const bcstring be_const_str_SYMBOL_DUMMY; +extern const bcstring be_const_str_SYMBOL_SETTINGS; +extern const bcstring be_const_str_content_button; +extern const bcstring be_const_str_SYMBOL_POWER; +extern const bcstring be_const_str_AZ_TXD; +extern const bcstring be_const_str__end_transmission; +extern const bcstring be_const_str_split; +extern const bcstring be_const_str_super; +extern const bcstring be_const_str_codedump; extern const bcstring be_const_str_SDM72_RX; -extern const bcstring be_const_str_lv_linemeter; -extern const bcstring be_const_str_lv_page; -extern const bcstring be_const_str_elif; -extern const bcstring be_const_str_do; -extern const bcstring be_const_str_lv_dropdown; -extern const bcstring be_const_str_lv_tileview; -extern const bcstring be_const_str_PWM1_INV; -extern const bcstring be_const_str__read; -extern const bcstring be_const_str_rand; -extern const bcstring be_const_str_remove_cmd; -extern const bcstring be_const_str_SI7021; -extern const bcstring be_const_str_VL53L0X_XSHUT1; -extern const bcstring be_const_str_run_deferred; -extern const bcstring be_const_str_opt_add; -extern const bcstring be_const_str_A4988_ENA; -extern const bcstring be_const_str_SPI_MISO; -extern const bcstring be_const_str_NONE; -extern const bcstring be_const_str_SYMBOL_BLUETOOTH; +extern const bcstring be_const_str_SYMBOL_CHARGE; +extern const bcstring be_const_str_DHT11; +extern const bcstring be_const_str_SYMBOL_LEFT; +extern const bcstring be_const_str_lv_gauge; +extern const bcstring be_const_str_LEDLNK_INV; +extern const bcstring be_const_str_WEBCAM_HSD; +extern const bcstring be_const_str_type; +extern const bcstring be_const_str_HX711_SCK; +extern const bcstring be_const_str_init; +extern const bcstring be_const_str_SYMBOL_NEW_LINE; +extern const bcstring be_const_str_resp_cmnd_failed; +extern const bcstring be_const_str_KEY1_TC; extern const bcstring be_const_str_SYMBOL_FILE; -extern const bcstring be_const_str_SYMBOL_VOLUME_MAX; -extern const bcstring be_const_str_floor; -extern const bcstring be_const_str_SYMBOL_DRIVE; -extern const bcstring be_const_str_while; -extern const bcstring be_const_str_opt_eq; +extern const bcstring be_const_str__rules; +extern const bcstring be_const_str_lv_objmask; +extern const bcstring be_const_str_opt_call; +extern const bcstring be_const_str_reverse_gamma10; +extern const bcstring be_const_str_false; +extern const bcstring be_const_str_HPMA_TX; +extern const bcstring be_const_str_SYMBOL_REFRESH; +extern const bcstring be_const_str_raise; +extern const bcstring be_const_str__drivers; +extern const bcstring be_const_str_has_arg; +extern const bcstring be_const_str_iter; +extern const bcstring be_const_str_read_bytes; +extern const bcstring be_const_str_A4988_DIR; +extern const bcstring be_const_str_ADC_LIGHT; +extern const bcstring be_const_str_copy; +extern const bcstring be_const_str_web_send; +extern const bcstring be_const_str_PZEM017_RX; +extern const bcstring be_const_str_RFRECV; +extern const bcstring be_const_str_resize; +extern const bcstring be_const_str_ARIRFRCV; +extern const bcstring be_const_str_CSE7766_RX; +extern const bcstring be_const_str_RC522_CS; +extern const bcstring be_const_str_pin_mode; +extern const bcstring be_const_str_def; +extern const bcstring be_const_str_SSD1331_DC; +extern const bcstring be_const_str_ST7789_CS; +extern const bcstring be_const_str_SYMBOL_BATTERY_2; +extern const bcstring be_const_str_SYMBOL_BACKSPACE; +extern const bcstring be_const_str_try; +extern const bcstring be_const_str_SYMBOL_OK; +extern const bcstring be_const_str_TX2X_TXD_BLACK; +extern const bcstring be_const_str_delay; +extern const bcstring be_const_str_resp_cmnd_done; +extern const bcstring be_const_str_SPI_DC; +extern const bcstring be_const_str_for; +extern const bcstring be_const_str_SYMBOL_USB; +extern const bcstring be_const_str_gen_cb; +extern const bcstring be_const_str_TXD; +extern const bcstring be_const_str_millis; +extern const bcstring be_const_str_srand; +extern const bcstring be_const_str_screenshot; +extern const bcstring be_const_str_ADC_TEMP; +extern const bcstring be_const_str_CNTR1; +extern const bcstring be_const_str_RDM6300_RX; +extern const bcstring be_const_str_state; +extern const bcstring be_const_str_opt_add; +extern const bcstring be_const_str_content_send; +extern const bcstring be_const_str__cmd; +extern const bcstring be_const_str_setitem; +extern const bcstring be_const_str_HJL_CF; +extern const bcstring be_const_str_lv_btnmatrix; +extern const bcstring be_const_str_IEM3000_TX; +extern const bcstring be_const_str_lv_checkbox; +extern const bcstring be_const_str_return; +extern const bcstring be_const_str_MGC3130_XFER; +extern const bcstring be_const_str_MHZ_TXD; +extern const bcstring be_const_str_SOLAXX1_RX; +extern const bcstring be_const_str_pin; +extern const bcstring be_const_str_FALLING; +extern const bcstring be_const_str_SYMBOL_EDIT; +extern const bcstring be_const_str__get_cb; +extern const bcstring be_const_str_lower; +extern const bcstring be_const_str_map; +extern const bcstring be_const_str_WE517_RX; +extern const bcstring be_const_str_atan; +extern const bcstring be_const_str_ADC_JOY; +extern const bcstring be_const_str_SYMBOL_CLOSE; +extern const bcstring be_const_str_SYMBOL_PLAY; +extern const bcstring be_const_str_WEBCAM_DATA; +extern const bcstring be_const_str_arg; +extern const bcstring be_const_str_dump; +extern const bcstring be_const_str_web_send_decimal; +extern const bcstring be_const_str_TASMOTACLIENT_RXD; +extern const bcstring be_const_str_pin_used; +extern const bcstring be_const_str_PWM1_INV; +extern const bcstring be_const_str_chars_in_string; +extern const bcstring be_const_str_MCP39F5_RX; +extern const bcstring be_const_str_resp_cmnd_str; +extern const bcstring be_const_str_SYMBOL_RIGHT; +extern const bcstring be_const_str_WE517_TX; +extern const bcstring be_const_str_CSE7761_TX; +extern const bcstring be_const_str_SHELLY_DIMMER_BOOT0; +extern const bcstring be_const_str_setmember; +extern const bcstring be_const_str_ST7789_DC; +extern const bcstring be_const_str_ZIGBEE_RST; +extern const bcstring be_const_str_number; +extern const bcstring be_const_str_resolvecmnd; +extern const bcstring be_const_str_except; +extern const bcstring be_const_str_concat; +extern const bcstring be_const_str_find_op; +extern const bcstring be_const_str___lower__; +extern const bcstring be_const_str_remove; +extern const bcstring be_const_str_upper; +extern const bcstring be_const_str_ILI9341_DC; +extern const bcstring be_const_str_true; +extern const bcstring be_const_str_WEBCAM_HREF; +extern const bcstring be_const_str_DEEPSLEEP; +extern const bcstring be_const_str_SYMBOL_BATTERY_1; +extern const bcstring be_const_str_WIEGAND_D0; +extern const bcstring be_const_str_SM16716_SEL; +extern const bcstring be_const_str_sqrt; +extern const bcstring be_const_str_SM2135_DAT; +extern const bcstring be_const_str_I2C_SDA; +extern const bcstring be_const_str_ZIGBEE_RX; +extern const bcstring be_const_str_A4988_ENA; +extern const bcstring be_const_str_CSE7766_TX; +extern const bcstring be_const_str_INPUT; +extern const bcstring be_const_str_P9813_CLK; +extern const bcstring be_const_str_classname; +extern const bcstring be_const_str_lv_line; +extern const bcstring be_const_str_lv_switch; +extern const bcstring be_const_str_rtc; +extern const bcstring be_const_str_web_add_button; +extern const bcstring be_const_str_SYMBOL_WIFI; +extern const bcstring be_const_str_lv_group; +extern const bcstring be_const_str_class; +extern const bcstring be_const_str_count; +extern const bcstring be_const_str_resp_cmnd; +extern const bcstring be_const_str_write; +extern const bcstring be_const_str_ELECTRIQ_MOODL_TX; +extern const bcstring be_const_str_exec_rules; +extern const bcstring be_const_str_continue; +extern const bcstring be_const_str_classof; +extern const bcstring be_const_str_dot_p; +extern const bcstring be_const_str_TM1637CLK; +extern const bcstring be_const_str_keys; +extern const bcstring be_const_str_lv_cont; +extern const bcstring be_const_str_SYMBOL_DOWNLOAD; +extern const bcstring be_const_str_SYMBOL_LOOP; +extern const bcstring be_const_str_lv_dropdown; +extern const bcstring be_const_str_IRSEND; +extern const bcstring be_const_str_SPI_MOSI; +extern const bcstring be_const_str_abs; +extern const bcstring be_const_str_acos; +extern const bcstring be_const_str_lv_win; +extern const bcstring be_const_str_ADC_INPUT; +extern const bcstring be_const_str_ILI9488_CS; +extern const bcstring be_const_str_SYMBOL_EYE_CLOSE; +extern const bcstring be_const_str_SYMBOL_MUTE; +extern const bcstring be_const_str_add_cmd; +extern const bcstring be_const_str_DDSU666_TX; +extern const bcstring be_const_str_cb_dispatch; +extern const bcstring be_const_str_PN532_RXD; +extern const bcstring be_const_str_event; +extern const bcstring be_const_str_SDS0X1_TX; +extern const bcstring be_const_str_lv_imgbtn; +extern const bcstring be_const_str_KEY1; +extern const bcstring be_const_str_SBR_TX; +extern const bcstring be_const_str_toupper; +extern const bcstring be_const_str_if; +extern const bcstring be_const_str_opt_connect; +extern const bcstring be_const_str_DDS2382_RX; +extern const bcstring be_const_str_lv_color; +extern const bcstring be_const_str_lv_img; +extern const bcstring be_const_str_HLW_CF; +extern const bcstring be_const_str_WEBCAM_PCLK; +extern const bcstring be_const_str_content_flush; +extern const bcstring be_const_str_BOILER_OT_TX; +extern const bcstring be_const_str_int; +extern const bcstring be_const_str_wire2; +extern const bcstring be_const_str_top; +extern const bcstring be_const_str_wire; +extern const bcstring be_const_str_fromstring; +extern const bcstring be_const_str_lv_arc; +extern const bcstring be_const_str_wire_scan; +extern const bcstring be_const_str_ROT1B_NP; +extern const bcstring be_const_str_SPI_CLK; +extern const bcstring be_const_str_yield; +extern const bcstring be_const_str_set_timer; +extern const bcstring be_const_str_WEBCAM_PSCLK; +extern const bcstring be_const_str_pop; +extern const bcstring be_const_str_WEBCAM_SIOC; +extern const bcstring be_const_str_WIEGAND_D1; +extern const bcstring be_const_str_i2c_enabled; +extern const bcstring be_const_str_lv_tabview; +extern const bcstring be_const_str_HTTP_ADMIN; +extern const bcstring be_const_str_LOW; +extern const bcstring be_const_str_calldepth; +extern const bcstring be_const_str_get_option; +extern const bcstring be_const_str_AZ_RXD; +extern const bcstring be_const_str_HRE_CLOCK; +extern const bcstring be_const_str_exec_cmd; +extern const bcstring be_const_str_button_pressed; +extern const bcstring be_const_str_BS814_DAT; +extern const bcstring be_const_str_HTTP_OFF; +extern const bcstring be_const_str_lv_textarea; +extern const bcstring be_const_str_rad; +extern const bcstring be_const_str_TM1637DIO; +extern const bcstring be_const_str_tolower; +extern const bcstring be_const_str_Driver; +extern const bcstring be_const_str_EXS_ENABLE; +extern const bcstring be_const_str_I2C_SCL; +extern const bcstring be_const_str_NRG_CF1; +extern const bcstring be_const_str_sin; +extern const bcstring be_const_str_SR04_ECHO; +extern const bcstring be_const_str_SSPI_DC; +extern const bcstring be_const_str_deinit; +extern const bcstring be_const_str_traceback; +extern const bcstring be_const_str_ETH_PHY_MDC; +extern const bcstring be_const_str_SYMBOL_LIST; +extern const bcstring be_const_str_bytes; +extern const bcstring be_const_str_MHZ_RXD; +extern const bcstring be_const_str__cb; +extern const bcstring be_const_str_SYMBOL_EJECT; +extern const bcstring be_const_str_digital_read; +extern const bcstring be_const_str_HIGH; +extern const bcstring be_const_str_PROJECTOR_CTRL_RX; +extern const bcstring be_const_str_SYMBOL_BATTERY_EMPTY; +extern const bcstring be_const_str_ARIRFSEL; +extern const bcstring be_const_str_DHT22; +extern const bcstring be_const_str_REL1; +extern const bcstring be_const_str_NONE; +extern const bcstring be_const_str_SYMBOL_VIDEO; +extern const bcstring be_const_str_run_deferred; +extern const bcstring be_const_str_SPI_CS; +extern const bcstring be_const_str_gc; +extern const bcstring be_const_str_BS814_CLK; +extern const bcstring be_const_str_lv_style; +extern const bcstring be_const_str_SYMBOL_AUDIO; +extern const bcstring be_const_str_CHANGE; +extern const bcstring be_const_str_SYMBOL_EYE_OPEN; +extern const bcstring be_const_str_web_sensor; +extern const bcstring be_const_str_DSB_OUT; +extern const bcstring be_const_str_MCP39F5_RST; +extern const bcstring be_const_str_log; +extern const bcstring be_const_str_size; +extern const bcstring be_const_str_SM16716_CLK; +extern const bcstring be_const_str_SSPI_MISO; +extern const bcstring be_const_str_SYMBOL_SD_CARD; +extern const bcstring be_const_str_get_power; extern const bcstring be_const_str_TFMINIPLUS_RX; +extern const bcstring be_const_str_lv_slider; +extern const bcstring be_const_str_NRG_SEL_INV; +extern const bcstring be_const_str_args; +extern const bcstring be_const_str_WS2812; +extern const bcstring be_const_str_lv_spinbox; +extern const bcstring be_const_str_start; +extern const bcstring be_const_str_SM2135_CLK; +extern const bcstring be_const_str_range; +extern const bcstring be_const_str_HM10_TX; +extern const bcstring be_const_str_SSPI_MAX31865_CS1; +extern const bcstring be_const_str_allocated; +extern const bcstring be_const_str_pow; +extern const bcstring be_const_str_wire1; +extern const bcstring be_const_str_SENSOR_END; +extern const bcstring be_const_str_TASMOTACLIENT_RST; +extern const bcstring be_const_str_DHT11_OUT; +extern const bcstring be_const_str_SYMBOL_DOWN; +extern const bcstring be_const_str_SYMBOL_TRASH; +extern const bcstring be_const_str__read; +extern const bcstring be_const_str_IEM3000_RX; +extern const bcstring be_const_str_LED1; +extern const bcstring be_const_str_SYMBOL_UP; +extern const bcstring be_const_str_every_100ms; +extern const bcstring be_const_str_HTTP_USER; +extern const bcstring be_const_str_detect; +extern const bcstring be_const_str_lv_indev; +extern const bcstring be_const_str_SOLAXX1_TX; +extern const bcstring be_const_str_seg7_font; +extern const bcstring be_const_str_KEY1_INV_NP; +extern const bcstring be_const_str_TCP_RX; +extern const bcstring be_const_str_WEBCAM_PWDN; +extern const bcstring be_const_str_PROJECTOR_CTRL_TX; +extern const bcstring be_const_str_SDS0X1_RX; +extern const bcstring be_const_str__write; +extern const bcstring be_const_str_lv_cpicker; +extern const bcstring be_const_str_lv_roller; +extern const bcstring be_const_str_CSE7761_RX; +extern const bcstring be_const_str_ROT1B; +extern const bcstring be_const_str_item; +extern const bcstring be_const_str_save_before_restart; +extern const bcstring be_const_str_A4988_MS1; +extern const bcstring be_const_str_MIEL_HVAC_RX; +extern const bcstring be_const_str_lv_font; +extern const bcstring be_const_str_DDS2382_TX; +extern const bcstring be_const_str_OPEN_DRAIN; +extern const bcstring be_const_str_SYMBOL_BULLET; +extern const bcstring be_const_str_TCP_TX; +extern const bcstring be_const_str_insert; +extern const bcstring be_const_str_do; +extern const bcstring be_const_str_OUTPUT_LO; +extern const bcstring be_const_str_write_bytes; +extern const bcstring be_const_str_HTTP_MANAGER_RESET_ONLY; +extern const bcstring be_const_str_HX711_DAT; +extern const bcstring be_const_str_SYMBOL_STOP; +extern const bcstring be_const_str_floor; +extern const bcstring be_const_str_load; +extern const bcstring be_const_str_SYMBOL_BATTERY_FULL; +extern const bcstring be_const_str__begin_transmission; +extern const bcstring be_const_str_SSPI_MOSI; +extern const bcstring be_const_str_digital_write; +extern const bcstring be_const_str_issubclass; +extern const bcstring be_const_str_content_stop; +extern const bcstring be_const_str_lv_spinner; +extern const bcstring be_const_str_TUYA_RX; +extern const bcstring be_const_str_HM10_RX; +extern const bcstring be_const_str_TM1638DIO; +extern const bcstring be_const_str_remove_cmd; +extern const bcstring be_const_str_DSB; +extern const bcstring be_const_str_reverse; +extern const bcstring be_const_str_montserrat_font; +extern const bcstring be_const_str_SYMBOL_PLUS; +extern const bcstring be_const_str_SYMBOL_VOLUME_MID; +extern const bcstring be_const_str_CC1101_GDO2; +extern const bcstring be_const_str_ZIGBEE_TX; +extern const bcstring be_const_str__available; +extern const bcstring be_const_str_WEBCAM_PSRCS; +extern const bcstring be_const_str_DYP_RX; +extern const bcstring be_const_str_INPUT_PULLDOWN; +extern const bcstring be_const_str_LE01MR_TX; +extern const bcstring be_const_str_MAX31855CLK; +extern const bcstring be_const_str_SYMBOL_PREV; +extern const bcstring be_const_str__ccmd; +extern const bcstring be_const_str_byte; +extern const bcstring be_const_str_content_send_style; +extern const bcstring be_const_str_DCKI; +extern const bcstring be_const_str_SAIR_TX; +extern const bcstring be_const_str_SSD1331_CS; +extern const bcstring be_const_str_check_privileged_access; +extern const bcstring be_const_str_SR04_TRIG; +extern const bcstring be_const_str_SYMBOL_MINUS; +extern const bcstring be_const_str_MIEL_HVAC_TX; extern const bcstring be_const_str_resp_cmnd_error; +extern const bcstring be_const_str_IBEACON_RX; +extern const bcstring be_const_str_add_driver; +extern const bcstring be_const_str_get_light; +extern const bcstring be_const_str_save; +extern const bcstring be_const_str_ILI9341_CS; +extern const bcstring be_const_str_RF_SENSOR; +extern const bcstring be_const_str_SYMBOL_COPY; +extern const bcstring be_const_str_SYMBOL_DRIVE; +extern const bcstring be_const_str_ZEROCROSS; +extern const bcstring be_const_str_BACKLIGHT; +extern const bcstring be_const_str_OPTION_A; +extern const bcstring be_const_str_P9813_DAT; +extern const bcstring be_const_str_SDCARD_CS; +extern const bcstring be_const_str_set; +extern const bcstring be_const_str_GPS_RX; +extern const bcstring be_const_str_TELEINFO_RX; +extern const bcstring be_const_str_SYMBOL_SAVE; +extern const bcstring be_const_str_lv_keyboard; +extern const bcstring be_const_str_setrange; +extern const bcstring be_const_str_MAX7219CS; +extern const bcstring be_const_str_find; +extern const bcstring be_const_str_DDSU666_RX; +extern const bcstring be_const_str_lv_table; +extern const bcstring be_const_str_ADC_CT_POWER; +extern const bcstring be_const_str_TFMINIPLUS_TX; +extern const bcstring be_const_str_gamma10; +extern const bcstring be_const_str_SBR_RX; +extern const bcstring be_const_str_Wire; +extern const bcstring be_const_str_collect; +extern const bcstring be_const_str_find_key_i; +extern const bcstring be_const_str_content_start; +extern const bcstring be_const_str_tanh; +extern const bcstring be_const_str_gamma8; +extern const bcstring be_const_str_A4988_STP; +extern const bcstring be_const_str_BUZZER_INV; +extern const bcstring be_const_str_SYMBOL_CALL; +extern const bcstring be_const_str_lv_led; +extern const bcstring be_const_str_BOILER_OT_RX; +extern const bcstring be_const_str_INPUT_PULLUP; +extern const bcstring be_const_str_TELEINFO_ENABLE; +extern const bcstring be_const_str_SYMBOL_CUT; +extern const bcstring be_const_str_compile; +extern const bcstring be_const_str_get_tasmota; +extern const bcstring be_const_str_on; +extern const bcstring be_const_str_; +extern const bcstring be_const_str_KEY1_NP; +extern const bcstring be_const_str_REL1_INV; +extern const bcstring be_const_str_isinstance; +extern const bcstring be_const_str_lv_calendar; +extern const bcstring be_const_str_SHELLY_DIMMER_RST_INV; +extern const bcstring be_const_str_imax; +extern const bcstring be_const_str_register_button_encoder; +extern const bcstring be_const_str_I2C_Driver; +extern const bcstring be_const_str_SDM630_RX; +extern const bcstring be_const_str_WINDMETER_SPEED; +extern const bcstring be_const_str__timers; +extern const bcstring be_const_str_AS608_TX; +extern const bcstring be_const_str_EPAPER42_CS; +extern const bcstring be_const_str_MCP39F5_TX; +extern const bcstring be_const_str_every_second; +extern const bcstring be_const_str_WEBCAM_SIOD; +extern const bcstring be_const_str_load_freetype_font; +extern const bcstring be_const_str_ceil; +extern const bcstring be_const_str_BUZZER; +extern const bcstring be_const_str_MGC3130_RESET; +extern const bcstring be_const_str_asin; +extern const bcstring be_const_str_time_reached; +extern const bcstring be_const_str_PZEM016_RX; +extern const bcstring be_const_str_SYMBOL_PAUSE; +extern const bcstring be_const_str_lv_canvas; +extern const bcstring be_const_str___upper__; +extern const bcstring be_const_str_while; +extern const bcstring be_const_str_bus; +extern const bcstring be_const_str_end; +extern const bcstring be_const_str_HPMA_RX; +extern const bcstring be_const_str_SYMBOL_GPS; +extern const bcstring be_const_str_ADC_BUTTON_INV; +extern const bcstring be_const_str_LMT01; +extern const bcstring be_const_str_TASMOTACLIENT_TXD; +extern const bcstring be_const_str_asstring; +extern const bcstring be_const_str_KEY1_INV; +extern const bcstring be_const_str_SYMBOL_SHUFFLE; +extern const bcstring be_const_str_elif; +extern const bcstring be_const_str_OUTPUT; +extern const bcstring be_const_str__request_from; +extern const bcstring be_const_str_FTC532; +extern const bcstring be_const_str_OUTPUT_HI; +extern const bcstring be_const_str_SSD1351_CS; +extern const bcstring be_const_str_SYMBOL_KEYBOARD; +extern const bcstring be_const_str_lv_obj; +extern const bcstring be_const_str_SYMBOL_DIRECTORY; +extern const bcstring be_const_str_add_rule; +extern const bcstring be_const_str_IRRECV; +extern const bcstring be_const_str_imin; +extern const bcstring be_const_str_lv_btn; +extern const bcstring be_const_str_lv_chart; +extern const bcstring be_const_str_str; +extern const bcstring be_const_str_RA8876_CS; +extern const bcstring be_const_str_RC522_RST; +extern const bcstring be_const_str_SAIR_RX; +extern const bcstring be_const_str_SPI_MISO; +extern const bcstring be_const_str_SYMBOL_VOLUME_MAX; +extern const bcstring be_const_str_import; +extern const bcstring be_const_str_HRE_DATA; +extern const bcstring be_const_str_OUTPUT_OPEN_DRAIN; +extern const bcstring be_const_str_SSPI_SCLK; +extern const bcstring be_const_str_opt_neq; +extern const bcstring be_const_str_BL0940_RX; +extern const bcstring be_const_str_MAX31855DO; +extern const bcstring be_const_str_cos; +extern const bcstring be_const_str_open; +extern const bcstring be_const_str_EPD_DATA; +extern const bcstring be_const_str_IBEACON_TX; +extern const bcstring be_const_str_RXD; +extern const bcstring be_const_str_WEBCAM_RESET; +extern const bcstring be_const_str_tan; +extern const bcstring be_const_str_try_rule; +extern const bcstring be_const_str_ADC_RANGE; +extern const bcstring be_const_str_PZEM004_RX; +extern const bcstring be_const_str_time_dump; +extern const bcstring be_const_str_TASMOTACLIENT_RST_INV; +extern const bcstring be_const_str_SYMBOL_IMAGE; +extern const bcstring be_const_str_print; +extern const bcstring be_const_str_NEOPOOL_TX; +extern const bcstring be_const_str_LEDLNK; +extern const bcstring be_const_str_OLED_RESET; +extern const bcstring be_const_str_SDM630_TX; +extern const bcstring be_const_str_SYMBOL_NEXT; +extern const bcstring be_const_str_var; +extern const bcstring be_const_str_CC1101_GDO0; +extern const bcstring be_const_str_assert; +extern const bcstring be_const_str_remove_rule; +extern const bcstring be_const_str_LED1_INV; +extern const bcstring be_const_str_module; +extern const bcstring be_const_str_MAX7219CLK; +extern const bcstring be_const_str_SWT1; +extern const bcstring be_const_str_WEBCAM_XCLK; +extern const bcstring be_const_str_ROT1A_NP; +extern const bcstring be_const_str_name; +extern const bcstring be_const_str_NRF24_CS; +extern const bcstring be_const_str_SYMBOL_WARNING; +extern const bcstring be_const_str_nil; +extern const bcstring be_const_str_addr; +extern const bcstring be_const_str_lv_tileview; +extern const bcstring be_const_str_XPT2046_CS; +extern const bcstring be_const_str_opt_eq; +extern const bcstring be_const_str_HALLEFFECT; +extern const bcstring be_const_str_PULLUP; +extern const bcstring be_const_str_MP3_DFR562; +extern const bcstring be_const_str_SI7021; +extern const bcstring be_const_str_cosh; +extern const bcstring be_const_str_lv_bar; +extern const bcstring be_const_str_break; +extern const bcstring be_const_str_ETH_PHY_POWER; +extern const bcstring be_const_str_MAX7219DIN; +extern const bcstring be_const_str_SYMBOL_BELL; +extern const bcstring be_const_str___iterator__; +extern const bcstring be_const_str_HRXL_RX; +extern const bcstring be_const_str_SSD1351_DC; +extern const bcstring be_const_str_rand; +extern const bcstring be_const_str_NRF24_DC; +extern const bcstring be_const_str_PN532_TXD; +extern const bcstring be_const_str_SYMBOL_BLUETOOTH; +extern const bcstring be_const_str_TM1638STB; +extern const bcstring be_const_str_TUYA_TX; +extern const bcstring be_const_str_Tasmota; +extern const bcstring be_const_str_set_light; +extern const bcstring be_const_str_PMS5003_RX; +extern const bcstring be_const_str_response_append; +extern const bcstring be_const_str_ROT1A; +extern const bcstring be_const_str_pi; +extern const bcstring be_const_str_as; +extern const bcstring be_const_str_ETH_PHY_MDIO; +extern const bcstring be_const_str_hex; +extern const bcstring be_const_str_ADE7953_IRQ; +extern const bcstring be_const_str_SSPI_CS; +extern const bcstring be_const_str_SWT1_NP; +extern const bcstring be_const_str_EPAPER29_CS; +extern const bcstring be_const_str_VL53L0X_XSHUT1; +extern const bcstring be_const_str_display; +extern const bcstring be_const_str_SDM72_TX; +extern const bcstring be_const_str_lv_page; +extern const bcstring be_const_str_SM16716_DAT; +extern const bcstring be_const_str_tostring; +extern const bcstring be_const_str_NEOPOOL_RX; +extern const bcstring be_const_str_load_font; +extern const bcstring be_const_str_lv_linemeter; +extern const bcstring be_const_str_sinh; +extern const bcstring be_const_str_LE01MR_RX; +extern const bcstring be_const_str_PULLDOWN; +extern const bcstring be_const_str_member; +extern const bcstring be_const_str_push; +extern const bcstring be_const_str_ADC_BUTTON; +extern const bcstring be_const_str_scale_uint; +extern const bcstring be_const_str_time_str; +extern const bcstring be_const_str_AS608_RX; +extern const bcstring be_const_str_HTTP_MANAGER; +extern const bcstring be_const_str_PMS5003_TX; +extern const bcstring be_const_str_SYMBOL_UPLOAD; +extern const bcstring be_const_str_char; +extern const bcstring be_const_str_get; +extern const bcstring be_const_str_NRG_SEL; +extern const bcstring be_const_str_lv_label; +extern const bcstring be_const_str_SDM120_TX; +extern const bcstring be_const_str_json_append; +extern const bcstring be_const_str_else; +extern const bcstring be_const_str_input; diff --git a/lib/libesp32/Berry/generate/be_const_strtab_def.h b/lib/libesp32/Berry/generate/be_const_strtab_def.h index f1b2d3d21..26ec9c009 100644 --- a/lib/libesp32/Berry/generate/be_const_strtab_def.h +++ b/lib/libesp32/Berry/generate/be_const_strtab_def.h @@ -1,847 +1,879 @@ -be_define_const_str(CNTR1_NP, "CNTR1_NP", 4288381648u, 0, 8, &be_const_str_digital_read); -be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, NULL); -be_define_const_str(MP3_DFR562, "MP3_DFR562", 2859952977u, 0, 10, &be_const_str_get_option); -be_define_const_str(get_option, "get_option", 2123730033u, 0, 10, &be_const_str_screenshot); -be_define_const_str(screenshot, "screenshot", 3894592561u, 0, 10, NULL); -be_define_const_str(ADC_PH, "ADC_PH", 3820290594u, 0, 6, &be_const_str_PMS5003_RX); -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, NULL); -be_define_const_str(raise, "raise", 1593437475u, 70, 5, NULL); -be_define_const_str(ROT1A, "ROT1A", 759599716u, 0, 5, NULL); -be_define_const_str(reverse, "reverse", 558918661u, 0, 7, NULL); -be_define_const_str(HPMA_RX, "HPMA_RX", 3462528998u, 0, 7, &be_const_str_SYMBOL_LIST); -be_define_const_str(SYMBOL_LIST, "SYMBOL_LIST", 70793990u, 0, 11, &be_const_str_asin); -be_define_const_str(asin, "asin", 4272848550u, 0, 4, NULL); -be_define_const_str(OLED_RESET, "OLED_RESET", 4048987655u, 0, 10, &be_const_str_exec_cmd); -be_define_const_str(exec_cmd, "exec_cmd", 493567399u, 0, 8, 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, &be_const_str_SR04_ECHO); -be_define_const_str(SR04_ECHO, "SR04_ECHO", 1906909592u, 0, 9, &be_const_str_scan); -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(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_SDS0X1_RX); -be_define_const_str(SDS0X1_RX, "SDS0X1_RX", 1170717385u, 0, 9, &be_const_str_SYMBOL_DIRECTORY); -be_define_const_str(SYMBOL_DIRECTORY, "SYMBOL_DIRECTORY", 1886053449u, 0, 16, NULL); -be_define_const_str(opt_call, "()", 685372826u, 0, 2, &be_const_str_ST7789_CS); -be_define_const_str(ST7789_CS, "ST7789_CS", 2937305434u, 0, 9, &be_const_str_SYMBOL_CHARGE); -be_define_const_str(SYMBOL_CHARGE, "SYMBOL_CHARGE", 2106391946u, 0, 13, NULL); -be_define_const_str(BUZZER, "BUZZER", 1550039611u, 0, 6, &be_const_str_SSPI_CS); -be_define_const_str(SSPI_CS, "SSPI_CS", 977784795u, 0, 7, NULL); -be_define_const_str(NRG_SEL, "NRG_SEL", 1771358125u, 0, 7, &be_const_str_type); -be_define_const_str(type, "type", 1361572173u, 0, 4, NULL); -be_define_const_str(FTC532, "FTC532", 3182343438u, 0, 6, &be_const_str_GPS_RX); -be_define_const_str(GPS_RX, "GPS_RX", 1075637342u, 0, 6, NULL); -be_define_const_str(Driver, "Driver", 3576386303u, 0, 6, &be_const_str_MAX31855CLK); -be_define_const_str(MAX31855CLK, "MAX31855CLK", 715977727u, 0, 11, &be_const_str_add_cmd); -be_define_const_str(add_cmd, "add_cmd", 3361630879u, 0, 7, &be_const_str_lv_color); -be_define_const_str(lv_color, "lv_color", 1419148319u, 0, 8, NULL); -be_define_const_str(ADC_TEMP, "ADC_TEMP", 3771053440u, 0, 8, &be_const_str_OPTION_A); -be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_WEBCAM_RESET); -be_define_const_str(WEBCAM_RESET, "WEBCAM_RESET", 2171221520u, 0, 12, &be_const_str_lv_list); -be_define_const_str(lv_list, "lv_list", 2876551248u, 0, 7, NULL); -be_define_const_str(ST7789_DC, "ST7789_DC", 2533509745u, 0, 9, &be_const_str_log); -be_define_const_str(log, "log", 1062293841u, 0, 3, NULL); -be_define_const_str(SYMBOL_DOWN, "SYMBOL_DOWN", 1107513570u, 0, 11, NULL); -be_define_const_str(MAX7219CS, "MAX7219CS", 2593198244u, 0, 9, &be_const_str_SYMBOL_PLAY); -be_define_const_str(SYMBOL_PLAY, "SYMBOL_PLAY", 1750902100u, 0, 11, NULL); -be_define_const_str(SYMBOL_HOME, "SYMBOL_HOME", 730845525u, 0, 11, &be_const_str_lv_keyboard); -be_define_const_str(lv_keyboard, "lv_keyboard", 197530229u, 0, 11, NULL); -be_define_const_str(SYMBOL_EDIT, "SYMBOL_EDIT", 1396182822u, 0, 11, &be_const_str_lv_label); -be_define_const_str(lv_label, "lv_label", 4199664246u, 0, 8, &be_const_str_name); -be_define_const_str(name, "name", 2369371622u, 0, 4, &be_const_str_scale_uint); -be_define_const_str(scale_uint, "scale_uint", 3090811094u, 0, 10, NULL); -be_define_const_str(ADC_RANGE, "ADC_RANGE", 3467329543u, 0, 9, &be_const_str_KEY1); -be_define_const_str(KEY1, "KEY1", 6715975u, 0, 4, &be_const_str_WE517_RX); -be_define_const_str(WE517_RX, "WE517_RX", 4096577879u, 0, 8, NULL); -be_define_const_str(FALLING, "FALLING", 2851701064u, 0, 7, &be_const_str_OUTPUT_LO); -be_define_const_str(OUTPUT_LO, "OUTPUT_LO", 3724620328u, 0, 9, &be_const_str_PZEM0XX_TX); -be_define_const_str(PZEM0XX_TX, "PZEM0XX_TX", 944775704u, 0, 10, &be_const_str_SSPI_DC); -be_define_const_str(SSPI_DC, "SSPI_DC", 1782271864u, 0, 7, &be_const_str_SYMBOL_USB); -be_define_const_str(SYMBOL_USB, "SYMBOL_USB", 1962656552u, 0, 10, &be_const_str_insert); -be_define_const_str(insert, "insert", 3332609576u, 0, 6, NULL); -be_define_const_str(SAIR_RX, "SAIR_RX", 1273688713u, 0, 7, NULL); -be_define_const_str(SYMBOL_CUT, "SYMBOL_CUT", 3455112394u, 0, 10, &be_const_str_lower); -be_define_const_str(lower, "lower", 3038577850u, 0, 5, NULL); -be_define_const_str(RFSEND, "RFSEND", 1862630731u, 0, 6, NULL); -be_define_const_str(RA8876_CS, "RA8876_CS", 2529944108u, 0, 9, &be_const_str_size); -be_define_const_str(size, "size", 597743964u, 0, 4, NULL); -be_define_const_str(module, "module", 3617558685u, 0, 6, NULL); -be_define_const_str(DI, "DI", 1070498734u, 0, 2, NULL); -be_define_const_str(WIEGAND_D0, "WIEGAND_D0", 4192335759u, 0, 10, &be_const_str_start); -be_define_const_str(start, "start", 1697318111u, 0, 5, NULL); -be_define_const_str(DDSU666_RX, "DDSU666_RX", 1812507936u, 0, 10, NULL); -be_define_const_str(resize, "resize", 3514612129u, 0, 6, NULL); -be_define_const_str(detect, "detect", 8884370u, 0, 6, NULL); -be_define_const_str(A4988_MS1, "A4988_MS1", 1729976611u, 0, 9, &be_const_str_RC522_RST); -be_define_const_str(RC522_RST, "RC522_RST", 720511443u, 0, 9, NULL); -be_define_const_str(count, "count", 967958004u, 0, 5, NULL); -be_define_const_str(LMT01, "LMT01", 2490623797u, 0, 5, &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_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, NULL); -be_define_const_str(HRE_CLOCK, "HRE_CLOCK", 2870559111u, 0, 9, NULL); -be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_break); -be_define_const_str(break, "break", 3378807160u, 58, 5, NULL); -be_define_const_str(lv_btnmatrix, "lv_btnmatrix", 626248489u, 0, 12, NULL); -be_define_const_str(end, "end", 1787721130u, 56, 3, NULL); -be_define_const_str(lv_gauge, "lv_gauge", 118613531u, 0, 8, &be_const_str_lv_group); -be_define_const_str(lv_group, "lv_group", 3852039019u, 0, 8, &be_const_str_time_dump); -be_define_const_str(time_dump, "time_dump", 3330410747u, 0, 9, NULL); -be_define_const_str(classname, "classname", 1998589948u, 0, 9, &be_const_str_get_light); -be_define_const_str(get_light, "get_light", 381930476u, 0, 9, NULL); -be_define_const_str(opt_connect, "..", 2748622605u, 0, 2, NULL); -be_define_const_str(TXD, "TXD", 3614562079u, 0, 3, &be_const_str_issubclass); -be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, NULL); -be_define_const_str(else, "else", 3183434736u, 52, 4, NULL); -be_define_const_str(ZEROCROSS, "ZEROCROSS", 1747596785u, 0, 9, NULL); -be_define_const_str(SYMBOL_GPS, "SYMBOL_GPS", 3044165570u, 0, 10, &be_const_str_clear); -be_define_const_str(clear, "clear", 1550717474u, 0, 5, &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(response_append, "response_append", 450346371u, 0, 15, NULL); -be_define_const_str(HM10_TX, "HM10_TX", 1522037252u, 0, 7, NULL); -be_define_const_str(NRG_CF1, "NRG_CF1", 3292534757u, 0, 7, &be_const_str__ccmd); -be_define_const_str(_ccmd, "_ccmd", 2163421413u, 0, 5, &be_const_str_tostring); -be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL); -be_define_const_str(AS608_TX, "AS608_TX", 48630934u, 0, 8, &be_const_str_HRXL_RX); -be_define_const_str(HRXL_RX, "HRXL_RX", 92702006u, 0, 7, &be_const_str_IRRECV); -be_define_const_str(IRRECV, "IRRECV", 1743648982u, 0, 6, &be_const_str_item); -be_define_const_str(item, "item", 2671260646u, 0, 4, &be_const_str_lv_win); -be_define_const_str(lv_win, "lv_win", 780927558u, 0, 6, NULL); -be_define_const_str(SYMBOL_NEXT, "SYMBOL_NEXT", 1102844455u, 0, 11, &be_const_str_SYMBOL_SAVE); -be_define_const_str(SYMBOL_SAVE, "SYMBOL_SAVE", 2439821015u, 0, 11, &be_const_str_upper); -be_define_const_str(upper, "upper", 176974407u, 0, 5, NULL); -be_define_const_str(GPS_TX, "GPS_TX", 4228740808u, 0, 6, &be_const_str_ZIGBEE_TX); -be_define_const_str(ZIGBEE_TX, "ZIGBEE_TX", 25119256u, 0, 9, &be_const_str_wire_scan); -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_lv_spinbox); -be_define_const_str(lv_spinbox, "lv_spinbox", 2666096729u, 0, 10, NULL); -be_define_const_str(_request_from, "_request_from", 3965148604u, 0, 13, &be_const_str_cos); -be_define_const_str(cos, "cos", 4220379804u, 0, 3, &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, NULL); -be_define_const_str(BS814_DAT, "BS814_DAT", 3620403837u, 0, 9, &be_const_str_remove); -be_define_const_str(remove, "remove", 3683784189u, 0, 6, NULL); -be_define_const_str(TASMOTACLIENT_RXD, "TASMOTACLIENT_RXD", 72868318u, 0, 17, &be_const_str_wire2); -be_define_const_str(wire2, "wire2", 3229499038u, 0, 5, &be_const_str_yield); -be_define_const_str(yield, "yield", 1821831854u, 0, 5, NULL); -be_define_const_str(TUYA_RX, "TUYA_RX", 1609397679u, 0, 7, NULL); -be_define_const_str(web_add_main_button, "web_add_main_button", 3960367664u, 0, 19, NULL); -be_define_const_str(seg7_font, "seg7_font", 4099690689u, 0, 9, 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, NULL); -be_define_const_str(ILI9341_CS, "ILI9341_CS", 3519318851u, 0, 10, &be_const_str_SM16716_SEL); -be_define_const_str(SM16716_SEL, "SM16716_SEL", 142377379u, 0, 11, NULL); -be_define_const_str(TASMOTACLIENT_TXD, "TASMOTACLIENT_TXD", 1386193940u, 0, 17, &be_const_str_copy); -be_define_const_str(copy, "copy", 3848464964u, 0, 4, NULL); -be_define_const_str(, "", 2166136261u, 0, 0, NULL); -be_define_const_str(CSE7761_TX, "CSE7761_TX", 3354719142u, 0, 10, NULL); -be_define_const_str(dump, "dump", 3663001223u, 0, 4, NULL); -be_define_const_str(BS814_CLK, "BS814_CLK", 3002713336u, 0, 9, &be_const_str__begin_transmission); -be_define_const_str(_begin_transmission, "_begin_transmission", 2779461176u, 0, 19, &be_const_str_imin); -be_define_const_str(imin, "imin", 2714127864u, 0, 4, NULL); -be_define_const_str(every_second, "every_second", 2075451465u, 0, 12, &be_const_str_open); -be_define_const_str(open, "open", 3546203337u, 0, 4, NULL); -be_define_const_str(find, "find", 3186656602u, 0, 4, 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(ROT1B, "ROT1B", 809932573u, 0, 5, &be_const_str_SYMBOL_PASTE); -be_define_const_str(SYMBOL_PASTE, "SYMBOL_PASTE", 2281577421u, 0, 12, &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_real); -be_define_const_str(real, "real", 3604983901u, 0, 4, &be_const_str_resolvecmnd); -be_define_const_str(resolvecmnd, "resolvecmnd", 993361485u, 0, 11, NULL); -be_define_const_str(compile, "compile", 1000265118u, 0, 7, NULL); -be_define_const_str(SYMBOL_PREV, "SYMBOL_PREV", 2952615023u, 0, 11, NULL); -be_define_const_str(SYMBOL_TRASH, "SYMBOL_TRASH", 3169100368u, 0, 12, &be_const_str_log10); -be_define_const_str(log10, "log10", 2346846000u, 0, 5, &be_const_str_remove_rule); -be_define_const_str(remove_rule, "remove_rule", 3456211328u, 0, 11, &be_const_str_rtc); -be_define_const_str(rtc, "rtc", 1070575216u, 0, 3, NULL); -be_define_const_str(LED1, "LED1", 21005825u, 0, 4, &be_const_str_tolower); -be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, NULL); -be_define_const_str(classof, "classof", 1796577762u, 0, 7, NULL); -be_define_const_str(opt_neq, "!=", 2428715011u, 0, 2, &be_const_str_AZ_RXD); -be_define_const_str(AZ_RXD, "AZ_RXD", 699914019u, 0, 6, &be_const_str_init); -be_define_const_str(init, "init", 380752755u, 0, 4, NULL); -be_define_const_str(SPI_CS, "SPI_CS", 553701236u, 0, 6, &be_const_str_Tasmota); -be_define_const_str(Tasmota, "Tasmota", 4047617668u, 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_read_bytes); -be_define_const_str(read_bytes, "read_bytes", 3576733173u, 0, 10, &be_const_str_time_reached); -be_define_const_str(time_reached, "time_reached", 2075136773u, 0, 12, NULL); -be_define_const_str(KEY1_NP, "KEY1_NP", 709918726u, 0, 7, NULL); -be_define_const_str(SYMBOL_BELL, "SYMBOL_BELL", 1736196487u, 0, 11, &be_const_str_SYMBOL_EJECT); -be_define_const_str(SYMBOL_EJECT, "SYMBOL_EJECT", 873760647u, 0, 12, NULL); -be_define_const_str(lv_arc, "lv_arc", 4170125384u, 0, 6, &be_const_str_false); -be_define_const_str(false, "false", 184981848u, 62, 5, NULL); -be_define_const_str(SDM120_RX, "SDM120_RX", 1367571753u, 0, 9, &be_const_str_TFMINIPLUS_TX); -be_define_const_str(TFMINIPLUS_TX, "TFMINIPLUS_TX", 2527875337u, 0, 13, &be_const_str_TM1637CLK); -be_define_const_str(TM1637CLK, "TM1637CLK", 2797300857u, 0, 9, NULL); -be_define_const_str(EPAPER29_CS, "EPAPER29_CS", 3916373594u, 0, 11, &be_const_str_I2C_SCL); -be_define_const_str(I2C_SCL, "I2C_SCL", 164217098u, 0, 7, &be_const_str_SYMBOL_DOWNLOAD); -be_define_const_str(SYMBOL_DOWNLOAD, "SYMBOL_DOWNLOAD", 2607324090u, 0, 15, &be_const_str_resp_cmnd_failed); -be_define_const_str(resp_cmnd_failed, "resp_cmnd_failed", 2136281562u, 0, 16, NULL); -be_define_const_str(RISING, "RISING", 1256404539u, 0, 6, &be_const_str_digital_write); -be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, NULL); -be_define_const_str(ADC_JOY, "ADC_JOY", 1116943612u, 0, 7, &be_const_str_time_str); -be_define_const_str(time_str, "time_str", 2613827612u, 0, 8, NULL); -be_define_const_str(DYP_RX, "DYP_RX", 2122310285u, 0, 6, &be_const_str_ETH_PHY_MDC); -be_define_const_str(ETH_PHY_MDC, "ETH_PHY_MDC", 1519379581u, 0, 11, &be_const_str_LEDLNK); -be_define_const_str(LEDLNK, "LEDLNK", 2862810701u, 0, 6, &be_const_str_LEDLNK_INV); -be_define_const_str(LEDLNK_INV, "LEDLNK_INV", 3559015101u, 0, 10, &be_const_str_lv_obj); -be_define_const_str(lv_obj, "lv_obj", 4257833149u, 0, 6, &be_const_str_push); -be_define_const_str(push, "push", 2272264157u, 0, 4, &be_const_str_set_power); -be_define_const_str(set_power, "set_power", 549820893u, 0, 9, NULL); -be_define_const_str(IEM3000_TX, "IEM3000_TX", 1185907310u, 0, 10, NULL); -be_define_const_str(DHT22, "DHT22", 215937903u, 0, 5, &be_const_str_SYMBOL_UPLOAD); -be_define_const_str(SYMBOL_UPLOAD, "SYMBOL_UPLOAD", 3293679647u, 0, 13, NULL); -be_define_const_str(ILI9341_DC, "ILI9341_DC", 28838624u, 0, 10, &be_const_str_TX2X_TXD_BLACK); -be_define_const_str(TX2X_TXD_BLACK, "TX2X_TXD_BLACK", 956526176u, 0, 14, &be_const_str_asstring); -be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, NULL); -be_define_const_str(ADC_BUTTON, "ADC_BUTTON", 3393454690u, 0, 10, &be_const_str_format); -be_define_const_str(format, "format", 3114108242u, 0, 6, &be_const_str_lv_line); -be_define_const_str(lv_line, "lv_line", 2692732914u, 0, 7, NULL); -be_define_const_str(OUTPUT, "OUTPUT", 1469629700u, 0, 6, &be_const_str_RF_SENSOR); -be_define_const_str(RF_SENSOR, "RF_SENSOR", 2289628100u, 0, 9, &be_const_str_SYMBOL_SD_CARD); -be_define_const_str(SYMBOL_SD_CARD, "SYMBOL_SD_CARD", 2542376484u, 0, 14, NULL); -be_define_const_str(TASMOTACLIENT_RST_INV, "TASMOTACLIENT_RST_INV", 2601785365u, 0, 21, &be_const_str_pow); -be_define_const_str(pow, "pow", 1479764693u, 0, 3, NULL); -be_define_const_str(PULLDOWN, "PULLDOWN", 1853074086u, 0, 8, &be_const_str_SPI_MOSI); -be_define_const_str(SPI_MOSI, "SPI_MOSI", 2494218614u, 0, 8, NULL); -be_define_const_str(SYMBOL_LEFT, "SYMBOL_LEFT", 1563517575u, 0, 11, NULL); -be_define_const_str(SYMBOL_LOOP, "SYMBOL_LOOP", 2762053208u, 0, 11, &be_const_str_SYMBOL_RIGHT); -be_define_const_str(SYMBOL_RIGHT, "SYMBOL_RIGHT", 2984010648u, 0, 12, &be_const_str_rad); -be_define_const_str(rad, "rad", 1358899048u, 0, 3, &be_const_str_setrange); -be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL); -be_define_const_str(MHZ_TXD, "MHZ_TXD", 3310158233u, 0, 7, &be_const_str_RXD); -be_define_const_str(RXD, "RXD", 2311579049u, 0, 3, &be_const_str_bus); -be_define_const_str(bus, "bus", 1607822841u, 0, 3, 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_PZEM004_RX); -be_define_const_str(PZEM004_RX, "PZEM004_RX", 3411153194u, 0, 10, NULL); -be_define_const_str(EPAPER42_CS, "EPAPER42_CS", 3274717451u, 0, 11, &be_const_str_SSD1331_DC); -be_define_const_str(SSD1331_DC, "SSD1331_DC", 3386560859u, 0, 10, &be_const_str_abs); -be_define_const_str(abs, "abs", 709362235u, 0, 3, &be_const_str_assert); -be_define_const_str(assert, "assert", 2774883451u, 0, 6, NULL); -be_define_const_str(OUTPUT_OPEN_DRAIN, "OUTPUT_OPEN_DRAIN", 2147249436u, 0, 17, &be_const_str_SYMBOL_PAUSE); -be_define_const_str(SYMBOL_PAUSE, "SYMBOL_PAUSE", 641998172u, 0, 12, NULL); -be_define_const_str(DSB_OUT, "DSB_OUT", 732335085u, 0, 7, &be_const_str_NRG_SEL_INV); -be_define_const_str(NRG_SEL_INV, "NRG_SEL_INV", 3567431069u, 0, 11, NULL); -be_define_const_str(HLW_CF, "HLW_CF", 3982619486u, 0, 6, NULL); -be_define_const_str(REL1, "REL1", 3142397887u, 0, 4, &be_const_str_TCP_RX); -be_define_const_str(TCP_RX, "TCP_RX", 3904354751u, 0, 6, &be_const_str_acos); -be_define_const_str(acos, "acos", 1006755615u, 0, 4, &be_const_str_atan); -be_define_const_str(atan, "atan", 108579519u, 0, 4, NULL); -be_define_const_str(AS608_RX, "AS608_RX", 4275502016u, 0, 8, &be_const_str_HPMA_TX); -be_define_const_str(HPMA_TX, "HPMA_TX", 173233104u, 0, 7, &be_const_str_pop); -be_define_const_str(pop, "pop", 1362321360u, 0, 3, &be_const_str_str); -be_define_const_str(str, "str", 3259748752u, 0, 3, &be_const_str_for); -be_define_const_str(for, "for", 2901640080u, 54, 3, NULL); -be_define_const_str(SYMBOL_VOLUME_MID, "SYMBOL_VOLUME_MID", 158835057u, 0, 17, &be_const_str_TM1638STB); -be_define_const_str(TM1638STB, "TM1638STB", 823674593u, 0, 9, &be_const_str_collect); -be_define_const_str(collect, "collect", 2399039025u, 0, 7, &be_const_str_setmember); -be_define_const_str(setmember, "setmember", 1432909441u, 0, 9, NULL); -be_define_const_str(addr, "addr", 1087856498u, 0, 4, &be_const_str_isinstance); -be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, &be_const_str_range); -be_define_const_str(range, "range", 4208725202u, 0, 5, NULL); -be_define_const_str(dot_p, ".p", 1171526419u, 0, 2, &be_const_str_split); -be_define_const_str(split, "split", 2276994531u, 0, 5, NULL); -be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, NULL); -be_define_const_str(SYMBOL_BATTERY_3, "SYMBOL_BATTERY_3", 662591301u, 0, 16, &be_const_str_i2c_enabled); -be_define_const_str(i2c_enabled, "i2c_enabled", 218388101u, 0, 11, NULL); -be_define_const_str(DSB, "DSB", 98073254u, 0, 3, &be_const_str___lower__); -be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, 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(SSD1331_CS, "SSD1331_CS", 4191047928u, 0, 10, &be_const_str_publish); -be_define_const_str(publish, "publish", 264247304u, 0, 7, NULL); -be_define_const_str(SSD1351_CS, "SSD1351_CS", 488746042u, 0, 10, NULL); -be_define_const_str(SYMBOL_POWER, "SYMBOL_POWER", 1125993627u, 0, 12, &be_const_str_WEBCAM_SIOC); -be_define_const_str(WEBCAM_SIOC, "WEBCAM_SIOC", 218815147u, 0, 11, &be_const_str_resp_cmnd_done); -be_define_const_str(resp_cmnd_done, "resp_cmnd_done", 2601874875u, 0, 14, NULL); -be_define_const_str(int, "int", 2515107422u, 0, 3, &be_const_str_register_button_encoder); -be_define_const_str(register_button_encoder, "register_button_encoder", 2811301550u, 0, 23, NULL); -be_define_const_str(BUZZER_INV, "BUZZER_INV", 3274564335u, 0, 10, NULL); -be_define_const_str(IRSEND, "IRSEND", 184848336u, 0, 6, &be_const_str__end_transmission); -be_define_const_str(_end_transmission, "_end_transmission", 3237480400u, 0, 17, &be_const_str_lv_roller); -be_define_const_str(lv_roller, "lv_roller", 661902064u, 0, 9, &be_const_str_except); -be_define_const_str(except, "except", 950914032u, 69, 6, NULL); -be_define_const_str(RFRECV, "RFRECV", 354742801u, 0, 6, &be_const_str_SSD1351_DC); -be_define_const_str(SSD1351_DC, "SSD1351_DC", 84950353u, 0, 10, &be_const_str_SYMBOL_REFRESH); -be_define_const_str(SYMBOL_REFRESH, "SYMBOL_REFRESH", 1266229761u, 0, 14, NULL); -be_define_const_str(DEEPSLEEP, "DEEPSLEEP", 189922226u, 0, 9, &be_const_str_WS2812); -be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, NULL); -be_define_const_str(KEY1_INV, "KEY1_INV", 263542563u, 0, 8, NULL); -be_define_const_str(lv_canvas, "lv_canvas", 142865412u, 0, 9, NULL); -be_define_const_str(WEBCAM_DATA, "WEBCAM_DATA", 1476954421u, 0, 11, &be_const_str_ZIGBEE_RST); -be_define_const_str(ZIGBEE_RST, "ZIGBEE_RST", 721588661u, 0, 10, NULL); -be_define_const_str(I2C_SDA, "I2C_SDA", 1052592262u, 0, 7, &be_const_str_MAX7219CLK); -be_define_const_str(MAX7219CLK, "MAX7219CLK", 963568838u, 0, 10, &be_const_str_MIEL_HVAC_TX); -be_define_const_str(MIEL_HVAC_TX, "MIEL_HVAC_TX", 567403014u, 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_indev); -be_define_const_str(lv_indev, "lv_indev", 225602374u, 0, 8, &be_const_str_lv_msgbox); -be_define_const_str(lv_msgbox, "lv_msgbox", 689085206u, 0, 9, &be_const_str_reverse_gamma10); -be_define_const_str(reverse_gamma10, "reverse_gamma10", 739112262u, 0, 15, NULL); -be_define_const_str(add_rule, "add_rule", 596540743u, 0, 8, NULL); -be_define_const_str(EPD_DATA, "EPD_DATA", 3799141097u, 0, 8, &be_const_str_SSPI_MOSI); -be_define_const_str(SSPI_MOSI, "SSPI_MOSI", 3745917497u, 0, 9, &be_const_str_TUYA_TX); -be_define_const_str(TUYA_TX, "TUYA_TX", 1541301465u, 0, 7, &be_const_str_lv_checkbox); -be_define_const_str(lv_checkbox, "lv_checkbox", 7454841u, 0, 11, NULL); -be_define_const_str(hex, "hex", 4273249610u, 0, 3, NULL); -be_define_const_str(ARIRFSEL, "ARIRFSEL", 233874443u, 0, 8, NULL); -be_define_const_str(top, "top", 2802900028u, 0, 3, NULL); -be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, NULL); -be_define_const_str(SM16716_DAT, "SM16716_DAT", 1905621806u, 0, 11, &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_calldepth); -be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, NULL); -be_define_const_str(SYMBOL_SETTINGS, "SYMBOL_SETTINGS", 339656335u, 0, 15, NULL); -be_define_const_str(ADE7953_IRQ, "ADE7953_IRQ", 2329185922u, 0, 11, NULL); -be_define_const_str(SDCARD_CS, "SDCARD_CS", 3348952003u, 0, 9, &be_const_str_add_driver); -be_define_const_str(add_driver, "add_driver", 1654458371u, 0, 10, &be_const_str_member); -be_define_const_str(member, "member", 719708611u, 0, 6, NULL); -be_define_const_str(SHELLY_DIMMER_BOOT0, "SHELLY_DIMMER_BOOT0", 2948777716u, 0, 19, &be_const_str__timers); -be_define_const_str(_timers, "_timers", 2600100916u, 0, 7, &be_const_str_add); +be_define_const_str(TM1638CLK, "TM1638CLK", 3045182446u, 0, 9, &be_const_str_add); be_define_const_str(add, "add", 993596020u, 0, 3, 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, NULL); -be_define_const_str(INPUT_PULLUP, "INPUT_PULLUP", 2912931654u, 0, 12, &be_const_str_OUTPUT_HI); -be_define_const_str(OUTPUT_HI, "OUTPUT_HI", 3153592902u, 0, 9, NULL); -be_define_const_str(HJL_CF, "HJL_CF", 786158487u, 0, 6, NULL); -be_define_const_str(WEBCAM_HSD, "WEBCAM_HSD", 2648502504u, 0, 10, &be_const_str_ceil); -be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, &be_const_str_set_light); -be_define_const_str(set_light, "set_light", 3176076152u, 0, 9, NULL); -be_define_const_str(srand, "srand", 465518633u, 0, 5, NULL); -be_define_const_str(WEBCAM_SIOD, "WEBCAM_SIOD", 302703242u, 0, 11, &be_const_str_save_before_restart); -be_define_const_str(save_before_restart, "save_before_restart", 1253239338u, 0, 19, NULL); -be_define_const_str(SM16716_CLK, "SM16716_CLK", 3037641483u, 0, 11, &be_const_str_SYMBOL_MUTE); -be_define_const_str(SYMBOL_MUTE, "SYMBOL_MUTE", 563116043u, 0, 11, &be_const_str_input); -be_define_const_str(input, "input", 4191711099u, 0, 5, NULL); -be_define_const_str(WINDMETER_SPEED, "WINDMETER_SPEED", 1980822204u, 0, 15, &be_const_str_write); -be_define_const_str(write, "write", 3190202204u, 0, 5, NULL); -be_define_const_str(char, "char", 2823553821u, 0, 4, &be_const_str_get_free_heap); -be_define_const_str(get_free_heap, "get_free_heap", 625069757u, 0, 13, &be_const_str_lv_bar); -be_define_const_str(lv_bar, "lv_bar", 1582673229u, 0, 6, NULL); -be_define_const_str(ADC_LIGHT, "ADC_LIGHT", 3982461502u, 0, 9, &be_const_str_lv_calendar); -be_define_const_str(lv_calendar, "lv_calendar", 3284396894u, 0, 11, NULL); -be_define_const_str(ELECTRIQ_MOODL_TX, "ELECTRIQ_MOODL_TX", 31009247u, 0, 17, &be_const_str_LE01MR_TX); -be_define_const_str(LE01MR_TX, "LE01MR_TX", 1589687023u, 0, 9, &be_const_str_SYMBOL_BATTERY_1); -be_define_const_str(SYMBOL_BATTERY_1, "SYMBOL_BATTERY_1", 629036063u, 0, 16, &be_const_str_event); -be_define_const_str(event, "event", 4264611999u, 0, 5, &be_const_str_class); -be_define_const_str(class, "class", 2872970239u, 57, 5, NULL); -be_define_const_str(AS3935, "AS3935", 603621745u, 0, 6, &be_const_str_WE517_TX); -be_define_const_str(WE517_TX, "WE517_TX", 2954817217u, 0, 8, NULL); -be_define_const_str(lv_tabview, "lv_tabview", 2109024786u, 0, 10, &be_const_str_lv_textarea); -be_define_const_str(lv_textarea, "lv_textarea", 2864635074u, 0, 11, &be_const_str_web_add_button); -be_define_const_str(web_add_button, "web_add_button", 3537875058u, 0, 14, NULL); -be_define_const_str(json_append, "json_append", 3002019284u, 0, 11, NULL); -be_define_const_str(SDM630_RX, "SDM630_RX", 1971606309u, 0, 9, NULL); -be_define_const_str(resp_cmnd_str, "resp_cmnd_str", 737845590u, 0, 13, NULL); -be_define_const_str(ROT1A_NP, "ROT1A_NP", 2322706903u, 0, 8, &be_const_str_iter); -be_define_const_str(iter, "iter", 3124256359u, 0, 4, &be_const_str_lv_img); -be_define_const_str(lv_img, "lv_img", 2474052327u, 0, 6, NULL); -be_define_const_str(DCKI, "DCKI", 3846847480u, 0, 4, &be_const_str_IEM3000_RX); -be_define_const_str(IEM3000_RX, "IEM3000_RX", 1117811096u, 0, 10, &be_const_str_fromstring); -be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, NULL); -be_define_const_str(CC1101_GDO2, "CC1101_GDO2", 974166265u, 0, 11, &be_const_str_WEBCAM_PCLK); -be_define_const_str(WEBCAM_PCLK, "WEBCAM_PCLK", 3813770649u, 0, 11, &be_const_str__drivers); -be_define_const_str(_drivers, "_drivers", 3260328985u, 0, 8, NULL); -be_define_const_str(P9813_DAT, "P9813_DAT", 778577052u, 0, 9, NULL); -be_define_const_str(concat, "concat", 4124019837u, 0, 6, NULL); -be_define_const_str(PN532_RXD, "PN532_RXD", 1780093022u, 0, 9, &be_const_str_SOLAXX1_RX); -be_define_const_str(SOLAXX1_RX, "SOLAXX1_RX", 971867054u, 0, 10, NULL); -be_define_const_str(INPUT_PULLDOWN, "INPUT_PULLDOWN", 1172232591u, 0, 14, &be_const_str_MAX31855CS); -be_define_const_str(MAX31855CS, "MAX31855CS", 753620511u, 0, 10, &be_const_str_SYMBOL_IMAGE); -be_define_const_str(SYMBOL_IMAGE, "SYMBOL_IMAGE", 815601151u, 0, 12, &be_const_str_return); -be_define_const_str(return, "return", 2246981567u, 60, 6, NULL); -be_define_const_str(CSE7761_RX, "CSE7761_RX", 65423248u, 0, 10, &be_const_str_write_bytes); -be_define_const_str(write_bytes, "write_bytes", 1227543792u, 0, 11, NULL); -be_define_const_str(pi, "pi", 1213090802u, 0, 2, NULL); -be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, &be_const_str_load_font); -be_define_const_str(load_font, "load_font", 1875840019u, 0, 9, &be_const_str_set); -be_define_const_str(set, "set", 3324446467u, 0, 3, NULL); -be_define_const_str(PN532_TXD, "PN532_TXD", 3093418644u, 0, 9, &be_const_str_setitem); -be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, NULL); -be_define_const_str(SDM72_TX, "SDM72_TX", 2042143269u, 0, 8, &be_const_str_TELEINFO_ENABLE); -be_define_const_str(TELEINFO_ENABLE, "TELEINFO_ENABLE", 1600974501u, 0, 15, NULL); -be_define_const_str(WEBCAM_VSYNC, "WEBCAM_VSYNC", 4032882166u, 0, 12, &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, NULL); -be_define_const_str(WEBCAM_HREF, "WEBCAM_HREF", 3161890024u, 0, 11, &be_const_str_Wire); -be_define_const_str(Wire, "Wire", 1938276536u, 0, 4, &be_const_str_lv_cont); -be_define_const_str(lv_cont, "lv_cont", 1391686552u, 0, 7, NULL); -be_define_const_str(EXS_ENABLE, "EXS_ENABLE", 1896914313u, 0, 10, &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(KEY1_INV_NP, "KEY1_INV_NP", 3160558586u, 0, 11, &be_const_str_SYMBOL_DUMMY); -be_define_const_str(SYMBOL_DUMMY, "SYMBOL_DUMMY", 3621732138u, 0, 12, NULL); -be_define_const_str(SWT1_NP, "SWT1_NP", 4033043739u, 0, 7, &be_const_str_cmd); +be_define_const_str(MAX31855CS, "MAX31855CS", 753620511u, 0, 10, NULL); +be_define_const_str(RISING, "RISING", 1256404539u, 0, 6, &be_const_str_scan); +be_define_const_str(scan, "scan", 3974641896u, 0, 4, &be_const_str_set_power); +be_define_const_str(set_power, "set_power", 549820893u, 0, 9, NULL); +be_define_const_str(deg, "deg", 3327754271u, 0, 3, &be_const_str_list); +be_define_const_str(list, "list", 217798785u, 0, 4, &be_const_str_real); +be_define_const_str(real, "real", 3604983901u, 0, 4, NULL); +be_define_const_str(SYMBOL_BATTERY_3, "SYMBOL_BATTERY_3", 662591301u, 0, 16, &be_const_str_WEBCAM_VSYNC); +be_define_const_str(WEBCAM_VSYNC, "WEBCAM_VSYNC", 4032882166u, 0, 12, &be_const_str_cmd); be_define_const_str(cmd, "cmd", 4136785899u, 0, 3, NULL); -be_define_const_str(ARIRFRCV, "ARIRFRCV", 1120816444u, 0, 8, &be_const_str_NEOPOOL_TX); -be_define_const_str(NEOPOOL_TX, "NEOPOOL_TX", 2924925804u, 0, 10, &be_const_str_TELEINFO_RX); -be_define_const_str(TELEINFO_RX, "TELEINFO_RX", 1195717356u, 0, 11, &be_const_str_WIEGAND_D1); -be_define_const_str(WIEGAND_D1, "WIEGAND_D1", 4175558140u, 0, 10, NULL); -be_define_const_str(SHELLY_DIMMER_RST_INV, "SHELLY_DIMMER_RST_INV", 2366759773u, 0, 21, NULL); -be_define_const_str(DDS2382_RX, "DDS2382_RX", 432446462u, 0, 10, &be_const_str_ETH_PHY_POWER); -be_define_const_str(ETH_PHY_POWER, "ETH_PHY_POWER", 487529454u, 0, 13, &be_const_str_TM1638CLK); -be_define_const_str(TM1638CLK, "TM1638CLK", 3045182446u, 0, 9, &be_const_str_pin_mode); -be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, 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_WEBCAM_PSRCS); -be_define_const_str(WEBCAM_PSRCS, "WEBCAM_PSRCS", 624464864u, 0, 12, &be_const_str_lv_chart); -be_define_const_str(lv_chart, "lv_chart", 2652494144u, 0, 8, NULL); -be_define_const_str(_rules, "_rules", 4266217105u, 0, 6, NULL); -be_define_const_str(A4988_DIR, "A4988_DIR", 2223595843u, 0, 9, &be_const_str_CSE7766_RX); -be_define_const_str(CSE7766_RX, "CSE7766_RX", 1546766819u, 0, 10, &be_const_str_SYMBOL_SHUFFLE); -be_define_const_str(SYMBOL_SHUFFLE, "SYMBOL_SHUFFLE", 1123310147u, 0, 14, NULL); -be_define_const_str(SSPI_MAX31865_CS1, "SSPI_MAX31865_CS1", 1256578724u, 0, 17, &be_const_str_continue); -be_define_const_str(continue, "continue", 2977070660u, 59, 8, NULL); -be_define_const_str(set_timer, "set_timer", 2135414533u, 0, 9, NULL); -be_define_const_str(PZEM017_RX, "PZEM017_RX", 3227495894u, 0, 10, NULL); -be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, NULL); -be_define_const_str(delay, "delay", 1322381784u, 0, 5, &be_const_str_exp); -be_define_const_str(exp, "exp", 1923516200u, 0, 3, NULL); -be_define_const_str(MAX7219DIN, "MAX7219DIN", 380687049u, 0, 10, NULL); -be_define_const_str(NEOPOOL_RX, "NEOPOOL_RX", 1917974474u, 0, 10, NULL); -be_define_const_str(MGC3130_XFER, "MGC3130_XFER", 4178219131u, 0, 12, NULL); -be_define_const_str(lv_table, "lv_table", 1675691020u, 0, 8, NULL); -be_define_const_str(lv_slider, "lv_slider", 2274180781u, 0, 9, &be_const_str_lv_style); -be_define_const_str(lv_style, "lv_style", 4151611549u, 0, 8, NULL); -be_define_const_str(DHT11_OUT, "DHT11_OUT", 1645300734u, 0, 9, &be_const_str_SYMBOL_PLUS); -be_define_const_str(SYMBOL_PLUS, "SYMBOL_PLUS", 2860093262u, 0, 11, &be_const_str_WEBCAM_PWDN); -be_define_const_str(WEBCAM_PWDN, "WEBCAM_PWDN", 2219597454u, 0, 11, NULL); -be_define_const_str(HALLEFFECT, "HALLEFFECT", 3334305407u, 0, 10, &be_const_str_MHZ_RXD); -be_define_const_str(MHZ_RXD, "MHZ_RXD", 328619727u, 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(SWT1, "SWT1", 805224112u, 0, 4, &be_const_str_SYMBOL_EYE_CLOSE); -be_define_const_str(SYMBOL_EYE_CLOSE, "SYMBOL_EYE_CLOSE", 404721792u, 0, 16, &be_const_str_WEBCAM_PSCLK); -be_define_const_str(WEBCAM_PSCLK, "WEBCAM_PSCLK", 3150007456u, 0, 12, NULL); -be_define_const_str(IBEACON_TX, "IBEACON_TX", 3471826977u, 0, 10, &be_const_str_SENSOR_END); -be_define_const_str(SENSOR_END, "SENSOR_END", 3512542657u, 0, 10, &be_const_str_SYMBOL_VIDEO); -be_define_const_str(SYMBOL_VIDEO, "SYMBOL_VIDEO", 789726913u, 0, 12, NULL); -be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, NULL); -be_define_const_str(CC1101_GDO0, "CC1101_GDO0", 940611027u, 0, 11, &be_const_str_PULLUP); -be_define_const_str(PULLUP, "PULLUP", 3417628531u, 0, 6, &be_const_str_lv_cpicker); -be_define_const_str(lv_cpicker, "lv_cpicker", 1935129251u, 0, 10, NULL); -be_define_const_str(super, "super", 4152230356u, 0, 5, NULL); -be_define_const_str(SSPI_MISO, "SSPI_MISO", 2485347173u, 0, 9, &be_const_str_SYMBOL_BATTERY_EMPTY); -be_define_const_str(SYMBOL_BATTERY_EMPTY, "SYMBOL_BATTERY_EMPTY", 3945064277u, 0, 20, NULL); -be_define_const_str(PZEM016_RX, "PZEM016_RX", 1004012055u, 0, 10, NULL); -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, &be_const_str_wire); -be_define_const_str(wire, "wire", 4082753944u, 0, 4, NULL); -be_define_const_str(P9813_CLK, "P9813_CLK", 2455391001u, 0, 9, NULL); -be_define_const_str(SM2135_CLK, "SM2135_CLK", 2383410011u, 0, 10, &be_const_str_wire1); -be_define_const_str(wire1, "wire1", 3212721419u, 0, 5, NULL); -be_define_const_str(PROJECTOR_CTRL_RX, "PROJECTOR_CTRL_RX", 1542762460u, 0, 17, &be_const_str_every_100ms); -be_define_const_str(every_100ms, "every_100ms", 1546407804u, 0, 11, NULL); -be_define_const_str(sin, "sin", 3761252941u, 0, 3, &be_const_str_try_rule); -be_define_const_str(try_rule, "try_rule", 1986449405u, 0, 8, NULL); -be_define_const_str(SM2135_DAT, "SM2135_DAT", 2882726942u, 0, 10, &be_const_str_SYMBOL_CALL); -be_define_const_str(SYMBOL_CALL, "SYMBOL_CALL", 1444504366u, 0, 11, &be_const_str_var); -be_define_const_str(var, "var", 2317739966u, 64, 3, NULL); -be_define_const_str(MCP39F5_TX, "MCP39F5_TX", 1332322047u, 0, 10, &be_const_str_SDM120_TX); -be_define_const_str(SDM120_TX, "SDM120_TX", 2509332415u, 0, 9, &be_const_str_byte); -be_define_const_str(byte, "byte", 1683620383u, 0, 4, &be_const_str_gc); -be_define_const_str(gc, "gc", 1042313471u, 0, 2, NULL); -be_define_const_str(button_pressed, "button_pressed", 1694209616u, 0, 14, &be_const_str_number); -be_define_const_str(number, "number", 467038368u, 0, 6, NULL); -be_define_const_str(A4988_STP, "A4988_STP", 1622172049u, 0, 9, &be_const_str_MGC3130_RESET); -be_define_const_str(MGC3130_RESET, "MGC3130_RESET", 405013121u, 0, 13, &be_const_str_WEBCAM_XCLK); -be_define_const_str(WEBCAM_XCLK, "WEBCAM_XCLK", 536207425u, 0, 11, &be_const_str_list); -be_define_const_str(list, "list", 217798785u, 0, 4, NULL); -be_define_const_str(XPT2046_CS, "XPT2046_CS", 4049231042u, 0, 10, NULL); -be_define_const_str(gamma10, "gamma10", 3472052483u, 0, 7, NULL); -be_define_const_str(exec_rules, "exec_rules", 1445221092u, 0, 10, &be_const_str_lv_switch); -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, &be_const_str_import); -be_define_const_str(import, "import", 288002260u, 66, 6, NULL); -be_define_const_str(true, "true", 1303515621u, 61, 4, NULL); -be_define_const_str(DDSU666_TX, "DDSU666_TX", 1880604150u, 0, 10, &be_const_str_SYMBOL_BULLET); -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, NULL); -be_define_const_str(ADC_CT_POWER, "ADC_CT_POWER", 3382284599u, 0, 12, &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, &be_const_str_get); -be_define_const_str(get, "get", 1410115415u, 0, 3, &be_const_str_millis); -be_define_const_str(millis, "millis", 1214679063u, 0, 6, NULL); -be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, &be_const_str_print); -be_define_const_str(print, "print", 372738696u, 0, 5, &be_const_str_save); -be_define_const_str(save, "save", 3439296072u, 0, 4, NULL); -be_define_const_str(LE01MR_RX, "LE01MR_RX", 1521590809u, 0, 9, NULL); -be_define_const_str(PROJECTOR_CTRL_TX, "PROJECTOR_CTRL_TX", 535811130u, 0, 17, NULL); -be_define_const_str(BL0940_RX, "BL0940_RX", 2908993179u, 0, 9, &be_const_str_HRE_DATA); -be_define_const_str(HRE_DATA, "HRE_DATA", 1820377643u, 0, 8, &be_const_str_INPUT); -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_get_tasmota); -be_define_const_str(get_tasmota, "get_tasmota", 334356779u, 0, 11, NULL); -be_define_const_str(lv_imgbtn, "lv_imgbtn", 2402844429u, 0, 9, &be_const_str_lv_spinner); -be_define_const_str(lv_spinner, "lv_spinner", 3361501901u, 0, 10, NULL); -be_define_const_str(ADC_BUTTON_INV, "ADC_BUTTON_INV", 2027625326u, 0, 14, &be_const_str_try); -be_define_const_str(try, "try", 2887626766u, 68, 3, NULL); -be_define_const_str(SR04_TRIG, "SR04_TRIG", 68671263u, 0, 9, &be_const_str_SYMBOL_KEYBOARD); -be_define_const_str(SYMBOL_KEYBOARD, "SYMBOL_KEYBOARD", 1621492879u, 0, 15, NULL); -be_define_const_str(ETH_PHY_MDIO, "ETH_PHY_MDIO", 3261871568u, 0, 12, &be_const_str_tanh); -be_define_const_str(tanh, "tanh", 153638352u, 0, 4, NULL); -be_define_const_str(get_power, "get_power", 3009799377u, 0, 9, &be_const_str_lv_objmask); -be_define_const_str(lv_objmask, "lv_objmask", 1311221665u, 0, 10, NULL); -be_define_const_str(SDM630_TX, "SDM630_TX", 696213075u, 0, 9, NULL); -be_define_const_str(MCP39F5_RST, "MCP39F5_RST", 3657125652u, 0, 11, &be_const_str_PMS5003_TX); -be_define_const_str(PMS5003_TX, "PMS5003_TX", 3868169364u, 0, 10, &be_const_str_SYMBOL_AUDIO); -be_define_const_str(SYMBOL_AUDIO, "SYMBOL_AUDIO", 3056537956u, 0, 12, NULL); -be_define_const_str(AZ_TXD, "AZ_TXD", 850268709u, 0, 6, &be_const_str_CNTR1); -be_define_const_str(CNTR1, "CNTR1", 510376965u, 0, 5, &be_const_str_TM1637DIO); -be_define_const_str(TM1637DIO, "TM1637DIO", 1574659381u, 0, 9, &be_const_str_read); +be_define_const_str(SDM120_RX, "SDM120_RX", 1367571753u, 0, 9, &be_const_str_SYMBOL_HOME); +be_define_const_str(SYMBOL_HOME, "SYMBOL_HOME", 730845525u, 0, 11, NULL); +be_define_const_str(GPS_TX, "GPS_TX", 4228740808u, 0, 6, NULL); +be_define_const_str(AS3935, "AS3935", 603621745u, 0, 6, &be_const_str_SYMBOL_PASTE); +be_define_const_str(SYMBOL_PASTE, "SYMBOL_PASTE", 2281577421u, 0, 12, &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(RFSEND, "RFSEND", 1862630731u, 0, 6, &be_const_str_exp); +be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_read); be_define_const_str(read, "read", 3470762949u, 0, 4, NULL); -be_define_const_str(if, "if", 959999494u, 50, 2, NULL); -be_define_const_str(SOLAXX1_TX, "SOLAXX1_TX", 903770840u, 0, 10, &be_const_str_load_freetype_font); -be_define_const_str(load_freetype_font, "load_freetype_font", 2368447592u, 0, 18, NULL); -be_define_const_str(SYMBOL_BACKSPACE, "SYMBOL_BACKSPACE", 1997168681u, 0, 16, &be_const_str_SYMBOL_BATTERY_FULL); -be_define_const_str(SYMBOL_BATTERY_FULL, "SYMBOL_BATTERY_FULL", 2638935545u, 0, 19, &be_const_str_TCP_TX); -be_define_const_str(TCP_TX, "TCP_TX", 2762594089u, 0, 6, &be_const_str__write); -be_define_const_str(_write, "_write", 2215462825u, 0, 6, NULL); -be_define_const_str(HX711_DAT, "HX711_DAT", 2935118250u, 0, 9, &be_const_str_I2C_Driver); -be_define_const_str(I2C_Driver, "I2C_Driver", 1714501658u, 0, 10, &be_const_str_SSPI_SCLK); -be_define_const_str(SSPI_SCLK, "SSPI_SCLK", 136688954u, 0, 9, &be_const_str_resp_cmnd); -be_define_const_str(resp_cmnd, "resp_cmnd", 2869459626u, 0, 9, NULL); -be_define_const_str(REL1_INV, "REL1_INV", 3733155371u, 0, 8, NULL); -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, &be_const_str_SYMBOL_EYE_OPEN); -be_define_const_str(SYMBOL_EYE_OPEN, "SYMBOL_EYE_OPEN", 3449311676u, 0, 15, &be_const_str_SYMBOL_OK); -be_define_const_str(SYMBOL_OK, "SYMBOL_OK", 4033162940u, 0, 9, &be_const_str_chars_in_string); -be_define_const_str(chars_in_string, "chars_in_string", 3148785132u, 0, 15, &be_const_str_web_send_decimal); -be_define_const_str(web_send_decimal, "web_send_decimal", 1407210204u, 0, 16, &be_const_str_nil); -be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL); -be_define_const_str(CHANGE, "CHANGE", 4280911421u, 0, 6, &be_const_str_HIGH); -be_define_const_str(HIGH, "HIGH", 2066738941u, 0, 4, &be_const_str_as); -be_define_const_str(as, "as", 1579491469u, 67, 2, NULL); -be_define_const_str(ADC_INPUT, "ADC_INPUT", 2207556878u, 0, 9, &be_const_str_ZIGBEE_RX); -be_define_const_str(ZIGBEE_RX, "ZIGBEE_RX", 93215470u, 0, 9, NULL); -be_define_const_str(SBR_TX, "SBR_TX", 3419096015u, 0, 6, &be_const_str_SPI_DC); -be_define_const_str(SPI_DC, "SPI_DC", 553259951u, 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_MIEL_HVAC_RX); -be_define_const_str(MIEL_HVAC_RX, "MIEL_HVAC_RX", 3720609648u, 0, 12, &be_const_str_find_op); -be_define_const_str(find_op, "find_op", 3766713376u, 0, 7, &be_const_str_lv_btn); -be_define_const_str(lv_btn, "lv_btn", 1612829968u, 0, 6, NULL); -be_define_const_str(BOILER_OT_RX, "BOILER_OT_RX", 603647409u, 0, 12, &be_const_str_DHT11); -be_define_const_str(DHT11, "DHT11", 367083569u, 0, 5, &be_const_str_LOW); -be_define_const_str(LOW, "LOW", 3526092385u, 0, 3, &be_const_str_NRF24_DC); -be_define_const_str(NRF24_DC, "NRF24_DC", 688921313u, 0, 8, &be_const_str_map); +be_define_const_str(DI, "DI", 1070498734u, 0, 2, NULL); +be_define_const_str(CNTR1_NP, "CNTR1_NP", 4288381648u, 0, 8, &be_const_str_lv_list); +be_define_const_str(lv_list, "lv_list", 2876551248u, 0, 7, NULL); +be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_clear); +be_define_const_str(clear, "clear", 1550717474u, 0, 5, NULL); +be_define_const_str(ADC_PH, "ADC_PH", 3820290594u, 0, 6, &be_const_str_PWM1); +be_define_const_str(PWM1, "PWM1", 1353352426u, 0, 4, &be_const_str_PZEM0XX_TX); +be_define_const_str(PZEM0XX_TX, "PZEM0XX_TX", 944775704u, 0, 10, &be_const_str_format); +be_define_const_str(format, "format", 3114108242u, 0, 6, &be_const_str_log10); +be_define_const_str(log10, "log10", 2346846000u, 0, 5, NULL); +be_define_const_str(get_free_heap, "get_free_heap", 625069757u, 0, 13, &be_const_str_lv_msgbox); +be_define_const_str(lv_msgbox, "lv_msgbox", 689085206u, 0, 9, &be_const_str_publish); +be_define_const_str(publish, "publish", 264247304u, 0, 7, NULL); +be_define_const_str(SYMBOL_DUMMY, "SYMBOL_DUMMY", 3621732138u, 0, 12, &be_const_str_SYMBOL_SETTINGS); +be_define_const_str(SYMBOL_SETTINGS, "SYMBOL_SETTINGS", 339656335u, 0, 15, &be_const_str_content_button); +be_define_const_str(content_button, "content_button", 1956476087u, 0, 14, NULL); +be_define_const_str(SYMBOL_POWER, "SYMBOL_POWER", 1125993627u, 0, 12, NULL); +be_define_const_str(AZ_TXD, "AZ_TXD", 850268709u, 0, 6, &be_const_str__end_transmission); +be_define_const_str(_end_transmission, "_end_transmission", 3237480400u, 0, 17, &be_const_str_split); +be_define_const_str(split, "split", 2276994531u, 0, 5, &be_const_str_super); +be_define_const_str(super, "super", 4152230356u, 0, 5, NULL); +be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, NULL); +be_define_const_str(SDM72_RX, "SDM72_RX", 766750035u, 0, 8, &be_const_str_SYMBOL_CHARGE); +be_define_const_str(SYMBOL_CHARGE, "SYMBOL_CHARGE", 2106391946u, 0, 13, NULL); +be_define_const_str(DHT11, "DHT11", 367083569u, 0, 5, &be_const_str_SYMBOL_LEFT); +be_define_const_str(SYMBOL_LEFT, "SYMBOL_LEFT", 1563517575u, 0, 11, &be_const_str_lv_gauge); +be_define_const_str(lv_gauge, "lv_gauge", 118613531u, 0, 8, NULL); +be_define_const_str(LEDLNK_INV, "LEDLNK_INV", 3559015101u, 0, 10, &be_const_str_WEBCAM_HSD); +be_define_const_str(WEBCAM_HSD, "WEBCAM_HSD", 2648502504u, 0, 10, &be_const_str_type); +be_define_const_str(type, "type", 1361572173u, 0, 4, NULL); +be_define_const_str(HX711_SCK, "HX711_SCK", 3785979404u, 0, 9, &be_const_str_init); +be_define_const_str(init, "init", 380752755u, 0, 4, NULL); +be_define_const_str(SYMBOL_NEW_LINE, "SYMBOL_NEW_LINE", 2014334315u, 0, 15, &be_const_str_resp_cmnd_failed); +be_define_const_str(resp_cmnd_failed, "resp_cmnd_failed", 2136281562u, 0, 16, NULL); +be_define_const_str(KEY1_TC, "KEY1_TC", 25685109u, 0, 7, &be_const_str_SYMBOL_FILE); +be_define_const_str(SYMBOL_FILE, "SYMBOL_FILE", 237085260u, 0, 11, &be_const_str__rules); +be_define_const_str(_rules, "_rules", 4266217105u, 0, 6, &be_const_str_lv_objmask); +be_define_const_str(lv_objmask, "lv_objmask", 1311221665u, 0, 10, NULL); +be_define_const_str(opt_call, "()", 685372826u, 0, 2, &be_const_str_reverse_gamma10); +be_define_const_str(reverse_gamma10, "reverse_gamma10", 739112262u, 0, 15, &be_const_str_false); +be_define_const_str(false, "false", 184981848u, 62, 5, NULL); +be_define_const_str(HPMA_TX, "HPMA_TX", 173233104u, 0, 7, &be_const_str_SYMBOL_REFRESH); +be_define_const_str(SYMBOL_REFRESH, "SYMBOL_REFRESH", 1266229761u, 0, 14, NULL); +be_define_const_str(raise, "raise", 1593437475u, 70, 5, NULL); +be_define_const_str(_drivers, "_drivers", 3260328985u, 0, 8, &be_const_str_has_arg); +be_define_const_str(has_arg, "has_arg", 424878688u, 0, 7, &be_const_str_iter); +be_define_const_str(iter, "iter", 3124256359u, 0, 4, &be_const_str_read_bytes); +be_define_const_str(read_bytes, "read_bytes", 3576733173u, 0, 10, NULL); +be_define_const_str(A4988_DIR, "A4988_DIR", 2223595843u, 0, 9, &be_const_str_ADC_LIGHT); +be_define_const_str(ADC_LIGHT, "ADC_LIGHT", 3982461502u, 0, 9, &be_const_str_copy); +be_define_const_str(copy, "copy", 3848464964u, 0, 4, &be_const_str_web_send); +be_define_const_str(web_send, "web_send", 2989941448u, 0, 8, NULL); +be_define_const_str(PZEM017_RX, "PZEM017_RX", 3227495894u, 0, 10, &be_const_str_RFRECV); +be_define_const_str(RFRECV, "RFRECV", 354742801u, 0, 6, &be_const_str_resize); +be_define_const_str(resize, "resize", 3514612129u, 0, 6, NULL); +be_define_const_str(ARIRFRCV, "ARIRFRCV", 1120816444u, 0, 8, &be_const_str_CSE7766_RX); +be_define_const_str(CSE7766_RX, "CSE7766_RX", 1546766819u, 0, 10, NULL); +be_define_const_str(RC522_CS, "RC522_CS", 2639619996u, 0, 8, &be_const_str_pin_mode); +be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, NULL); +be_define_const_str(def, "def", 3310976652u, 55, 3, NULL); +be_define_const_str(SSD1331_DC, "SSD1331_DC", 3386560859u, 0, 10, &be_const_str_ST7789_CS); +be_define_const_str(ST7789_CS, "ST7789_CS", 2937305434u, 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(SYMBOL_BACKSPACE, "SYMBOL_BACKSPACE", 1997168681u, 0, 16, &be_const_str_try); +be_define_const_str(try, "try", 2887626766u, 68, 3, NULL); +be_define_const_str(SYMBOL_OK, "SYMBOL_OK", 4033162940u, 0, 9, &be_const_str_TX2X_TXD_BLACK); +be_define_const_str(TX2X_TXD_BLACK, "TX2X_TXD_BLACK", 956526176u, 0, 14, &be_const_str_delay); +be_define_const_str(delay, "delay", 1322381784u, 0, 5, &be_const_str_resp_cmnd_done); +be_define_const_str(resp_cmnd_done, "resp_cmnd_done", 2601874875u, 0, 14, NULL); +be_define_const_str(SPI_DC, "SPI_DC", 553259951u, 0, 6, &be_const_str_for); +be_define_const_str(for, "for", 2901640080u, 54, 3, NULL); +be_define_const_str(SYMBOL_USB, "SYMBOL_USB", 1962656552u, 0, 10, &be_const_str_gen_cb); +be_define_const_str(gen_cb, "gen_cb", 3245227551u, 0, 6, NULL); +be_define_const_str(TXD, "TXD", 3614562079u, 0, 3, &be_const_str_millis); +be_define_const_str(millis, "millis", 1214679063u, 0, 6, &be_const_str_srand); +be_define_const_str(srand, "srand", 465518633u, 0, 5, NULL); +be_define_const_str(screenshot, "screenshot", 3894592561u, 0, 10, NULL); +be_define_const_str(ADC_TEMP, "ADC_TEMP", 3771053440u, 0, 8, &be_const_str_CNTR1); +be_define_const_str(CNTR1, "CNTR1", 510376965u, 0, 5, &be_const_str_RDM6300_RX); +be_define_const_str(RDM6300_RX, "RDM6300_RX", 1522345628u, 0, 10, &be_const_str_state); +be_define_const_str(state, "state", 2016490230u, 0, 5, NULL); +be_define_const_str(opt_add, "+", 772578730u, 0, 1, &be_const_str_content_send); +be_define_const_str(content_send, "content_send", 1673733649u, 0, 12, NULL); +be_define_const_str(_cmd, "_cmd", 3419822142u, 0, 4, &be_const_str_setitem); +be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, NULL); +be_define_const_str(HJL_CF, "HJL_CF", 786158487u, 0, 6, NULL); +be_define_const_str(lv_btnmatrix, "lv_btnmatrix", 626248489u, 0, 12, NULL); +be_define_const_str(IEM3000_TX, "IEM3000_TX", 1185907310u, 0, 10, &be_const_str_lv_checkbox); +be_define_const_str(lv_checkbox, "lv_checkbox", 7454841u, 0, 11, &be_const_str_return); +be_define_const_str(return, "return", 2246981567u, 60, 6, NULL); +be_define_const_str(MGC3130_XFER, "MGC3130_XFER", 4178219131u, 0, 12, NULL); +be_define_const_str(MHZ_TXD, "MHZ_TXD", 3310158233u, 0, 7, &be_const_str_SOLAXX1_RX); +be_define_const_str(SOLAXX1_RX, "SOLAXX1_RX", 971867054u, 0, 10, &be_const_str_pin); +be_define_const_str(pin, "pin", 1866532500u, 0, 3, NULL); +be_define_const_str(FALLING, "FALLING", 2851701064u, 0, 7, &be_const_str_SYMBOL_EDIT); +be_define_const_str(SYMBOL_EDIT, "SYMBOL_EDIT", 1396182822u, 0, 11, &be_const_str__get_cb); +be_define_const_str(_get_cb, "_get_cb", 1448849122u, 0, 7, &be_const_str_lower); +be_define_const_str(lower, "lower", 3038577850u, 0, 5, &be_const_str_map); be_define_const_str(map, "map", 3751997361u, 0, 3, NULL); -be_define_const_str(SYMBOL_STOP, "SYMBOL_STOP", 2836505202u, 0, 11, NULL); -be_define_const_str(SDM72_RX, "SDM72_RX", 766750035u, 0, 8, &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_elif); -be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL); -be_define_const_str(do, "do", 1646057492u, 65, 2, NULL); -be_define_const_str(lv_dropdown, "lv_dropdown", 2797165301u, 0, 11, &be_const_str_lv_tileview); -be_define_const_str(lv_tileview, "lv_tileview", 2419887973u, 0, 11, NULL); -be_define_const_str(PWM1_INV, "PWM1_INV", 3939021030u, 0, 8, &be_const_str__read); -be_define_const_str(_read, "_read", 346717030u, 0, 5, &be_const_str_rand); -be_define_const_str(rand, "rand", 2711325910u, 0, 4, &be_const_str_remove_cmd); -be_define_const_str(remove_cmd, "remove_cmd", 3832315702u, 0, 10, NULL); -be_define_const_str(SI7021, "SI7021", 864377911u, 0, 6, &be_const_str_VL53L0X_XSHUT1); -be_define_const_str(VL53L0X_XSHUT1, "VL53L0X_XSHUT1", 2341134183u, 0, 14, NULL); +be_define_const_str(WE517_RX, "WE517_RX", 4096577879u, 0, 8, NULL); +be_define_const_str(atan, "atan", 108579519u, 0, 4, NULL); +be_define_const_str(ADC_JOY, "ADC_JOY", 1116943612u, 0, 7, &be_const_str_SYMBOL_CLOSE); +be_define_const_str(SYMBOL_CLOSE, "SYMBOL_CLOSE", 2654402806u, 0, 12, &be_const_str_SYMBOL_PLAY); +be_define_const_str(SYMBOL_PLAY, "SYMBOL_PLAY", 1750902100u, 0, 11, &be_const_str_WEBCAM_DATA); +be_define_const_str(WEBCAM_DATA, "WEBCAM_DATA", 1476954421u, 0, 11, NULL); +be_define_const_str(arg, "arg", 1047474471u, 0, 3, &be_const_str_dump); +be_define_const_str(dump, "dump", 3663001223u, 0, 4, &be_const_str_web_send_decimal); +be_define_const_str(web_send_decimal, "web_send_decimal", 1407210204u, 0, 16, NULL); +be_define_const_str(TASMOTACLIENT_RXD, "TASMOTACLIENT_RXD", 72868318u, 0, 17, &be_const_str_pin_used); +be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, NULL); +be_define_const_str(PWM1_INV, "PWM1_INV", 3939021030u, 0, 8, NULL); +be_define_const_str(chars_in_string, "chars_in_string", 3148785132u, 0, 15, NULL); +be_define_const_str(MCP39F5_RX, "MCP39F5_RX", 190458217u, 0, 10, &be_const_str_resp_cmnd_str); +be_define_const_str(resp_cmnd_str, "resp_cmnd_str", 737845590u, 0, 13, NULL); +be_define_const_str(SYMBOL_RIGHT, "SYMBOL_RIGHT", 2984010648u, 0, 12, &be_const_str_WE517_TX); +be_define_const_str(WE517_TX, "WE517_TX", 2954817217u, 0, 8, NULL); +be_define_const_str(CSE7761_TX, "CSE7761_TX", 3354719142u, 0, 10, &be_const_str_SHELLY_DIMMER_BOOT0); +be_define_const_str(SHELLY_DIMMER_BOOT0, "SHELLY_DIMMER_BOOT0", 2948777716u, 0, 19, &be_const_str_setmember); +be_define_const_str(setmember, "setmember", 1432909441u, 0, 9, NULL); +be_define_const_str(ST7789_DC, "ST7789_DC", 2533509745u, 0, 9, &be_const_str_ZIGBEE_RST); +be_define_const_str(ZIGBEE_RST, "ZIGBEE_RST", 721588661u, 0, 10, &be_const_str_number); +be_define_const_str(number, "number", 467038368u, 0, 6, &be_const_str_resolvecmnd); +be_define_const_str(resolvecmnd, "resolvecmnd", 993361485u, 0, 11, &be_const_str_except); +be_define_const_str(except, "except", 950914032u, 69, 6, NULL); +be_define_const_str(concat, "concat", 4124019837u, 0, 6, &be_const_str_find_op); +be_define_const_str(find_op, "find_op", 3766713376u, 0, 7, NULL); +be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, &be_const_str_remove); +be_define_const_str(remove, "remove", 3683784189u, 0, 6, &be_const_str_upper); +be_define_const_str(upper, "upper", 176974407u, 0, 5, NULL); +be_define_const_str(ILI9341_DC, "ILI9341_DC", 28838624u, 0, 10, &be_const_str_true); +be_define_const_str(true, "true", 1303515621u, 61, 4, NULL); +be_define_const_str(WEBCAM_HREF, "WEBCAM_HREF", 3161890024u, 0, 11, NULL); +be_define_const_str(DEEPSLEEP, "DEEPSLEEP", 189922226u, 0, 9, &be_const_str_SYMBOL_BATTERY_1); +be_define_const_str(SYMBOL_BATTERY_1, "SYMBOL_BATTERY_1", 629036063u, 0, 16, NULL); +be_define_const_str(WIEGAND_D0, "WIEGAND_D0", 4192335759u, 0, 10, NULL); +be_define_const_str(SM16716_SEL, "SM16716_SEL", 142377379u, 0, 11, &be_const_str_sqrt); +be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, NULL); +be_define_const_str(SM2135_DAT, "SM2135_DAT", 2882726942u, 0, 10, NULL); +be_define_const_str(I2C_SDA, "I2C_SDA", 1052592262u, 0, 7, &be_const_str_ZIGBEE_RX); +be_define_const_str(ZIGBEE_RX, "ZIGBEE_RX", 93215470u, 0, 9, NULL); +be_define_const_str(A4988_ENA, "A4988_ENA", 1517502682u, 0, 9, &be_const_str_CSE7766_TX); +be_define_const_str(CSE7766_TX, "CSE7766_TX", 674624821u, 0, 10, &be_const_str_INPUT); +be_define_const_str(INPUT, "INPUT", 1638025307u, 0, 5, &be_const_str_P9813_CLK); +be_define_const_str(P9813_CLK, "P9813_CLK", 2455391001u, 0, 9, NULL); +be_define_const_str(classname, "classname", 1998589948u, 0, 9, &be_const_str_lv_line); +be_define_const_str(lv_line, "lv_line", 2692732914u, 0, 7, &be_const_str_lv_switch); +be_define_const_str(lv_switch, "lv_switch", 3407171508u, 0, 9, &be_const_str_rtc); +be_define_const_str(rtc, "rtc", 1070575216u, 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(SYMBOL_WIFI, "SYMBOL_WIFI", 682141303u, 0, 11, &be_const_str_lv_group); +be_define_const_str(lv_group, "lv_group", 3852039019u, 0, 8, NULL); +be_define_const_str(class, "class", 2872970239u, 57, 5, NULL); +be_define_const_str(count, "count", 967958004u, 0, 5, NULL); +be_define_const_str(resp_cmnd, "resp_cmnd", 2869459626u, 0, 9, &be_const_str_write); +be_define_const_str(write, "write", 3190202204u, 0, 5, NULL); +be_define_const_str(ELECTRIQ_MOODL_TX, "ELECTRIQ_MOODL_TX", 31009247u, 0, 17, &be_const_str_exec_rules); +be_define_const_str(exec_rules, "exec_rules", 1445221092u, 0, 10, &be_const_str_continue); +be_define_const_str(continue, "continue", 2977070660u, 59, 8, NULL); +be_define_const_str(classof, "classof", 1796577762u, 0, 7, NULL); +be_define_const_str(dot_p, ".p", 1171526419u, 0, 2, &be_const_str_TM1637CLK); +be_define_const_str(TM1637CLK, "TM1637CLK", 2797300857u, 0, 9, &be_const_str_keys); +be_define_const_str(keys, "keys", 4182378701u, 0, 4, &be_const_str_lv_cont); +be_define_const_str(lv_cont, "lv_cont", 1391686552u, 0, 7, NULL); +be_define_const_str(SYMBOL_DOWNLOAD, "SYMBOL_DOWNLOAD", 2607324090u, 0, 15, &be_const_str_SYMBOL_LOOP); +be_define_const_str(SYMBOL_LOOP, "SYMBOL_LOOP", 2762053208u, 0, 11, &be_const_str_lv_dropdown); +be_define_const_str(lv_dropdown, "lv_dropdown", 2797165301u, 0, 11, NULL); +be_define_const_str(IRSEND, "IRSEND", 184848336u, 0, 6, NULL); +be_define_const_str(SPI_MOSI, "SPI_MOSI", 2494218614u, 0, 8, &be_const_str_abs); +be_define_const_str(abs, "abs", 709362235u, 0, 3, &be_const_str_acos); +be_define_const_str(acos, "acos", 1006755615u, 0, 4, &be_const_str_lv_win); +be_define_const_str(lv_win, "lv_win", 780927558u, 0, 6, NULL); +be_define_const_str(ADC_INPUT, "ADC_INPUT", 2207556878u, 0, 9, &be_const_str_ILI9488_CS); +be_define_const_str(ILI9488_CS, "ILI9488_CS", 2363112073u, 0, 10, &be_const_str_SYMBOL_EYE_CLOSE); +be_define_const_str(SYMBOL_EYE_CLOSE, "SYMBOL_EYE_CLOSE", 404721792u, 0, 16, &be_const_str_SYMBOL_MUTE); +be_define_const_str(SYMBOL_MUTE, "SYMBOL_MUTE", 563116043u, 0, 11, NULL); +be_define_const_str(add_cmd, "add_cmd", 3361630879u, 0, 7, NULL); +be_define_const_str(DDSU666_TX, "DDSU666_TX", 1880604150u, 0, 10, &be_const_str_cb_dispatch); +be_define_const_str(cb_dispatch, "cb_dispatch", 1741510499u, 0, 11, NULL); +be_define_const_str(PN532_RXD, "PN532_RXD", 1780093022u, 0, 9, &be_const_str_event); +be_define_const_str(event, "event", 4264611999u, 0, 5, NULL); +be_define_const_str(SDS0X1_TX, "SDS0X1_TX", 165045983u, 0, 9, NULL); +be_define_const_str(lv_imgbtn, "lv_imgbtn", 2402844429u, 0, 9, NULL); +be_define_const_str(KEY1, "KEY1", 6715975u, 0, 4, &be_const_str_SBR_TX); +be_define_const_str(SBR_TX, "SBR_TX", 3419096015u, 0, 6, &be_const_str_toupper); +be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, &be_const_str_if); +be_define_const_str(if, "if", 959999494u, 50, 2, NULL); +be_define_const_str(opt_connect, "..", 2748622605u, 0, 2, NULL); +be_define_const_str(DDS2382_RX, "DDS2382_RX", 432446462u, 0, 10, &be_const_str_lv_color); +be_define_const_str(lv_color, "lv_color", 1419148319u, 0, 8, &be_const_str_lv_img); +be_define_const_str(lv_img, "lv_img", 2474052327u, 0, 6, NULL); +be_define_const_str(HLW_CF, "HLW_CF", 3982619486u, 0, 6, &be_const_str_WEBCAM_PCLK); +be_define_const_str(WEBCAM_PCLK, "WEBCAM_PCLK", 3813770649u, 0, 11, &be_const_str_content_flush); +be_define_const_str(content_flush, "content_flush", 214922475u, 0, 13, NULL); +be_define_const_str(BOILER_OT_TX, "BOILER_OT_TX", 671743623u, 0, 12, &be_const_str_int); +be_define_const_str(int, "int", 2515107422u, 0, 3, &be_const_str_wire2); +be_define_const_str(wire2, "wire2", 3229499038u, 0, 5, NULL); +be_define_const_str(top, "top", 2802900028u, 0, 3, &be_const_str_wire); +be_define_const_str(wire, "wire", 4082753944u, 0, 4, NULL); +be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, &be_const_str_lv_arc); +be_define_const_str(lv_arc, "lv_arc", 4170125384u, 0, 6, &be_const_str_wire_scan); +be_define_const_str(wire_scan, "wire_scan", 2671275880u, 0, 9, NULL); +be_define_const_str(ROT1B_NP, "ROT1B_NP", 3710079736u, 0, 8, &be_const_str_SPI_CLK); +be_define_const_str(SPI_CLK, "SPI_CLK", 3943233814u, 0, 7, &be_const_str_yield); +be_define_const_str(yield, "yield", 1821831854u, 0, 5, NULL); +be_define_const_str(set_timer, "set_timer", 2135414533u, 0, 9, NULL); +be_define_const_str(WEBCAM_PSCLK, "WEBCAM_PSCLK", 3150007456u, 0, 12, &be_const_str_pop); +be_define_const_str(pop, "pop", 1362321360u, 0, 3, NULL); +be_define_const_str(WEBCAM_SIOC, "WEBCAM_SIOC", 218815147u, 0, 11, NULL); +be_define_const_str(WIEGAND_D1, "WIEGAND_D1", 4175558140u, 0, 10, &be_const_str_i2c_enabled); +be_define_const_str(i2c_enabled, "i2c_enabled", 218388101u, 0, 11, &be_const_str_lv_tabview); +be_define_const_str(lv_tabview, "lv_tabview", 2109024786u, 0, 10, NULL); +be_define_const_str(HTTP_ADMIN, "HTTP_ADMIN", 3696065581u, 0, 10, &be_const_str_LOW); +be_define_const_str(LOW, "LOW", 3526092385u, 0, 3, &be_const_str_calldepth); +be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, &be_const_str_get_option); +be_define_const_str(get_option, "get_option", 2123730033u, 0, 10, NULL); +be_define_const_str(AZ_RXD, "AZ_RXD", 699914019u, 0, 6, &be_const_str_HRE_CLOCK); +be_define_const_str(HRE_CLOCK, "HRE_CLOCK", 2870559111u, 0, 9, &be_const_str_exec_cmd); +be_define_const_str(exec_cmd, "exec_cmd", 493567399u, 0, 8, NULL); +be_define_const_str(button_pressed, "button_pressed", 1694209616u, 0, 14, NULL); +be_define_const_str(BS814_DAT, "BS814_DAT", 3620403837u, 0, 9, &be_const_str_HTTP_OFF); +be_define_const_str(HTTP_OFF, "HTTP_OFF", 2943570283u, 0, 8, &be_const_str_lv_textarea); +be_define_const_str(lv_textarea, "lv_textarea", 2864635074u, 0, 11, &be_const_str_rad); +be_define_const_str(rad, "rad", 1358899048u, 0, 3, NULL); +be_define_const_str(TM1637DIO, "TM1637DIO", 1574659381u, 0, 9, NULL); +be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, NULL); +be_define_const_str(Driver, "Driver", 3576386303u, 0, 6, &be_const_str_EXS_ENABLE); +be_define_const_str(EXS_ENABLE, "EXS_ENABLE", 1896914313u, 0, 10, &be_const_str_I2C_SCL); +be_define_const_str(I2C_SCL, "I2C_SCL", 164217098u, 0, 7, NULL); +be_define_const_str(NRG_CF1, "NRG_CF1", 3292534757u, 0, 7, &be_const_str_sin); +be_define_const_str(sin, "sin", 3761252941u, 0, 3, NULL); +be_define_const_str(SR04_ECHO, "SR04_ECHO", 1906909592u, 0, 9, &be_const_str_SSPI_DC); +be_define_const_str(SSPI_DC, "SSPI_DC", 1782271864u, 0, 7, &be_const_str_deinit); +be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, &be_const_str_traceback); +be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, NULL); +be_define_const_str(ETH_PHY_MDC, "ETH_PHY_MDC", 1519379581u, 0, 11, &be_const_str_SYMBOL_LIST); +be_define_const_str(SYMBOL_LIST, "SYMBOL_LIST", 70793990u, 0, 11, &be_const_str_bytes); +be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, NULL); +be_define_const_str(MHZ_RXD, "MHZ_RXD", 328619727u, 0, 7, &be_const_str__cb); +be_define_const_str(_cb, "_cb", 4043300367u, 0, 3, NULL); +be_define_const_str(SYMBOL_EJECT, "SYMBOL_EJECT", 873760647u, 0, 12, &be_const_str_digital_read); +be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, NULL); +be_define_const_str(HIGH, "HIGH", 2066738941u, 0, 4, &be_const_str_PROJECTOR_CTRL_RX); +be_define_const_str(PROJECTOR_CTRL_RX, "PROJECTOR_CTRL_RX", 1542762460u, 0, 17, &be_const_str_SYMBOL_BATTERY_EMPTY); +be_define_const_str(SYMBOL_BATTERY_EMPTY, "SYMBOL_BATTERY_EMPTY", 3945064277u, 0, 20, NULL); +be_define_const_str(ARIRFSEL, "ARIRFSEL", 233874443u, 0, 8, &be_const_str_DHT22); +be_define_const_str(DHT22, "DHT22", 215937903u, 0, 5, &be_const_str_REL1); +be_define_const_str(REL1, "REL1", 3142397887u, 0, 4, NULL); +be_define_const_str(NONE, "NONE", 1932136219u, 0, 4, &be_const_str_SYMBOL_VIDEO); +be_define_const_str(SYMBOL_VIDEO, "SYMBOL_VIDEO", 789726913u, 0, 12, &be_const_str_run_deferred); be_define_const_str(run_deferred, "run_deferred", 371594696u, 0, 12, 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_SPI_MISO); -be_define_const_str(SPI_MISO, "SPI_MISO", 150818010u, 0, 8, NULL); -be_define_const_str(NONE, "NONE", 1932136219u, 0, 4, NULL); -be_define_const_str(SYMBOL_BLUETOOTH, "SYMBOL_BLUETOOTH", 679376572u, 0, 16, &be_const_str_SYMBOL_FILE); -be_define_const_str(SYMBOL_FILE, "SYMBOL_FILE", 237085260u, 0, 11, NULL); -be_define_const_str(SYMBOL_VOLUME_MAX, "SYMBOL_VOLUME_MAX", 3582646093u, 0, 17, &be_const_str_floor); -be_define_const_str(floor, "floor", 3102149661u, 0, 5, NULL); -be_define_const_str(SYMBOL_DRIVE, "SYMBOL_DRIVE", 567203502u, 0, 12, &be_const_str_while); -be_define_const_str(while, "while", 231090382u, 53, 5, 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, &be_const_str_resp_cmnd_error); +be_define_const_str(SPI_CS, "SPI_CS", 553701236u, 0, 6, &be_const_str_gc); +be_define_const_str(gc, "gc", 1042313471u, 0, 2, NULL); +be_define_const_str(BS814_CLK, "BS814_CLK", 3002713336u, 0, 9, &be_const_str_lv_style); +be_define_const_str(lv_style, "lv_style", 4151611549u, 0, 8, NULL); +be_define_const_str(SYMBOL_AUDIO, "SYMBOL_AUDIO", 3056537956u, 0, 12, NULL); +be_define_const_str(CHANGE, "CHANGE", 4280911421u, 0, 6, &be_const_str_SYMBOL_EYE_OPEN); +be_define_const_str(SYMBOL_EYE_OPEN, "SYMBOL_EYE_OPEN", 3449311676u, 0, 15, &be_const_str_web_sensor); +be_define_const_str(web_sensor, "web_sensor", 2900096972u, 0, 10, NULL); +be_define_const_str(DSB_OUT, "DSB_OUT", 732335085u, 0, 7, &be_const_str_MCP39F5_RST); +be_define_const_str(MCP39F5_RST, "MCP39F5_RST", 3657125652u, 0, 11, &be_const_str_log); +be_define_const_str(log, "log", 1062293841u, 0, 3, &be_const_str_size); +be_define_const_str(size, "size", 597743964u, 0, 4, NULL); +be_define_const_str(SM16716_CLK, "SM16716_CLK", 3037641483u, 0, 11, &be_const_str_SSPI_MISO); +be_define_const_str(SSPI_MISO, "SSPI_MISO", 2485347173u, 0, 9, &be_const_str_SYMBOL_SD_CARD); +be_define_const_str(SYMBOL_SD_CARD, "SYMBOL_SD_CARD", 2542376484u, 0, 14, &be_const_str_get_power); +be_define_const_str(get_power, "get_power", 3009799377u, 0, 9, NULL); +be_define_const_str(TFMINIPLUS_RX, "TFMINIPLUS_RX", 1522203935u, 0, 13, &be_const_str_lv_slider); +be_define_const_str(lv_slider, "lv_slider", 2274180781u, 0, 9, NULL); +be_define_const_str(NRG_SEL_INV, "NRG_SEL_INV", 3567431069u, 0, 11, &be_const_str_args); +be_define_const_str(args, "args", 2634721084u, 0, 4, NULL); +be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, &be_const_str_lv_spinbox); +be_define_const_str(lv_spinbox, "lv_spinbox", 2666096729u, 0, 10, &be_const_str_start); +be_define_const_str(start, "start", 1697318111u, 0, 5, NULL); +be_define_const_str(SM2135_CLK, "SM2135_CLK", 2383410011u, 0, 10, &be_const_str_range); +be_define_const_str(range, "range", 4208725202u, 0, 5, NULL); +be_define_const_str(HM10_TX, "HM10_TX", 1522037252u, 0, 7, &be_const_str_SSPI_MAX31865_CS1); +be_define_const_str(SSPI_MAX31865_CS1, "SSPI_MAX31865_CS1", 1256578724u, 0, 17, &be_const_str_allocated); +be_define_const_str(allocated, "allocated", 429986098u, 0, 9, &be_const_str_pow); +be_define_const_str(pow, "pow", 1479764693u, 0, 3, &be_const_str_wire1); +be_define_const_str(wire1, "wire1", 3212721419u, 0, 5, NULL); +be_define_const_str(SENSOR_END, "SENSOR_END", 3512542657u, 0, 10, &be_const_str_TASMOTACLIENT_RST); +be_define_const_str(TASMOTACLIENT_RST, "TASMOTACLIENT_RST", 3326196213u, 0, 17, NULL); +be_define_const_str(DHT11_OUT, "DHT11_OUT", 1645300734u, 0, 9, &be_const_str_SYMBOL_DOWN); +be_define_const_str(SYMBOL_DOWN, "SYMBOL_DOWN", 1107513570u, 0, 11, NULL); +be_define_const_str(SYMBOL_TRASH, "SYMBOL_TRASH", 3169100368u, 0, 12, &be_const_str__read); +be_define_const_str(_read, "_read", 346717030u, 0, 5, NULL); +be_define_const_str(IEM3000_RX, "IEM3000_RX", 1117811096u, 0, 10, &be_const_str_LED1); +be_define_const_str(LED1, "LED1", 21005825u, 0, 4, &be_const_str_SYMBOL_UP); +be_define_const_str(SYMBOL_UP, "SYMBOL_UP", 3886401511u, 0, 9, &be_const_str_every_100ms); +be_define_const_str(every_100ms, "every_100ms", 1546407804u, 0, 11, NULL); +be_define_const_str(HTTP_USER, "HTTP_USER", 3025536737u, 0, 9, &be_const_str_detect); +be_define_const_str(detect, "detect", 8884370u, 0, 6, &be_const_str_lv_indev); +be_define_const_str(lv_indev, "lv_indev", 225602374u, 0, 8, NULL); +be_define_const_str(SOLAXX1_TX, "SOLAXX1_TX", 903770840u, 0, 10, &be_const_str_seg7_font); +be_define_const_str(seg7_font, "seg7_font", 4099690689u, 0, 9, NULL); +be_define_const_str(KEY1_INV_NP, "KEY1_INV_NP", 3160558586u, 0, 11, &be_const_str_TCP_RX); +be_define_const_str(TCP_RX, "TCP_RX", 3904354751u, 0, 6, NULL); +be_define_const_str(WEBCAM_PWDN, "WEBCAM_PWDN", 2219597454u, 0, 11, NULL); +be_define_const_str(PROJECTOR_CTRL_TX, "PROJECTOR_CTRL_TX", 535811130u, 0, 17, &be_const_str_SDS0X1_RX); +be_define_const_str(SDS0X1_RX, "SDS0X1_RX", 1170717385u, 0, 9, &be_const_str__write); +be_define_const_str(_write, "_write", 2215462825u, 0, 6, &be_const_str_lv_cpicker); +be_define_const_str(lv_cpicker, "lv_cpicker", 1935129251u, 0, 10, NULL); +be_define_const_str(lv_roller, "lv_roller", 661902064u, 0, 9, NULL); +be_define_const_str(CSE7761_RX, "CSE7761_RX", 65423248u, 0, 10, &be_const_str_ROT1B); +be_define_const_str(ROT1B, "ROT1B", 809932573u, 0, 5, &be_const_str_item); +be_define_const_str(item, "item", 2671260646u, 0, 4, &be_const_str_save_before_restart); +be_define_const_str(save_before_restart, "save_before_restart", 1253239338u, 0, 19, NULL); +be_define_const_str(A4988_MS1, "A4988_MS1", 1729976611u, 0, 9, &be_const_str_MIEL_HVAC_RX); +be_define_const_str(MIEL_HVAC_RX, "MIEL_HVAC_RX", 3720609648u, 0, 12, NULL); +be_define_const_str(lv_font, "lv_font", 1550958453u, 0, 7, NULL); +be_define_const_str(DDS2382_TX, "DDS2382_TX", 1438117864u, 0, 10, NULL); +be_define_const_str(OPEN_DRAIN, "OPEN_DRAIN", 677872608u, 0, 10, &be_const_str_SYMBOL_BULLET); +be_define_const_str(SYMBOL_BULLET, "SYMBOL_BULLET", 587181862u, 0, 13, &be_const_str_TCP_TX); +be_define_const_str(TCP_TX, "TCP_TX", 2762594089u, 0, 6, &be_const_str_insert); +be_define_const_str(insert, "insert", 3332609576u, 0, 6, &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_write_bytes); +be_define_const_str(write_bytes, "write_bytes", 1227543792u, 0, 11, NULL); +be_define_const_str(HTTP_MANAGER_RESET_ONLY, "HTTP_MANAGER_RESET_ONLY", 1069048228u, 0, 23, NULL); +be_define_const_str(HX711_DAT, "HX711_DAT", 2935118250u, 0, 9, &be_const_str_SYMBOL_STOP); +be_define_const_str(SYMBOL_STOP, "SYMBOL_STOP", 2836505202u, 0, 11, &be_const_str_floor); +be_define_const_str(floor, "floor", 3102149661u, 0, 5, &be_const_str_load); +be_define_const_str(load, "load", 3859241449u, 0, 4, NULL); +be_define_const_str(SYMBOL_BATTERY_FULL, "SYMBOL_BATTERY_FULL", 2638935545u, 0, 19, &be_const_str__begin_transmission); +be_define_const_str(_begin_transmission, "_begin_transmission", 2779461176u, 0, 19, NULL); +be_define_const_str(SSPI_MOSI, "SSPI_MOSI", 3745917497u, 0, 9, &be_const_str_digital_write); +be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, &be_const_str_issubclass); +be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, NULL); +be_define_const_str(content_stop, "content_stop", 658554751u, 0, 12, &be_const_str_lv_spinner); +be_define_const_str(lv_spinner, "lv_spinner", 3361501901u, 0, 10, NULL); +be_define_const_str(TUYA_RX, "TUYA_RX", 1609397679u, 0, 7, NULL); +be_define_const_str(HM10_RX, "HM10_RX", 515085922u, 0, 7, &be_const_str_TM1638DIO); +be_define_const_str(TM1638DIO, "TM1638DIO", 1408212414u, 0, 9, &be_const_str_remove_cmd); +be_define_const_str(remove_cmd, "remove_cmd", 3832315702u, 0, 10, NULL); +be_define_const_str(DSB, "DSB", 98073254u, 0, 3, &be_const_str_reverse); +be_define_const_str(reverse, "reverse", 558918661u, 0, 7, NULL); +be_define_const_str(montserrat_font, "montserrat_font", 1819065874u, 0, 15, NULL); +be_define_const_str(SYMBOL_PLUS, "SYMBOL_PLUS", 2860093262u, 0, 11, NULL); +be_define_const_str(SYMBOL_VOLUME_MID, "SYMBOL_VOLUME_MID", 158835057u, 0, 17, NULL); +be_define_const_str(CC1101_GDO2, "CC1101_GDO2", 974166265u, 0, 11, &be_const_str_ZIGBEE_TX); +be_define_const_str(ZIGBEE_TX, "ZIGBEE_TX", 25119256u, 0, 9, &be_const_str__available); +be_define_const_str(_available, "_available", 1306196581u, 0, 10, NULL); +be_define_const_str(WEBCAM_PSRCS, "WEBCAM_PSRCS", 624464864u, 0, 12, NULL); +be_define_const_str(DYP_RX, "DYP_RX", 2122310285u, 0, 6, NULL); +be_define_const_str(INPUT_PULLDOWN, "INPUT_PULLDOWN", 1172232591u, 0, 14, &be_const_str_LE01MR_TX); +be_define_const_str(LE01MR_TX, "LE01MR_TX", 1589687023u, 0, 9, &be_const_str_MAX31855CLK); +be_define_const_str(MAX31855CLK, "MAX31855CLK", 715977727u, 0, 11, &be_const_str_SYMBOL_PREV); +be_define_const_str(SYMBOL_PREV, "SYMBOL_PREV", 2952615023u, 0, 11, &be_const_str__ccmd); +be_define_const_str(_ccmd, "_ccmd", 2163421413u, 0, 5, &be_const_str_byte); +be_define_const_str(byte, "byte", 1683620383u, 0, 4, &be_const_str_content_send_style); +be_define_const_str(content_send_style, "content_send_style", 1087907647u, 0, 18, NULL); +be_define_const_str(DCKI, "DCKI", 3846847480u, 0, 4, &be_const_str_SAIR_TX); +be_define_const_str(SAIR_TX, "SAIR_TX", 268017311u, 0, 7, &be_const_str_SSD1331_CS); +be_define_const_str(SSD1331_CS, "SSD1331_CS", 4191047928u, 0, 10, &be_const_str_check_privileged_access); +be_define_const_str(check_privileged_access, "check_privileged_access", 3692933968u, 0, 23, NULL); +be_define_const_str(SR04_TRIG, "SR04_TRIG", 68671263u, 0, 9, NULL); +be_define_const_str(SYMBOL_MINUS, "SYMBOL_MINUS", 1806749158u, 0, 12, NULL); +be_define_const_str(MIEL_HVAC_TX, "MIEL_HVAC_TX", 567403014u, 0, 12, NULL); be_define_const_str(resp_cmnd_error, "resp_cmnd_error", 2404088863u, 0, 15, NULL); +be_define_const_str(IBEACON_RX, "IBEACON_RX", 2466155575u, 0, 10, &be_const_str_add_driver); +be_define_const_str(add_driver, "add_driver", 1654458371u, 0, 10, &be_const_str_get_light); +be_define_const_str(get_light, "get_light", 381930476u, 0, 9, &be_const_str_save); +be_define_const_str(save, "save", 3439296072u, 0, 4, NULL); +be_define_const_str(ILI9341_CS, "ILI9341_CS", 3519318851u, 0, 10, &be_const_str_RF_SENSOR); +be_define_const_str(RF_SENSOR, "RF_SENSOR", 2289628100u, 0, 9, &be_const_str_SYMBOL_COPY); +be_define_const_str(SYMBOL_COPY, "SYMBOL_COPY", 4193681815u, 0, 11, &be_const_str_SYMBOL_DRIVE); +be_define_const_str(SYMBOL_DRIVE, "SYMBOL_DRIVE", 567203502u, 0, 12, &be_const_str_ZEROCROSS); +be_define_const_str(ZEROCROSS, "ZEROCROSS", 1747596785u, 0, 9, NULL); +be_define_const_str(BACKLIGHT, "BACKLIGHT", 3147761926u, 0, 9, &be_const_str_OPTION_A); +be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_P9813_DAT); +be_define_const_str(P9813_DAT, "P9813_DAT", 778577052u, 0, 9, &be_const_str_SDCARD_CS); +be_define_const_str(SDCARD_CS, "SDCARD_CS", 3348952003u, 0, 9, &be_const_str_set); +be_define_const_str(set, "set", 3324446467u, 0, 3, NULL); +be_define_const_str(GPS_RX, "GPS_RX", 1075637342u, 0, 6, NULL); +be_define_const_str(TELEINFO_RX, "TELEINFO_RX", 1195717356u, 0, 11, NULL); +be_define_const_str(SYMBOL_SAVE, "SYMBOL_SAVE", 2439821015u, 0, 11, NULL); +be_define_const_str(lv_keyboard, "lv_keyboard", 197530229u, 0, 11, &be_const_str_setrange); +be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL); +be_define_const_str(MAX7219CS, "MAX7219CS", 2593198244u, 0, 9, &be_const_str_find); +be_define_const_str(find, "find", 3186656602u, 0, 4, NULL); +be_define_const_str(DDSU666_RX, "DDSU666_RX", 1812507936u, 0, 10, &be_const_str_lv_table); +be_define_const_str(lv_table, "lv_table", 1675691020u, 0, 8, NULL); +be_define_const_str(ADC_CT_POWER, "ADC_CT_POWER", 3382284599u, 0, 12, &be_const_str_TFMINIPLUS_TX); +be_define_const_str(TFMINIPLUS_TX, "TFMINIPLUS_TX", 2527875337u, 0, 13, NULL); +be_define_const_str(gamma10, "gamma10", 3472052483u, 0, 7, NULL); +be_define_const_str(SBR_RX, "SBR_RX", 3350999801u, 0, 6, &be_const_str_Wire); +be_define_const_str(Wire, "Wire", 1938276536u, 0, 4, NULL); +be_define_const_str(collect, "collect", 2399039025u, 0, 7, &be_const_str_find_key_i); +be_define_const_str(find_key_i, "find_key_i", 850136726u, 0, 10, NULL); +be_define_const_str(content_start, "content_start", 2937509069u, 0, 13, &be_const_str_tanh); +be_define_const_str(tanh, "tanh", 153638352u, 0, 4, NULL); +be_define_const_str(gamma8, "gamma8", 3802843830u, 0, 6, NULL); +be_define_const_str(A4988_STP, "A4988_STP", 1622172049u, 0, 9, &be_const_str_BUZZER_INV); +be_define_const_str(BUZZER_INV, "BUZZER_INV", 3274564335u, 0, 10, &be_const_str_SYMBOL_CALL); +be_define_const_str(SYMBOL_CALL, "SYMBOL_CALL", 1444504366u, 0, 11, &be_const_str_lv_led); +be_define_const_str(lv_led, "lv_led", 3192184733u, 0, 6, NULL); +be_define_const_str(BOILER_OT_RX, "BOILER_OT_RX", 603647409u, 0, 12, &be_const_str_INPUT_PULLUP); +be_define_const_str(INPUT_PULLUP, "INPUT_PULLUP", 2912931654u, 0, 12, &be_const_str_TELEINFO_ENABLE); +be_define_const_str(TELEINFO_ENABLE, "TELEINFO_ENABLE", 1600974501u, 0, 15, NULL); +be_define_const_str(SYMBOL_CUT, "SYMBOL_CUT", 3455112394u, 0, 10, &be_const_str_compile); +be_define_const_str(compile, "compile", 1000265118u, 0, 7, &be_const_str_get_tasmota); +be_define_const_str(get_tasmota, "get_tasmota", 334356779u, 0, 11, NULL); +be_define_const_str(on, "on", 1630810064u, 0, 2, NULL); +be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_KEY1_NP); +be_define_const_str(KEY1_NP, "KEY1_NP", 709918726u, 0, 7, &be_const_str_REL1_INV); +be_define_const_str(REL1_INV, "REL1_INV", 3733155371u, 0, 8, &be_const_str_isinstance); +be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, &be_const_str_lv_calendar); +be_define_const_str(lv_calendar, "lv_calendar", 3284396894u, 0, 11, NULL); +be_define_const_str(SHELLY_DIMMER_RST_INV, "SHELLY_DIMMER_RST_INV", 2366759773u, 0, 21, &be_const_str_imax); +be_define_const_str(imax, "imax", 3084515410u, 0, 4, &be_const_str_register_button_encoder); +be_define_const_str(register_button_encoder, "register_button_encoder", 2811301550u, 0, 23, NULL); +be_define_const_str(I2C_Driver, "I2C_Driver", 1714501658u, 0, 10, &be_const_str_SDM630_RX); +be_define_const_str(SDM630_RX, "SDM630_RX", 1971606309u, 0, 9, &be_const_str_WINDMETER_SPEED); +be_define_const_str(WINDMETER_SPEED, "WINDMETER_SPEED", 1980822204u, 0, 15, &be_const_str__timers); +be_define_const_str(_timers, "_timers", 2600100916u, 0, 7, NULL); +be_define_const_str(AS608_TX, "AS608_TX", 48630934u, 0, 8, &be_const_str_EPAPER42_CS); +be_define_const_str(EPAPER42_CS, "EPAPER42_CS", 3274717451u, 0, 11, &be_const_str_MCP39F5_TX); +be_define_const_str(MCP39F5_TX, "MCP39F5_TX", 1332322047u, 0, 10, NULL); +be_define_const_str(every_second, "every_second", 2075451465u, 0, 12, NULL); +be_define_const_str(WEBCAM_SIOD, "WEBCAM_SIOD", 302703242u, 0, 11, &be_const_str_load_freetype_font); +be_define_const_str(load_freetype_font, "load_freetype_font", 2368447592u, 0, 18, NULL); +be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, NULL); +be_define_const_str(BUZZER, "BUZZER", 1550039611u, 0, 6, &be_const_str_MGC3130_RESET); +be_define_const_str(MGC3130_RESET, "MGC3130_RESET", 405013121u, 0, 13, &be_const_str_asin); +be_define_const_str(asin, "asin", 4272848550u, 0, 4, NULL); +be_define_const_str(time_reached, "time_reached", 2075136773u, 0, 12, NULL); +be_define_const_str(PZEM016_RX, "PZEM016_RX", 1004012055u, 0, 10, &be_const_str_SYMBOL_PAUSE); +be_define_const_str(SYMBOL_PAUSE, "SYMBOL_PAUSE", 641998172u, 0, 12, &be_const_str_lv_canvas); +be_define_const_str(lv_canvas, "lv_canvas", 142865412u, 0, 9, NULL); +be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, NULL); +be_define_const_str(while, "while", 231090382u, 53, 5, NULL); +be_define_const_str(bus, "bus", 1607822841u, 0, 3, &be_const_str_end); +be_define_const_str(end, "end", 1787721130u, 56, 3, NULL); +be_define_const_str(HPMA_RX, "HPMA_RX", 3462528998u, 0, 7, &be_const_str_SYMBOL_GPS); +be_define_const_str(SYMBOL_GPS, "SYMBOL_GPS", 3044165570u, 0, 10, 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_TASMOTACLIENT_TXD); +be_define_const_str(TASMOTACLIENT_TXD, "TASMOTACLIENT_TXD", 1386193940u, 0, 17, &be_const_str_asstring); +be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, NULL); +be_define_const_str(KEY1_INV, "KEY1_INV", 263542563u, 0, 8, &be_const_str_SYMBOL_SHUFFLE); +be_define_const_str(SYMBOL_SHUFFLE, "SYMBOL_SHUFFLE", 1123310147u, 0, 14, &be_const_str_elif); +be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL); +be_define_const_str(OUTPUT, "OUTPUT", 1469629700u, 0, 6, &be_const_str__request_from); +be_define_const_str(_request_from, "_request_from", 3965148604u, 0, 13, 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_SSD1351_CS); +be_define_const_str(SSD1351_CS, "SSD1351_CS", 488746042u, 0, 10, &be_const_str_SYMBOL_KEYBOARD); +be_define_const_str(SYMBOL_KEYBOARD, "SYMBOL_KEYBOARD", 1621492879u, 0, 15, &be_const_str_lv_obj); +be_define_const_str(lv_obj, "lv_obj", 4257833149u, 0, 6, NULL); +be_define_const_str(SYMBOL_DIRECTORY, "SYMBOL_DIRECTORY", 1886053449u, 0, 16, &be_const_str_add_rule); +be_define_const_str(add_rule, "add_rule", 596540743u, 0, 8, NULL); +be_define_const_str(IRRECV, "IRRECV", 1743648982u, 0, 6, &be_const_str_imin); +be_define_const_str(imin, "imin", 2714127864u, 0, 4, &be_const_str_lv_btn); +be_define_const_str(lv_btn, "lv_btn", 1612829968u, 0, 6, NULL); +be_define_const_str(lv_chart, "lv_chart", 2652494144u, 0, 8, &be_const_str_str); +be_define_const_str(str, "str", 3259748752u, 0, 3, NULL); +be_define_const_str(RA8876_CS, "RA8876_CS", 2529944108u, 0, 9, &be_const_str_RC522_RST); +be_define_const_str(RC522_RST, "RC522_RST", 720511443u, 0, 9, &be_const_str_SAIR_RX); +be_define_const_str(SAIR_RX, "SAIR_RX", 1273688713u, 0, 7, &be_const_str_SPI_MISO); +be_define_const_str(SPI_MISO, "SPI_MISO", 150818010u, 0, 8, &be_const_str_SYMBOL_VOLUME_MAX); +be_define_const_str(SYMBOL_VOLUME_MAX, "SYMBOL_VOLUME_MAX", 3582646093u, 0, 17, &be_const_str_import); +be_define_const_str(import, "import", 288002260u, 66, 6, NULL); +be_define_const_str(HRE_DATA, "HRE_DATA", 1820377643u, 0, 8, NULL); +be_define_const_str(OUTPUT_OPEN_DRAIN, "OUTPUT_OPEN_DRAIN", 2147249436u, 0, 17, &be_const_str_SSPI_SCLK); +be_define_const_str(SSPI_SCLK, "SSPI_SCLK", 136688954u, 0, 9, NULL); +be_define_const_str(opt_neq, "!=", 2428715011u, 0, 2, &be_const_str_BL0940_RX); +be_define_const_str(BL0940_RX, "BL0940_RX", 2908993179u, 0, 9, &be_const_str_MAX31855DO); +be_define_const_str(MAX31855DO, "MAX31855DO", 552730368u, 0, 10, &be_const_str_cos); +be_define_const_str(cos, "cos", 4220379804u, 0, 3, &be_const_str_open); +be_define_const_str(open, "open", 3546203337u, 0, 4, NULL); +be_define_const_str(EPD_DATA, "EPD_DATA", 3799141097u, 0, 8, NULL); +be_define_const_str(IBEACON_TX, "IBEACON_TX", 3471826977u, 0, 10, &be_const_str_RXD); +be_define_const_str(RXD, "RXD", 2311579049u, 0, 3, &be_const_str_WEBCAM_RESET); +be_define_const_str(WEBCAM_RESET, "WEBCAM_RESET", 2171221520u, 0, 12, &be_const_str_tan); +be_define_const_str(tan, "tan", 2633446552u, 0, 3, &be_const_str_try_rule); +be_define_const_str(try_rule, "try_rule", 1986449405u, 0, 8, NULL); +be_define_const_str(ADC_RANGE, "ADC_RANGE", 3467329543u, 0, 9, &be_const_str_PZEM004_RX); +be_define_const_str(PZEM004_RX, "PZEM004_RX", 3411153194u, 0, 10, &be_const_str_time_dump); +be_define_const_str(time_dump, "time_dump", 3330410747u, 0, 9, NULL); +be_define_const_str(TASMOTACLIENT_RST_INV, "TASMOTACLIENT_RST_INV", 2601785365u, 0, 21, NULL); +be_define_const_str(SYMBOL_IMAGE, "SYMBOL_IMAGE", 815601151u, 0, 12, &be_const_str_print); +be_define_const_str(print, "print", 372738696u, 0, 5, NULL); +be_define_const_str(NEOPOOL_TX, "NEOPOOL_TX", 2924925804u, 0, 10, NULL); +be_define_const_str(LEDLNK, "LEDLNK", 2862810701u, 0, 6, &be_const_str_OLED_RESET); +be_define_const_str(OLED_RESET, "OLED_RESET", 4048987655u, 0, 10, &be_const_str_SDM630_TX); +be_define_const_str(SDM630_TX, "SDM630_TX", 696213075u, 0, 9, &be_const_str_SYMBOL_NEXT); +be_define_const_str(SYMBOL_NEXT, "SYMBOL_NEXT", 1102844455u, 0, 11, &be_const_str_var); +be_define_const_str(var, "var", 2317739966u, 64, 3, NULL); +be_define_const_str(CC1101_GDO0, "CC1101_GDO0", 940611027u, 0, 11, &be_const_str_assert); +be_define_const_str(assert, "assert", 2774883451u, 0, 6, &be_const_str_remove_rule); +be_define_const_str(remove_rule, "remove_rule", 3456211328u, 0, 11, NULL); +be_define_const_str(LED1_INV, "LED1_INV", 2112045097u, 0, 8, &be_const_str_module); +be_define_const_str(module, "module", 3617558685u, 0, 6, NULL); +be_define_const_str(MAX7219CLK, "MAX7219CLK", 963568838u, 0, 10, &be_const_str_SWT1); +be_define_const_str(SWT1, "SWT1", 805224112u, 0, 4, &be_const_str_WEBCAM_XCLK); +be_define_const_str(WEBCAM_XCLK, "WEBCAM_XCLK", 536207425u, 0, 11, NULL); +be_define_const_str(ROT1A_NP, "ROT1A_NP", 2322706903u, 0, 8, &be_const_str_name); +be_define_const_str(name, "name", 2369371622u, 0, 4, NULL); +be_define_const_str(NRF24_CS, "NRF24_CS", 555833194u, 0, 8, &be_const_str_SYMBOL_WARNING); +be_define_const_str(SYMBOL_WARNING, "SYMBOL_WARNING", 4119913686u, 0, 14, &be_const_str_nil); +be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL); +be_define_const_str(addr, "addr", 1087856498u, 0, 4, &be_const_str_lv_tileview); +be_define_const_str(lv_tileview, "lv_tileview", 2419887973u, 0, 11, NULL); +be_define_const_str(XPT2046_CS, "XPT2046_CS", 4049231042u, 0, 10, NULL); +be_define_const_str(opt_eq, "==", 2431966415u, 0, 2, NULL); +be_define_const_str(HALLEFFECT, "HALLEFFECT", 3334305407u, 0, 10, &be_const_str_PULLUP); +be_define_const_str(PULLUP, "PULLUP", 3417628531u, 0, 6, NULL); +be_define_const_str(MP3_DFR562, "MP3_DFR562", 2859952977u, 0, 10, &be_const_str_SI7021); +be_define_const_str(SI7021, "SI7021", 864377911u, 0, 6, &be_const_str_cosh); +be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, &be_const_str_lv_bar); +be_define_const_str(lv_bar, "lv_bar", 1582673229u, 0, 6, NULL); +be_define_const_str(break, "break", 3378807160u, 58, 5, NULL); +be_define_const_str(ETH_PHY_POWER, "ETH_PHY_POWER", 487529454u, 0, 13, &be_const_str_MAX7219DIN); +be_define_const_str(MAX7219DIN, "MAX7219DIN", 380687049u, 0, 10, &be_const_str_SYMBOL_BELL); +be_define_const_str(SYMBOL_BELL, "SYMBOL_BELL", 1736196487u, 0, 11, &be_const_str___iterator__); +be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, NULL); +be_define_const_str(HRXL_RX, "HRXL_RX", 92702006u, 0, 7, &be_const_str_SSD1351_DC); +be_define_const_str(SSD1351_DC, "SSD1351_DC", 84950353u, 0, 10, &be_const_str_rand); +be_define_const_str(rand, "rand", 2711325910u, 0, 4, NULL); +be_define_const_str(NRF24_DC, "NRF24_DC", 688921313u, 0, 8, &be_const_str_PN532_TXD); +be_define_const_str(PN532_TXD, "PN532_TXD", 3093418644u, 0, 9, &be_const_str_SYMBOL_BLUETOOTH); +be_define_const_str(SYMBOL_BLUETOOTH, "SYMBOL_BLUETOOTH", 679376572u, 0, 16, &be_const_str_TM1638STB); +be_define_const_str(TM1638STB, "TM1638STB", 823674593u, 0, 9, &be_const_str_TUYA_TX); +be_define_const_str(TUYA_TX, "TUYA_TX", 1541301465u, 0, 7, &be_const_str_Tasmota); +be_define_const_str(Tasmota, "Tasmota", 4047617668u, 0, 7, &be_const_str_set_light); +be_define_const_str(set_light, "set_light", 3176076152u, 0, 9, NULL); +be_define_const_str(PMS5003_RX, "PMS5003_RX", 3934985650u, 0, 10, &be_const_str_response_append); +be_define_const_str(response_append, "response_append", 450346371u, 0, 15, NULL); +be_define_const_str(ROT1A, "ROT1A", 759599716u, 0, 5, &be_const_str_pi); +be_define_const_str(pi, "pi", 1213090802u, 0, 2, NULL); +be_define_const_str(as, "as", 1579491469u, 67, 2, NULL); +be_define_const_str(ETH_PHY_MDIO, "ETH_PHY_MDIO", 3261871568u, 0, 12, &be_const_str_hex); +be_define_const_str(hex, "hex", 4273249610u, 0, 3, NULL); +be_define_const_str(ADE7953_IRQ, "ADE7953_IRQ", 2329185922u, 0, 11, &be_const_str_SSPI_CS); +be_define_const_str(SSPI_CS, "SSPI_CS", 977784795u, 0, 7, &be_const_str_SWT1_NP); +be_define_const_str(SWT1_NP, "SWT1_NP", 4033043739u, 0, 7, NULL); +be_define_const_str(EPAPER29_CS, "EPAPER29_CS", 3916373594u, 0, 11, &be_const_str_VL53L0X_XSHUT1); +be_define_const_str(VL53L0X_XSHUT1, "VL53L0X_XSHUT1", 2341134183u, 0, 14, &be_const_str_display); +be_define_const_str(display, "display", 1164572437u, 0, 7, NULL); +be_define_const_str(SDM72_TX, "SDM72_TX", 2042143269u, 0, 8, &be_const_str_lv_page); +be_define_const_str(lv_page, "lv_page", 2373170067u, 0, 7, NULL); +be_define_const_str(SM16716_DAT, "SM16716_DAT", 1905621806u, 0, 11, &be_const_str_tostring); +be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL); +be_define_const_str(NEOPOOL_RX, "NEOPOOL_RX", 1917974474u, 0, 10, &be_const_str_load_font); +be_define_const_str(load_font, "load_font", 1875840019u, 0, 9, &be_const_str_lv_linemeter); +be_define_const_str(lv_linemeter, "lv_linemeter", 1413069363u, 0, 12, &be_const_str_sinh); +be_define_const_str(sinh, "sinh", 282220607u, 0, 4, NULL); +be_define_const_str(LE01MR_RX, "LE01MR_RX", 1521590809u, 0, 9, &be_const_str_PULLDOWN); +be_define_const_str(PULLDOWN, "PULLDOWN", 1853074086u, 0, 8, &be_const_str_member); +be_define_const_str(member, "member", 719708611u, 0, 6, &be_const_str_push); +be_define_const_str(push, "push", 2272264157u, 0, 4, NULL); +be_define_const_str(ADC_BUTTON, "ADC_BUTTON", 3393454690u, 0, 10, &be_const_str_scale_uint); +be_define_const_str(scale_uint, "scale_uint", 3090811094u, 0, 10, &be_const_str_time_str); +be_define_const_str(time_str, "time_str", 2613827612u, 0, 8, NULL); +be_define_const_str(AS608_RX, "AS608_RX", 4275502016u, 0, 8, NULL); +be_define_const_str(HTTP_MANAGER, "HTTP_MANAGER", 3295760829u, 0, 12, &be_const_str_PMS5003_TX); +be_define_const_str(PMS5003_TX, "PMS5003_TX", 3868169364u, 0, 10, &be_const_str_SYMBOL_UPLOAD); +be_define_const_str(SYMBOL_UPLOAD, "SYMBOL_UPLOAD", 3293679647u, 0, 13, &be_const_str_char); +be_define_const_str(char, "char", 2823553821u, 0, 4, &be_const_str_get); +be_define_const_str(get, "get", 1410115415u, 0, 3, NULL); +be_define_const_str(NRG_SEL, "NRG_SEL", 1771358125u, 0, 7, &be_const_str_lv_label); +be_define_const_str(lv_label, "lv_label", 4199664246u, 0, 8, NULL); +be_define_const_str(SDM120_TX, "SDM120_TX", 2509332415u, 0, 9, &be_const_str_json_append); +be_define_const_str(json_append, "json_append", 3002019284u, 0, 11, &be_const_str_else); +be_define_const_str(else, "else", 3183434736u, 52, 4, NULL); +be_define_const_str(input, "input", 4191711099u, 0, 5, NULL); static const bstring* const m_string_table[] = { - (const bstring *)&be_const_str_CNTR1_NP, - (const bstring *)&be_const_str_MP3_DFR562, - (const bstring *)&be_const_str_ADC_PH, - (const bstring *)&be_const_str_raise, - (const bstring *)&be_const_str_ROT1A, - (const bstring *)&be_const_str_reverse, - (const bstring *)&be_const_str_HPMA_RX, - (const bstring *)&be_const_str_OLED_RESET, - (const bstring *)&be_const_str_DDS2382_TX, - (const bstring *)&be_const_str_ILI9488_CS, - (const bstring *)&be_const_str_opt_call, - (const bstring *)&be_const_str_BUZZER, + (const bstring *)&be_const_str_TM1638CLK, + (const bstring *)&be_const_str_MAX31855CS, NULL, - (const bstring *)&be_const_str_NRG_SEL, - (const bstring *)&be_const_str_FTC532, - (const bstring *)&be_const_str_Driver, - (const bstring *)&be_const_str_ADC_TEMP, - (const bstring *)&be_const_str_ST7789_DC, - (const bstring *)&be_const_str_SYMBOL_DOWN, - NULL, - (const bstring *)&be_const_str_MAX7219CS, - (const bstring *)&be_const_str_SYMBOL_HOME, - (const bstring *)&be_const_str_SYMBOL_EDIT, - (const bstring *)&be_const_str_ADC_RANGE, - (const bstring *)&be_const_str_FALLING, - (const bstring *)&be_const_str_SAIR_RX, - (const bstring *)&be_const_str_SYMBOL_CUT, - (const bstring *)&be_const_str_RFSEND, - (const bstring *)&be_const_str_RA8876_CS, - (const bstring *)&be_const_str_module, - (const bstring *)&be_const_str_DI, - (const bstring *)&be_const_str_WIEGAND_D0, - (const bstring *)&be_const_str_DDSU666_RX, - (const bstring *)&be_const_str_resize, - (const bstring *)&be_const_str_detect, - (const bstring *)&be_const_str_A4988_MS1, - (const bstring *)&be_const_str_count, - (const bstring *)&be_const_str_LMT01, - (const bstring *)&be_const_str_BACKLIGHT, - (const bstring *)&be_const_str_HRE_CLOCK, - (const bstring *)&be_const_str_attrdump, - (const bstring *)&be_const_str_lv_btnmatrix, - (const bstring *)&be_const_str_end, - (const bstring *)&be_const_str_lv_gauge, - (const bstring *)&be_const_str_classname, - (const bstring *)&be_const_str_opt_connect, - NULL, - (const bstring *)&be_const_str_TXD, - (const bstring *)&be_const_str_else, - (const bstring *)&be_const_str_ZEROCROSS, - (const bstring *)&be_const_str_SYMBOL_GPS, - (const bstring *)&be_const_str_response_append, - (const bstring *)&be_const_str_HM10_TX, - (const bstring *)&be_const_str_NRG_CF1, - (const bstring *)&be_const_str_AS608_TX, - (const bstring *)&be_const_str_SYMBOL_NEXT, - (const bstring *)&be_const_str_GPS_TX, - (const bstring *)&be_const_str_SBR_RX, - NULL, - NULL, - (const bstring *)&be_const_str__request_from, - (const bstring *)&be_const_str_BS814_DAT, - (const bstring *)&be_const_str_TASMOTACLIENT_RXD, - (const bstring *)&be_const_str_TUYA_RX, - (const bstring *)&be_const_str_web_add_main_button, - (const bstring *)&be_const_str_seg7_font, - (const bstring *)&be_const_str_HM10_RX, - (const bstring *)&be_const_str_ILI9341_CS, - (const bstring *)&be_const_str_TASMOTACLIENT_TXD, - (const bstring *)&be_const_str_, - (const bstring *)&be_const_str_CSE7761_TX, - (const bstring *)&be_const_str_dump, - (const bstring *)&be_const_str_BS814_CLK, - (const bstring *)&be_const_str_every_second, - (const bstring *)&be_const_str_find, - NULL, - (const bstring *)&be_const_str_RC522_CS, - (const bstring *)&be_const_str_ROT1B, - (const bstring *)&be_const_str_compile, - (const bstring *)&be_const_str_SYMBOL_PREV, - (const bstring *)&be_const_str_SYMBOL_TRASH, - (const bstring *)&be_const_str_LED1, - (const bstring *)&be_const_str_classof, - (const bstring *)&be_const_str_opt_neq, - (const bstring *)&be_const_str_SPI_CS, - (const bstring *)&be_const_str_CSE7766_TX, - (const bstring *)&be_const_str_KEY1_NP, - (const bstring *)&be_const_str_SYMBOL_BELL, - (const bstring *)&be_const_str_lv_arc, - (const bstring *)&be_const_str_SDM120_RX, - (const bstring *)&be_const_str_EPAPER29_CS, (const bstring *)&be_const_str_RISING, - (const bstring *)&be_const_str_ADC_JOY, - (const bstring *)&be_const_str_DYP_RX, - (const bstring *)&be_const_str_IEM3000_TX, - (const bstring *)&be_const_str_DHT22, - (const bstring *)&be_const_str_ILI9341_DC, - NULL, - (const bstring *)&be_const_str_ADC_BUTTON, - NULL, - (const bstring *)&be_const_str_OUTPUT, - (const bstring *)&be_const_str_TASMOTACLIENT_RST_INV, - (const bstring *)&be_const_str_PULLDOWN, - (const bstring *)&be_const_str_SYMBOL_LEFT, - (const bstring *)&be_const_str_SYMBOL_LOOP, - (const bstring *)&be_const_str_MHZ_TXD, - (const bstring *)&be_const_str_NRF24_CS, - (const bstring *)&be_const_str_EPAPER42_CS, - (const bstring *)&be_const_str_OUTPUT_OPEN_DRAIN, - (const bstring *)&be_const_str_DSB_OUT, - (const bstring *)&be_const_str_HLW_CF, - (const bstring *)&be_const_str_REL1, - (const bstring *)&be_const_str_AS608_RX, - (const bstring *)&be_const_str_SYMBOL_VOLUME_MID, - (const bstring *)&be_const_str_addr, - (const bstring *)&be_const_str_dot_p, - (const bstring *)&be_const_str_bytes, + (const bstring *)&be_const_str_deg, (const bstring *)&be_const_str_SYMBOL_BATTERY_3, - (const bstring *)&be_const_str_DSB, - (const bstring *)&be_const_str_IBEACON_RX, - (const bstring *)&be_const_str_SSD1331_CS, - NULL, - (const bstring *)&be_const_str_SSD1351_CS, - (const bstring *)&be_const_str_SYMBOL_POWER, - NULL, - NULL, - (const bstring *)&be_const_str_int, - (const bstring *)&be_const_str_BUZZER_INV, - (const bstring *)&be_const_str_IRSEND, - (const bstring *)&be_const_str_RFRECV, - (const bstring *)&be_const_str_DEEPSLEEP, - (const bstring *)&be_const_str_KEY1_INV, - (const bstring *)&be_const_str_lv_canvas, - (const bstring *)&be_const_str_WEBCAM_DATA, - (const bstring *)&be_const_str_I2C_SDA, - (const bstring *)&be_const_str_add_rule, - NULL, - (const bstring *)&be_const_str_EPD_DATA, - (const bstring *)&be_const_str_hex, - (const bstring *)&be_const_str_ARIRFSEL, - (const bstring *)&be_const_str_top, - (const bstring *)&be_const_str_traceback, - (const bstring *)&be_const_str_SM16716_DAT, - (const bstring *)&be_const_str_SYMBOL_SETTINGS, - NULL, - NULL, - (const bstring *)&be_const_str_ADE7953_IRQ, - (const bstring *)&be_const_str_SDCARD_CS, - (const bstring *)&be_const_str_SHELLY_DIMMER_BOOT0, - (const bstring *)&be_const_str_KEY1_TC, - (const bstring *)&be_const_str_INPUT_PULLUP, - (const bstring *)&be_const_str_HJL_CF, - (const bstring *)&be_const_str_WEBCAM_HSD, - (const bstring *)&be_const_str_srand, - (const bstring *)&be_const_str_WEBCAM_SIOD, - (const bstring *)&be_const_str_SM16716_CLK, - (const bstring *)&be_const_str_WINDMETER_SPEED, - (const bstring *)&be_const_str_char, - (const bstring *)&be_const_str_ADC_LIGHT, - (const bstring *)&be_const_str_ELECTRIQ_MOODL_TX, - NULL, + (const bstring *)&be_const_str_SDM120_RX, + (const bstring *)&be_const_str_GPS_TX, (const bstring *)&be_const_str_AS3935, - (const bstring *)&be_const_str_lv_tabview, + (const bstring *)&be_const_str_RFSEND, NULL, - (const bstring *)&be_const_str_json_append, - (const bstring *)&be_const_str_SDM630_RX, - (const bstring *)&be_const_str_resp_cmnd_str, - (const bstring *)&be_const_str_ROT1A_NP, - (const bstring *)&be_const_str_DCKI, - (const bstring *)&be_const_str_CC1101_GDO2, + (const bstring *)&be_const_str_DI, + (const bstring *)&be_const_str_CNTR1_NP, + (const bstring *)&be_const_str_attrdump, + (const bstring *)&be_const_str_ADC_PH, NULL, + (const bstring *)&be_const_str_get_free_heap, NULL, - (const bstring *)&be_const_str_P9813_DAT, - (const bstring *)&be_const_str_concat, - (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_SYMBOL_DUMMY, + (const bstring *)&be_const_str_SYMBOL_POWER, + (const bstring *)&be_const_str_AZ_TXD, NULL, - (const bstring *)&be_const_str_pi, - (const bstring *)&be_const_str___upper__, - (const bstring *)&be_const_str_PN532_TXD, - (const bstring *)&be_const_str_SDM72_TX, - (const bstring *)&be_const_str_WEBCAM_VSYNC, - (const bstring *)&be_const_str_BOILER_OT_TX, - (const bstring *)&be_const_str_WEBCAM_HREF, - (const bstring *)&be_const_str_EXS_ENABLE, - (const bstring *)&be_const_str_KEY1_INV_NP, - (const bstring *)&be_const_str_SWT1_NP, - (const bstring *)&be_const_str_ARIRFRCV, - (const bstring *)&be_const_str_SHELLY_DIMMER_RST_INV, - (const bstring *)&be_const_str_DDS2382_RX, - (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_codedump, + (const bstring *)&be_const_str_SDM72_RX, + (const bstring *)&be_const_str_DHT11, + NULL, + (const bstring *)&be_const_str_LEDLNK_INV, + (const bstring *)&be_const_str_HX711_SCK, + (const bstring *)&be_const_str_SYMBOL_NEW_LINE, + (const bstring *)&be_const_str_KEY1_TC, + (const bstring *)&be_const_str_opt_call, + (const bstring *)&be_const_str_HPMA_TX, + (const bstring *)&be_const_str_raise, + NULL, + (const bstring *)&be_const_str__drivers, NULL, (const bstring *)&be_const_str_A4988_DIR, - (const bstring *)&be_const_str_SSPI_MAX31865_CS1, - (const bstring *)&be_const_str_set_timer, (const bstring *)&be_const_str_PZEM017_RX, - (const bstring *)&be_const_str___iterator__, - (const bstring *)&be_const_str_delay, - (const bstring *)&be_const_str_MAX7219DIN, - (const bstring *)&be_const_str_NEOPOOL_RX, - (const bstring *)&be_const_str_MGC3130_XFER, - (const bstring *)&be_const_str_lv_table, - (const bstring *)&be_const_str_lv_slider, - (const bstring *)&be_const_str_DHT11_OUT, - (const bstring *)&be_const_str_HALLEFFECT, - (const bstring *)&be_const_str_SWT1, - (const bstring *)&be_const_str_IBEACON_TX, - (const bstring *)&be_const_str_codedump, - (const bstring *)&be_const_str_CC1101_GDO0, - (const bstring *)&be_const_str_super, - (const bstring *)&be_const_str_SSPI_MISO, - NULL, - (const bstring *)&be_const_str_PZEM016_RX, - (const bstring *)&be_const_str_tan, - (const bstring *)&be_const_str_P9813_CLK, - NULL, - (const bstring *)&be_const_str_SM2135_CLK, - (const bstring *)&be_const_str_PROJECTOR_CTRL_RX, - (const bstring *)&be_const_str_sin, - (const bstring *)&be_const_str_SM2135_DAT, - (const bstring *)&be_const_str_MCP39F5_TX, - (const bstring *)&be_const_str_button_pressed, - (const bstring *)&be_const_str_A4988_STP, - (const bstring *)&be_const_str_XPT2046_CS, - (const bstring *)&be_const_str_gamma10, - (const bstring *)&be_const_str_exec_rules, - (const bstring *)&be_const_str_true, - (const bstring *)&be_const_str_DDSU666_TX, - (const bstring *)&be_const_str_ADC_CT_POWER, - (const bstring *)&be_const_str_deinit, - (const bstring *)&be_const_str_LE01MR_RX, - (const bstring *)&be_const_str_PROJECTOR_CTRL_TX, - (const bstring *)&be_const_str_BL0940_RX, - NULL, - (const bstring *)&be_const_str_lv_imgbtn, - (const bstring *)&be_const_str_ADC_BUTTON_INV, - (const bstring *)&be_const_str_SR04_TRIG, - (const bstring *)&be_const_str_ETH_PHY_MDIO, - (const bstring *)&be_const_str_get_power, - NULL, - (const bstring *)&be_const_str_SDM630_TX, - (const bstring *)&be_const_str_MCP39F5_RST, - (const bstring *)&be_const_str_AZ_TXD, - (const bstring *)&be_const_str_if, - NULL, - (const bstring *)&be_const_str_SOLAXX1_TX, + (const bstring *)&be_const_str_ARIRFRCV, + (const bstring *)&be_const_str_RC522_CS, + (const bstring *)&be_const_str_def, + (const bstring *)&be_const_str_SSD1331_DC, (const bstring *)&be_const_str_SYMBOL_BACKSPACE, - (const bstring *)&be_const_str_HX711_DAT, - (const bstring *)&be_const_str_REL1_INV, - (const bstring *)&be_const_str_HX711_SCK, - (const bstring *)&be_const_str_CHANGE, - (const bstring *)&be_const_str_ADC_INPUT, - (const bstring *)&be_const_str_SBR_TX, - (const bstring *)&be_const_str_MAX31855DO, - (const bstring *)&be_const_str_BOILER_OT_RX, - (const bstring *)&be_const_str_SYMBOL_STOP, - (const bstring *)&be_const_str_SDM72_RX, - (const bstring *)&be_const_str_do, - (const bstring *)&be_const_str_lv_dropdown, - (const bstring *)&be_const_str_PWM1_INV, - (const bstring *)&be_const_str_SI7021, - (const bstring *)&be_const_str_run_deferred, + (const bstring *)&be_const_str_SYMBOL_OK, NULL, + (const bstring *)&be_const_str_SPI_DC, + (const bstring *)&be_const_str_SYMBOL_USB, + (const bstring *)&be_const_str_TXD, + (const bstring *)&be_const_str_screenshot, + (const bstring *)&be_const_str_ADC_TEMP, (const bstring *)&be_const_str_opt_add, + (const bstring *)&be_const_str__cmd, + (const bstring *)&be_const_str_HJL_CF, + (const bstring *)&be_const_str_lv_btnmatrix, + NULL, + (const bstring *)&be_const_str_IEM3000_TX, + (const bstring *)&be_const_str_MGC3130_XFER, + (const bstring *)&be_const_str_MHZ_TXD, + (const bstring *)&be_const_str_FALLING, + (const bstring *)&be_const_str_WE517_RX, + (const bstring *)&be_const_str_atan, + (const bstring *)&be_const_str_ADC_JOY, + (const bstring *)&be_const_str_arg, + (const bstring *)&be_const_str_TASMOTACLIENT_RXD, + (const bstring *)&be_const_str_PWM1_INV, + (const bstring *)&be_const_str_chars_in_string, + (const bstring *)&be_const_str_MCP39F5_RX, + (const bstring *)&be_const_str_SYMBOL_RIGHT, + NULL, + (const bstring *)&be_const_str_CSE7761_TX, + NULL, + NULL, + (const bstring *)&be_const_str_ST7789_DC, + (const bstring *)&be_const_str_concat, + (const bstring *)&be_const_str___lower__, + (const bstring *)&be_const_str_ILI9341_DC, + (const bstring *)&be_const_str_WEBCAM_HREF, + (const bstring *)&be_const_str_DEEPSLEEP, + (const bstring *)&be_const_str_WIEGAND_D0, + (const bstring *)&be_const_str_SM16716_SEL, + (const bstring *)&be_const_str_SM2135_DAT, + (const bstring *)&be_const_str_I2C_SDA, + (const bstring *)&be_const_str_A4988_ENA, + (const bstring *)&be_const_str_classname, + (const bstring *)&be_const_str_SYMBOL_WIFI, + (const bstring *)&be_const_str_class, + (const bstring *)&be_const_str_count, + (const bstring *)&be_const_str_resp_cmnd, + (const bstring *)&be_const_str_ELECTRIQ_MOODL_TX, + (const bstring *)&be_const_str_classof, + NULL, + NULL, + (const bstring *)&be_const_str_dot_p, + (const bstring *)&be_const_str_SYMBOL_DOWNLOAD, + (const bstring *)&be_const_str_IRSEND, + (const bstring *)&be_const_str_SPI_MOSI, + (const bstring *)&be_const_str_ADC_INPUT, + (const bstring *)&be_const_str_add_cmd, + (const bstring *)&be_const_str_DDSU666_TX, + (const bstring *)&be_const_str_PN532_RXD, + (const bstring *)&be_const_str_SDS0X1_TX, + (const bstring *)&be_const_str_lv_imgbtn, + (const bstring *)&be_const_str_KEY1, + NULL, + (const bstring *)&be_const_str_opt_connect, + (const bstring *)&be_const_str_DDS2382_RX, + (const bstring *)&be_const_str_HLW_CF, + (const bstring *)&be_const_str_BOILER_OT_TX, + (const bstring *)&be_const_str_top, + (const bstring *)&be_const_str_fromstring, + (const bstring *)&be_const_str_ROT1B_NP, + (const bstring *)&be_const_str_set_timer, + (const bstring *)&be_const_str_WEBCAM_PSCLK, + (const bstring *)&be_const_str_WEBCAM_SIOC, + (const bstring *)&be_const_str_WIEGAND_D1, + (const bstring *)&be_const_str_HTTP_ADMIN, + NULL, + (const bstring *)&be_const_str_AZ_RXD, + (const bstring *)&be_const_str_button_pressed, + (const bstring *)&be_const_str_BS814_DAT, + (const bstring *)&be_const_str_TM1637DIO, + (const bstring *)&be_const_str_tolower, + (const bstring *)&be_const_str_Driver, + (const bstring *)&be_const_str_NRG_CF1, + (const bstring *)&be_const_str_SR04_ECHO, + (const bstring *)&be_const_str_ETH_PHY_MDC, + NULL, + (const bstring *)&be_const_str_MHZ_RXD, + (const bstring *)&be_const_str_SYMBOL_EJECT, + (const bstring *)&be_const_str_HIGH, + (const bstring *)&be_const_str_ARIRFSEL, (const bstring *)&be_const_str_NONE, - (const bstring *)&be_const_str_SYMBOL_BLUETOOTH, - (const bstring *)&be_const_str_SYMBOL_VOLUME_MAX, - (const bstring *)&be_const_str_SYMBOL_DRIVE, - (const bstring *)&be_const_str_opt_eq + NULL, + (const bstring *)&be_const_str_SPI_CS, + (const bstring *)&be_const_str_BS814_CLK, + (const bstring *)&be_const_str_SYMBOL_AUDIO, + (const bstring *)&be_const_str_CHANGE, + (const bstring *)&be_const_str_DSB_OUT, + (const bstring *)&be_const_str_SM16716_CLK, + (const bstring *)&be_const_str_TFMINIPLUS_RX, + (const bstring *)&be_const_str_NRG_SEL_INV, + (const bstring *)&be_const_str_WS2812, + (const bstring *)&be_const_str_SM2135_CLK, + (const bstring *)&be_const_str_HM10_TX, + (const bstring *)&be_const_str_SENSOR_END, + (const bstring *)&be_const_str_DHT11_OUT, + (const bstring *)&be_const_str_SYMBOL_TRASH, + NULL, + NULL, + NULL, + (const bstring *)&be_const_str_IEM3000_RX, + (const bstring *)&be_const_str_HTTP_USER, + (const bstring *)&be_const_str_SOLAXX1_TX, + (const bstring *)&be_const_str_KEY1_INV_NP, + (const bstring *)&be_const_str_WEBCAM_PWDN, + (const bstring *)&be_const_str_PROJECTOR_CTRL_TX, + (const bstring *)&be_const_str_lv_roller, + (const bstring *)&be_const_str_CSE7761_RX, + (const bstring *)&be_const_str_A4988_MS1, + (const bstring *)&be_const_str_lv_font, + (const bstring *)&be_const_str_DDS2382_TX, + (const bstring *)&be_const_str_OPEN_DRAIN, + (const bstring *)&be_const_str_OUTPUT_LO, + (const bstring *)&be_const_str_HTTP_MANAGER_RESET_ONLY, + (const bstring *)&be_const_str_HX711_DAT, + (const bstring *)&be_const_str_SYMBOL_BATTERY_FULL, + (const bstring *)&be_const_str_SSPI_MOSI, + (const bstring *)&be_const_str_content_stop, + (const bstring *)&be_const_str_TUYA_RX, + (const bstring *)&be_const_str_HM10_RX, + (const bstring *)&be_const_str_DSB, + NULL, + (const bstring *)&be_const_str_montserrat_font, + NULL, + (const bstring *)&be_const_str_SYMBOL_PLUS, + (const bstring *)&be_const_str_SYMBOL_VOLUME_MID, + (const bstring *)&be_const_str_CC1101_GDO2, + (const bstring *)&be_const_str_WEBCAM_PSRCS, + (const bstring *)&be_const_str_DYP_RX, + (const bstring *)&be_const_str_INPUT_PULLDOWN, + (const bstring *)&be_const_str_DCKI, + (const bstring *)&be_const_str_SR04_TRIG, + (const bstring *)&be_const_str_SYMBOL_MINUS, + (const bstring *)&be_const_str_MIEL_HVAC_TX, + (const bstring *)&be_const_str_resp_cmnd_error, + (const bstring *)&be_const_str_IBEACON_RX, + (const bstring *)&be_const_str_ILI9341_CS, + (const bstring *)&be_const_str_BACKLIGHT, + (const bstring *)&be_const_str_GPS_RX, + (const bstring *)&be_const_str_TELEINFO_RX, + (const bstring *)&be_const_str_SYMBOL_SAVE, + (const bstring *)&be_const_str_lv_keyboard, + (const bstring *)&be_const_str_MAX7219CS, + (const bstring *)&be_const_str_DDSU666_RX, + (const bstring *)&be_const_str_ADC_CT_POWER, + (const bstring *)&be_const_str_gamma10, + NULL, + (const bstring *)&be_const_str_SBR_RX, + (const bstring *)&be_const_str_collect, + (const bstring *)&be_const_str_content_start, + (const bstring *)&be_const_str_gamma8, + (const bstring *)&be_const_str_A4988_STP, + (const bstring *)&be_const_str_BOILER_OT_RX, + (const bstring *)&be_const_str_SYMBOL_CUT, + NULL, + NULL, + NULL, + (const bstring *)&be_const_str_on, + (const bstring *)&be_const_str_, + (const bstring *)&be_const_str_SHELLY_DIMMER_RST_INV, + NULL, + (const bstring *)&be_const_str_I2C_Driver, + NULL, + NULL, + (const bstring *)&be_const_str_AS608_TX, + (const bstring *)&be_const_str_every_second, + (const bstring *)&be_const_str_WEBCAM_SIOD, + (const bstring *)&be_const_str_ceil, + (const bstring *)&be_const_str_BUZZER, + (const bstring *)&be_const_str_time_reached, + (const bstring *)&be_const_str_PZEM016_RX, + NULL, + (const bstring *)&be_const_str___upper__, + (const bstring *)&be_const_str_while, + NULL, + (const bstring *)&be_const_str_bus, + (const bstring *)&be_const_str_HPMA_RX, + (const bstring *)&be_const_str_ADC_BUTTON_INV, + (const bstring *)&be_const_str_KEY1_INV, + (const bstring *)&be_const_str_OUTPUT, + NULL, + (const bstring *)&be_const_str_FTC532, + (const bstring *)&be_const_str_SYMBOL_DIRECTORY, + (const bstring *)&be_const_str_IRRECV, + (const bstring *)&be_const_str_lv_chart, + (const bstring *)&be_const_str_RA8876_CS, + (const bstring *)&be_const_str_HRE_DATA, + (const bstring *)&be_const_str_OUTPUT_OPEN_DRAIN, + (const bstring *)&be_const_str_opt_neq, + (const bstring *)&be_const_str_EPD_DATA, + (const bstring *)&be_const_str_IBEACON_TX, + NULL, + (const bstring *)&be_const_str_ADC_RANGE, + NULL, + (const bstring *)&be_const_str_TASMOTACLIENT_RST_INV, + (const bstring *)&be_const_str_SYMBOL_IMAGE, + (const bstring *)&be_const_str_NEOPOOL_TX, + (const bstring *)&be_const_str_LEDLNK, + (const bstring *)&be_const_str_CC1101_GDO0, + (const bstring *)&be_const_str_LED1_INV, + (const bstring *)&be_const_str_MAX7219CLK, + (const bstring *)&be_const_str_ROT1A_NP, + (const bstring *)&be_const_str_NRF24_CS, + (const bstring *)&be_const_str_addr, + (const bstring *)&be_const_str_XPT2046_CS, + (const bstring *)&be_const_str_opt_eq, + (const bstring *)&be_const_str_HALLEFFECT, + (const bstring *)&be_const_str_MP3_DFR562, + NULL, + (const bstring *)&be_const_str_break, + (const bstring *)&be_const_str_ETH_PHY_POWER, + NULL, + (const bstring *)&be_const_str_HRXL_RX, + (const bstring *)&be_const_str_NRF24_DC, + (const bstring *)&be_const_str_PMS5003_RX, + (const bstring *)&be_const_str_ROT1A, + (const bstring *)&be_const_str_as, + (const bstring *)&be_const_str_ETH_PHY_MDIO, + (const bstring *)&be_const_str_ADE7953_IRQ, + (const bstring *)&be_const_str_EPAPER29_CS, + (const bstring *)&be_const_str_SDM72_TX, + (const bstring *)&be_const_str_SM16716_DAT, + (const bstring *)&be_const_str_NEOPOOL_RX, + NULL, + (const bstring *)&be_const_str_LE01MR_RX, + (const bstring *)&be_const_str_ADC_BUTTON, + (const bstring *)&be_const_str_AS608_RX, + NULL, + (const bstring *)&be_const_str_HTTP_MANAGER, + NULL, + (const bstring *)&be_const_str_NRG_SEL, + (const bstring *)&be_const_str_SDM120_TX, + (const bstring *)&be_const_str_input }; static const struct bconststrtab m_const_string_table = { - .size = 272, - .count = 545, + .size = 283, + .count = 566, .table = m_string_table }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h index 482b0b1fe..d744d2a24 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h @@ -1,68 +1,72 @@ #include "be_constobj.h" static be_define_const_map_slots(be_class_tasmota_map) { - { be_const_key(web_send, 41), be_const_func(l_webSend) }, - { be_const_key(wire2, -1), be_const_int(0) }, - { be_const_key(remove_cmd, 6), be_const_closure(remove_cmd_closure) }, - { be_const_key(get_free_heap, -1), be_const_func(l_getFreeHeap) }, - { be_const_key(save, -1), be_const_func(l_save) }, - { be_const_key(set_timer, 8), be_const_closure(set_timer_closure) }, - { be_const_key(resp_cmnd, -1), be_const_func(l_respCmnd) }, - { be_const_key(add_driver, 26), be_const_closure(add_driver_closure) }, - { be_const_key(try_rule, -1), be_const_closure(try_rule_closure) }, - { be_const_key(i2c_enabled, 29), be_const_func(l_i2cenabled) }, - { be_const_key(find_key_i, -1), be_const_closure(find_key_i_closure) }, - { be_const_key(wire1, 20), be_const_int(1) }, - { be_const_key(chars_in_string, -1), be_const_closure(chars_in_string_closure) }, - { be_const_key(get_power, 3), be_const_func(l_getpower) }, - { be_const_key(resp_cmnd_str, -1), be_const_func(l_respCmndStr) }, - { be_const_key(resp_cmnd_done, -1), be_const_func(l_respCmndDone) }, - { be_const_key(exec_rules, -1), be_const_closure(exec_rules_closure) }, - { be_const_key(_drivers, -1), be_const_int(2) }, - { be_const_key(run_deferred, -1), be_const_closure(run_deferred_closure) }, - { be_const_key(add_rule, -1), be_const_closure(add_rule_closure) }, - { be_const_key(event, -1), be_const_closure(event_closure) }, - { be_const_key(time_reached, -1), be_const_func(l_timereached) }, - { be_const_key(_cmd, -1), be_const_func(l_cmd) }, - { be_const_key(_timers, 45), be_const_int(3) }, - { be_const_key(remove_rule, -1), be_const_closure(remove_rule_closure) }, - { be_const_key(resolvecmnd, -1), be_const_func(l_resolveCmnd) }, - { be_const_key(response_append, 47), be_const_func(l_respAppend) }, - { be_const_key(time_dump, -1), be_const_func(l_time_dump) }, - { be_const_key(set_light, -1), be_const_closure(set_light_closure) }, - { be_const_key(get_option, -1), be_const_func(l_getoption) }, - { be_const_key(rtc, 34), be_const_func(l_rtc) }, - { be_const_key(set_power, -1), be_const_func(l_setpower) }, - { be_const_key(time_str, -1), be_const_closure(time_str_closure) }, - { be_const_key(_rules, -1), be_const_int(4) }, - { be_const_key(delay, -1), be_const_func(l_delay) }, - { be_const_key(add_cmd, -1), be_const_closure(add_cmd_closure) }, - { be_const_key(web_send_decimal, 23), be_const_func(l_webSendDecimal) }, - { be_const_key(log, 40), be_const_func(l_logInfo) }, - { be_const_key(resp_cmnd_failed, 1), be_const_func(l_respCmndFailed) }, - { be_const_key(millis, 42), be_const_func(l_millis) }, - { be_const_key(load, 31), be_const_closure(load_closure) }, { be_const_key(wire_scan, -1), be_const_closure(wire_scan_closure) }, - { be_const_key(exec_cmd, -1), be_const_closure(exec_cmd_closure) }, - { be_const_key(gc, -1), be_const_closure(gc_closure) }, - { be_const_key(get_light, 18), be_const_closure(get_light_closure) }, + { be_const_key(gc, 41), be_const_closure(gc_closure) }, + { be_const_key(resp_cmnd_failed, -1), be_const_func(l_respCmndFailed) }, + { be_const_key(rtc, 23), be_const_func(l_rtc) }, + { be_const_key(time_str, 9), be_const_closure(time_str_closure) }, + { be_const_key(get_free_heap, -1), be_const_func(l_getFreeHeap) }, + { be_const_key(resp_cmnd_str, -1), be_const_func(l_respCmndStr) }, + { be_const_key(get_power, -1), be_const_func(l_getpower) }, + { be_const_key(resp_cmnd_done, -1), be_const_func(l_respCmndDone) }, + { be_const_key(get_light, -1), be_const_closure(get_light_closure) }, + { be_const_key(remove_cmd, -1), be_const_closure(remove_cmd_closure) }, + { be_const_key(set_light, 3), be_const_closure(set_light_closure) }, { be_const_key(find_op, -1), be_const_closure(find_op_closure) }, - { be_const_key(scale_uint, 2), be_const_func(l_scaleuint) }, - { be_const_key(resp_cmnd_error, -1), be_const_func(l_respCmndError) }, - { be_const_key(publish, 30), be_const_func(l_publish) }, - { be_const_key(_ccmd, -1), be_const_int(5) }, + { be_const_key(set_power, 44), be_const_func(l_setpower) }, + { be_const_key(scale_uint, -1), be_const_func(l_scaleuint) }, + { be_const_key(add_rule, 18), be_const_closure(add_rule_closure) }, + { be_const_key(save, -1), be_const_func(l_save) }, + { be_const_key(_rules, -1), be_const_int(0) }, + { be_const_key(resp_cmnd_error, 50), be_const_func(l_respCmndError) }, + { be_const_key(wire1, 8), be_const_int(1) }, + { be_const_key(_timers, -1), be_const_int(2) }, + { be_const_key(set_timer, -1), be_const_closure(set_timer_closure) }, + { be_const_key(response_append, 46), be_const_func(l_respAppend) }, + { be_const_key(run_deferred, -1), be_const_closure(run_deferred_closure) }, + { be_const_key(remove_rule, 35), be_const_closure(remove_rule_closure) }, + { be_const_key(_drivers, 7), be_const_int(3) }, + { be_const_key(resp_cmnd, -1), be_const_func(l_respCmnd) }, + { be_const_key(add_driver, 22), be_const_closure(add_driver_closure) }, + { be_const_key(exec_rules, 20), be_const_closure(exec_rules_closure) }, + { be_const_key(i2c_enabled, -1), be_const_func(l_i2cenabled) }, + { be_const_key(_cmd, -1), be_const_func(l_cmd) }, + { be_const_key(millis, 1), be_const_func(l_millis) }, + { be_const_key(web_send, 11), be_const_func(l_webSend) }, + { be_const_key(get_option, -1), be_const_func(l_getoption) }, { be_const_key(yield, -1), be_const_func(l_yield) }, + { be_const_key(delay, -1), be_const_func(l_delay) }, + { be_const_key(web_send_decimal, -1), be_const_func(l_webSendDecimal) }, { be_const_key(cmd, -1), be_const_closure(cmd_closure) }, + { be_const_key(wire2, 34), be_const_int(4) }, + { be_const_key(event, -1), be_const_closure(event_closure) }, + { be_const_key(load, -1), be_const_closure(load_closure) }, + { be_const_key(exec_cmd, -1), be_const_closure(exec_cmd_closure) }, + { be_const_key(_get_cb, -1), be_const_func(l_get_cb) }, + { be_const_key(cb_dispatch, 37), be_const_closure(cb_dispatch_closure) }, + { be_const_key(_ccmd, -1), be_const_int(5) }, + { be_const_key(time_reached, 51), be_const_func(l_timereached) }, + { be_const_key(time_dump, -1), be_const_func(l_time_dump) }, + { be_const_key(add_cmd, -1), be_const_closure(add_cmd_closure) }, + { be_const_key(publish, 12), be_const_func(l_publish) }, + { be_const_key(log, 40), be_const_func(l_logInfo) }, + { be_const_key(_cb, -1), be_const_int(6) }, + { be_const_key(try_rule, -1), be_const_closure(try_rule_closure) }, + { be_const_key(chars_in_string, -1), be_const_closure(chars_in_string_closure) }, + { be_const_key(resolvecmnd, 5), be_const_func(l_resolveCmnd) }, + { be_const_key(find_key_i, 10), be_const_closure(find_key_i_closure) }, + { be_const_key(gen_cb, -1), be_const_closure(gen_cb_closure) }, }; static be_define_const_map( be_class_tasmota_map, - 52 + 56 ); BE_EXPORT_VARIABLE be_define_const_class( be_class_tasmota, - 6, + 7, NULL, Tasmota ); diff --git a/lib/libesp32/Berry/generate/be_fixed_webserver.h b/lib/libesp32/Berry/generate/be_fixed_webserver.h new file mode 100644 index 000000000..6230f2822 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_webserver.h @@ -0,0 +1,33 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(m_libwebserver_map) { + { be_const_key(has_arg, -1), be_const_func(w_webserver_has_arg) }, + { be_const_key(HTTP_MANAGER, -1), be_const_int(3) }, + { be_const_key(content_start, 12), be_const_func(w_webserver_content_start) }, + { be_const_key(args, -1), be_const_func(w_webserver_args) }, + { be_const_key(HTTP_USER, -1), be_const_int(1) }, + { be_const_key(content_stop, -1), be_const_func(w_webserver_content_stop) }, + { be_const_key(arg, 10), be_const_func(w_webserver_arg) }, + { be_const_key(HTTP_ADMIN, -1), be_const_int(2) }, + { be_const_key(content_send_style, -1), be_const_func(w_webserver_content_send_style) }, + { be_const_key(content_flush, 14), be_const_func(w_webserver_content_flush) }, + { be_const_key(state, -1), be_const_func(w_webserver_state) }, + { be_const_key(content_button, -1), be_const_func(w_webserver_content_button) }, + { be_const_key(HTTP_OFF, -1), be_const_int(0) }, + { be_const_key(on, 5), be_const_func(w_webserver_on) }, + { be_const_key(content_send, -1), be_const_func(w_webserver_content_send) }, + { be_const_key(HTTP_MANAGER_RESET_ONLY, 16), be_const_int(4) }, + { be_const_key(check_privileged_access, -1), be_const_func(w_webserver_check_privileged_access) }, +}; + +static be_define_const_map( + m_libwebserver_map, + 17 +); + +static be_define_const_module( + m_libwebserver, + "webserver" +); + +BE_EXPORT_VARIABLE be_define_const_native_module(webserver, NULL); diff --git a/tasmota/xdrv_52_2_berry_native.ino b/tasmota/xdrv_52_2_berry_native.ino index c811cee9a..c279e4437 100644 --- a/tasmota/xdrv_52_2_berry_native.ino +++ b/tasmota/xdrv_52_2_berry_native.ino @@ -24,6 +24,7 @@ #include const char kTypeError[] PROGMEM = "type_error"; +const char kInternalError[] PROGMEM = "intenal_error"; extern "C" { #include "be_exec.h" @@ -148,6 +149,132 @@ extern "C" { } +/*********************************************************************************************\ + * Binary search for dynamic attributes + * + * Names need to be sorted +\*********************************************************************************************/ +// binary search within an array of sorted strings +// the first 4 bytes are a pointer to a string +// returns 0..total_elements-1 or -1 if not found +extern "C" { + int32_t bin_search(const char * needle, const void * table, size_t elt_size, size_t total_elements) { + int32_t low = 0; + int32_t high = total_elements - 1; + int32_t mid = (low + high) / 2; + // start a dissect + while (low <= high) { + const char * elt = *(const char **) ( ((uint8_t*)table) + mid * elt_size ); + int32_t comp = strcmp(needle, elt); + if (comp < 0) { + high = mid - 1; + } else if (comp > 0) { + low = mid + 1; + } else { + break; + } + mid = (low + high) / 2; + } + if (low <= high) { + return mid; + } else { + return -1; + } + } +} + +/*********************************************************************************************\ + * Generalized callbacks + * +\*********************************************************************************************/ +extern "C" { + + typedef int32_t (*berry_callback_t)(int32_t v0, int32_t v1, int32_t v2, int32_t v3); + + int32_t call_berry_cb(int32_t num, int32_t v0, int32_t v1, int32_t v2, int32_t v3) { + // call berry cb dispatcher + int32_t ret = 0; + // get the 'tasmota' object (global) and call 'cb_dispatch' + be_getglobal(berry.vm, PSTR("tasmota")); + if (!be_isnil(berry.vm, -1)) { + be_getmethod(berry.vm, -1, PSTR("cb_dispatch")); + + if (!be_isnil(berry.vm, -1)) { + be_pushvalue(berry.vm, -2); // add instance as first arg + // push all args as ints (may be revised) + be_pushint(berry.vm, num); + be_pushint(berry.vm, v0); + be_pushint(berry.vm, v1); + be_pushint(berry.vm, v2); + be_pushint(berry.vm, v3); + + be_pcall(berry.vm, 6); // 5 arguments + be_pop(berry.vm, 6); + + if (be_isint(berry.vm, -1) || be_isnil(berry.vm, -1)) { // sanity check + if (be_isint(berry.vm, -1)) { + ret = be_toint(berry.vm, -1); + } + // All good, we can proceed + be_pop(berry.vm, 2); // remove tasmota instance and result + return ret; + } + } + be_pop(berry.vm, 1); + } + be_pop(berry.vm, 1); + AddLog(LOG_LEVEL_ERROR, PSTR(D_LOG_BERRY "can't call 'tasmota.cb_dispatch'")); + return 0; + } + + #define BERRY_CB(n) int32_t berry_cb_##n(int32_t v0, int32_t v1, int32_t v2, int32_t v3) { return call_berry_cb(n, v0, v1, v2, v3); } + // list the callbacks + BERRY_CB(0); + BERRY_CB(1); + BERRY_CB(2); + BERRY_CB(3); + BERRY_CB(4); + BERRY_CB(5); + BERRY_CB(6); + BERRY_CB(7); + BERRY_CB(8); + BERRY_CB(9); + BERRY_CB(10); + BERRY_CB(11); + BERRY_CB(12); + BERRY_CB(13); + BERRY_CB(14); + BERRY_CB(15); + BERRY_CB(16); + BERRY_CB(17); + BERRY_CB(18); + BERRY_CB(19); + + // array of callbacks + berry_callback_t berry_callback_array[] { + berry_cb_0, + berry_cb_1, + berry_cb_2, + berry_cb_3, + berry_cb_4, + berry_cb_5, + berry_cb_6, + berry_cb_7, + berry_cb_8, + berry_cb_9, + berry_cb_10, + berry_cb_11, + berry_cb_12, + berry_cb_13, + berry_cb_14, + berry_cb_15, + berry_cb_16, + berry_cb_17, + berry_cb_18, + berry_cb_19, + }; +} + #define LV_OBJ_CLASS "lv_obj" diff --git a/tasmota/xdrv_52_3_berry_energy.ino b/tasmota/xdrv_52_3_berry_energy.ino index e39cd8967..9792e123e 100644 --- a/tasmota/xdrv_52_3_berry_energy.ino +++ b/tasmota/xdrv_52_3_berry_energy.ino @@ -56,8 +56,6 @@ extern "C" { } } -#endif // USE_ENERGY_SENSOR - extern "C" { // int32_t b_wire_energymissing(struct bvm *vm); @@ -67,4 +65,5 @@ extern "C" { } +#endif // USE_ENERGY_SENSOR #endif // USE_BERRY diff --git a/tasmota/xdrv_52_3_berry_lvgl.ino b/tasmota/xdrv_52_3_berry_lvgl.ino index 0846db1a9..8ee02fbfe 100644 --- a/tasmota/xdrv_52_3_berry_lvgl.ino +++ b/tasmota/xdrv_52_3_berry_lvgl.ino @@ -309,33 +309,6 @@ extern "C" { be_return_nil(vm); } - // binary search within an array of sorted strings - // the first 4 bytes are a pointer to a string - // returns 0..total_elements-1 or -1 if not found - int32_t bin_search(const char * needle, const void * table, size_t elt_size, size_t total_elements) { - int32_t low = 0; - int32_t high = total_elements - 1; - int32_t mid = (low + high) / 2; - // start a dissect - while (low <= high) { - const char * elt = *(const char **) ( ((uint8_t*)table) + mid * elt_size ); - int32_t comp = strcmp(needle, elt); - if (comp < 0) { - high = mid - 1; - } else if (comp > 0) { - low = mid + 1; - } else { - break; - } - mid = (low + high) / 2; - } - if (low <= high) { - return mid; - } else { - return -1; - } - } - int be_call_c_func(bvm *vm, void * func, const char * return_type, const char * arg_type); // native closure to call `be_call_c_func` diff --git a/tasmota/xdrv_52_3_berry_tasmota.ino b/tasmota/xdrv_52_3_berry_tasmota.ino index b822741a7..c6a248643 100644 --- a/tasmota/xdrv_52_3_berry_tasmota.ino +++ b/tasmota/xdrv_52_3_berry_tasmota.ino @@ -25,6 +25,26 @@ const uint32_t BERRY_MAX_LOGS = 16; // max number of print output recorded when outside of REPL, used to avoid infinite grow of logs +/*********************************************************************************************\ + * Return C callback from index + * +\*********************************************************************************************/ +extern "C" { + int32_t l_get_cb(struct bvm *vm); + int32_t l_get_cb(struct bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc >= 2 && be_isint(vm, 2)) { + int32_t idx = be_toint(vm, 2); + if (idx >= 0 && idx < ARRAY_SIZE(berry_callback_array)) { + const berry_callback_t c_ptr = berry_callback_array[idx]; + be_pushcomptr(vm, (void*) c_ptr); + be_return(vm); + } + } + be_raise(vm, kTypeError, nullptr); + } +} + /*********************************************************************************************\ * Native functions mapped to Berry functions * diff --git a/tasmota/xdrv_52_3_berry_webserver.ino b/tasmota/xdrv_52_3_berry_webserver.ino new file mode 100644 index 000000000..f9e5441a6 --- /dev/null +++ b/tasmota/xdrv_52_3_berry_webserver.ino @@ -0,0 +1,207 @@ +/* + xdrv_52_3_berry_webserver.ino - Berry scripting language, webserver module + + 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_WEBSERVER + +#include + + +/*********************************************************************************************\ + * Native functions mapped to Berry functions + * + * import webserver + * +\*********************************************************************************************/ +extern "C" { + // Berry: `webserver.on(prefix:string, callback:closure) -> nil` + // + // WARNING - this should be called only when receiving `web_add_handler` event. + // If called before the WebServer is set up and Wifi on, it will crash. + // For debug purpose, it can be called later when you are sure that Wifi/Eth is up + // + int32_t w_webserver_on(struct bvm *vm); + int32_t w_webserver_on(struct bvm *vm) { + if (!Web.state) { + be_raise(vm, kInternalError, "Web.state is 'HTTP_OFF'"); + } + int32_t argc = be_top(vm); // Get the number of arguments + if (argc >= 2 && be_isstring(vm, 1) && be_isclosure(vm, 2) && + (argc < 3 || be_isint(vm, 3)) ) { // optional third argument must be int + uint8_t method = HTTP_ANY; // default method if not specified + const char * prefix = be_tostring(vm, 1); + if (argc >= 3) { + method = be_toint(vm, 3); + } + + be_getglobal(vm, PSTR("tasmota")); + if (!be_isnil(vm, -1)) { + be_getmethod(vm, -1, PSTR("gen_cb")); + if (!be_isnil(vm, -1)) { + be_pushvalue(vm, -2); // add instance as first arg + be_pushvalue(vm, 2); // push closure as second arg + be_pcall(vm, 2); // 2 arguments + be_pop(vm, 2); + + if (be_iscomptr(vm, -1)) { // sanity check + const void * cb = be_tocomptr(vm, -1); + // All good, we can proceed + + WebServer_on(prefix, (void (*)()) cb, method); + be_return_nil(vm); // return, all good + } + } + be_pop(vm, 1); + } + // be_pop(vm, 1); // not really useful since we raise an exception anyways + be_raise(vm, kInternalError, nullptr); + } + be_raise(vm, kTypeError, nullptr); + } + + // Berry: `webserver.state() -> int` + // + int32_t w_webserver_state(struct bvm *vm); + int32_t w_webserver_state(struct bvm *vm) { + be_pushint(vm, Web.state); + be_return(vm); + } + + // Berry: `webserver.check_privileged_access() -> bool` + // + int32_t w_webserver_check_privileged_access(struct bvm *vm); + int32_t w_webserver_check_privileged_access(struct bvm *vm) { + be_pushbool(vm, HttpCheckPriviledgedAccess()); + be_return(vm); + } + + // Berry: `webserver.content_start() -> nil` + // + int32_t w_webserver_content_start(struct bvm *vm); + int32_t w_webserver_content_start(struct bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc >= 1 && be_isstring(vm, 1)) { + const char * html = be_tostring(vm, 1); + WSContentStart_P(html); + be_return_nil(vm); + } + be_raise(vm, kTypeError, nullptr); + } + + // Berry: `webserver.content_send() -> nil` + // + int32_t w_webserver_content_send(struct bvm *vm); + int32_t w_webserver_content_send(struct bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc >= 1 && be_isstring(vm, 1)) { + const char * html = be_tostring(vm, 1); + WSContentSend_P(PSTR("%s"), html); + be_return_nil(vm); + } + be_raise(vm, kTypeError, nullptr); + } + + // Berry: `webserver.content_send_style() -> nil` + // + int32_t w_webserver_content_send_style(struct bvm *vm); + int32_t w_webserver_content_send_style(struct bvm *vm) { + WSContentSendStyle(); + be_return_nil(vm); + } + + // Berry: `webserver.content_flush() -> nil` + // + int32_t w_webserver_content_flush(struct bvm *vm); + int32_t w_webserver_content_flush(struct bvm *vm) { + WSContentFlush(); + be_return_nil(vm); + } + + // Berry: `webserver.content_stop() -> nil` + // + int32_t w_webserver_content_stop(struct bvm *vm); + int32_t w_webserver_content_stop(struct bvm *vm) { + WSContentStop(); + be_return_nil(vm); + } + + // Berry: `webserver.content_button([button:int]) -> nil` + // Default button is BUTTON_MAIN + // + int32_t w_webserver_content_button(struct bvm *vm); + int32_t w_webserver_content_button(struct bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc < 1 || be_isint(vm, 1)) { + int32_t button = BUTTON_MAIN; + if (argc > 0) { + button = be_toint(vm, 1); + } + WSContentSpaceButton(button); + be_return_nil(vm); + } + be_raise(vm, kTypeError, nullptr); + } + + // Berry: `webserver.args() -> int` + // + // Returns the number of arguments + int32_t w_webserver_args(struct bvm *vm); + int32_t w_webserver_args(struct bvm *vm) { + be_pushint(vm, Webserver->args()); + be_return(vm); + } + + // Berry: `webserver.arg(int or string) -> string` + // + // takes either an int (index 0..args-1) or a string (name of arg) + int32_t w_webserver_arg(struct bvm *vm); + int32_t w_webserver_arg(struct bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc >= 1 && (be_isint(vm, 1) || be_isstring(vm, 1))) { + if (be_isint(vm, 1)) { + int32_t idx = be_toint(vm, 1); + be_pushstring(vm, Webserver->arg(idx).c_str()); + } else { + const char * arg_name = be_tostring(vm, 1); + be_pushstring(vm, Webserver->arg(arg_name).c_str()); + } + be_return(vm); + } + be_raise(vm, kTypeError, nullptr); + } + + // Berry: `webserver.has_arg(name:string) -> bool` + // + int32_t w_webserver_has_arg(struct bvm *vm); + int32_t w_webserver_has_arg(struct bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc >= 1 && be_isstring(vm, 1)) { + const char * arg_name = be_tostring(vm, 1); + be_pushbool(vm, Webserver->hasArg(arg_name)); + be_return(vm); + } + be_raise(vm, kTypeError, nullptr); + } + +} + +#endif // USE_WEBSERVER +#endif // USE_BERRY diff --git a/tasmota/xdrv_52_9_berry.ino b/tasmota/xdrv_52_9_berry.ino index c7fe620e4..f97e5b538 100644 --- a/tasmota/xdrv_52_9_berry.ino +++ b/tasmota/xdrv_52_9_berry.ino @@ -743,7 +743,7 @@ bool Xdrv52(uint8_t function) callBerryEventDispatcher(PSTR("web_add_main_button"), nullptr, 0, nullptr); break; case FUNC_WEB_ADD_HANDLER: - // callBerryEventDispatcher(PSTR("web_add_handler"), nullptr, 0, nullptr); + callBerryEventDispatcher(PSTR("web_add_handler"), nullptr, 0, nullptr); WebServer_on(PSTR("/bs"), HandleBerryConsole); break; #endif // USE_WEBSERVER