From 76a0635491dbbb980d13ef660d83b126e4f73bac Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Mon, 12 Jul 2021 22:53:31 +0200 Subject: [PATCH] LVGL add all callbacks (#12636) * LVGL add all callbacks * LVGL allow nil argument for init() * Final touch --- .../Berry/default/be_lv_lvgl_module.c | 59 +- lib/libesp32/Berry/default/be_lvgl_cb.c | 216 ++ lib/libesp32/Berry/default/be_lvgl_ctypes.c | 25 +- .../default/be_lvgl_ctypes_definitions.c | 190 +- .../Berry/default/be_lvgl_widgets_lib.c | 29 +- lib/libesp32/Berry/default/be_modtab.c | 4 + lib/libesp32/Berry/generate/be_const_strtab.h | 1227 +++++------ .../Berry/generate/be_const_strtab_def.h | 1791 +++++++++-------- .../be_fixed_be_class_ctypes_classes.h | 38 +- .../generate/be_fixed_be_class_lv_draw_line.h | 20 + .../generate/be_fixed_be_class_lv_indev.h | 2 +- .../generate/be_fixed_be_class_lv_style.h | 2 +- .../Berry/generate/be_fixed_be_lv_design_cb.h | 17 + .../Berry/generate/be_fixed_be_lv_event_cb.h | 17 + .../generate/be_fixed_be_lv_gauge_format_cb.h | 17 + .../generate/be_fixed_be_lv_group_focus_cb.h | 17 + .../Berry/generate/be_fixed_be_lv_signal_cb.h | 17 + .../Berry/generate/be_fixed_be_lvgl_cb.h | 20 + tasmota/berry/modules/lvgl_ctypes.be | 312 +-- tasmota/lvgl_berry/be_lv_c_mapping.h | 19 +- tasmota/xdrv_52_2_berry_native.ino | 63 +- tasmota/xdrv_52_3_berry_lvgl.ino | 77 +- tasmota/xdrv_52_7_berry_embedded.ino | 14 + tools/lv_berry/convert.py | 117 +- tools/lv_berry/lv_module.h | 15 + tools/lv_berry/lv_widgets.h | 80 +- 26 files changed, 2490 insertions(+), 1915 deletions(-) create mode 100644 lib/libesp32/Berry/default/be_lvgl_cb.c create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_class_lv_draw_line.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_lv_design_cb.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_lv_event_cb.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_lv_gauge_format_cb.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_lv_group_focus_cb.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_lv_signal_cb.h create mode 100644 lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h diff --git a/lib/libesp32/Berry/default/be_lv_lvgl_module.c b/lib/libesp32/Berry/default/be_lv_lvgl_module.c index a461d3f06..0e5db42fc 100644 --- a/lib/libesp32/Berry/default/be_lv_lvgl_module.c +++ b/lib/libesp32/Berry/default/be_lv_lvgl_module.c @@ -27,24 +27,47 @@ extern int lv0_screenshot(bvm *vm); static int lv_get_hor_res(void) { return lv_disp_get_hor_res(lv_disp_get_default()); } -static int lv_get_ver_res(bvm *vm) { +static int lv_get_ver_res(void) { return lv_disp_get_ver_res(lv_disp_get_default()); } /* `lv` methods */ const lvbe_call_c_t lv_func[] = { - // resolution + + { "draw_arc", (void*) &lv_draw_arc, "", "iiiii(lv_area)(lv_draw_line_dsc)" }, + { "draw_img", (void*) &lv_draw_img, "", "(lv_area)(lv_area).(lv_draw_img_dsc)" }, + { "draw_img_dsc_init", (void*) &lv_draw_img_dsc_init, "", "(lv_draw_img_dsc)" }, + { "draw_label", (void*) &lv_draw_label, "", "(lv_area)(lv_area)(lv_draw_label_dsc)s(lv_draw_label_hint)" }, + { "draw_label_dsc_init", (void*) &lv_draw_label_dsc_init, "", "(lv_draw_label_dsc)" }, + { "draw_line", (void*) &lv_draw_line, "", "(lv_point)(lv_point)(lv_area)(lv_draw_line_dsc)" }, + { "draw_line_dsc_init", (void*) &lv_draw_line_dsc_init, "", "(lv_draw_line_dsc)" }, + { "draw_mask_add", (void*) &lv_draw_mask_add, "i", ".." }, + { "draw_mask_angle_init", (void*) &lv_draw_mask_angle_init, "", "(lv_draw_mask_angle_param)iiii" }, + { "draw_mask_fade_init", (void*) &lv_draw_mask_fade_init, "", "(lv_draw_mask_fade_param)(lv_area)iiii" }, + { "draw_mask_get_cnt", (void*) &lv_draw_mask_get_cnt, "i", "" }, + { "draw_mask_line_angle_init", (void*) &lv_draw_mask_line_angle_init, "", "(lv_draw_mask_line_param)iii(lv_draw_mask_line_side)" }, + { "draw_mask_line_points_init", (void*) &lv_draw_mask_line_points_init, "", "(lv_draw_mask_line_param)iiii(lv_draw_mask_line_side)" }, + { "draw_mask_map_init", (void*) &lv_draw_mask_map_init, "", "(lv_draw_mask_map_param)(lv_area)(lv_opa)" }, + { "draw_mask_radius_init", (void*) &lv_draw_mask_radius_init, "", "(lv_draw_mask_radius_param)(lv_area)ib" }, + { "draw_mask_remove_custom", (void*) &lv_draw_mask_remove_custom, ".", "." }, + { "draw_mask_remove_id", (void*) &lv_draw_mask_remove_id, ".", "i" }, + { "draw_polygon", (void*) &lv_draw_polygon, "", "ii(lv_area)(lv_draw_rect_dsc)" }, + { "draw_px", (void*) &lv_draw_px, "", "(lv_point)(lv_area)(lv_style)" }, + { "draw_rect", (void*) &lv_draw_rect, "", "(lv_area)(lv_area)(lv_draw_rect_dsc)" }, + { "draw_triangle", (void*) &lv_draw_triangle, "", "i(lv_area)(lv_draw_rect_dsc)" }, + { "event_get_data", (void*) &lv_event_get_data, ".", "" }, + { "event_send", (void*) &lv_event_send, "i", "(lv_obj)i." }, + { "event_send_refresh", (void*) &lv_event_send_refresh, "i", "(lv_obj)" }, + { "event_send_refresh_recursive", (void*) &lv_event_send_refresh_recursive, "", "(lv_obj)" }, { "get_hor_res", (void*) &lv_get_hor_res, "i", "" }, { "get_ver_res", (void*) &lv_get_ver_res, "i", "" }, - - // layers { "layer_sys", (void*) &lv_layer_sys, "lv_obj", "" }, { "layer_top", (void*) &lv_layer_top, "lv_obj", "" }, - - // screens { "scr_act", (void*) &lv_scr_act, "lv_obj", "" }, { "scr_load", (void*) &lv_scr_load, "", "(lv_obj)" }, - { "scr_load_anim", (void*) &lv_scr_load_anim, "", "(lv_obj)iiib" }, + { "scr_load_anim", (void*) &lv_scr_load_anim, "", "(lv_obj)(lv_scr_load_anim)iib" }, + { "signal_send", (void*) &lv_signal_send, "i", "(lv_obj)i." }, + }; const size_t lv_func_size = sizeof(lv_func) / sizeof(lv_func[0]); @@ -160,6 +183,19 @@ const be_constint_t lv0_constants[] = { { "DRAG_DIR_HOR", LV_DRAG_DIR_HOR }, { "DRAG_DIR_ONE", LV_DRAG_DIR_ONE }, { "DRAG_DIR_VER", LV_DRAG_DIR_VER }, + { "DRAW_MASK_LINE_SIDE_BOTTOM", LV_DRAW_MASK_LINE_SIDE_BOTTOM }, + { "DRAW_MASK_LINE_SIDE_LEFT", LV_DRAW_MASK_LINE_SIDE_LEFT }, + { "DRAW_MASK_LINE_SIDE_RIGHT", LV_DRAW_MASK_LINE_SIDE_RIGHT }, + { "DRAW_MASK_LINE_SIDE_TOP", LV_DRAW_MASK_LINE_SIDE_TOP }, + { "DRAW_MASK_RES_CHANGED", LV_DRAW_MASK_RES_CHANGED }, + { "DRAW_MASK_RES_FULL_COVER", LV_DRAW_MASK_RES_FULL_COVER }, + { "DRAW_MASK_RES_TRANSP", LV_DRAW_MASK_RES_TRANSP }, + { "DRAW_MASK_RES_UNKNOWN", LV_DRAW_MASK_RES_UNKNOWN }, + { "DRAW_MASK_TYPE_ANGLE", LV_DRAW_MASK_TYPE_ANGLE }, + { "DRAW_MASK_TYPE_FADE", LV_DRAW_MASK_TYPE_FADE }, + { "DRAW_MASK_TYPE_LINE", LV_DRAW_MASK_TYPE_LINE }, + { "DRAW_MASK_TYPE_MAP", LV_DRAW_MASK_TYPE_MAP }, + { "DRAW_MASK_TYPE_RADIUS", LV_DRAW_MASK_TYPE_RADIUS }, { "DROPDOWN_DIR_DOWN", LV_DROPDOWN_DIR_DOWN }, { "DROPDOWN_DIR_LEFT", LV_DROPDOWN_DIR_LEFT }, { "DROPDOWN_DIR_RIGHT", LV_DROPDOWN_DIR_RIGHT }, @@ -496,11 +532,7 @@ const be_constint_t lv0_constants[] = { }; const size_t lv0_constants_size = sizeof(lv0_constants)/sizeof(lv0_constants[0]); - - #if !BE_USE_PRECOMPILED_OBJECT -//#if 1 // TODO we will do pre-compiled later - be_native_module_attr_table(lvgl) { // Symbols @@ -582,8 +614,6 @@ be_native_module_attr_table(lvgl) { be_native_module_function("load_freetype_font", lv0_load_freetype_font), be_native_module_function("screenshot", lv0_screenshot), - - }; be_define_native_module(lvgl, NULL); @@ -729,9 +759,6 @@ module lvgl (scope: global) { load_freetype_font, func(lv0_load_freetype_font) screenshot, func(lv0_screenshot) - - - } @const_object_info_end */ #include "../generate/be_fixed_lvgl.h" diff --git a/lib/libesp32/Berry/default/be_lvgl_cb.c b/lib/libesp32/Berry/default/be_lvgl_cb.c new file mode 100644 index 000000000..01c5e8d76 --- /dev/null +++ b/lib/libesp32/Berry/default/be_lvgl_cb.c @@ -0,0 +1,216 @@ +/******************************************************************** + * Tasmota LVGL callbacks + * + *******************************************************************/ +#include "be_constobj.h" + +extern int lv0_init(bvm *vm); +extern int lvx_tostring(bvm *vm); +extern int be_call_c_func(bvm *vm, void * func, const char * return_type, const char * arg_type); + + +int lv_cb_call_any(bvm *vm, const char * return_type, const char * arg_type) { + int argc = be_top(vm); + // get pointer to callback + be_getmember(vm, 1, ".p"); + void * cb = be_tocomptr(vm, -1); + be_pop(vm, 1); + // remove first argument which is the instance `self` + for (int i=1; i 1 && (be_isint(vm, 2) || be_iscomptr(vm,2))) { + src_data = (void*) be_toint(vm, 2); + } + // get global array of classes from global variable '.ctypes_classes' be_getglobal(vm, ".ctypes_classes"); const be_ctypes_classes_t * be_ctypes_classes = (const be_ctypes_classes_t *) be_tocomptr(vm, -1); @@ -125,6 +136,18 @@ int be_ctypes_init(bvm *vm) { be_pushint(vm, definitions->size_bytes); be_call(vm, 2); be_pop(vm, 3); + + // if src_data then copy source data to the new structure + if (src_data) { + // call self._buffer() + be_getmember(vm, 1, "_buffer"); + be_pushvalue(vm, 1); + be_call(vm, 1); // call with 1 parameter + void * dst_data = be_tocomptr(vm, -2); + be_pop(vm, 2); + // copy data + memmove(dst_data, src_data, definitions->size_bytes); + } } be_return(vm); diff --git a/lib/libesp32/Berry/default/be_lvgl_ctypes_definitions.c b/lib/libesp32/Berry/default/be_lvgl_ctypes_definitions.c index 5eb47a24d..767e3830e 100644 --- a/lib/libesp32/Berry/default/be_lvgl_ctypes_definitions.c +++ b/lib/libesp32/Berry/default/be_lvgl_ctypes_definitions.c @@ -98,7 +98,7 @@ void ctypes_register_class(bvm *vm, const bclass * ctypes_class, const be_ctypes /******************************************************************** * Generated code, don't edit *******************************************************************/ -const be_ctypes_structure_t be_lv_point_t = { +const be_ctypes_structure_t be_lv_point = { 4, /* size in bytes */ 2, /* number of elements */ (const be_ctypes_structure_item_t[2]) { @@ -106,7 +106,7 @@ const be_ctypes_structure_t be_lv_point_t = { { "y", 2, 0, 0, 12 }, }}; -const be_ctypes_structure_t be_lv_area_t = { +const be_ctypes_structure_t be_lv_area = { 8, /* size in bytes */ 4, /* number of elements */ (const be_ctypes_structure_item_t[4]) { @@ -116,7 +116,7 @@ const be_ctypes_structure_t be_lv_area_t = { { "y2", 6, 0, 0, 12 }, }}; -const be_ctypes_structure_t be_lv_draw_rect_dsc_t = { +const be_ctypes_structure_t be_lv_draw_rect_dsc = { 77, /* size in bytes */ 43, /* number of elements */ (const be_ctypes_structure_item_t[43]) { @@ -165,7 +165,7 @@ const be_ctypes_structure_t be_lv_draw_rect_dsc_t = { { "value_str", 56, 0, 0, 4 }, }}; -const be_ctypes_structure_t be_lv_draw_line_dsc_t = { +const be_ctypes_structure_t be_lv_draw_line_dsc = { 10, /* size in bytes */ 9, /* number of elements */ (const be_ctypes_structure_item_t[9]) { @@ -180,7 +180,7 @@ const be_ctypes_structure_t be_lv_draw_line_dsc_t = { { "width", 2, 0, 0, 12 }, }}; -const be_ctypes_structure_t be_lv_draw_img_dsc_t = { +const be_ctypes_structure_t be_lv_draw_img_dsc = { 14, /* size in bytes */ 9, /* number of elements */ (const be_ctypes_structure_item_t[9]) { @@ -195,7 +195,7 @@ const be_ctypes_structure_t be_lv_draw_img_dsc_t = { { "zoom", 7, 0, 0, 2 }, }}; -const be_ctypes_structure_t be_lv_draw_label_dsc_t = { +const be_ctypes_structure_t be_lv_draw_label_dsc = { 31, /* size in bytes */ 15, /* number of elements */ (const be_ctypes_structure_item_t[15]) { @@ -216,7 +216,7 @@ const be_ctypes_structure_t be_lv_draw_label_dsc_t = { { "sel_start", 15, 0, 0, 4 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_common_dsc_t = { +const be_ctypes_structure_t be_lv_draw_mask_common_dsc = { 5, /* size in bytes */ 2, /* number of elements */ (const be_ctypes_structure_item_t[2]) { @@ -224,7 +224,7 @@ const be_ctypes_structure_t be_lv_draw_mask_common_dsc_t = { { "type", 4, 0, 0, 1 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_line_param_cfg_t = { +const be_ctypes_structure_t be_lv_draw_mask_line_param_cfg = { 9, /* size in bytes */ 5, /* number of elements */ (const be_ctypes_structure_item_t[5]) { @@ -235,7 +235,7 @@ const be_ctypes_structure_t be_lv_draw_mask_line_param_cfg_t = { { "side", 8, 0, 2, 0 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_line_param_t = { +const be_ctypes_structure_t be_lv_draw_mask_line_param = { 35, /* size in bytes */ 15, /* number of elements */ (const be_ctypes_structure_item_t[15]) { @@ -256,7 +256,7 @@ const be_ctypes_structure_t be_lv_draw_mask_line_param_t = { { "yx_steep", 22, 0, 0, 14 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_angle_param_cfg_t = { +const be_ctypes_structure_t be_lv_draw_mask_angle_param_cfg = { 8, /* size in bytes */ 4, /* number of elements */ (const be_ctypes_structure_item_t[4]) { @@ -266,7 +266,7 @@ const be_ctypes_structure_t be_lv_draw_mask_angle_param_cfg_t = { { "vertex_p_y", 2, 0, 0, 12 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_angle_param_t = { +const be_ctypes_structure_t be_lv_draw_mask_angle_param = { 85, /* size in bytes */ 37, /* number of elements */ (const be_ctypes_structure_item_t[37]) { @@ -309,7 +309,7 @@ const be_ctypes_structure_t be_lv_draw_mask_angle_param_t = { { "start_line_yx_steep", 35, 0, 0, 14 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_radius_param_cfg_t = { +const be_ctypes_structure_t be_lv_draw_mask_radius_param_cfg = { 11, /* size in bytes */ 6, /* number of elements */ (const be_ctypes_structure_item_t[6]) { @@ -321,7 +321,7 @@ const be_ctypes_structure_t be_lv_draw_mask_radius_param_cfg_t = { { "rect_y2", 6, 0, 0, 12 }, }}; -const be_ctypes_structure_t be_lv_sqrt_res_t = { +const be_ctypes_structure_t be_lv_sqrt_res = { 4, /* size in bytes */ 2, /* number of elements */ (const be_ctypes_structure_item_t[2]) { @@ -329,7 +329,7 @@ const be_ctypes_structure_t be_lv_sqrt_res_t = { { "i", 0, 0, 0, 2 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_radius_param_t = { +const be_ctypes_structure_t be_lv_draw_mask_radius_param = { 24, /* size in bytes */ 11, /* number of elements */ (const be_ctypes_structure_item_t[11]) { @@ -346,7 +346,7 @@ const be_ctypes_structure_t be_lv_draw_mask_radius_param_t = { { "y_prev_x_i", 20, 0, 0, 2 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_fade_param_cfg_t = { +const be_ctypes_structure_t be_lv_draw_mask_fade_param_cfg = { 14, /* size in bytes */ 8, /* number of elements */ (const be_ctypes_structure_item_t[8]) { @@ -360,7 +360,7 @@ const be_ctypes_structure_t be_lv_draw_mask_fade_param_cfg_t = { { "y_top", 8, 0, 0, 12 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_fade_param_t = { +const be_ctypes_structure_t be_lv_draw_mask_fade_param = { 19, /* size in bytes */ 10, /* number of elements */ (const be_ctypes_structure_item_t[10]) { @@ -376,7 +376,7 @@ const be_ctypes_structure_t be_lv_draw_mask_fade_param_t = { { "dsc_type", 4, 0, 0, 1 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_map_param_cfg_t = { +const be_ctypes_structure_t be_lv_draw_mask_map_param_cfg = { 12, /* size in bytes */ 5, /* number of elements */ (const be_ctypes_structure_item_t[5]) { @@ -387,7 +387,7 @@ const be_ctypes_structure_t be_lv_draw_mask_map_param_cfg_t = { { "map", 8, 0, 0, 4 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_map_param_t = { +const be_ctypes_structure_t be_lv_draw_mask_map_param = { 17, /* size in bytes */ 7, /* number of elements */ (const be_ctypes_structure_item_t[7]) { @@ -400,7 +400,7 @@ const be_ctypes_structure_t be_lv_draw_mask_map_param_t = { { "dsc_type", 4, 0, 0, 1 }, }}; -const be_ctypes_structure_t be_lv_draw_mask_saved_t = { +const be_ctypes_structure_t be_lv_draw_mask_saved = { 8, /* size in bytes */ 2, /* number of elements */ (const be_ctypes_structure_item_t[2]) { @@ -411,48 +411,48 @@ const be_ctypes_structure_t be_lv_draw_mask_saved_t = { const be_ctypes_classes_t be_ctypes_classes[] = { 19, (const be_ctypes_class_t[19]) { - { "lv_area_t", &be_lv_area_t }, - { "lv_draw_img_dsc_t", &be_lv_draw_img_dsc_t }, - { "lv_draw_label_dsc_t", &be_lv_draw_label_dsc_t }, - { "lv_draw_line_dsc_t", &be_lv_draw_line_dsc_t }, - { "lv_draw_mask_angle_param_cfg_t", &be_lv_draw_mask_angle_param_cfg_t }, - { "lv_draw_mask_angle_param_t", &be_lv_draw_mask_angle_param_t }, - { "lv_draw_mask_common_dsc_t", &be_lv_draw_mask_common_dsc_t }, - { "lv_draw_mask_fade_param_cfg_t", &be_lv_draw_mask_fade_param_cfg_t }, - { "lv_draw_mask_fade_param_t", &be_lv_draw_mask_fade_param_t }, - { "lv_draw_mask_line_param_cfg_t", &be_lv_draw_mask_line_param_cfg_t }, - { "lv_draw_mask_line_param_t", &be_lv_draw_mask_line_param_t }, - { "lv_draw_mask_map_param_cfg_t", &be_lv_draw_mask_map_param_cfg_t }, - { "lv_draw_mask_map_param_t", &be_lv_draw_mask_map_param_t }, - { "lv_draw_mask_radius_param_cfg_t", &be_lv_draw_mask_radius_param_cfg_t }, - { "lv_draw_mask_radius_param_t", &be_lv_draw_mask_radius_param_t }, - { "lv_draw_mask_saved_t", &be_lv_draw_mask_saved_t }, - { "lv_draw_rect_dsc_t", &be_lv_draw_rect_dsc_t }, - { "lv_point_t", &be_lv_point_t }, - { "lv_sqrt_res_t", &be_lv_sqrt_res_t }, + { "lv_area", &be_lv_area }, + { "lv_draw_img_dsc", &be_lv_draw_img_dsc }, + { "lv_draw_label_dsc", &be_lv_draw_label_dsc }, + { "lv_draw_line_dsc", &be_lv_draw_line_dsc }, + { "lv_draw_mask_angle_param", &be_lv_draw_mask_angle_param }, + { "lv_draw_mask_angle_param_cfg", &be_lv_draw_mask_angle_param_cfg }, + { "lv_draw_mask_common_dsc", &be_lv_draw_mask_common_dsc }, + { "lv_draw_mask_fade_param", &be_lv_draw_mask_fade_param }, + { "lv_draw_mask_fade_param_cfg", &be_lv_draw_mask_fade_param_cfg }, + { "lv_draw_mask_line_param", &be_lv_draw_mask_line_param }, + { "lv_draw_mask_line_param_cfg", &be_lv_draw_mask_line_param_cfg }, + { "lv_draw_mask_map_param", &be_lv_draw_mask_map_param }, + { "lv_draw_mask_map_param_cfg", &be_lv_draw_mask_map_param_cfg }, + { "lv_draw_mask_radius_param", &be_lv_draw_mask_radius_param }, + { "lv_draw_mask_radius_param_cfg", &be_lv_draw_mask_radius_param_cfg }, + { "lv_draw_mask_saved", &be_lv_draw_mask_saved }, + { "lv_draw_rect_dsc", &be_lv_draw_rect_dsc }, + { "lv_point", &be_lv_point }, + { "lv_sqrt_res", &be_lv_sqrt_res }, }}; /* @const_object_info_begin class be_class_ctypes_classes (scope: global) { - lv_area_t, int(0) - lv_draw_img_dsc_t, int(0) - lv_draw_label_dsc_t, int(0) - lv_draw_line_dsc_t, int(0) - lv_draw_mask_angle_param_cfg_t, int(0) - lv_draw_mask_angle_param_t, int(0) - lv_draw_mask_common_dsc_t, int(0) - lv_draw_mask_fade_param_cfg_t, int(0) - lv_draw_mask_fade_param_t, int(0) - lv_draw_mask_line_param_cfg_t, int(0) - lv_draw_mask_line_param_t, int(0) - lv_draw_mask_map_param_cfg_t, int(0) - lv_draw_mask_map_param_t, int(0) - lv_draw_mask_radius_param_cfg_t, int(0) - lv_draw_mask_radius_param_t, int(0) - lv_draw_mask_saved_t, int(0) - lv_draw_rect_dsc_t, int(0) - lv_point_t, int(0) - lv_sqrt_res_t, int(0) + lv_area, int(0) + lv_draw_img_dsc, int(0) + lv_draw_label_dsc, int(0) + lv_draw_line_dsc, int(0) + lv_draw_mask_angle_param, int(0) + lv_draw_mask_angle_param_cfg, int(0) + lv_draw_mask_common_dsc, int(0) + lv_draw_mask_fade_param, int(0) + lv_draw_mask_fade_param_cfg, int(0) + lv_draw_mask_line_param, int(0) + lv_draw_mask_line_param_cfg, int(0) + lv_draw_mask_map_param, int(0) + lv_draw_mask_map_param_cfg, int(0) + lv_draw_mask_radius_param, int(0) + lv_draw_mask_radius_param_cfg, int(0) + lv_draw_mask_saved, int(0) + lv_draw_rect_dsc, int(0) + lv_point, int(0) + lv_sqrt_res, int(0) } @const_object_info_end */ @@ -461,44 +461,44 @@ void be_load_ctypes_definitions_lib(bvm *vm) { be_setglobal(vm, ".ctypes_classes"); be_pop(vm, 1); - static be_define_const_empty_class(be_class_lv_area_t, &be_class_lv_ctypes, lv_area_t); - ctypes_register_class(vm, &be_class_lv_area_t, &be_lv_area_t); - static be_define_const_empty_class(be_class_lv_draw_img_dsc_t, &be_class_lv_ctypes, lv_draw_img_dsc_t); - ctypes_register_class(vm, &be_class_lv_draw_img_dsc_t, &be_lv_draw_img_dsc_t); - static be_define_const_empty_class(be_class_lv_draw_label_dsc_t, &be_class_lv_ctypes, lv_draw_label_dsc_t); - ctypes_register_class(vm, &be_class_lv_draw_label_dsc_t, &be_lv_draw_label_dsc_t); - static be_define_const_empty_class(be_class_lv_draw_line_dsc_t, &be_class_lv_ctypes, lv_draw_line_dsc_t); - ctypes_register_class(vm, &be_class_lv_draw_line_dsc_t, &be_lv_draw_line_dsc_t); - static be_define_const_empty_class(be_class_lv_draw_mask_angle_param_cfg_t, &be_class_lv_ctypes, lv_draw_mask_angle_param_cfg_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_angle_param_cfg_t, &be_lv_draw_mask_angle_param_cfg_t); - static be_define_const_empty_class(be_class_lv_draw_mask_angle_param_t, &be_class_lv_ctypes, lv_draw_mask_angle_param_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_angle_param_t, &be_lv_draw_mask_angle_param_t); - static be_define_const_empty_class(be_class_lv_draw_mask_common_dsc_t, &be_class_lv_ctypes, lv_draw_mask_common_dsc_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_common_dsc_t, &be_lv_draw_mask_common_dsc_t); - static be_define_const_empty_class(be_class_lv_draw_mask_fade_param_cfg_t, &be_class_lv_ctypes, lv_draw_mask_fade_param_cfg_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_fade_param_cfg_t, &be_lv_draw_mask_fade_param_cfg_t); - static be_define_const_empty_class(be_class_lv_draw_mask_fade_param_t, &be_class_lv_ctypes, lv_draw_mask_fade_param_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_fade_param_t, &be_lv_draw_mask_fade_param_t); - static be_define_const_empty_class(be_class_lv_draw_mask_line_param_cfg_t, &be_class_lv_ctypes, lv_draw_mask_line_param_cfg_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_line_param_cfg_t, &be_lv_draw_mask_line_param_cfg_t); - static be_define_const_empty_class(be_class_lv_draw_mask_line_param_t, &be_class_lv_ctypes, lv_draw_mask_line_param_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_line_param_t, &be_lv_draw_mask_line_param_t); - static be_define_const_empty_class(be_class_lv_draw_mask_map_param_cfg_t, &be_class_lv_ctypes, lv_draw_mask_map_param_cfg_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_map_param_cfg_t, &be_lv_draw_mask_map_param_cfg_t); - static be_define_const_empty_class(be_class_lv_draw_mask_map_param_t, &be_class_lv_ctypes, lv_draw_mask_map_param_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_map_param_t, &be_lv_draw_mask_map_param_t); - static be_define_const_empty_class(be_class_lv_draw_mask_radius_param_cfg_t, &be_class_lv_ctypes, lv_draw_mask_radius_param_cfg_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_radius_param_cfg_t, &be_lv_draw_mask_radius_param_cfg_t); - static be_define_const_empty_class(be_class_lv_draw_mask_radius_param_t, &be_class_lv_ctypes, lv_draw_mask_radius_param_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_radius_param_t, &be_lv_draw_mask_radius_param_t); - static be_define_const_empty_class(be_class_lv_draw_mask_saved_t, &be_class_lv_ctypes, lv_draw_mask_saved_t); - ctypes_register_class(vm, &be_class_lv_draw_mask_saved_t, &be_lv_draw_mask_saved_t); - static be_define_const_empty_class(be_class_lv_draw_rect_dsc_t, &be_class_lv_ctypes, lv_draw_rect_dsc_t); - ctypes_register_class(vm, &be_class_lv_draw_rect_dsc_t, &be_lv_draw_rect_dsc_t); - static be_define_const_empty_class(be_class_lv_point_t, &be_class_lv_ctypes, lv_point_t); - ctypes_register_class(vm, &be_class_lv_point_t, &be_lv_point_t); - static be_define_const_empty_class(be_class_lv_sqrt_res_t, &be_class_lv_ctypes, lv_sqrt_res_t); - ctypes_register_class(vm, &be_class_lv_sqrt_res_t, &be_lv_sqrt_res_t); + static be_define_const_empty_class(be_class_lv_area, &be_class_lv_ctypes, lv_area); + ctypes_register_class(vm, &be_class_lv_area, &be_lv_area); + static be_define_const_empty_class(be_class_lv_draw_img_dsc, &be_class_lv_ctypes, lv_draw_img_dsc); + ctypes_register_class(vm, &be_class_lv_draw_img_dsc, &be_lv_draw_img_dsc); + static be_define_const_empty_class(be_class_lv_draw_label_dsc, &be_class_lv_ctypes, lv_draw_label_dsc); + ctypes_register_class(vm, &be_class_lv_draw_label_dsc, &be_lv_draw_label_dsc); + static be_define_const_empty_class(be_class_lv_draw_line_dsc, &be_class_lv_ctypes, lv_draw_line_dsc); + ctypes_register_class(vm, &be_class_lv_draw_line_dsc, &be_lv_draw_line_dsc); + static be_define_const_empty_class(be_class_lv_draw_mask_angle_param, &be_class_lv_ctypes, lv_draw_mask_angle_param); + ctypes_register_class(vm, &be_class_lv_draw_mask_angle_param, &be_lv_draw_mask_angle_param); + static be_define_const_empty_class(be_class_lv_draw_mask_angle_param_cfg, &be_class_lv_ctypes, lv_draw_mask_angle_param_cfg); + ctypes_register_class(vm, &be_class_lv_draw_mask_angle_param_cfg, &be_lv_draw_mask_angle_param_cfg); + static be_define_const_empty_class(be_class_lv_draw_mask_common_dsc, &be_class_lv_ctypes, lv_draw_mask_common_dsc); + ctypes_register_class(vm, &be_class_lv_draw_mask_common_dsc, &be_lv_draw_mask_common_dsc); + static be_define_const_empty_class(be_class_lv_draw_mask_fade_param, &be_class_lv_ctypes, lv_draw_mask_fade_param); + ctypes_register_class(vm, &be_class_lv_draw_mask_fade_param, &be_lv_draw_mask_fade_param); + static be_define_const_empty_class(be_class_lv_draw_mask_fade_param_cfg, &be_class_lv_ctypes, lv_draw_mask_fade_param_cfg); + ctypes_register_class(vm, &be_class_lv_draw_mask_fade_param_cfg, &be_lv_draw_mask_fade_param_cfg); + static be_define_const_empty_class(be_class_lv_draw_mask_line_param, &be_class_lv_ctypes, lv_draw_mask_line_param); + ctypes_register_class(vm, &be_class_lv_draw_mask_line_param, &be_lv_draw_mask_line_param); + static be_define_const_empty_class(be_class_lv_draw_mask_line_param_cfg, &be_class_lv_ctypes, lv_draw_mask_line_param_cfg); + ctypes_register_class(vm, &be_class_lv_draw_mask_line_param_cfg, &be_lv_draw_mask_line_param_cfg); + static be_define_const_empty_class(be_class_lv_draw_mask_map_param, &be_class_lv_ctypes, lv_draw_mask_map_param); + ctypes_register_class(vm, &be_class_lv_draw_mask_map_param, &be_lv_draw_mask_map_param); + static be_define_const_empty_class(be_class_lv_draw_mask_map_param_cfg, &be_class_lv_ctypes, lv_draw_mask_map_param_cfg); + ctypes_register_class(vm, &be_class_lv_draw_mask_map_param_cfg, &be_lv_draw_mask_map_param_cfg); + static be_define_const_empty_class(be_class_lv_draw_mask_radius_param, &be_class_lv_ctypes, lv_draw_mask_radius_param); + ctypes_register_class(vm, &be_class_lv_draw_mask_radius_param, &be_lv_draw_mask_radius_param); + static be_define_const_empty_class(be_class_lv_draw_mask_radius_param_cfg, &be_class_lv_ctypes, lv_draw_mask_radius_param_cfg); + ctypes_register_class(vm, &be_class_lv_draw_mask_radius_param_cfg, &be_lv_draw_mask_radius_param_cfg); + static be_define_const_empty_class(be_class_lv_draw_mask_saved, &be_class_lv_ctypes, lv_draw_mask_saved); + ctypes_register_class(vm, &be_class_lv_draw_mask_saved, &be_lv_draw_mask_saved); + static be_define_const_empty_class(be_class_lv_draw_rect_dsc, &be_class_lv_ctypes, lv_draw_rect_dsc); + ctypes_register_class(vm, &be_class_lv_draw_rect_dsc, &be_lv_draw_rect_dsc); + static be_define_const_empty_class(be_class_lv_point, &be_class_lv_ctypes, lv_point); + ctypes_register_class(vm, &be_class_lv_point, &be_lv_point); + static be_define_const_empty_class(be_class_lv_sqrt_res, &be_class_lv_ctypes, lv_sqrt_res); + ctypes_register_class(vm, &be_class_lv_sqrt_res, &be_lv_sqrt_res); } /*******************************************************************/ diff --git a/lib/libesp32/Berry/default/be_lvgl_widgets_lib.c b/lib/libesp32/Berry/default/be_lvgl_widgets_lib.c index c1b7bd816..5c2161432 100644 --- a/lib/libesp32/Berry/default/be_lvgl_widgets_lib.c +++ b/lib/libesp32/Berry/default/be_lvgl_widgets_lib.c @@ -47,6 +47,16 @@ extern int lvbe_img_get_angle(bvm *vm); extern int lvbe_img_get_pivot(bvm *vm); extern int lvbe_img_get_zoom(bvm *vm); extern int lvbe_img_get_antialias(bvm *vm); +extern int lvbe_img_cf_get_px_size(bvm *vm); +extern int lvbe_img_cf_is_chroma_keyed(bvm *vm); +extern int lvbe_img_cf_has_alpha(bvm *vm); +extern int lvbe_img_buf_get_px_color(bvm *vm); +extern int lvbe_img_buf_get_px_alpha(bvm *vm); +extern int lvbe_img_buf_set_px_color(bvm *vm); +extern int lvbe_img_buf_set_px_alpha(bvm *vm); +extern int lvbe_img_buf_set_palette(bvm *vm); +extern int lvbe_img_buf_free(bvm *vm); +extern int lvbe_img_buf_get_img_size(bvm *vm); /* `lv_style` external functions definitions */ extern int lvbe_style_copy(bvm *vm); @@ -167,6 +177,7 @@ extern int lvbe_group_set_editing(bvm *vm); extern int lvbe_group_set_click_focus(bvm *vm); extern int lvbe_group_set_wrap(bvm *vm); extern int lvbe_group_get_focused(bvm *vm); +extern int lvbe_group_get_focus_cb(bvm *vm); extern int lvbe_group_get_editing(bvm *vm); extern int lvbe_group_get_click_focus(bvm *vm); extern int lvbe_group_get_wrap(bvm *vm); @@ -280,6 +291,9 @@ extern int lvbe_obj_get_base_dir(bvm *vm); extern int lvbe_obj_get_protect(bvm *vm); extern int lvbe_obj_is_protected(bvm *vm); extern int lvbe_obj_get_state(bvm *vm); +extern int lvbe_obj_get_signal_cb(bvm *vm); +extern int lvbe_obj_get_design_cb(bvm *vm); +extern int lvbe_obj_get_event_cb(bvm *vm); extern int lvbe_obj_is_point_on_coords(bvm *vm); extern int lvbe_obj_hittest(bvm *vm); extern int lvbe_obj_get_ext_attr(bvm *vm); @@ -479,6 +493,7 @@ extern int lvbe_obj_get_style_scale_grad_color(bvm *vm); extern int lvbe_obj_set_style_local_scale_grad_color(bvm *vm); extern int lvbe_obj_get_style_scale_end_color(bvm *vm); extern int lvbe_obj_set_style_local_scale_end_color(bvm *vm); +extern int lvbe_obj_signal_send(bvm *vm); /* `lv_arc` external functions definitions */ extern int lvbe_arc_create(bvm *vm); @@ -1159,11 +1174,6 @@ void be_load_lv_style_lib(bvm *vm) { { NULL, NULL } }; be_regclass(vm, "lv_style", members); - - be_getglobal(vm, "lv_style"); - be_getglobal(vm, "lv_obj"); - be_setsuper(vm, -2); - be_pop(vm, 2); #else be_pushntvclass(vm, &be_class_lv_style); be_setglobal(vm, "lv_style"); @@ -1172,7 +1182,7 @@ void be_load_lv_style_lib(bvm *vm) { }; /* @const_object_info_begin -class be_class_lv_style (scope: global, name: lv_style, super: be_class_lv_obj) { +class be_class_lv_style (scope: global, name: lv_style) { .p, var init, func(lvs_init) tostring, func(lvs_tostring) @@ -1226,11 +1236,6 @@ void be_load_lv_indev_lib(bvm *vm) { { NULL, NULL } }; be_regclass(vm, "lv_indev", members); - - be_getglobal(vm, "lv_indev"); - be_getglobal(vm, "lv_obj"); - be_setsuper(vm, -2); - be_pop(vm, 2); #else be_pushntvclass(vm, &be_class_lv_indev); be_setglobal(vm, "lv_indev"); @@ -1239,7 +1244,7 @@ void be_load_lv_indev_lib(bvm *vm) { }; /* @const_object_info_begin -class be_class_lv_indev (scope: global, name: lv_indev, super: be_class_lv_obj) { +class be_class_lv_indev (scope: global, name: lv_indev) { .p, var init, func(lv0_init) tostring, func(lvx_tostring) diff --git a/lib/libesp32/Berry/default/be_modtab.c b/lib/libesp32/Berry/default/be_modtab.c index b9c2fddae..5e334a7e2 100644 --- a/lib/libesp32/Berry/default/be_modtab.c +++ b/lib/libesp32/Berry/default/be_modtab.c @@ -102,6 +102,8 @@ extern void be_load_md5_lib(bvm *vm); extern void be_load_lvgl_color_lib(bvm *vm); extern void be_load_lvgl_font_lib(bvm *vm); extern void be_load_lv_all_lib(bvm *vm); +extern void be_load_lvgl_cb_lib(bvm *vm); +extern void be_load_lvgl_cb_all_lib(bvm *vm); extern void be_load_lvgl_ctypes_lib(bvm *vm); extern void be_load_ctypes_definitions_lib(bvm *vm); #endif// USE_LVGL @@ -128,6 +130,8 @@ BERRY_API void be_load_custom_libs(bvm *vm) be_load_lvgl_font_lib(vm); be_load_lv_all_lib(vm); + be_load_lvgl_cb_lib(vm); + be_load_lvgl_cb_all_lib(vm); be_load_lvgl_ctypes_lib(vm); be_load_ctypes_definitions_lib(vm); #endif // USE_LVGL diff --git a/lib/libesp32/Berry/generate/be_const_strtab.h b/lib/libesp32/Berry/generate/be_const_strtab.h index a48347bfe..4db818aba 100644 --- a/lib/libesp32/Berry/generate/be_const_strtab.h +++ b/lib/libesp32/Berry/generate/be_const_strtab.h @@ -1,626 +1,633 @@ -extern const bcstring be_const_str_RF_SENSOR; -extern const bcstring be_const_str_lv_label; -extern const bcstring be_const_str_GPS_TX; -extern const bcstring be_const_str_MAX31855DO; -extern const bcstring be_const_str_SWT1; -extern const bcstring be_const_str_resp_cmnd_failed; -extern const bcstring be_const_str_lv_draw_mask_line_param_t; -extern const bcstring be_const_str_TM1638DIO; -extern const bcstring be_const_str_lv_draw_mask_line_param_cfg_t; -extern const bcstring be_const_str_run_deferred; -extern const bcstring be_const_str_REL1; -extern const bcstring be_const_str_lv_font; -extern const bcstring be_const_str_CSE7766_TX; -extern const bcstring be_const_str_MD5; -extern const bcstring be_const_str_SYMBOL_SHUFFLE; -extern const bcstring be_const_str_allocated; -extern const bcstring be_const_str_KEY1_TC; -extern const bcstring be_const_str_list; -extern const bcstring be_const_str_lv_page; -extern const bcstring be_const_str_raise; -extern const bcstring be_const_str_SPI_MOSI; -extern const bcstring be_const_str_try; -extern const bcstring be_const_str_RFRECV; -extern const bcstring be_const_str_SYMBOL_WIFI; -extern const bcstring be_const_str_lv_gauge; -extern const bcstring be_const_str_try_rule; -extern const bcstring be_const_str_PROJECTOR_CTRL_TX; -extern const bcstring be_const_str_SYMBOL_CALL; -extern const bcstring be_const_str_str; -extern const bcstring be_const_str_SDCARD_CS; -extern const bcstring be_const_str_reverse; -extern const bcstring be_const_str_add; -extern const bcstring be_const_str_insert; -extern const bcstring be_const_str_rtc; -extern const bcstring be_const_str_CC1101_GDO0; -extern const bcstring be_const_str_MGC3130_RESET; -extern const bcstring be_const_str_NONE; -extern const bcstring be_const_str_set_timer; -extern const bcstring be_const_str_FTC532; -extern const bcstring be_const_str_GPS_RX; -extern const bcstring be_const_str_INPUT_PULLUP; -extern const bcstring be_const_str_find; -extern const bcstring be_const_str_cb_dispatch; -extern const bcstring be_const_str_DDSU666_TX; -extern const bcstring be_const_str_lower; -extern const bcstring be_const_str_lv_draw_mask_radius_param_cfg_t; -extern const bcstring be_const_str_IBEACON_RX; -extern const bcstring be_const_str_SYMBOL_IMAGE; -extern const bcstring be_const_str__ccmd; -extern const bcstring be_const_str_TELEINFO_ENABLE; -extern const bcstring be_const_str_SYMBOL_PLAY; -extern const bcstring be_const_str_clear; -extern const bcstring be_const_str_has_arg; -extern const bcstring be_const_str_publish; -extern const bcstring be_const_str_web_add_button; -extern const bcstring be_const_str_add_cmd; -extern const bcstring be_const_str_input; -extern const bcstring be_const_str_lv_tileview; -extern const bcstring be_const_str_AZ_RXD; -extern const bcstring be_const_str_lv_group; -extern const bcstring be_const_str_pow; -extern const bcstring be_const_str_PN532_TXD; -extern const bcstring be_const_str_lv_msgbox; -extern const bcstring be_const_str_print; -extern const bcstring be_const_str_remove_cmd; -extern const bcstring be_const_str_SYMBOL_DIRECTORY; -extern const bcstring be_const_str_keys; -extern const bcstring be_const_str_member; -extern const bcstring be_const_str_ctypes_bytes; -extern const bcstring be_const_str_get_power; -extern const bcstring be_const_str_millis; -extern const bcstring be_const_str_SYMBOL_MINUS; -extern const bcstring be_const_str_web_sensor; -extern const bcstring be_const_str_CC1101_GDO2; -extern const bcstring be_const_str_gc; extern const bcstring be_const_str_lv_style; -extern const bcstring be_const_str_gamma8; -extern const bcstring be_const_str_ST7789_DC; -extern const bcstring be_const_str_SYMBOL_PASTE; -extern const bcstring be_const_str_display; -extern const bcstring be_const_str_dump; -extern const bcstring be_const_str_lv_led; -extern const bcstring be_const_str_IRRECV; -extern const bcstring be_const_str_nil; -extern const bcstring be_const_str_SM2135_CLK; -extern const bcstring be_const_str_type; -extern const bcstring be_const_str_ILI9341_DC; -extern const bcstring be_const_str_asin; -extern const bcstring be_const_str_lv_list; -extern const bcstring be_const_str_save_before_restart; -extern const bcstring be_const_str_TFMINIPLUS_TX; -extern const bcstring be_const_str_exec_cmd; -extern const bcstring be_const_str__request_from; -extern const bcstring be_const_str_read12; -extern const bcstring be_const_str_super; -extern const bcstring be_const_str_A4988_DIR; -extern const bcstring be_const_str_MAX7219DIN; -extern const bcstring be_const_str_module; -extern const bcstring be_const_str_tolower; -extern const bcstring be_const_str_ADC_BUTTON_INV; -extern const bcstring be_const_str_SSD1331_CS; -extern const bcstring be_const_str_hex; -extern const bcstring be_const_str_resp_cmnd_error; -extern const bcstring be_const_str_response_append; -extern const bcstring be_const_str_traceback; -extern const bcstring be_const_str_MAX7219CS; -extern const bcstring be_const_str_OPTION_A; -extern const bcstring be_const_str_compile; -extern const bcstring be_const_str_lv_line; -extern const bcstring be_const_str_MAX31855CS; -extern const bcstring be_const_str_open; -extern const bcstring be_const_str_read13; -extern const bcstring be_const_str_time_dump; -extern const bcstring be_const_str_TASMOTACLIENT_TXD; -extern const bcstring be_const_str_LE01MR_RX; -extern const bcstring be_const_str_lv_draw_mask_common_dsc_t; -extern const bcstring be_const_str_ADE7953_IRQ; -extern const bcstring be_const_str_range; -extern const bcstring be_const_str_DHT22; -extern const bcstring be_const_str_SYMBOL_BATTERY_FULL; -extern const bcstring be_const_str_SR04_ECHO; -extern const bcstring be_const_str_SYMBOL_OK; -extern const bcstring be_const_str_check_privileged_access; -extern const bcstring be_const_str_BS814_DAT; -extern const bcstring be_const_str_MAX31855CLK; -extern const bcstring be_const_str_SYMBOL_EJECT; -extern const bcstring be_const_str_SYMBOL_NEW_LINE; -extern const bcstring be_const_str_SYMBOL_UP; -extern const bcstring be_const_str_lv_draw_label_dsc_t; -extern const bcstring be_const_str_SYMBOL_SD_CARD; -extern const bcstring be_const_str_codedump; -extern const bcstring be_const_str_toupper; -extern const bcstring be_const_str_break; -extern const bcstring be_const_str_SYMBOL_LIST; -extern const bcstring be_const_str_imax; -extern const bcstring be_const_str_lv_chart; -extern const bcstring be_const_str_pin; -extern const bcstring be_const_str_erase; -extern const bcstring be_const_str_load; -extern const bcstring be_const_str_sqrt; -extern const bcstring be_const_str__buffer; -extern const bcstring be_const_str_lv_arc; -extern const bcstring be_const_str_memory; -extern const bcstring be_const_str_content_send_style; -extern const bcstring be_const_str_as; -extern const bcstring be_const_str_json_append; -extern const bcstring be_const_str_web_add_main_button; -extern const bcstring be_const_str_ETH_PHY_MDC; -extern const bcstring be_const_str_LEDLNK_INV; -extern const bcstring be_const_str_arg_name; -extern const bcstring be_const_str_TX2X_TXD_BLACK; -extern const bcstring be_const_str_EXS_ENABLE; -extern const bcstring be_const_str_content_start; -extern const bcstring be_const_str_I2C_SCL; -extern const bcstring be_const_str_Wire; -extern const bcstring be_const_str_lv_area_t; -extern const bcstring be_const_str_PZEM016_RX; -extern const bcstring be_const_str_CNTR1_NP; extern const bcstring be_const_str_ETH_PHY_MDIO; -extern const bcstring be_const_str_WEBCAM_RESET; -extern const bcstring be_const_str_TUYA_TX; -extern const bcstring be_const_str_ROT1B_NP; -extern const bcstring be_const_str__available; -extern const bcstring be_const_str_IEM3000_RX; -extern const bcstring be_const_str_log10; -extern const bcstring be_const_str_lv_img; -extern const bcstring be_const_str_setmember; -extern const bcstring be_const_str_PZEM004_RX; -extern const bcstring be_const_str_lv_draw_mask_fade_param_cfg_t; -extern const bcstring be_const_str_NRG_SEL; -extern const bcstring be_const_str_KEY1_NP; -extern const bcstring be_const_str_ceil; -extern const bcstring be_const_str_BUZZER_INV; -extern const bcstring be_const_str_RXD; -extern const bcstring be_const_str_lv_obj; -extern const bcstring be_const_str_NRF24_CS; -extern const bcstring be_const_str_SYMBOL_CLOSE; -extern const bcstring be_const_str_WEBCAM_PSCLK; -extern const bcstring be_const_str_tanh; -extern const bcstring be_const_str_EPAPER42_CS; -extern const bcstring be_const_str_CSE7761_RX; -extern const bcstring be_const_str_find_key_i; -extern const bcstring be_const_str_int; -extern const bcstring be_const_str_if; -extern const bcstring be_const_str_SM16716_SEL; -extern const bcstring be_const_str_WEBCAM_XCLK; -extern const bcstring be_const_str_log; -extern const bcstring be_const_str_lv_canvas; -extern const bcstring be_const_str_HRXL_RX; -extern const bcstring be_const_str_OPEN_DRAIN; -extern const bcstring be_const_str_SDM120_RX; -extern const bcstring be_const_str_SR04_TRIG; -extern const bcstring be_const_str_lv_draw_mask_map_param_t; -extern const bcstring be_const_str_tostring; -extern const bcstring be_const_str_MAX7219CLK; -extern const bcstring be_const_str_SYMBOL_DRIVE; -extern const bcstring be_const_str_SAIR_RX; -extern const bcstring be_const_str_SYMBOL_HOME; -extern const bcstring be_const_str_SYMBOL_BLUETOOTH; -extern const bcstring be_const_str_SYMBOL_WARNING; -extern const bcstring be_const_str_AZ_TXD; -extern const bcstring be_const_str_exec_rules; -extern const bcstring be_const_str_pin_mode; -extern const bcstring be_const_str_SDM630_TX; -extern const bcstring be_const_str_lv_draw_mask_map_param_cfg_t; -extern const bcstring be_const_str_LE01MR_TX; -extern const bcstring be_const_str_TM1638STB; -extern const bcstring be_const_str_return; -extern const bcstring be_const_str_A4988_ENA; -extern const bcstring be_const_str_resp_cmnd_str; -extern const bcstring be_const_str_seti; -extern const bcstring be_const_str_time_str; -extern const bcstring be_const_str_SSPI_MOSI; -extern const bcstring be_const_str_ZEROCROSS; -extern const bcstring be_const_str_map; -extern const bcstring be_const_str_sinh; -extern const bcstring be_const_str_on; -extern const bcstring be_const_str_KEY1; -extern const bcstring be_const_str_SYMBOL_BACKSPACE; -extern const bcstring be_const_str_TASMOTACLIENT_RST_INV; -extern const bcstring be_const_str_read_bytes; -extern const bcstring be_const_str_SYMBOL_STOP; -extern const bcstring be_const_str__drivers; -extern const bcstring be_const_str_get; -extern const bcstring be_const_str_ZIGBEE_TX; -extern const bcstring be_const_str_MCP39F5_RX; -extern const bcstring be_const_str_opt_connect; -extern const bcstring be_const_str_imin; -extern const bcstring be_const_str_rand; -extern const bcstring be_const_str_read32; -extern const bcstring be_const_str_PZEM0XX_TX; -extern const bcstring be_const_str_RA8876_CS; -extern const bcstring be_const_str_remove_rule; -extern const bcstring be_const_str_web_send; -extern const bcstring be_const_str_wire_scan; -extern const bcstring be_const_str_A4988_MS1; -extern const bcstring be_const_str_SSD1351_CS; -extern const bcstring be_const_str__cmd; -extern const bcstring be_const_str_CHANGE; -extern const bcstring be_const_str_HALLEFFECT; -extern const bcstring be_const_str_TFMINIPLUS_RX; -extern const bcstring be_const_str_lv_draw_mask_fade_param_t; -extern const bcstring be_const_str_SPI_MISO; -extern const bcstring be_const_str_SYMBOL_EYE_CLOSE; -extern const bcstring be_const_str_digital_read; -extern const bcstring be_const_str_TUYA_RX; -extern const bcstring be_const_str_arg_size; -extern const bcstring be_const_str_BS814_CLK; -extern const bcstring be_const_str_end; -extern const bcstring be_const_str_wire1; -extern const bcstring be_const_str_IEM3000_TX; -extern const bcstring be_const_str_name; -extern const bcstring be_const_str_NRF24_DC; -extern const bcstring be_const_str_SDM72_RX; -extern const bcstring be_const_str_SSPI_MISO; -extern const bcstring be_const_str_content_send; -extern const bcstring be_const_str_digital_write; -extern const bcstring be_const_str_lv_calendar; -extern const bcstring be_const_str_write8; -extern const bcstring be_const_str_EPD_DATA; -extern const bcstring be_const_str_MCP39F5_TX; -extern const bcstring be_const_str_get_free_heap; -extern const bcstring be_const_str_i2c_enabled; -extern const bcstring be_const_str_WS2812; -extern const bcstring be_const_str_web_add_console_button; -extern const bcstring be_const_str_ILI9488_CS; -extern const bcstring be_const_str_WE517_RX; -extern const bcstring be_const_str_lv_draw_mask_radius_param_t; -extern const bcstring be_const_str_PWM1; -extern const bcstring be_const_str_lv_sqrt_res_t; -extern const bcstring be_const_str_wire2; -extern const bcstring be_const_str_HIGH; -extern const bcstring be_const_str_RFSEND; -extern const bcstring be_const_str_ZIGBEE_RST; -extern const bcstring be_const_str_srand; -extern const bcstring be_const_str_SSPI_SCLK; -extern const bcstring be_const_str_CSE7766_RX; -extern const bcstring be_const_str_web_send_decimal; -extern const bcstring be_const_str_resolvecmnd; -extern const bcstring be_const_str_opt_call; -extern const bcstring be_const_str_AS608_RX; -extern const bcstring be_const_str_SYMBOL_GPS; -extern const bcstring be_const_str_WEBCAM_PWDN; -extern const bcstring be_const_str_detect; -extern const bcstring be_const_str_HM10_TX; -extern const bcstring be_const_str_SM2135_DAT; -extern const bcstring be_const_str_WEBCAM_PSRCS; -extern const bcstring be_const_str_get_light; -extern const bcstring be_const_str_geti; -extern const bcstring be_const_str_set_light; -extern const bcstring be_const_str_WEBCAM_VSYNC; -extern const bcstring be_const_str_WIEGAND_D1; -extern const bcstring be_const_str_write; -extern const bcstring be_const_str_ROT1A_NP; -extern const bcstring be_const_str_SSPI_DC; -extern const bcstring be_const_str_SWT1_NP; -extern const bcstring be_const_str_WEBCAM_SIOC; -extern const bcstring be_const_str_OUTPUT_OPEN_DRAIN; -extern const bcstring be_const_str_copy; -extern const bcstring be_const_str_add_rule; -extern const bcstring be_const_str_SYMBOL_DOWN; -extern const bcstring be_const_str_SYMBOL_DOWNLOAD; -extern const bcstring be_const_str_pin_used; -extern const bcstring be_const_str_BOILER_OT_RX; -extern const bcstring be_const_str_RC522_RST; -extern const bcstring be_const_str_EPAPER29_CS; -extern const bcstring be_const_str_WIEGAND_D0; -extern const bcstring be_const_str_class; extern const bcstring be_const_str_SYMBOL_PLUS; -extern const bcstring be_const_str_BUZZER; -extern const bcstring be_const_str_KEY1_INV; -extern const bcstring be_const_str_lv_btnmatrix; -extern const bcstring be_const_str_MIEL_HVAC_RX; -extern const bcstring be_const_str_PZEM017_RX; -extern const bcstring be_const_str_ZIGBEE_RX; -extern const bcstring be_const_str_do; -extern const bcstring be_const_str_AS3935; -extern const bcstring be_const_str_DYP_RX; -extern const bcstring be_const_str_push; -extern const bcstring be_const_str_DHT11; -extern const bcstring be_const_str_SM16716_CLK; -extern const bcstring be_const_str_lv_imgbtn; -extern const bcstring be_const_str_resize; -extern const bcstring be_const_str_OUTPUT; -extern const bcstring be_const_str_Tasmota; -extern const bcstring be_const_str_classname; -extern const bcstring be_const_str_SI7021; -extern const bcstring be_const_str_SYMBOL_LEFT; -extern const bcstring be_const_str_arg; -extern const bcstring be_const_str_SYMBOL_CUT; -extern const bcstring be_const_str_WEBCAM_HREF; -extern const bcstring be_const_str_read8; -extern const bcstring be_const_str_HM10_RX; -extern const bcstring be_const_str_SYMBOL_DUMMY; -extern const bcstring be_const_str_gamma10; -extern const bcstring be_const_str_redirect; -extern const bcstring be_const_str_CSE7761_TX; -extern const bcstring be_const_str_SYMBOL_FILE; -extern const bcstring be_const_str_register_button_encoder; -extern const bcstring be_const_str_SYMBOL_SAVE; -extern const bcstring be_const_str_SYMBOL_VOLUME_MAX; -extern const bcstring be_const_str_HRE_DATA; -extern const bcstring be_const_str_SAIR_TX; -extern const bcstring be_const_str_DEEPSLEEP; -extern const bcstring be_const_str_write_bytes; -extern const bcstring be_const_str_TCP_TX; -extern const bcstring be_const_str_read; -extern const bcstring be_const_str_HPMA_TX; -extern const bcstring be_const_str_SYMBOL_LOOP; -extern const bcstring be_const_str_dot_p; -extern const bcstring be_const_str_WEBCAM_DATA; -extern const bcstring be_const_str_cmd; -extern const bcstring be_const_str_read24; -extern const bcstring be_const_str_SSD1351_DC; -extern const bcstring be_const_str_DCKI; -extern const bcstring be_const_str_RC522_CS; -extern const bcstring be_const_str_RDM6300_RX; -extern const bcstring be_const_str_cos; -extern const bcstring be_const_str_lv_draw_mask_saved_t; -extern const bcstring be_const_str_asstring; -extern const bcstring be_const_str_abs; -extern const bcstring be_const_str_attrdump; -extern const bcstring be_const_str_lv_draw_mask_angle_param_t; -extern const bcstring be_const_str_AS608_TX; -extern const bcstring be_const_str_IRSEND; -extern const bcstring be_const_str_TM1638CLK; -extern const bcstring be_const_str_lv_btn; -extern const bcstring be_const_str_MCP39F5_RST; -extern const bcstring be_const_str_save; -extern const bcstring be_const_str_SPI_DC; -extern const bcstring be_const_str_gen_cb; -extern const bcstring be_const_str_lv_draw_line_dsc_t; -extern const bcstring be_const_str_lv_objmask; -extern const bcstring be_const_str_reverse_gamma10; -extern const bcstring be_const_str_LOW; -extern const bcstring be_const_str_HX711_DAT; -extern const bcstring be_const_str_OUTPUT_HI; -extern const bcstring be_const_str_lv_draw_img_dsc_t; -extern const bcstring be_const_str_lv_textarea; -extern const bcstring be_const_str_TXD; -extern const bcstring be_const_str_lv_keyboard; -extern const bcstring be_const_str_SPI_CLK; -extern const bcstring be_const_str_SYMBOL_AUDIO; -extern const bcstring be_const_str_write_bit; -extern const bcstring be_const_str_DSB_OUT; -extern const bcstring be_const_str_dot_def; -extern const bcstring be_const_str_ADC_LIGHT; -extern const bcstring be_const_str_WEBCAM_SIOD; -extern const bcstring be_const_str_button_pressed; -extern const bcstring be_const_str_deinit; -extern const bcstring be_const_str_lv_cont; -extern const bcstring be_const_str_HRE_CLOCK; -extern const bcstring be_const_str_TM1637CLK; -extern const bcstring be_const_str___iterator__; -extern const bcstring be_const_str__write; -extern const bcstring be_const_str_lv_color; -extern const bcstring be_const_str_SHELLY_DIMMER_BOOT0; -extern const bcstring be_const_str_else; -extern const bcstring be_const_str_; -extern const bcstring be_const_str_A4988_STP; -extern const bcstring be_const_str_ELECTRIQ_MOODL_TX; -extern const bcstring be_const_str_REL1_INV; -extern const bcstring be_const_str_SYMBOL_COPY; -extern const bcstring be_const_str_lv_linemeter; -extern const bcstring be_const_str_delay; -extern const bcstring be_const_str_isinstance; -extern const bcstring be_const_str_BOILER_OT_TX; -extern const bcstring be_const_str_LEDLNK; -extern const bcstring be_const_str_SDS0X1_RX; -extern const bcstring be_const_str_WEBCAM_PCLK; -extern const bcstring be_const_str__read; -extern const bcstring be_const_str_content_button; -extern const bcstring be_const_str_HX711_SCK; -extern const bcstring be_const_str_calldepth; -extern const bcstring be_const_str_every_100ms; -extern const bcstring be_const_str_getbits; -extern const bcstring be_const_str_start; -extern const bcstring be_const_str__get_cb; -extern const bcstring be_const_str_size; -extern const bcstring be_const_str_var; -extern const bcstring be_const_str_ADC_RANGE; -extern const bcstring be_const_str_get_option; -extern const bcstring be_const_str_get_tasmota; -extern const bcstring be_const_str_NRG_SEL_INV; -extern const bcstring be_const_str_SYMBOL_MUTE; -extern const bcstring be_const_str_number; -extern const bcstring be_const_str_LMT01; -extern const bcstring be_const_str_DHT11_OUT; -extern const bcstring be_const_str_SOLAXX1_TX; -extern const bcstring be_const_str_false; -extern const bcstring be_const_str_ILI9341_CS; -extern const bcstring be_const_str_SSD1331_DC; -extern const bcstring be_const_str_DDS2382_TX; -extern const bcstring be_const_str__timers; -extern const bcstring be_const_str_opt_neq; -extern const bcstring be_const_str_ARIRFSEL; -extern const bcstring be_const_str_MGC3130_XFER; -extern const bcstring be_const_str_fromstring; -extern const bcstring be_const_str_lv_roller; +extern const bcstring be_const_str_hex; +extern const bcstring be_const_str_setrange; extern const bcstring be_const_str_bus; -extern const bcstring be_const_str_format; -extern const bcstring be_const_str_load_freetype_font; -extern const bcstring be_const_str_tan; -extern const bcstring be_const_str___upper__; -extern const bcstring be_const_str_SSPI_MAX31865_CS1; -extern const bcstring be_const_str__rules; -extern const bcstring be_const_str_P9813_DAT; -extern const bcstring be_const_str_cosh; -extern const bcstring be_const_str_LED1; -extern const bcstring be_const_str_SDM630_RX; -extern const bcstring be_const_str_init; -extern const bcstring be_const_str_opt_add; -extern const bcstring be_const_str_SYMBOL_KEYBOARD; -extern const bcstring be_const_str_SYMBOL_POWER; -extern const bcstring be_const_str_resp_cmnd_done; -extern const bcstring be_const_str_rad; -extern const bcstring be_const_str_ARIRFRCV; -extern const bcstring be_const_str_lv_indev; -extern const bcstring be_const_str_SDM120_TX; -extern const bcstring be_const_str_iter; -extern const bcstring be_const_str_lv_draw_mask_angle_param_cfg_t; -extern const bcstring be_const_str_seg7_font; -extern const bcstring be_const_str_BACKLIGHT; -extern const bcstring be_const_str_bytes; -extern const bcstring be_const_str_for; -extern const bcstring be_const_str_HLW_CF; -extern const bcstring be_const_str_BL0940_RX; -extern const bcstring be_const_str_SYMBOL_BATTERY_EMPTY; -extern const bcstring be_const_str_TASMOTACLIENT_RST; -extern const bcstring be_const_str_floor; -extern const bcstring be_const_str_Driver; -extern const bcstring be_const_str_lv_cpicker; -extern const bcstring be_const_str_FALLING; -extern const bcstring be_const_str_PN532_RXD; -extern const bcstring be_const_str_SYMBOL_USB; -extern const bcstring be_const_str_update; -extern const bcstring be_const_str_web_add_management_button; -extern const bcstring be_const_str_lv_dropdown; -extern const bcstring be_const_str_SYMBOL_PAUSE; -extern const bcstring be_const_str_lv_table; -extern const bcstring be_const_str_PULLUP; -extern const bcstring be_const_str_SYMBOL_CHARGE; -extern const bcstring be_const_str__end_transmission; -extern const bcstring be_const_str_P9813_CLK; -extern const bcstring be_const_str_SYMBOL_REFRESH; -extern const bcstring be_const_str_SYMBOL_VIDEO; -extern const bcstring be_const_str_ADC_JOY; -extern const bcstring be_const_str_KEY1_INV_NP; -extern const bcstring be_const_str_NEOPOOL_TX; -extern const bcstring be_const_str_lv_tabview; -extern const bcstring be_const_str_event; -extern const bcstring be_const_str_real; -extern const bcstring be_const_str_elif; -extern const bcstring be_const_str_MHZ_RXD; -extern const bcstring be_const_str_load_font; -extern const bcstring be_const_str_DI; -extern const bcstring be_const_str_wire; -extern const bcstring be_const_str_HJL_CF; -extern const bcstring be_const_str_assert; -extern const bcstring be_const_str_SPI_CS; -extern const bcstring be_const_str_SYMBOL_BULLET; -extern const bcstring be_const_str_SDM72_TX; -extern const bcstring be_const_str_lv_point_t; -extern const bcstring be_const_str_HPMA_RX; -extern const bcstring be_const_str_I2C_Driver; -extern const bcstring be_const_str_PMS5003_RX; -extern const bcstring be_const_str_XPT2046_CS; -extern const bcstring be_const_str_yield; -extern const bcstring be_const_str_LED1_INV; -extern const bcstring be_const_str__cb; -extern const bcstring be_const_str_IBEACON_TX; -extern const bcstring be_const_str_time_reached; -extern const bcstring be_const_str_TASMOTACLIENT_RXD; -extern const bcstring be_const_str_scale_uint; extern const bcstring be_const_str_concat; -extern const bcstring be_const_str_content_flush; -extern const bcstring be_const_str_PMS5003_TX; -extern const bcstring be_const_str_SOLAXX1_RX; -extern const bcstring be_const_str_SYMBOL_TRASH; -extern const bcstring be_const_str__begin_transmission; -extern const bcstring be_const_str_SBR_RX; -extern const bcstring be_const_str_SYMBOL_NEXT; -extern const bcstring be_const_str_atan; -extern const bcstring be_const_str_collect; -extern const bcstring be_const_str_lv_bar; -extern const bcstring be_const_str_addr; -extern const bcstring be_const_str_chars_in_string; -extern const bcstring be_const_str_I2C_SDA; -extern const bcstring be_const_str_SYMBOL_EYE_OPEN; -extern const bcstring be_const_str_WEBCAM_HSD; -extern const bcstring be_const_str_lv_win; -extern const bcstring be_const_str_every_second; +extern const bcstring be_const_str_raise; extern const bcstring be_const_str_ROT1A; -extern const bcstring be_const_str___lower__; -extern const bcstring be_const_str_find_op; -extern const bcstring be_const_str_finish; -extern const bcstring be_const_str_def; -extern const bcstring be_const_str_MHZ_TXD; +extern const bcstring be_const_str_SPI_CLK; +extern const bcstring be_const_str_SYMBOL_MINUS; +extern const bcstring be_const_str_WEBCAM_PSCLK; +extern const bcstring be_const_str_top; +extern const bcstring be_const_str_EPAPER42_CS; +extern const bcstring be_const_str_return; +extern const bcstring be_const_str_MCP39F5_RST; +extern const bcstring be_const_str_OUTPUT_OPEN_DRAIN; +extern const bcstring be_const_str_write_bytes; extern const bcstring be_const_str_SYMBOL_SETTINGS; -extern const bcstring be_const_str_ADC_PH; -extern const bcstring be_const_str_NEOPOOL_RX; -extern const bcstring be_const_str_INPUT; -extern const bcstring be_const_str_screenshot; -extern const bcstring be_const_str_lv_switch; +extern const bcstring be_const_str_call; +extern const bcstring be_const_str_lv_draw_mask_angle_param; +extern const bcstring be_const_str_pi; extern const bcstring be_const_str_acos; -extern const bcstring be_const_str_lv_spinbox; +extern const bcstring be_const_str_atan; +extern const bcstring be_const_str_content_flush; +extern const bcstring be_const_str_SYMBOL_BACKSPACE; +extern const bcstring be_const_str_TM1638STB; +extern const bcstring be_const_str_resp_cmnd; +extern const bcstring be_const_str_web_add_management_button; +extern const bcstring be_const_str_NRG_SEL; +extern const bcstring be_const_str_SYMBOL_OK; +extern const bcstring be_const_str_Wire; +extern const bcstring be_const_str_SYMBOL_BATTERY_3; +extern const bcstring be_const_str_init; +extern const bcstring be_const_str_redirect; +extern const bcstring be_const_str_ADC_TEMP; +extern const bcstring be_const_str__get_cb; +extern const bcstring be_const_str_finish; +extern const bcstring be_const_str_SPI_DC; +extern const bcstring be_const_str_MIEL_HVAC_RX; +extern const bcstring be_const_str_NEOPOOL_TX; +extern const bcstring be_const_str_SSD1331_CS; +extern const bcstring be_const_str_TELEINFO_RX; +extern const bcstring be_const_str_SHELLY_DIMMER_RST_INV; +extern const bcstring be_const_str_MAX7219CS; +extern const bcstring be_const_str_pin_mode; +extern const bcstring be_const_str_SDM72_RX; +extern const bcstring be_const_str_SYMBOL_HOME; +extern const bcstring be_const_str_TM1637CLK; +extern const bcstring be_const_str_char; +extern const bcstring be_const_str_resp_cmnd_done; +extern const bcstring be_const_str_ADC_LIGHT; +extern const bcstring be_const_str_ZIGBEE_TX; +extern const bcstring be_const_str_lv_dropdown; +extern const bcstring be_const_str_A4988_DIR; +extern const bcstring be_const_str_AS3935; +extern const bcstring be_const_str_lv_sqrt_res; +extern const bcstring be_const_str_IEM3000_TX; +extern const bcstring be_const_str_cosh; +extern const bcstring be_const_str_web_sensor; extern const bcstring be_const_str_continue; -extern const bcstring be_const_str_import; -extern const bcstring be_const_str_INPUT_PULLDOWN; +extern const bcstring be_const_str_BS814_DAT; +extern const bcstring be_const_str_opt_add; +extern const bcstring be_const_str_A4988_ENA; +extern const bcstring be_const_str_lv_point; +extern const bcstring be_const_str_delay; +extern const bcstring be_const_str_resp_cmnd_str; +extern const bcstring be_const_str_iter; +extern const bcstring be_const_str_fromstring; +extern const bcstring be_const_str_lv_event_cb; +extern const bcstring be_const_str_CNTR1_NP; +extern const bcstring be_const_str_tanh; +extern const bcstring be_const_str_lv_objmask; +extern const bcstring be_const_str_SOLAXX1_RX; +extern const bcstring be_const_str_HRE_CLOCK; +extern const bcstring be_const_str_MAX31855CS; +extern const bcstring be_const_str_SDM630_TX; +extern const bcstring be_const_str_every_second; +extern const bcstring be_const_str_SYMBOL_AUDIO; +extern const bcstring be_const_str_RC522_CS; +extern const bcstring be_const_str_def; +extern const bcstring be_const_str_REL1; +extern const bcstring be_const_str_load_font; +extern const bcstring be_const_str_real; +extern const bcstring be_const_str_set; +extern const bcstring be_const_str_PZEM016_RX; +extern const bcstring be_const_str_SSPI_CS; +extern const bcstring be_const_str_SYMBOL_TRASH; +extern const bcstring be_const_str_wire; +extern const bcstring be_const_str_REL1_INV; +extern const bcstring be_const_str_FTC532; +extern const bcstring be_const_str_OUTPUT_HI; +extern const bcstring be_const_str_classof; +extern const bcstring be_const_str_web_send_decimal; +extern const bcstring be_const_str_opt_neq; +extern const bcstring be_const_str_LED1_INV; +extern const bcstring be_const_str_load; +extern const bcstring be_const_str_ADC_INPUT; +extern const bcstring be_const_str_SPI_CS; +extern const bcstring be_const_str_WEBCAM_RESET; +extern const bcstring be_const_str_ceil; +extern const bcstring be_const_str_clear; +extern const bcstring be_const_str_cmd; +extern const bcstring be_const_str_response_append; +extern const bcstring be_const_str_lv_btn; +extern const bcstring be_const_str_lv_draw_line_dsc; +extern const bcstring be_const_str_gc; +extern const bcstring be_const_str_WINDMETER_SPEED; +extern const bcstring be_const_str_number; +extern const bcstring be_const_str_write_bit; +extern const bcstring be_const_str_WEBCAM_SIOC; +extern const bcstring be_const_str_I2C_SCL; +extern const bcstring be_const_str_XPT2046_CS; +extern const bcstring be_const_str_lv_calendar; +extern const bcstring be_const_str_RISING; +extern const bcstring be_const_str_arg; +extern const bcstring be_const_str__read; +extern const bcstring be_const_str_rand; +extern const bcstring be_const_str_SYMBOL_SHUFFLE; +extern const bcstring be_const_str_DDSU666_TX; +extern const bcstring be_const_str_web_add_button; +extern const bcstring be_const_str_except; +extern const bcstring be_const_str_RFRECV; +extern const bcstring be_const_str_PZEM017_RX; +extern const bcstring be_const_str_RA8876_CS; +extern const bcstring be_const_str_KEY1_INV; +extern const bcstring be_const_str___iterator__; +extern const bcstring be_const_str_lv_draw_mask_map_param_cfg; +extern const bcstring be_const_str_module; +extern const bcstring be_const_str_ADC_BUTTON; +extern const bcstring be_const_str_get_tasmota; +extern const bcstring be_const_str_read24; +extern const bcstring be_const_str_start; +extern const bcstring be_const_str_MIEL_HVAC_TX; +extern const bcstring be_const_str_SYMBOL_DRIVE; +extern const bcstring be_const_str_SYMBOL_WARNING; +extern const bcstring be_const_str_gamma8; +extern const bcstring be_const_str_lv_draw_mask_line_param; +extern const bcstring be_const_str_memory; +extern const bcstring be_const_str_SPI_MOSI; +extern const bcstring be_const_str_digital_read; +extern const bcstring be_const_str_lv_design_cb; +extern const bcstring be_const_str_MD5; +extern const bcstring be_const_str_get_option; +extern const bcstring be_const_str_lv_checkbox; +extern const bcstring be_const_str_PMS5003_RX; +extern const bcstring be_const_str_SYMBOL_BATTERY_2; +extern const bcstring be_const_str_read32; +extern const bcstring be_const_str_dump; +extern const bcstring be_const_str_SYMBOL_EYE_CLOSE; +extern const bcstring be_const_str_SYMBOL_IMAGE; +extern const bcstring be_const_str_abs; +extern const bcstring be_const_str_traceback; +extern const bcstring be_const_str_HPMA_RX; +extern const bcstring be_const_str_SM16716_DAT; +extern const bcstring be_const_str_SYMBOL_PAUSE; +extern const bcstring be_const_str_attrdump; +extern const bcstring be_const_str_lv_draw_mask_fade_param; +extern const bcstring be_const_str_CC1101_GDO0; +extern const bcstring be_const_str_super; +extern const bcstring be_const_str_if; +extern const bcstring be_const_str_TCP_RX; +extern const bcstring be_const_str_keys; +extern const bcstring be_const_str_lv_led; +extern const bcstring be_const_str_time_dump; +extern const bcstring be_const_str_HPMA_TX; +extern const bcstring be_const_str_PN532_TXD; +extern const bcstring be_const_str_compile; +extern const bcstring be_const_str_TCP_TX; +extern const bcstring be_const_str_lv_gauge_format_cb; +extern const bcstring be_const_str_remove_rule; +extern const bcstring be_const_str_KEY1_TC; +extern const bcstring be_const_str_TASMOTACLIENT_RST; +extern const bcstring be_const_str_tolower; +extern const bcstring be_const_str_type; +extern const bcstring be_const_str_lv_cont; +extern const bcstring be_const_str_every_100ms; +extern const bcstring be_const_str_lv_list; +extern const bcstring be_const_str_CSE7766_TX; +extern const bcstring be_const_str__available; +extern const bcstring be_const_str_display; +extern const bcstring be_const_str_sin; +extern const bcstring be_const_str_SM2135_DAT; +extern const bcstring be_const_str_WEBCAM_SIOD; +extern const bcstring be_const_str_publish; +extern const bcstring be_const_str_input; +extern const bcstring be_const_str_map; +extern const bcstring be_const_str_IRRECV; +extern const bcstring be_const_str_SSD1351_CS; +extern const bcstring be_const_str_SYMBOL_PLAY; +extern const bcstring be_const_str_MGC3130_RESET; +extern const bcstring be_const_str_SYMBOL_SAVE; +extern const bcstring be_const_str_lv_draw_mask_radius_param_cfg; +extern const bcstring be_const_str_resp_cmnd_failed; +extern const bcstring be_const_str_ADC_RANGE; +extern const bcstring be_const_str_PZEM0XX_TX; +extern const bcstring be_const_str_SYMBOL_USB; +extern const bcstring be_const_str_int; +extern const bcstring be_const_str_time_str; +extern const bcstring be_const_str_LEDLNK_INV; +extern const bcstring be_const_str_VL53L0X_XSHUT1; +extern const bcstring be_const_str_set_power; +extern const bcstring be_const_str__end_transmission; +extern const bcstring be_const_str_get; +extern const bcstring be_const_str_SPI_MISO; +extern const bcstring be_const_str_print; +extern const bcstring be_const_str_format; +extern const bcstring be_const_str_MAX7219DIN; +extern const bcstring be_const_str_lv_img; +extern const bcstring be_const_str_HM10_RX; +extern const bcstring be_const_str_allocated; +extern const bcstring be_const_str_while; +extern const bcstring be_const_str_getbits; +extern const bcstring be_const_str_lv_spinner; +extern const bcstring be_const_str_pow; +extern const bcstring be_const_str_A4988_MS1; +extern const bcstring be_const_str_SYMBOL_KEYBOARD; +extern const bcstring be_const_str_lv_slider; +extern const bcstring be_const_str_read13; +extern const bcstring be_const_str_NRF24_CS; +extern const bcstring be_const_str_PWM1; +extern const bcstring be_const_str_SWT1; +extern const bcstring be_const_str_SSD1331_DC; +extern const bcstring be_const_str_PMS5003_TX; +extern const bcstring be_const_str_TM1638DIO; +extern const bcstring be_const_str__cmd; +extern const bcstring be_const_str_asin; +extern const bcstring be_const_str_read12; +extern const bcstring be_const_str_state; +extern const bcstring be_const_str_exec_cmd; +extern const bcstring be_const_str_HLW_CF; +extern const bcstring be_const_str_SYMBOL_DIRECTORY; +extern const bcstring be_const_str_SYMBOL_PASTE; +extern const bcstring be_const_str_resolvecmnd; +extern const bcstring be_const_str_ST7789_CS; +extern const bcstring be_const_str_SYMBOL_BATTERY_FULL; +extern const bcstring be_const_str_log10; +extern const bcstring be_const_str_TXD; +extern const bcstring be_const_str_SYMBOL_EYE_OPEN; +extern const bcstring be_const_str__buffer; +extern const bcstring be_const_str_EXS_ENABLE; +extern const bcstring be_const_str_HJL_CF; +extern const bcstring be_const_str_lv_draw_mask_fade_param_cfg; +extern const bcstring be_const_str_PROJECTOR_CTRL_RX; +extern const bcstring be_const_str_SBR_TX; +extern const bcstring be_const_str_sqrt; +extern const bcstring be_const_str_MAX31855DO; +extern const bcstring be_const_str_SYMBOL_DOWN; +extern const bcstring be_const_str_save_before_restart; +extern const bcstring be_const_str_write8; +extern const bcstring be_const_str_byte; +extern const bcstring be_const_str_write; +extern const bcstring be_const_str_GPS_TX; +extern const bcstring be_const_str_ELECTRIQ_MOODL_TX; extern const bcstring be_const_str_SYMBOL_BATTERY_1; -extern const bcstring be_const_str_content_stop; -extern const bcstring be_const_str_DSB; +extern const bcstring be_const_str_WE517_RX; +extern const bcstring be_const_str_digital_write; +extern const bcstring be_const_str_lv_spinbox; +extern const bcstring be_const_str_lv_switch; +extern const bcstring be_const_str_pin; +extern const bcstring be_const_str_pin_used; +extern const bcstring be_const_str_SAIR_RX; +extern const bcstring be_const_str_SI7021; +extern const bcstring be_const_str_WE517_TX; +extern const bcstring be_const_str_lv_obj; +extern const bcstring be_const_str_SSPI_MAX31865_CS1; +extern const bcstring be_const_str_DHT22; +extern const bcstring be_const_str_arg_size; +extern const bcstring be_const_str_millis; +extern const bcstring be_const_str_remove; +extern const bcstring be_const_str_deinit; +extern const bcstring be_const_str_wire2; +extern const bcstring be_const_str_SYMBOL_FILE; +extern const bcstring be_const_str_lv_canvas; +extern const bcstring be_const_str_ROT1A_NP; +extern const bcstring be_const_str_WEBCAM_DATA; +extern const bcstring be_const_str_IEM3000_RX; +extern const bcstring be_const_str_NEOPOOL_RX; +extern const bcstring be_const_str_OUTPUT; +extern const bcstring be_const_str_lv_msgbox; +extern const bcstring be_const_str_has_arg; +extern const bcstring be_const_str_lv_table; +extern const bcstring be_const_str_SSPI_MOSI; +extern const bcstring be_const_str_CSE7761_TX; +extern const bcstring be_const_str_P9813_DAT; +extern const bcstring be_const_str_WEBCAM_PWDN; +extern const bcstring be_const_str_count; +extern const bcstring be_const_str_LMT01; +extern const bcstring be_const_str_read8; +extern const bcstring be_const_str_PN532_RXD; +extern const bcstring be_const_str_PZEM004_RX; +extern const bcstring be_const_str__begin_transmission; +extern const bcstring be_const_str_web_add_console_button; extern const bcstring be_const_str_web_add_handler; +extern const bcstring be_const_str_INPUT_PULLDOWN; +extern const bcstring be_const_str_CSE7761_RX; +extern const bcstring be_const_str_find; +extern const bcstring be_const_str_break; +extern const bcstring be_const_str_NRG_SEL_INV; +extern const bcstring be_const_str_ILI9488_CS; +extern const bcstring be_const_str_MCP39F5_RX; +extern const bcstring be_const_str_ROT1B; +extern const bcstring be_const_str_opt_call; +extern const bcstring be_const_str_SOLAXX1_TX; +extern const bcstring be_const_str_SHELLY_DIMMER_BOOT0; +extern const bcstring be_const_str_WEBCAM_VSYNC; +extern const bcstring be_const_str_tan; +extern const bcstring be_const_str_web_send; +extern const bcstring be_const_str_LED1; +extern const bcstring be_const_str_INPUT_PULLUP; +extern const bcstring be_const_str_chars_in_string; +extern const bcstring be_const_str_else; +extern const bcstring be_const_str_nil; +extern const bcstring be_const_str_MAX31855CLK; +extern const bcstring be_const_str_SYMBOL_GPS; +extern const bcstring be_const_str_lv_draw_mask_map_param; +extern const bcstring be_const_str_SWT1_NP; +extern const bcstring be_const_str_log; +extern const bcstring be_const_str_read_bytes; +extern const bcstring be_const_str_dot_def; +extern const bcstring be_const_str_SYMBOL_CALL; +extern const bcstring be_const_str_DHT11; +extern const bcstring be_const_str_NRG_CF1; +extern const bcstring be_const_str_SYMBOL_MUTE; +extern const bcstring be_const_str_ETH_PHY_POWER; +extern const bcstring be_const_str_TFMINIPLUS_TX; +extern const bcstring be_const_str_EPAPER29_CS; +extern const bcstring be_const_str_lv_chart; +extern const bcstring be_const_str_name; +extern const bcstring be_const_str_event; +extern const bcstring be_const_str_ADC_JOY; +extern const bcstring be_const_str_FALLING; +extern const bcstring be_const_str_remove_cmd; +extern const bcstring be_const_str_CSE7766_RX; +extern const bcstring be_const_str_DYP_RX; +extern const bcstring be_const_str_LEDLNK; +extern const bcstring be_const_str_IRSEND; +extern const bcstring be_const_str_lv_textarea; +extern const bcstring be_const_str_RFSEND; +extern const bcstring be_const_str_SSD1351_DC; +extern const bcstring be_const_str_SYMBOL_COPY; +extern const bcstring be_const_str_SYMBOL_UP; +extern const bcstring be_const_str_TX2X_TXD_BLACK; +extern const bcstring be_const_str_json_append; +extern const bcstring be_const_str_TUYA_RX; +extern const bcstring be_const_str_HRE_DATA; +extern const bcstring be_const_str_DDSU666_RX; +extern const bcstring be_const_str_reverse_gamma10; +extern const bcstring be_const_str_SM16716_SEL; +extern const bcstring be_const_str_TASMOTACLIENT_RST_INV; +extern const bcstring be_const_str_add_rule; +extern const bcstring be_const_str_resize; +extern const bcstring be_const_str_resp_cmnd_error; +extern const bcstring be_const_str_ADC_BUTTON_INV; +extern const bcstring be_const_str_TASMOTACLIENT_TXD; +extern const bcstring be_const_str_MP3_DFR562; +extern const bcstring be_const_str_RC522_RST; +extern const bcstring be_const_str_SYMBOL_LEFT; +extern const bcstring be_const_str_rad; +extern const bcstring be_const_str_ARIRFSEL; +extern const bcstring be_const_str_MHZ_TXD; +extern const bcstring be_const_str_SAIR_TX; +extern const bcstring be_const_str_sinh; +extern const bcstring be_const_str_lv_group_focus_cb; +extern const bcstring be_const_str_SENSOR_END; +extern const bcstring be_const_str_assert; +extern const bcstring be_const_str_reverse; +extern const bcstring be_const_str_codedump; +extern const bcstring be_const_str_CNTR1; +extern const bcstring be_const_str_lv_draw_mask_saved; +extern const bcstring be_const_str_read; +extern const bcstring be_const_str_DDS2382_TX; +extern const bcstring be_const_str_ROT1B_NP; +extern const bcstring be_const_str_SSPI_MISO; +extern const bcstring be_const_str___upper__; +extern const bcstring be_const_str_pop; +extern const bcstring be_const_str_SDCARD_CS; +extern const bcstring be_const_str__write; +extern const bcstring be_const_str_lv_draw_mask_line_param_cfg; +extern const bcstring be_const_str_setmember; +extern const bcstring be_const_str_I2C_Driver; +extern const bcstring be_const_str_addr; +extern const bcstring be_const_str_find_key_i; +extern const bcstring be_const_str_BOILER_OT_TX; +extern const bcstring be_const_str_P9813_CLK; +extern const bcstring be_const_str_lv_area; +extern const bcstring be_const_str_split; +extern const bcstring be_const_str_CHANGE; +extern const bcstring be_const_str_SM2135_CLK; +extern const bcstring be_const_str_ZEROCROSS; +extern const bcstring be_const_str_i2c_enabled; +extern const bcstring be_const_str_lv_color; +extern const bcstring be_const_str_wire1; +extern const bcstring be_const_str_lv_draw_rect_dsc; +extern const bcstring be_const_str_seti; +extern const bcstring be_const_str_ST7789_DC; +extern const bcstring be_const_str_var; +extern const bcstring be_const_str_MCP39F5_TX; +extern const bcstring be_const_str__ccmd; +extern const bcstring be_const_str_AS608_TX; +extern const bcstring be_const_str_TM1638CLK; +extern const bcstring be_const_str_get_free_heap; +extern const bcstring be_const_str_lv_keyboard; +extern const bcstring be_const_str_elif; +extern const bcstring be_const_str_KEY1; +extern const bcstring be_const_str_LE01MR_TX; +extern const bcstring be_const_str_lv_tileview; +extern const bcstring be_const_str_class; +extern const bcstring be_const_str_BUZZER_INV; +extern const bcstring be_const_str_lv_roller; extern const bcstring be_const_str_ADC_CT_POWER; +extern const bcstring be_const_str_asstring; +extern const bcstring be_const_str_lv_draw_mask_angle_param_cfg; +extern const bcstring be_const_str_save; +extern const bcstring be_const_str_size; +extern const bcstring be_const_str_NONE; +extern const bcstring be_const_str_exp; +extern const bcstring be_const_str_on; +extern const bcstring be_const_str_BL0940_RX; +extern const bcstring be_const_str_WIEGAND_D0; +extern const bcstring be_const_str_check_privileged_access; +extern const bcstring be_const_str_lv_indev; +extern const bcstring be_const_str_opt_eq; +extern const bcstring be_const_str_TFMINIPLUS_RX; +extern const bcstring be_const_str_PULLDOWN; +extern const bcstring be_const_str_; +extern const bcstring be_const_str_arg_name; +extern const bcstring be_const_str_screenshot; +extern const bcstring be_const_str_setbits; +extern const bcstring be_const_str_SYMBOL_LOOP; +extern const bcstring be_const_str_MHZ_RXD; +extern const bcstring be_const_str_get_power; +extern const bcstring be_const_str_lv_font; +extern const bcstring be_const_str_BACKLIGHT; +extern const bcstring be_const_str_BS814_CLK; +extern const bcstring be_const_str_PULLUP; +extern const bcstring be_const_str_TM1637DIO; +extern const bcstring be_const_str_lv_btnmatrix; +extern const bcstring be_const_str_SR04_ECHO; +extern const bcstring be_const_str_ADE7953_IRQ; +extern const bcstring be_const_str_classname; +extern const bcstring be_const_str_str; +extern const bcstring be_const_str_SYMBOL_PREV; +extern const bcstring be_const_str_add_driver; +extern const bcstring be_const_str_content_button; +extern const bcstring be_const_str_HX711_DAT; +extern const bcstring be_const_str_dot_p; +extern const bcstring be_const_str_content_stop; +extern const bcstring be_const_str_GPS_RX; +extern const bcstring be_const_str_HX711_SCK; +extern const bcstring be_const_str_RDM6300_RX; +extern const bcstring be_const_str_AZ_RXD; +extern const bcstring be_const_str_Tasmota; +extern const bcstring be_const_str_ZIGBEE_RX; +extern const bcstring be_const_str_imax; +extern const bcstring be_const_str_montserrat_font; +extern const bcstring be_const_str_srand; +extern const bcstring be_const_str_time_reached; +extern const bcstring be_const_str_try_rule; +extern const bcstring be_const_str_LOW; +extern const bcstring be_const_str_SDM120_TX; +extern const bcstring be_const_str_SYMBOL_BELL; +extern const bcstring be_const_str_tostring; +extern const bcstring be_const_str_DDS2382_RX; +extern const bcstring be_const_str_HRXL_RX; +extern const bcstring be_const_str_button_pressed; +extern const bcstring be_const_str_lv_arc; +extern const bcstring be_const_str_SDM120_RX; +extern const bcstring be_const_str_SYMBOL_POWER; +extern const bcstring be_const_str_list; +extern const bcstring be_const_str_lv_bar; +extern const bcstring be_const_str_lv_linemeter; +extern const bcstring be_const_str_lv_page; +extern const bcstring be_const_str_upper; +extern const bcstring be_const_str_wire_scan; +extern const bcstring be_const_str_SBR_RX; +extern const bcstring be_const_str_gamma10; +extern const bcstring be_const_str_PWM1_INV; +extern const bcstring be_const_str_exec_rules; +extern const bcstring be_const_str_ETH_PHY_MDC; +extern const bcstring be_const_str_content_send_style; +extern const bcstring be_const_str_run_deferred; +extern const bcstring be_const_str_SYMBOL_REFRESH; +extern const bcstring be_const_str_TASMOTACLIENT_RXD; +extern const bcstring be_const_str_WS2812; +extern const bcstring be_const_str_PROJECTOR_CTRL_TX; +extern const bcstring be_const_str_lv_line; +extern const bcstring be_const_str_SYMBOL_VOLUME_MAX; +extern const bcstring be_const_str_MAX7219CLK; +extern const bcstring be_const_str_RF_SENSOR; +extern const bcstring be_const_str_WEBCAM_PCLK; +extern const bcstring be_const_str_lv_imgbtn; +extern const bcstring be_const_str_try; +extern const bcstring be_const_str_EPD_DATA; +extern const bcstring be_const_str_cb_dispatch; +extern const bcstring be_const_str_ADC_PH; +extern const bcstring be_const_str_DHT11_OUT; +extern const bcstring be_const_str_SYMBOL_RIGHT; +extern const bcstring be_const_str_IBEACON_TX; +extern const bcstring be_const_str_gen_cb; +extern const bcstring be_const_str_open; +extern const bcstring be_const_str_OLED_RESET; +extern const bcstring be_const_str_lv_cpicker; +extern const bcstring be_const_str_scan; +extern const bcstring be_const_str_toupper; +extern const bcstring be_const_str_SDS0X1_RX; +extern const bcstring be_const_str_content_send; +extern const bcstring be_const_str_lv_group; +extern const bcstring be_const_str_AS608_RX; +extern const bcstring be_const_str_SYMBOL_CHARGE; +extern const bcstring be_const_str_get_light; +extern const bcstring be_const_str_load_freetype_font; +extern const bcstring be_const_str_setitem; +extern const bcstring be_const_str_opt_connect; +extern const bcstring be_const_str_SDM72_TX; +extern const bcstring be_const_str_SYMBOL_VOLUME_MID; +extern const bcstring be_const_str_TELEINFO_ENABLE; +extern const bcstring be_const_str_collect; +extern const bcstring be_const_str__timers; +extern const bcstring be_const_str_add; +extern const bcstring be_const_str_isinstance; +extern const bcstring be_const_str_rtc; +extern const bcstring be_const_str_lv_draw_img_dsc; +extern const bcstring be_const_str_HIGH; +extern const bcstring be_const_str_add_cmd; +extern const bcstring be_const_str_erase; +extern const bcstring be_const_str_as; +extern const bcstring be_const_str_DSB; +extern const bcstring be_const_str_KEY1_INV_NP; +extern const bcstring be_const_str___lower__; +extern const bcstring be_const_str_set_light; +extern const bcstring be_const_str_ARIRFRCV; +extern const bcstring be_const_str_KEY1_NP; +extern const bcstring be_const_str_WIEGAND_D1; +extern const bcstring be_const_str_find_op; +extern const bcstring be_const_str_NRF24_DC; +extern const bcstring be_const_str_content_start; +extern const bcstring be_const_str_SYMBOL_STOP; +extern const bcstring be_const_str_lv_win; +extern const bcstring be_const_str_false; +extern const bcstring be_const_str_A4988_STP; +extern const bcstring be_const_str_SYMBOL_NEXT; +extern const bcstring be_const_str_WEBCAM_XCLK; +extern const bcstring be_const_str_WEBCAM_PSRCS; +extern const bcstring be_const_str_scale_uint; +extern const bcstring be_const_str_do; +extern const bcstring be_const_str_OUTPUT_LO; +extern const bcstring be_const_str_SSPI_DC; +extern const bcstring be_const_str_import; +extern const bcstring be_const_str_push; +extern const bcstring be_const_str_cos; +extern const bcstring be_const_str_lv_tabview; +extern const bcstring be_const_str_set_timer; +extern const bcstring be_const_str_DEEPSLEEP; +extern const bcstring be_const_str_ILI9341_DC; +extern const bcstring be_const_str_yield; +extern const bcstring be_const_str_SDM630_RX; +extern const bcstring be_const_str_DI; +extern const bcstring be_const_str_SYMBOL_BLUETOOTH; +extern const bcstring be_const_str_lv_draw_label_dsc; +extern const bcstring be_const_str_update; +extern const bcstring be_const_str_INPUT; +extern const bcstring be_const_str_SYMBOL_NEW_LINE; +extern const bcstring be_const_str_ZIGBEE_RST; +extern const bcstring be_const_str_SYMBOL_SD_CARD; +extern const bcstring be_const_str_CC1101_GDO2; +extern const bcstring be_const_str_MGC3130_XFER; +extern const bcstring be_const_str__drivers; +extern const bcstring be_const_str_copy; +extern const bcstring be_const_str_detect; +extern const bcstring be_const_str_SR04_TRIG; +extern const bcstring be_const_str_TUYA_TX; +extern const bcstring be_const_str__cb; +extern const bcstring be_const_str_HALLEFFECT; +extern const bcstring be_const_str_RXD; +extern const bcstring be_const_str_imin; +extern const bcstring be_const_str_SYMBOL_VIDEO; +extern const bcstring be_const_str_SYMBOL_LIST; +extern const bcstring be_const_str_calldepth; +extern const bcstring be_const_str_AZ_TXD; +extern const bcstring be_const_str_DSB_OUT; +extern const bcstring be_const_str_end; +extern const bcstring be_const_str_SYMBOL_BATTERY_EMPTY; +extern const bcstring be_const_str_lv_gauge; +extern const bcstring be_const_str_for; +extern const bcstring be_const_str_BUZZER; +extern const bcstring be_const_str_member; +extern const bcstring be_const_str_SSPI_SCLK; +extern const bcstring be_const_str_lv_draw_mask_radius_param; +extern const bcstring be_const_str_range; +extern const bcstring be_const_str_issubclass; +extern const bcstring be_const_str_WEBCAM_HREF; +extern const bcstring be_const_str_bytes; +extern const bcstring be_const_str_lv_signal_cb; +extern const bcstring be_const_str_Driver; +extern const bcstring be_const_str_OPTION_A; +extern const bcstring be_const_str_SYMBOL_DUMMY; +extern const bcstring be_const_str_WEBCAM_HSD; +extern const bcstring be_const_str_IBEACON_RX; +extern const bcstring be_const_str_SYMBOL_WIFI; +extern const bcstring be_const_str_HM10_TX; +extern const bcstring be_const_str_BOILER_OT_RX; +extern const bcstring be_const_str_SM16716_CLK; +extern const bcstring be_const_str_SYMBOL_EJECT; +extern const bcstring be_const_str_item; extern const bcstring be_const_str_SDS0X1_TX; extern const bcstring be_const_str_deg; -extern const bcstring be_const_str_pop; -extern const bcstring be_const_str_scan; -extern const bcstring be_const_str_set; -extern const bcstring be_const_str_OLED_RESET; -extern const bcstring be_const_str_SHELLY_DIMMER_RST_INV; -extern const bcstring be_const_str_remove; -extern const bcstring be_const_str_true; -extern const bcstring be_const_str_OUTPUT_LO; -extern const bcstring be_const_str_SYMBOL_VOLUME_MID; -extern const bcstring be_const_str_SYMBOL_BATTERY_2; -extern const bcstring be_const_str_lv_checkbox; -extern const bcstring be_const_str_web_add_config_button; -extern const bcstring be_const_str_DDSU666_RX; -extern const bcstring be_const_str_PULLDOWN; -extern const bcstring be_const_str_TM1637DIO; -extern const bcstring be_const_str_setbits; -extern const bcstring be_const_str_ADC_TEMP; -extern const bcstring be_const_str_WINDMETER_SPEED; -extern const bcstring be_const_str_top; -extern const bcstring be_const_str_opt_eq; -extern const bcstring be_const_str_issubclass; -extern const bcstring be_const_str_DDS2382_RX; -extern const bcstring be_const_str_MIEL_HVAC_TX; +extern const bcstring be_const_str_OPEN_DRAIN; +extern const bcstring be_const_str_SYMBOL_DOWNLOAD; extern const bcstring be_const_str_SYMBOL_EDIT; -extern const bcstring be_const_str_item; -extern const bcstring be_const_str_setitem; -extern const bcstring be_const_str_setrange; -extern const bcstring be_const_str_RISING; -extern const bcstring be_const_str_SYMBOL_BATTERY_3; -extern const bcstring be_const_str_byte; -extern const bcstring be_const_str_ADC_BUTTON; -extern const bcstring be_const_str_ST7789_CS; -extern const bcstring be_const_str_montserrat_font; -extern const bcstring be_const_str_ROT1B; -extern const bcstring be_const_str_SYMBOL_PREV; -extern const bcstring be_const_str_lv_slider; -extern const bcstring be_const_str_sin; -extern const bcstring be_const_str_ETH_PHY_POWER; -extern const bcstring be_const_str_exp; -extern const bcstring be_const_str_resp_cmnd; -extern const bcstring be_const_str_while; -extern const bcstring be_const_str_VL53L0X_XSHUT1; -extern const bcstring be_const_str_CNTR1; -extern const bcstring be_const_str_SENSOR_END; -extern const bcstring be_const_str_count; -extern const bcstring be_const_str_SYMBOL_RIGHT; -extern const bcstring be_const_str_pi; -extern const bcstring be_const_str_except; -extern const bcstring be_const_str_char; -extern const bcstring be_const_str_lv_draw_rect_dsc_t; -extern const bcstring be_const_str_PROJECTOR_CTRL_RX; -extern const bcstring be_const_str_state; -extern const bcstring be_const_str_MP3_DFR562; -extern const bcstring be_const_str_NRG_CF1; -extern const bcstring be_const_str_WE517_TX; -extern const bcstring be_const_str_upper; -extern const bcstring be_const_str_add_driver; -extern const bcstring be_const_str_SM16716_DAT; -extern const bcstring be_const_str_SBR_TX; -extern const bcstring be_const_str_set_power; -extern const bcstring be_const_str_ADC_INPUT; -extern const bcstring be_const_str_classof; -extern const bcstring be_const_str_SYMBOL_BELL; -extern const bcstring be_const_str_TCP_RX; -extern const bcstring be_const_str_split; -extern const bcstring be_const_str_PWM1_INV; -extern const bcstring be_const_str_TELEINFO_RX; -extern const bcstring be_const_str_SSPI_CS; +extern const bcstring be_const_str_geti; +extern const bcstring be_const_str_lv_label; +extern const bcstring be_const_str__rules; +extern const bcstring be_const_str_insert; +extern const bcstring be_const_str_register_button_encoder; +extern const bcstring be_const_str_web_add_config_button; +extern const bcstring be_const_str_true; +extern const bcstring be_const_str_SYMBOL_BULLET; +extern const bcstring be_const_str_SYMBOL_CLOSE; +extern const bcstring be_const_str_SYMBOL_CUT; +extern const bcstring be_const_str__request_from; +extern const bcstring be_const_str_lower; extern const bcstring be_const_str_SYMBOL_UPLOAD; -extern const bcstring be_const_str_lv_spinner; +extern const bcstring be_const_str_ctypes_bytes; +extern const bcstring be_const_str_lv_draw_mask_common_dsc; +extern const bcstring be_const_str_LE01MR_RX; +extern const bcstring be_const_str_web_add_main_button; +extern const bcstring be_const_str_floor; +extern const bcstring be_const_str_seg7_font; +extern const bcstring be_const_str_DCKI; +extern const bcstring be_const_str_I2C_SDA; +extern const bcstring be_const_str_ILI9341_CS; +extern const bcstring be_const_str_lv_cb; diff --git a/lib/libesp32/Berry/generate/be_const_strtab_def.h b/lib/libesp32/Berry/generate/be_const_strtab_def.h index 9568b3f2d..9e7f626ed 100644 --- a/lib/libesp32/Berry/generate/be_const_strtab_def.h +++ b/lib/libesp32/Berry/generate/be_const_strtab_def.h @@ -1,937 +1,948 @@ -be_define_const_str(RF_SENSOR, "RF_SENSOR", 2289628100u, 0, 9, &be_const_str_lv_label); -be_define_const_str(lv_label, "lv_label", 4199664246u, 0, 8, NULL); -be_define_const_str(GPS_TX, "GPS_TX", 4228740808u, 0, 6, &be_const_str_MAX31855DO); -be_define_const_str(MAX31855DO, "MAX31855DO", 552730368u, 0, 10, &be_const_str_SWT1); -be_define_const_str(SWT1, "SWT1", 805224112u, 0, 4, &be_const_str_resp_cmnd_failed); -be_define_const_str(resp_cmnd_failed, "resp_cmnd_failed", 2136281562u, 0, 16, NULL); -be_define_const_str(lv_draw_mask_line_param_t, "lv_draw_mask_line_param_t", 3055103275u, 0, 25, NULL); -be_define_const_str(TM1638DIO, "TM1638DIO", 1408212414u, 0, 9, &be_const_str_lv_draw_mask_line_param_cfg_t); -be_define_const_str(lv_draw_mask_line_param_cfg_t, "lv_draw_mask_line_param_cfg_t", 1955310178u, 0, 29, &be_const_str_run_deferred); -be_define_const_str(run_deferred, "run_deferred", 371594696u, 0, 12, NULL); -be_define_const_str(REL1, "REL1", 3142397887u, 0, 4, &be_const_str_lv_font); -be_define_const_str(lv_font, "lv_font", 1550958453u, 0, 7, NULL); -be_define_const_str(CSE7766_TX, "CSE7766_TX", 674624821u, 0, 10, &be_const_str_MD5); -be_define_const_str(MD5, "MD5", 1935726387u, 0, 3, &be_const_str_SYMBOL_SHUFFLE); -be_define_const_str(SYMBOL_SHUFFLE, "SYMBOL_SHUFFLE", 1123310147u, 0, 14, NULL); -be_define_const_str(allocated, "allocated", 429986098u, 0, 9, NULL); -be_define_const_str(KEY1_TC, "KEY1_TC", 25685109u, 0, 7, &be_const_str_list); -be_define_const_str(list, "list", 217798785u, 0, 4, &be_const_str_lv_page); -be_define_const_str(lv_page, "lv_page", 2373170067u, 0, 7, &be_const_str_raise); -be_define_const_str(raise, "raise", 1593437475u, 70, 5, NULL); -be_define_const_str(SPI_MOSI, "SPI_MOSI", 2494218614u, 0, 8, &be_const_str_try); -be_define_const_str(try, "try", 2887626766u, 68, 3, NULL); -be_define_const_str(RFRECV, "RFRECV", 354742801u, 0, 6, &be_const_str_SYMBOL_WIFI); -be_define_const_str(SYMBOL_WIFI, "SYMBOL_WIFI", 682141303u, 0, 11, &be_const_str_lv_gauge); -be_define_const_str(lv_gauge, "lv_gauge", 118613531u, 0, 8, &be_const_str_try_rule); -be_define_const_str(try_rule, "try_rule", 1986449405u, 0, 8, NULL); -be_define_const_str(PROJECTOR_CTRL_TX, "PROJECTOR_CTRL_TX", 535811130u, 0, 17, &be_const_str_SYMBOL_CALL); -be_define_const_str(SYMBOL_CALL, "SYMBOL_CALL", 1444504366u, 0, 11, &be_const_str_str); -be_define_const_str(str, "str", 3259748752u, 0, 3, NULL); -be_define_const_str(SDCARD_CS, "SDCARD_CS", 3348952003u, 0, 9, &be_const_str_reverse); -be_define_const_str(reverse, "reverse", 558918661u, 0, 7, NULL); -be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_insert); -be_define_const_str(insert, "insert", 3332609576u, 0, 6, &be_const_str_rtc); -be_define_const_str(rtc, "rtc", 1070575216u, 0, 3, NULL); -be_define_const_str(CC1101_GDO0, "CC1101_GDO0", 940611027u, 0, 11, &be_const_str_MGC3130_RESET); -be_define_const_str(MGC3130_RESET, "MGC3130_RESET", 405013121u, 0, 13, &be_const_str_NONE); -be_define_const_str(NONE, "NONE", 1932136219u, 0, 4, &be_const_str_set_timer); -be_define_const_str(set_timer, "set_timer", 2135414533u, 0, 9, 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, &be_const_str_INPUT_PULLUP); -be_define_const_str(INPUT_PULLUP, "INPUT_PULLUP", 2912931654u, 0, 12, &be_const_str_find); -be_define_const_str(find, "find", 3186656602u, 0, 4, NULL); -be_define_const_str(cb_dispatch, "cb_dispatch", 1741510499u, 0, 11, NULL); -be_define_const_str(DDSU666_TX, "DDSU666_TX", 1880604150u, 0, 10, &be_const_str_lower); -be_define_const_str(lower, "lower", 3038577850u, 0, 5, &be_const_str_lv_draw_mask_radius_param_cfg_t); -be_define_const_str(lv_draw_mask_radius_param_cfg_t, "lv_draw_mask_radius_param_cfg_t", 4276521150u, 0, 31, NULL); -be_define_const_str(IBEACON_RX, "IBEACON_RX", 2466155575u, 0, 10, &be_const_str_SYMBOL_IMAGE); -be_define_const_str(SYMBOL_IMAGE, "SYMBOL_IMAGE", 815601151u, 0, 12, &be_const_str__ccmd); -be_define_const_str(_ccmd, "_ccmd", 2163421413u, 0, 5, NULL); -be_define_const_str(TELEINFO_ENABLE, "TELEINFO_ENABLE", 1600974501u, 0, 15, NULL); -be_define_const_str(SYMBOL_PLAY, "SYMBOL_PLAY", 1750902100u, 0, 11, &be_const_str_clear); -be_define_const_str(clear, "clear", 1550717474u, 0, 5, &be_const_str_has_arg); -be_define_const_str(has_arg, "has_arg", 424878688u, 0, 7, &be_const_str_publish); -be_define_const_str(publish, "publish", 264247304u, 0, 7, &be_const_str_web_add_button); -be_define_const_str(web_add_button, "web_add_button", 3537875058u, 0, 14, NULL); -be_define_const_str(add_cmd, "add_cmd", 3361630879u, 0, 7, &be_const_str_input); -be_define_const_str(input, "input", 4191711099u, 0, 5, NULL); -be_define_const_str(lv_tileview, "lv_tileview", 2419887973u, 0, 11, NULL); -be_define_const_str(AZ_RXD, "AZ_RXD", 699914019u, 0, 6, &be_const_str_lv_group); -be_define_const_str(lv_group, "lv_group", 3852039019u, 0, 8, &be_const_str_pow); -be_define_const_str(pow, "pow", 1479764693u, 0, 3, NULL); -be_define_const_str(PN532_TXD, "PN532_TXD", 3093418644u, 0, 9, &be_const_str_lv_msgbox); -be_define_const_str(lv_msgbox, "lv_msgbox", 689085206u, 0, 9, &be_const_str_print); -be_define_const_str(print, "print", 372738696u, 0, 5, &be_const_str_remove_cmd); -be_define_const_str(remove_cmd, "remove_cmd", 3832315702u, 0, 10, NULL); -be_define_const_str(SYMBOL_DIRECTORY, "SYMBOL_DIRECTORY", 1886053449u, 0, 16, &be_const_str_keys); -be_define_const_str(keys, "keys", 4182378701u, 0, 4, &be_const_str_member); -be_define_const_str(member, "member", 719708611u, 0, 6, NULL); -be_define_const_str(ctypes_bytes, "ctypes_bytes", 3879019703u, 0, 12, &be_const_str_get_power); -be_define_const_str(get_power, "get_power", 3009799377u, 0, 9, &be_const_str_millis); -be_define_const_str(millis, "millis", 1214679063u, 0, 6, NULL); -be_define_const_str(SYMBOL_MINUS, "SYMBOL_MINUS", 1806749158u, 0, 12, &be_const_str_web_sensor); -be_define_const_str(web_sensor, "web_sensor", 2900096972u, 0, 10, NULL); -be_define_const_str(CC1101_GDO2, "CC1101_GDO2", 974166265u, 0, 11, &be_const_str_gc); -be_define_const_str(gc, "gc", 1042313471u, 0, 2, &be_const_str_lv_style); be_define_const_str(lv_style, "lv_style", 4151611549u, 0, 8, NULL); -be_define_const_str(gamma8, "gamma8", 3802843830u, 0, 6, NULL); -be_define_const_str(ST7789_DC, "ST7789_DC", 2533509745u, 0, 9, NULL); -be_define_const_str(SYMBOL_PASTE, "SYMBOL_PASTE", 2281577421u, 0, 12, &be_const_str_display); -be_define_const_str(display, "display", 1164572437u, 0, 7, &be_const_str_dump); -be_define_const_str(dump, "dump", 3663001223u, 0, 4, &be_const_str_lv_led); -be_define_const_str(lv_led, "lv_led", 3192184733u, 0, 6, NULL); -be_define_const_str(IRRECV, "IRRECV", 1743648982u, 0, 6, &be_const_str_nil); -be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL); -be_define_const_str(SM2135_CLK, "SM2135_CLK", 2383410011u, 0, 10, &be_const_str_type); -be_define_const_str(type, "type", 1361572173u, 0, 4, NULL); -be_define_const_str(ILI9341_DC, "ILI9341_DC", 28838624u, 0, 10, &be_const_str_asin); -be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_lv_list); -be_define_const_str(lv_list, "lv_list", 2876551248u, 0, 7, &be_const_str_save_before_restart); -be_define_const_str(save_before_restart, "save_before_restart", 1253239338u, 0, 19, NULL); -be_define_const_str(TFMINIPLUS_TX, "TFMINIPLUS_TX", 2527875337u, 0, 13, &be_const_str_exec_cmd); -be_define_const_str(exec_cmd, "exec_cmd", 493567399u, 0, 8, NULL); -be_define_const_str(_request_from, "_request_from", 3965148604u, 0, 13, &be_const_str_read12); -be_define_const_str(read12, "read12", 4291076970u, 0, 6, &be_const_str_super); -be_define_const_str(super, "super", 4152230356u, 0, 5, NULL); -be_define_const_str(A4988_DIR, "A4988_DIR", 2223595843u, 0, 9, &be_const_str_MAX7219DIN); -be_define_const_str(MAX7219DIN, "MAX7219DIN", 380687049u, 0, 10, &be_const_str_module); -be_define_const_str(module, "module", 3617558685u, 0, 6, &be_const_str_tolower); -be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, NULL); -be_define_const_str(ADC_BUTTON_INV, "ADC_BUTTON_INV", 2027625326u, 0, 14, &be_const_str_SSD1331_CS); -be_define_const_str(SSD1331_CS, "SSD1331_CS", 4191047928u, 0, 10, &be_const_str_hex); -be_define_const_str(hex, "hex", 4273249610u, 0, 3, NULL); -be_define_const_str(resp_cmnd_error, "resp_cmnd_error", 2404088863u, 0, 15, &be_const_str_response_append); -be_define_const_str(response_append, "response_append", 450346371u, 0, 15, &be_const_str_traceback); -be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, NULL); -be_define_const_str(MAX7219CS, "MAX7219CS", 2593198244u, 0, 9, &be_const_str_OPTION_A); -be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_compile); -be_define_const_str(compile, "compile", 1000265118u, 0, 7, &be_const_str_lv_line); -be_define_const_str(lv_line, "lv_line", 2692732914u, 0, 7, NULL); -be_define_const_str(MAX31855CS, "MAX31855CS", 753620511u, 0, 10, &be_const_str_open); -be_define_const_str(open, "open", 3546203337u, 0, 4, &be_const_str_read13); -be_define_const_str(read13, "read13", 12887293u, 0, 6, &be_const_str_time_dump); -be_define_const_str(time_dump, "time_dump", 3330410747u, 0, 9, NULL); -be_define_const_str(TASMOTACLIENT_TXD, "TASMOTACLIENT_TXD", 1386193940u, 0, 17, NULL); -be_define_const_str(LE01MR_RX, "LE01MR_RX", 1521590809u, 0, 9, &be_const_str_lv_draw_mask_common_dsc_t); -be_define_const_str(lv_draw_mask_common_dsc_t, "lv_draw_mask_common_dsc_t", 3736892783u, 0, 25, NULL); -be_define_const_str(ADE7953_IRQ, "ADE7953_IRQ", 2329185922u, 0, 11, &be_const_str_range); -be_define_const_str(range, "range", 4208725202u, 0, 5, NULL); -be_define_const_str(DHT22, "DHT22", 215937903u, 0, 5, &be_const_str_SYMBOL_BATTERY_FULL); -be_define_const_str(SYMBOL_BATTERY_FULL, "SYMBOL_BATTERY_FULL", 2638935545u, 0, 19, NULL); -be_define_const_str(SR04_ECHO, "SR04_ECHO", 1906909592u, 0, 9, &be_const_str_SYMBOL_OK); -be_define_const_str(SYMBOL_OK, "SYMBOL_OK", 4033162940u, 0, 9, &be_const_str_check_privileged_access); -be_define_const_str(check_privileged_access, "check_privileged_access", 3692933968u, 0, 23, NULL); -be_define_const_str(BS814_DAT, "BS814_DAT", 3620403837u, 0, 9, &be_const_str_MAX31855CLK); -be_define_const_str(MAX31855CLK, "MAX31855CLK", 715977727u, 0, 11, &be_const_str_SYMBOL_EJECT); -be_define_const_str(SYMBOL_EJECT, "SYMBOL_EJECT", 873760647u, 0, 12, &be_const_str_SYMBOL_NEW_LINE); -be_define_const_str(SYMBOL_NEW_LINE, "SYMBOL_NEW_LINE", 2014334315u, 0, 15, &be_const_str_SYMBOL_UP); -be_define_const_str(SYMBOL_UP, "SYMBOL_UP", 3886401511u, 0, 9, &be_const_str_lv_draw_label_dsc_t); -be_define_const_str(lv_draw_label_dsc_t, "lv_draw_label_dsc_t", 3829436761u, 0, 19, NULL); -be_define_const_str(SYMBOL_SD_CARD, "SYMBOL_SD_CARD", 2542376484u, 0, 14, &be_const_str_codedump); -be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, &be_const_str_toupper); -be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, &be_const_str_break); -be_define_const_str(break, "break", 3378807160u, 58, 5, NULL); -be_define_const_str(SYMBOL_LIST, "SYMBOL_LIST", 70793990u, 0, 11, &be_const_str_imax); -be_define_const_str(imax, "imax", 3084515410u, 0, 4, NULL); -be_define_const_str(lv_chart, "lv_chart", 2652494144u, 0, 8, &be_const_str_pin); -be_define_const_str(pin, "pin", 1866532500u, 0, 3, NULL); -be_define_const_str(erase, "erase", 1010949589u, 0, 5, &be_const_str_load); -be_define_const_str(load, "load", 3859241449u, 0, 4, &be_const_str_sqrt); -be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, NULL); -be_define_const_str(_buffer, "_buffer", 2044888568u, 0, 7, &be_const_str_lv_arc); -be_define_const_str(lv_arc, "lv_arc", 4170125384u, 0, 6, &be_const_str_memory); -be_define_const_str(memory, "memory", 2229924270u, 0, 6, NULL); -be_define_const_str(content_send_style, "content_send_style", 1087907647u, 0, 18, &be_const_str_as); -be_define_const_str(as, "as", 1579491469u, 67, 2, NULL); -be_define_const_str(json_append, "json_append", 3002019284u, 0, 11, NULL); -be_define_const_str(web_add_main_button, "web_add_main_button", 3960367664u, 0, 19, NULL); -be_define_const_str(ETH_PHY_MDC, "ETH_PHY_MDC", 1519379581u, 0, 11, &be_const_str_LEDLNK_INV); -be_define_const_str(LEDLNK_INV, "LEDLNK_INV", 3559015101u, 0, 10, &be_const_str_arg_name); -be_define_const_str(arg_name, "arg_name", 1345046155u, 0, 8, NULL); -be_define_const_str(TX2X_TXD_BLACK, "TX2X_TXD_BLACK", 956526176u, 0, 14, NULL); -be_define_const_str(EXS_ENABLE, "EXS_ENABLE", 1896914313u, 0, 10, &be_const_str_content_start); -be_define_const_str(content_start, "content_start", 2937509069u, 0, 13, NULL); -be_define_const_str(I2C_SCL, "I2C_SCL", 164217098u, 0, 7, &be_const_str_Wire); -be_define_const_str(Wire, "Wire", 1938276536u, 0, 4, &be_const_str_lv_area_t); -be_define_const_str(lv_area_t, "lv_area_t", 3379304266u, 0, 9, NULL); -be_define_const_str(PZEM016_RX, "PZEM016_RX", 1004012055u, 0, 10, NULL); -be_define_const_str(CNTR1_NP, "CNTR1_NP", 4288381648u, 0, 8, &be_const_str_ETH_PHY_MDIO); -be_define_const_str(ETH_PHY_MDIO, "ETH_PHY_MDIO", 3261871568u, 0, 12, &be_const_str_WEBCAM_RESET); -be_define_const_str(WEBCAM_RESET, "WEBCAM_RESET", 2171221520u, 0, 12, NULL); -be_define_const_str(TUYA_TX, "TUYA_TX", 1541301465u, 0, 7, NULL); -be_define_const_str(ROT1B_NP, "ROT1B_NP", 3710079736u, 0, 8, NULL); -be_define_const_str(_available, "_available", 1306196581u, 0, 10, NULL); -be_define_const_str(IEM3000_RX, "IEM3000_RX", 1117811096u, 0, 10, &be_const_str_log10); -be_define_const_str(log10, "log10", 2346846000u, 0, 5, NULL); -be_define_const_str(lv_img, "lv_img", 2474052327u, 0, 6, &be_const_str_setmember); -be_define_const_str(setmember, "setmember", 1432909441u, 0, 9, NULL); -be_define_const_str(PZEM004_RX, "PZEM004_RX", 3411153194u, 0, 10, &be_const_str_lv_draw_mask_fade_param_cfg_t); -be_define_const_str(lv_draw_mask_fade_param_cfg_t, "lv_draw_mask_fade_param_cfg_t", 3088649206u, 0, 29, NULL); -be_define_const_str(NRG_SEL, "NRG_SEL", 1771358125u, 0, 7, NULL); -be_define_const_str(KEY1_NP, "KEY1_NP", 709918726u, 0, 7, &be_const_str_ceil); -be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, NULL); -be_define_const_str(BUZZER_INV, "BUZZER_INV", 3274564335u, 0, 10, &be_const_str_RXD); -be_define_const_str(RXD, "RXD", 2311579049u, 0, 3, &be_const_str_lv_obj); -be_define_const_str(lv_obj, "lv_obj", 4257833149u, 0, 6, NULL); -be_define_const_str(NRF24_CS, "NRF24_CS", 555833194u, 0, 8, &be_const_str_SYMBOL_CLOSE); -be_define_const_str(SYMBOL_CLOSE, "SYMBOL_CLOSE", 2654402806u, 0, 12, &be_const_str_WEBCAM_PSCLK); -be_define_const_str(WEBCAM_PSCLK, "WEBCAM_PSCLK", 3150007456u, 0, 12, &be_const_str_tanh); -be_define_const_str(tanh, "tanh", 153638352u, 0, 4, NULL); -be_define_const_str(EPAPER42_CS, "EPAPER42_CS", 3274717451u, 0, 11, NULL); -be_define_const_str(CSE7761_RX, "CSE7761_RX", 65423248u, 0, 10, &be_const_str_find_key_i); -be_define_const_str(find_key_i, "find_key_i", 850136726u, 0, 10, &be_const_str_int); -be_define_const_str(int, "int", 2515107422u, 0, 3, &be_const_str_if); -be_define_const_str(if, "if", 959999494u, 50, 2, NULL); -be_define_const_str(SM16716_SEL, "SM16716_SEL", 142377379u, 0, 11, &be_const_str_WEBCAM_XCLK); -be_define_const_str(WEBCAM_XCLK, "WEBCAM_XCLK", 536207425u, 0, 11, &be_const_str_log); -be_define_const_str(log, "log", 1062293841u, 0, 3, NULL); -be_define_const_str(lv_canvas, "lv_canvas", 142865412u, 0, 9, NULL); -be_define_const_str(HRXL_RX, "HRXL_RX", 92702006u, 0, 7, &be_const_str_OPEN_DRAIN); -be_define_const_str(OPEN_DRAIN, "OPEN_DRAIN", 677872608u, 0, 10, NULL); -be_define_const_str(SDM120_RX, "SDM120_RX", 1367571753u, 0, 9, &be_const_str_SR04_TRIG); -be_define_const_str(SR04_TRIG, "SR04_TRIG", 68671263u, 0, 9, &be_const_str_lv_draw_mask_map_param_t); -be_define_const_str(lv_draw_mask_map_param_t, "lv_draw_mask_map_param_t", 3323994495u, 0, 24, &be_const_str_tostring); -be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL); -be_define_const_str(MAX7219CLK, "MAX7219CLK", 963568838u, 0, 10, &be_const_str_SYMBOL_DRIVE); -be_define_const_str(SYMBOL_DRIVE, "SYMBOL_DRIVE", 567203502u, 0, 12, NULL); -be_define_const_str(SAIR_RX, "SAIR_RX", 1273688713u, 0, 7, &be_const_str_SYMBOL_HOME); -be_define_const_str(SYMBOL_HOME, "SYMBOL_HOME", 730845525u, 0, 11, NULL); -be_define_const_str(SYMBOL_BLUETOOTH, "SYMBOL_BLUETOOTH", 679376572u, 0, 16, &be_const_str_SYMBOL_WARNING); -be_define_const_str(SYMBOL_WARNING, "SYMBOL_WARNING", 4119913686u, 0, 14, NULL); -be_define_const_str(AZ_TXD, "AZ_TXD", 850268709u, 0, 6, NULL); -be_define_const_str(exec_rules, "exec_rules", 1445221092u, 0, 10, &be_const_str_pin_mode); -be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, NULL); -be_define_const_str(SDM630_TX, "SDM630_TX", 696213075u, 0, 9, NULL); -be_define_const_str(lv_draw_mask_map_param_cfg_t, "lv_draw_mask_map_param_cfg_t", 3850234334u, 0, 28, NULL); -be_define_const_str(LE01MR_TX, "LE01MR_TX", 1589687023u, 0, 9, &be_const_str_TM1638STB); -be_define_const_str(TM1638STB, "TM1638STB", 823674593u, 0, 9, &be_const_str_return); +be_define_const_str(ETH_PHY_MDIO, "ETH_PHY_MDIO", 3261871568u, 0, 12, &be_const_str_SYMBOL_PLUS); +be_define_const_str(SYMBOL_PLUS, "SYMBOL_PLUS", 2860093262u, 0, 11, &be_const_str_hex); +be_define_const_str(hex, "hex", 4273249610u, 0, 3, &be_const_str_setrange); +be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL); +be_define_const_str(bus, "bus", 1607822841u, 0, 3, &be_const_str_concat); +be_define_const_str(concat, "concat", 4124019837u, 0, 6, &be_const_str_raise); +be_define_const_str(raise, "raise", 1593437475u, 70, 5, NULL); +be_define_const_str(ROT1A, "ROT1A", 759599716u, 0, 5, &be_const_str_SPI_CLK); +be_define_const_str(SPI_CLK, "SPI_CLK", 3943233814u, 0, 7, &be_const_str_SYMBOL_MINUS); +be_define_const_str(SYMBOL_MINUS, "SYMBOL_MINUS", 1806749158u, 0, 12, &be_const_str_WEBCAM_PSCLK); +be_define_const_str(WEBCAM_PSCLK, "WEBCAM_PSCLK", 3150007456u, 0, 12, &be_const_str_top); +be_define_const_str(top, "top", 2802900028u, 0, 3, NULL); +be_define_const_str(EPAPER42_CS, "EPAPER42_CS", 3274717451u, 0, 11, &be_const_str_return); be_define_const_str(return, "return", 2246981567u, 60, 6, NULL); -be_define_const_str(A4988_ENA, "A4988_ENA", 1517502682u, 0, 9, &be_const_str_resp_cmnd_str); -be_define_const_str(resp_cmnd_str, "resp_cmnd_str", 737845590u, 0, 13, &be_const_str_seti); -be_define_const_str(seti, "seti", 1500556254u, 0, 4, &be_const_str_time_str); -be_define_const_str(time_str, "time_str", 2613827612u, 0, 8, NULL); -be_define_const_str(SSPI_MOSI, "SSPI_MOSI", 3745917497u, 0, 9, &be_const_str_ZEROCROSS); -be_define_const_str(ZEROCROSS, "ZEROCROSS", 1747596785u, 0, 9, &be_const_str_map); -be_define_const_str(map, "map", 3751997361u, 0, 3, &be_const_str_sinh); -be_define_const_str(sinh, "sinh", 282220607u, 0, 4, NULL); -be_define_const_str(on, "on", 1630810064u, 0, 2, NULL); -be_define_const_str(KEY1, "KEY1", 6715975u, 0, 4, &be_const_str_SYMBOL_BACKSPACE); -be_define_const_str(SYMBOL_BACKSPACE, "SYMBOL_BACKSPACE", 1997168681u, 0, 16, &be_const_str_TASMOTACLIENT_RST_INV); -be_define_const_str(TASMOTACLIENT_RST_INV, "TASMOTACLIENT_RST_INV", 2601785365u, 0, 21, &be_const_str_read_bytes); -be_define_const_str(read_bytes, "read_bytes", 3576733173u, 0, 10, NULL); -be_define_const_str(SYMBOL_STOP, "SYMBOL_STOP", 2836505202u, 0, 11, NULL); -be_define_const_str(_drivers, "_drivers", 3260328985u, 0, 8, &be_const_str_get); -be_define_const_str(get, "get", 1410115415u, 0, 3, NULL); -be_define_const_str(ZIGBEE_TX, "ZIGBEE_TX", 25119256u, 0, 9, NULL); -be_define_const_str(MCP39F5_RX, "MCP39F5_RX", 190458217u, 0, 10, NULL); -be_define_const_str(opt_connect, "..", 2748622605u, 0, 2, NULL); -be_define_const_str(imin, "imin", 2714127864u, 0, 4, NULL); -be_define_const_str(rand, "rand", 2711325910u, 0, 4, &be_const_str_read32); -be_define_const_str(read32, "read32", 1741276240u, 0, 6, NULL); -be_define_const_str(PZEM0XX_TX, "PZEM0XX_TX", 944775704u, 0, 10, &be_const_str_RA8876_CS); -be_define_const_str(RA8876_CS, "RA8876_CS", 2529944108u, 0, 9, &be_const_str_remove_rule); -be_define_const_str(remove_rule, "remove_rule", 3456211328u, 0, 11, &be_const_str_web_send); -be_define_const_str(web_send, "web_send", 2989941448u, 0, 8, &be_const_str_wire_scan); -be_define_const_str(wire_scan, "wire_scan", 2671275880u, 0, 9, NULL); -be_define_const_str(A4988_MS1, "A4988_MS1", 1729976611u, 0, 9, NULL); -be_define_const_str(SSD1351_CS, "SSD1351_CS", 488746042u, 0, 10, &be_const_str__cmd); -be_define_const_str(_cmd, "_cmd", 3419822142u, 0, 4, NULL); -be_define_const_str(CHANGE, "CHANGE", 4280911421u, 0, 6, &be_const_str_HALLEFFECT); -be_define_const_str(HALLEFFECT, "HALLEFFECT", 3334305407u, 0, 10, &be_const_str_TFMINIPLUS_RX); -be_define_const_str(TFMINIPLUS_RX, "TFMINIPLUS_RX", 1522203935u, 0, 13, &be_const_str_lv_draw_mask_fade_param_t); -be_define_const_str(lv_draw_mask_fade_param_t, "lv_draw_mask_fade_param_t", 2055191655u, 0, 25, NULL); -be_define_const_str(SPI_MISO, "SPI_MISO", 150818010u, 0, 8, &be_const_str_SYMBOL_EYE_CLOSE); -be_define_const_str(SYMBOL_EYE_CLOSE, "SYMBOL_EYE_CLOSE", 404721792u, 0, 16, &be_const_str_digital_read); -be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, NULL); -be_define_const_str(TUYA_RX, "TUYA_RX", 1609397679u, 0, 7, &be_const_str_arg_size); -be_define_const_str(arg_size, "arg_size", 3310243257u, 0, 8, NULL); -be_define_const_str(BS814_CLK, "BS814_CLK", 3002713336u, 0, 9, &be_const_str_end); -be_define_const_str(end, "end", 1787721130u, 56, 3, NULL); -be_define_const_str(wire1, "wire1", 3212721419u, 0, 5, NULL); -be_define_const_str(IEM3000_TX, "IEM3000_TX", 1185907310u, 0, 10, &be_const_str_name); -be_define_const_str(name, "name", 2369371622u, 0, 4, NULL); -be_define_const_str(NRF24_DC, "NRF24_DC", 688921313u, 0, 8, &be_const_str_SDM72_RX); -be_define_const_str(SDM72_RX, "SDM72_RX", 766750035u, 0, 8, &be_const_str_SSPI_MISO); -be_define_const_str(SSPI_MISO, "SSPI_MISO", 2485347173u, 0, 9, &be_const_str_content_send); -be_define_const_str(content_send, "content_send", 1673733649u, 0, 12, &be_const_str_digital_write); -be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, NULL); -be_define_const_str(lv_calendar, "lv_calendar", 3284396894u, 0, 11, &be_const_str_write8); -be_define_const_str(write8, "write8", 3133991532u, 0, 6, NULL); -be_define_const_str(EPD_DATA, "EPD_DATA", 3799141097u, 0, 8, &be_const_str_MCP39F5_TX); -be_define_const_str(MCP39F5_TX, "MCP39F5_TX", 1332322047u, 0, 10, &be_const_str_get_free_heap); -be_define_const_str(get_free_heap, "get_free_heap", 625069757u, 0, 13, &be_const_str_i2c_enabled); -be_define_const_str(i2c_enabled, "i2c_enabled", 218388101u, 0, 11, NULL); -be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, &be_const_str_web_add_console_button); -be_define_const_str(web_add_console_button, "web_add_console_button", 3481436192u, 0, 22, NULL); -be_define_const_str(ILI9488_CS, "ILI9488_CS", 2363112073u, 0, 10, &be_const_str_WE517_RX); -be_define_const_str(WE517_RX, "WE517_RX", 4096577879u, 0, 8, NULL); -be_define_const_str(lv_draw_mask_radius_param_t, "lv_draw_mask_radius_param_t", 3584005663u, 0, 27, NULL); -be_define_const_str(PWM1, "PWM1", 1353352426u, 0, 4, &be_const_str_lv_sqrt_res_t); -be_define_const_str(lv_sqrt_res_t, "lv_sqrt_res_t", 2980354776u, 0, 13, &be_const_str_wire2); -be_define_const_str(wire2, "wire2", 3229499038u, 0, 5, NULL); -be_define_const_str(HIGH, "HIGH", 2066738941u, 0, 4, &be_const_str_RFSEND); -be_define_const_str(RFSEND, "RFSEND", 1862630731u, 0, 6, &be_const_str_ZIGBEE_RST); -be_define_const_str(ZIGBEE_RST, "ZIGBEE_RST", 721588661u, 0, 10, &be_const_str_srand); -be_define_const_str(srand, "srand", 465518633u, 0, 5, NULL); -be_define_const_str(SSPI_SCLK, "SSPI_SCLK", 136688954u, 0, 9, NULL); -be_define_const_str(CSE7766_RX, "CSE7766_RX", 1546766819u, 0, 10, NULL); -be_define_const_str(web_send_decimal, "web_send_decimal", 1407210204u, 0, 16, NULL); -be_define_const_str(resolvecmnd, "resolvecmnd", 993361485u, 0, 11, NULL); -be_define_const_str(opt_call, "()", 685372826u, 0, 2, &be_const_str_AS608_RX); -be_define_const_str(AS608_RX, "AS608_RX", 4275502016u, 0, 8, &be_const_str_SYMBOL_GPS); -be_define_const_str(SYMBOL_GPS, "SYMBOL_GPS", 3044165570u, 0, 10, &be_const_str_WEBCAM_PWDN); -be_define_const_str(WEBCAM_PWDN, "WEBCAM_PWDN", 2219597454u, 0, 11, &be_const_str_detect); -be_define_const_str(detect, "detect", 8884370u, 0, 6, NULL); -be_define_const_str(HM10_TX, "HM10_TX", 1522037252u, 0, 7, &be_const_str_SM2135_DAT); -be_define_const_str(SM2135_DAT, "SM2135_DAT", 2882726942u, 0, 10, &be_const_str_WEBCAM_PSRCS); -be_define_const_str(WEBCAM_PSRCS, "WEBCAM_PSRCS", 624464864u, 0, 12, &be_const_str_get_light); -be_define_const_str(get_light, "get_light", 381930476u, 0, 9, &be_const_str_geti); -be_define_const_str(geti, "geti", 2381006490u, 0, 4, &be_const_str_set_light); -be_define_const_str(set_light, "set_light", 3176076152u, 0, 9, NULL); -be_define_const_str(WEBCAM_VSYNC, "WEBCAM_VSYNC", 4032882166u, 0, 12, &be_const_str_WIEGAND_D1); -be_define_const_str(WIEGAND_D1, "WIEGAND_D1", 4175558140u, 0, 10, &be_const_str_write); -be_define_const_str(write, "write", 3190202204u, 0, 5, NULL); -be_define_const_str(ROT1A_NP, "ROT1A_NP", 2322706903u, 0, 8, NULL); -be_define_const_str(SSPI_DC, "SSPI_DC", 1782271864u, 0, 7, NULL); -be_define_const_str(SWT1_NP, "SWT1_NP", 4033043739u, 0, 7, &be_const_str_WEBCAM_SIOC); -be_define_const_str(WEBCAM_SIOC, "WEBCAM_SIOC", 218815147u, 0, 11, NULL); -be_define_const_str(OUTPUT_OPEN_DRAIN, "OUTPUT_OPEN_DRAIN", 2147249436u, 0, 17, &be_const_str_copy); -be_define_const_str(copy, "copy", 3848464964u, 0, 4, NULL); -be_define_const_str(add_rule, "add_rule", 596540743u, 0, 8, NULL); -be_define_const_str(SYMBOL_DOWN, "SYMBOL_DOWN", 1107513570u, 0, 11, &be_const_str_SYMBOL_DOWNLOAD); -be_define_const_str(SYMBOL_DOWNLOAD, "SYMBOL_DOWNLOAD", 2607324090u, 0, 15, &be_const_str_pin_used); -be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, NULL); -be_define_const_str(BOILER_OT_RX, "BOILER_OT_RX", 603647409u, 0, 12, &be_const_str_RC522_RST); -be_define_const_str(RC522_RST, "RC522_RST", 720511443u, 0, 9, NULL); -be_define_const_str(EPAPER29_CS, "EPAPER29_CS", 3916373594u, 0, 11, NULL); -be_define_const_str(WIEGAND_D0, "WIEGAND_D0", 4192335759u, 0, 10, &be_const_str_class); -be_define_const_str(class, "class", 2872970239u, 57, 5, NULL); -be_define_const_str(SYMBOL_PLUS, "SYMBOL_PLUS", 2860093262u, 0, 11, NULL); -be_define_const_str(BUZZER, "BUZZER", 1550039611u, 0, 6, &be_const_str_KEY1_INV); -be_define_const_str(KEY1_INV, "KEY1_INV", 263542563u, 0, 8, &be_const_str_lv_btnmatrix); -be_define_const_str(lv_btnmatrix, "lv_btnmatrix", 626248489u, 0, 12, NULL); -be_define_const_str(MIEL_HVAC_RX, "MIEL_HVAC_RX", 3720609648u, 0, 12, &be_const_str_PZEM017_RX); -be_define_const_str(PZEM017_RX, "PZEM017_RX", 3227495894u, 0, 10, &be_const_str_ZIGBEE_RX); -be_define_const_str(ZIGBEE_RX, "ZIGBEE_RX", 93215470u, 0, 9, &be_const_str_do); -be_define_const_str(do, "do", 1646057492u, 65, 2, NULL); -be_define_const_str(AS3935, "AS3935", 603621745u, 0, 6, &be_const_str_DYP_RX); -be_define_const_str(DYP_RX, "DYP_RX", 2122310285u, 0, 6, &be_const_str_push); -be_define_const_str(push, "push", 2272264157u, 0, 4, NULL); -be_define_const_str(DHT11, "DHT11", 367083569u, 0, 5, &be_const_str_SM16716_CLK); -be_define_const_str(SM16716_CLK, "SM16716_CLK", 3037641483u, 0, 11, &be_const_str_lv_imgbtn); -be_define_const_str(lv_imgbtn, "lv_imgbtn", 2402844429u, 0, 9, &be_const_str_resize); -be_define_const_str(resize, "resize", 3514612129u, 0, 6, NULL); -be_define_const_str(OUTPUT, "OUTPUT", 1469629700u, 0, 6, &be_const_str_Tasmota); -be_define_const_str(Tasmota, "Tasmota", 4047617668u, 0, 7, &be_const_str_classname); -be_define_const_str(classname, "classname", 1998589948u, 0, 9, NULL); -be_define_const_str(SI7021, "SI7021", 864377911u, 0, 6, &be_const_str_SYMBOL_LEFT); -be_define_const_str(SYMBOL_LEFT, "SYMBOL_LEFT", 1563517575u, 0, 11, &be_const_str_arg); -be_define_const_str(arg, "arg", 1047474471u, 0, 3, NULL); -be_define_const_str(SYMBOL_CUT, "SYMBOL_CUT", 3455112394u, 0, 10, &be_const_str_WEBCAM_HREF); -be_define_const_str(WEBCAM_HREF, "WEBCAM_HREF", 3161890024u, 0, 11, NULL); -be_define_const_str(read8, "read8", 2802788167u, 0, 5, NULL); -be_define_const_str(HM10_RX, "HM10_RX", 515085922u, 0, 7, &be_const_str_SYMBOL_DUMMY); -be_define_const_str(SYMBOL_DUMMY, "SYMBOL_DUMMY", 3621732138u, 0, 12, NULL); -be_define_const_str(gamma10, "gamma10", 3472052483u, 0, 7, &be_const_str_redirect); -be_define_const_str(redirect, "redirect", 389758641u, 0, 8, NULL); -be_define_const_str(CSE7761_TX, "CSE7761_TX", 3354719142u, 0, 10, &be_const_str_SYMBOL_FILE); -be_define_const_str(SYMBOL_FILE, "SYMBOL_FILE", 237085260u, 0, 11, &be_const_str_register_button_encoder); -be_define_const_str(register_button_encoder, "register_button_encoder", 2811301550u, 0, 23, NULL); -be_define_const_str(SYMBOL_SAVE, "SYMBOL_SAVE", 2439821015u, 0, 11, &be_const_str_SYMBOL_VOLUME_MAX); -be_define_const_str(SYMBOL_VOLUME_MAX, "SYMBOL_VOLUME_MAX", 3582646093u, 0, 17, NULL); -be_define_const_str(HRE_DATA, "HRE_DATA", 1820377643u, 0, 8, &be_const_str_SAIR_TX); -be_define_const_str(SAIR_TX, "SAIR_TX", 268017311u, 0, 7, NULL); -be_define_const_str(DEEPSLEEP, "DEEPSLEEP", 189922226u, 0, 9, &be_const_str_write_bytes); +be_define_const_str(MCP39F5_RST, "MCP39F5_RST", 3657125652u, 0, 11, &be_const_str_OUTPUT_OPEN_DRAIN); +be_define_const_str(OUTPUT_OPEN_DRAIN, "OUTPUT_OPEN_DRAIN", 2147249436u, 0, 17, &be_const_str_write_bytes); be_define_const_str(write_bytes, "write_bytes", 1227543792u, 0, 11, NULL); -be_define_const_str(TCP_TX, "TCP_TX", 2762594089u, 0, 6, &be_const_str_read); -be_define_const_str(read, "read", 3470762949u, 0, 4, NULL); -be_define_const_str(HPMA_TX, "HPMA_TX", 173233104u, 0, 7, &be_const_str_SYMBOL_LOOP); -be_define_const_str(SYMBOL_LOOP, "SYMBOL_LOOP", 2762053208u, 0, 11, NULL); -be_define_const_str(dot_p, ".p", 1171526419u, 0, 2, &be_const_str_WEBCAM_DATA); -be_define_const_str(WEBCAM_DATA, "WEBCAM_DATA", 1476954421u, 0, 11, &be_const_str_cmd); -be_define_const_str(cmd, "cmd", 4136785899u, 0, 3, &be_const_str_read24); -be_define_const_str(read24, "read24", 1808533811u, 0, 6, NULL); -be_define_const_str(SSD1351_DC, "SSD1351_DC", 84950353u, 0, 10, NULL); -be_define_const_str(DCKI, "DCKI", 3846847480u, 0, 4, &be_const_str_RC522_CS); -be_define_const_str(RC522_CS, "RC522_CS", 2639619996u, 0, 8, &be_const_str_RDM6300_RX); -be_define_const_str(RDM6300_RX, "RDM6300_RX", 1522345628u, 0, 10, &be_const_str_cos); -be_define_const_str(cos, "cos", 4220379804u, 0, 3, &be_const_str_lv_draw_mask_saved_t); -be_define_const_str(lv_draw_mask_saved_t, "lv_draw_mask_saved_t", 784906324u, 0, 20, NULL); -be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, NULL); -be_define_const_str(abs, "abs", 709362235u, 0, 3, NULL); -be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_lv_draw_mask_angle_param_t); -be_define_const_str(lv_draw_mask_angle_param_t, "lv_draw_mask_angle_param_t", 709438642u, 0, 26, NULL); -be_define_const_str(AS608_TX, "AS608_TX", 48630934u, 0, 8, &be_const_str_IRSEND); -be_define_const_str(IRSEND, "IRSEND", 184848336u, 0, 6, &be_const_str_TM1638CLK); -be_define_const_str(TM1638CLK, "TM1638CLK", 3045182446u, 0, 9, &be_const_str_lv_btn); -be_define_const_str(lv_btn, "lv_btn", 1612829968u, 0, 6, NULL); -be_define_const_str(MCP39F5_RST, "MCP39F5_RST", 3657125652u, 0, 11, &be_const_str_save); -be_define_const_str(save, "save", 3439296072u, 0, 4, NULL); -be_define_const_str(SPI_DC, "SPI_DC", 553259951u, 0, 6, &be_const_str_gen_cb); -be_define_const_str(gen_cb, "gen_cb", 3245227551u, 0, 6, &be_const_str_lv_draw_line_dsc_t); -be_define_const_str(lv_draw_line_dsc_t, "lv_draw_line_dsc_t", 3914614175u, 0, 18, &be_const_str_lv_objmask); -be_define_const_str(lv_objmask, "lv_objmask", 1311221665u, 0, 10, NULL); -be_define_const_str(reverse_gamma10, "reverse_gamma10", 739112262u, 0, 15, NULL); -be_define_const_str(LOW, "LOW", 3526092385u, 0, 3, NULL); -be_define_const_str(HX711_DAT, "HX711_DAT", 2935118250u, 0, 9, &be_const_str_OUTPUT_HI); -be_define_const_str(OUTPUT_HI, "OUTPUT_HI", 3153592902u, 0, 9, &be_const_str_lv_draw_img_dsc_t); -be_define_const_str(lv_draw_img_dsc_t, "lv_draw_img_dsc_t", 2114977152u, 0, 17, &be_const_str_lv_textarea); -be_define_const_str(lv_textarea, "lv_textarea", 2864635074u, 0, 11, NULL); -be_define_const_str(TXD, "TXD", 3614562079u, 0, 3, &be_const_str_lv_keyboard); -be_define_const_str(lv_keyboard, "lv_keyboard", 197530229u, 0, 11, NULL); -be_define_const_str(SPI_CLK, "SPI_CLK", 3943233814u, 0, 7, &be_const_str_SYMBOL_AUDIO); -be_define_const_str(SYMBOL_AUDIO, "SYMBOL_AUDIO", 3056537956u, 0, 12, &be_const_str_write_bit); -be_define_const_str(write_bit, "write_bit", 2660990436u, 0, 9, NULL); -be_define_const_str(DSB_OUT, "DSB_OUT", 732335085u, 0, 7, NULL); -be_define_const_str(dot_def, ".def", 4095748648u, 0, 4, &be_const_str_ADC_LIGHT); -be_define_const_str(ADC_LIGHT, "ADC_LIGHT", 3982461502u, 0, 9, &be_const_str_WEBCAM_SIOD); -be_define_const_str(WEBCAM_SIOD, "WEBCAM_SIOD", 302703242u, 0, 11, &be_const_str_button_pressed); -be_define_const_str(button_pressed, "button_pressed", 1694209616u, 0, 14, &be_const_str_deinit); -be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, &be_const_str_lv_cont); -be_define_const_str(lv_cont, "lv_cont", 1391686552u, 0, 7, NULL); -be_define_const_str(HRE_CLOCK, "HRE_CLOCK", 2870559111u, 0, 9, &be_const_str_TM1637CLK); -be_define_const_str(TM1637CLK, "TM1637CLK", 2797300857u, 0, 9, &be_const_str___iterator__); -be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str__write); -be_define_const_str(_write, "_write", 2215462825u, 0, 6, &be_const_str_lv_color); -be_define_const_str(lv_color, "lv_color", 1419148319u, 0, 8, NULL); -be_define_const_str(SHELLY_DIMMER_BOOT0, "SHELLY_DIMMER_BOOT0", 2948777716u, 0, 19, &be_const_str_else); -be_define_const_str(else, "else", 3183434736u, 52, 4, NULL); -be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_A4988_STP); -be_define_const_str(A4988_STP, "A4988_STP", 1622172049u, 0, 9, &be_const_str_ELECTRIQ_MOODL_TX); -be_define_const_str(ELECTRIQ_MOODL_TX, "ELECTRIQ_MOODL_TX", 31009247u, 0, 17, &be_const_str_REL1_INV); -be_define_const_str(REL1_INV, "REL1_INV", 3733155371u, 0, 8, &be_const_str_SYMBOL_COPY); -be_define_const_str(SYMBOL_COPY, "SYMBOL_COPY", 4193681815u, 0, 11, &be_const_str_lv_linemeter); -be_define_const_str(lv_linemeter, "lv_linemeter", 1413069363u, 0, 12, NULL); -be_define_const_str(delay, "delay", 1322381784u, 0, 5, &be_const_str_isinstance); -be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, NULL); -be_define_const_str(BOILER_OT_TX, "BOILER_OT_TX", 671743623u, 0, 12, &be_const_str_LEDLNK); -be_define_const_str(LEDLNK, "LEDLNK", 2862810701u, 0, 6, &be_const_str_SDS0X1_RX); -be_define_const_str(SDS0X1_RX, "SDS0X1_RX", 1170717385u, 0, 9, &be_const_str_WEBCAM_PCLK); -be_define_const_str(WEBCAM_PCLK, "WEBCAM_PCLK", 3813770649u, 0, 11, NULL); -be_define_const_str(_read, "_read", 346717030u, 0, 5, NULL); -be_define_const_str(content_button, "content_button", 1956476087u, 0, 14, NULL); -be_define_const_str(HX711_SCK, "HX711_SCK", 3785979404u, 0, 9, &be_const_str_calldepth); -be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, &be_const_str_every_100ms); -be_define_const_str(every_100ms, "every_100ms", 1546407804u, 0, 11, NULL); -be_define_const_str(getbits, "getbits", 3094168979u, 0, 7, &be_const_str_start); -be_define_const_str(start, "start", 1697318111u, 0, 5, NULL); -be_define_const_str(_get_cb, "_get_cb", 1448849122u, 0, 7, &be_const_str_size); -be_define_const_str(size, "size", 597743964u, 0, 4, &be_const_str_var); -be_define_const_str(var, "var", 2317739966u, 64, 3, NULL); -be_define_const_str(ADC_RANGE, "ADC_RANGE", 3467329543u, 0, 9, &be_const_str_get_option); -be_define_const_str(get_option, "get_option", 2123730033u, 0, 10, &be_const_str_get_tasmota); -be_define_const_str(get_tasmota, "get_tasmota", 334356779u, 0, 11, NULL); -be_define_const_str(NRG_SEL_INV, "NRG_SEL_INV", 3567431069u, 0, 11, &be_const_str_SYMBOL_MUTE); -be_define_const_str(SYMBOL_MUTE, "SYMBOL_MUTE", 563116043u, 0, 11, NULL); -be_define_const_str(number, "number", 467038368u, 0, 6, NULL); -be_define_const_str(LMT01, "LMT01", 2490623797u, 0, 5, NULL); -be_define_const_str(DHT11_OUT, "DHT11_OUT", 1645300734u, 0, 9, &be_const_str_SOLAXX1_TX); -be_define_const_str(SOLAXX1_TX, "SOLAXX1_TX", 903770840u, 0, 10, &be_const_str_false); -be_define_const_str(false, "false", 184981848u, 62, 5, NULL); -be_define_const_str(ILI9341_CS, "ILI9341_CS", 3519318851u, 0, 10, &be_const_str_SSD1331_DC); -be_define_const_str(SSD1331_DC, "SSD1331_DC", 3386560859u, 0, 10, NULL); -be_define_const_str(DDS2382_TX, "DDS2382_TX", 1438117864u, 0, 10, &be_const_str__timers); -be_define_const_str(_timers, "_timers", 2600100916u, 0, 7, NULL); -be_define_const_str(opt_neq, "!=", 2428715011u, 0, 2, &be_const_str_ARIRFSEL); -be_define_const_str(ARIRFSEL, "ARIRFSEL", 233874443u, 0, 8, &be_const_str_MGC3130_XFER); -be_define_const_str(MGC3130_XFER, "MGC3130_XFER", 4178219131u, 0, 12, NULL); -be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, &be_const_str_lv_roller); -be_define_const_str(lv_roller, "lv_roller", 661902064u, 0, 9, NULL); -be_define_const_str(bus, "bus", 1607822841u, 0, 3, NULL); -be_define_const_str(format, "format", 3114108242u, 0, 6, &be_const_str_load_freetype_font); -be_define_const_str(load_freetype_font, "load_freetype_font", 2368447592u, 0, 18, &be_const_str_tan); -be_define_const_str(tan, "tan", 2633446552u, 0, 3, NULL); -be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, NULL); -be_define_const_str(SSPI_MAX31865_CS1, "SSPI_MAX31865_CS1", 1256578724u, 0, 17, NULL); -be_define_const_str(_rules, "_rules", 4266217105u, 0, 6, NULL); -be_define_const_str(P9813_DAT, "P9813_DAT", 778577052u, 0, 9, &be_const_str_cosh); -be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, NULL); -be_define_const_str(LED1, "LED1", 21005825u, 0, 4, &be_const_str_SDM630_RX); -be_define_const_str(SDM630_RX, "SDM630_RX", 1971606309u, 0, 9, &be_const_str_init); -be_define_const_str(init, "init", 380752755u, 0, 4, NULL); -be_define_const_str(opt_add, "+", 772578730u, 0, 1, NULL); -be_define_const_str(SYMBOL_KEYBOARD, "SYMBOL_KEYBOARD", 1621492879u, 0, 15, &be_const_str_SYMBOL_POWER); -be_define_const_str(SYMBOL_POWER, "SYMBOL_POWER", 1125993627u, 0, 12, &be_const_str_resp_cmnd_done); -be_define_const_str(resp_cmnd_done, "resp_cmnd_done", 2601874875u, 0, 14, NULL); -be_define_const_str(rad, "rad", 1358899048u, 0, 3, NULL); -be_define_const_str(ARIRFRCV, "ARIRFRCV", 1120816444u, 0, 8, &be_const_str_lv_indev); -be_define_const_str(lv_indev, "lv_indev", 225602374u, 0, 8, NULL); -be_define_const_str(SDM120_TX, "SDM120_TX", 2509332415u, 0, 9, &be_const_str_iter); -be_define_const_str(iter, "iter", 3124256359u, 0, 4, &be_const_str_lv_draw_mask_angle_param_cfg_t); -be_define_const_str(lv_draw_mask_angle_param_cfg_t, "lv_draw_mask_angle_param_cfg_t", 1346928979u, 0, 30, &be_const_str_seg7_font); -be_define_const_str(seg7_font, "seg7_font", 4099690689u, 0, 9, NULL); -be_define_const_str(BACKLIGHT, "BACKLIGHT", 3147761926u, 0, 9, &be_const_str_bytes); -be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, &be_const_str_for); -be_define_const_str(for, "for", 2901640080u, 54, 3, NULL); -be_define_const_str(HLW_CF, "HLW_CF", 3982619486u, 0, 6, NULL); -be_define_const_str(BL0940_RX, "BL0940_RX", 2908993179u, 0, 9, &be_const_str_SYMBOL_BATTERY_EMPTY); -be_define_const_str(SYMBOL_BATTERY_EMPTY, "SYMBOL_BATTERY_EMPTY", 3945064277u, 0, 20, &be_const_str_TASMOTACLIENT_RST); -be_define_const_str(TASMOTACLIENT_RST, "TASMOTACLIENT_RST", 3326196213u, 0, 17, &be_const_str_floor); -be_define_const_str(floor, "floor", 3102149661u, 0, 5, NULL); -be_define_const_str(Driver, "Driver", 3576386303u, 0, 6, &be_const_str_lv_cpicker); -be_define_const_str(lv_cpicker, "lv_cpicker", 1935129251u, 0, 10, NULL); -be_define_const_str(FALLING, "FALLING", 2851701064u, 0, 7, &be_const_str_PN532_RXD); -be_define_const_str(PN532_RXD, "PN532_RXD", 1780093022u, 0, 9, &be_const_str_SYMBOL_USB); -be_define_const_str(SYMBOL_USB, "SYMBOL_USB", 1962656552u, 0, 10, &be_const_str_update); -be_define_const_str(update, "update", 672109684u, 0, 6, &be_const_str_web_add_management_button); -be_define_const_str(web_add_management_button, "web_add_management_button", 2738877186u, 0, 25, NULL); -be_define_const_str(lv_dropdown, "lv_dropdown", 2797165301u, 0, 11, NULL); -be_define_const_str(SYMBOL_PAUSE, "SYMBOL_PAUSE", 641998172u, 0, 12, &be_const_str_lv_table); -be_define_const_str(lv_table, "lv_table", 1675691020u, 0, 8, NULL); -be_define_const_str(PULLUP, "PULLUP", 3417628531u, 0, 6, NULL); -be_define_const_str(SYMBOL_CHARGE, "SYMBOL_CHARGE", 2106391946u, 0, 13, NULL); -be_define_const_str(_end_transmission, "_end_transmission", 3237480400u, 0, 17, NULL); -be_define_const_str(P9813_CLK, "P9813_CLK", 2455391001u, 0, 9, &be_const_str_SYMBOL_REFRESH); -be_define_const_str(SYMBOL_REFRESH, "SYMBOL_REFRESH", 1266229761u, 0, 14, &be_const_str_SYMBOL_VIDEO); -be_define_const_str(SYMBOL_VIDEO, "SYMBOL_VIDEO", 789726913u, 0, 12, NULL); -be_define_const_str(ADC_JOY, "ADC_JOY", 1116943612u, 0, 7, &be_const_str_KEY1_INV_NP); -be_define_const_str(KEY1_INV_NP, "KEY1_INV_NP", 3160558586u, 0, 11, &be_const_str_NEOPOOL_TX); -be_define_const_str(NEOPOOL_TX, "NEOPOOL_TX", 2924925804u, 0, 10, &be_const_str_lv_tabview); -be_define_const_str(lv_tabview, "lv_tabview", 2109024786u, 0, 10, NULL); -be_define_const_str(event, "event", 4264611999u, 0, 5, &be_const_str_real); -be_define_const_str(real, "real", 3604983901u, 0, 4, &be_const_str_elif); -be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL); -be_define_const_str(MHZ_RXD, "MHZ_RXD", 328619727u, 0, 7, &be_const_str_load_font); -be_define_const_str(load_font, "load_font", 1875840019u, 0, 9, NULL); -be_define_const_str(DI, "DI", 1070498734u, 0, 2, &be_const_str_wire); -be_define_const_str(wire, "wire", 4082753944u, 0, 4, NULL); -be_define_const_str(HJL_CF, "HJL_CF", 786158487u, 0, 6, &be_const_str_assert); -be_define_const_str(assert, "assert", 2774883451u, 0, 6, NULL); -be_define_const_str(SPI_CS, "SPI_CS", 553701236u, 0, 6, &be_const_str_SYMBOL_BULLET); -be_define_const_str(SYMBOL_BULLET, "SYMBOL_BULLET", 587181862u, 0, 13, NULL); -be_define_const_str(SDM72_TX, "SDM72_TX", 2042143269u, 0, 8, &be_const_str_lv_point_t); -be_define_const_str(lv_point_t, "lv_point_t", 2932758181u, 0, 10, NULL); -be_define_const_str(HPMA_RX, "HPMA_RX", 3462528998u, 0, 7, &be_const_str_I2C_Driver); -be_define_const_str(I2C_Driver, "I2C_Driver", 1714501658u, 0, 10, &be_const_str_PMS5003_RX); -be_define_const_str(PMS5003_RX, "PMS5003_RX", 3934985650u, 0, 10, &be_const_str_XPT2046_CS); -be_define_const_str(XPT2046_CS, "XPT2046_CS", 4049231042u, 0, 10, &be_const_str_yield); -be_define_const_str(yield, "yield", 1821831854u, 0, 5, NULL); -be_define_const_str(LED1_INV, "LED1_INV", 2112045097u, 0, 8, &be_const_str__cb); -be_define_const_str(_cb, "_cb", 4043300367u, 0, 3, NULL); -be_define_const_str(IBEACON_TX, "IBEACON_TX", 3471826977u, 0, 10, &be_const_str_time_reached); -be_define_const_str(time_reached, "time_reached", 2075136773u, 0, 12, NULL); -be_define_const_str(TASMOTACLIENT_RXD, "TASMOTACLIENT_RXD", 72868318u, 0, 17, &be_const_str_scale_uint); -be_define_const_str(scale_uint, "scale_uint", 3090811094u, 0, 10, NULL); -be_define_const_str(concat, "concat", 4124019837u, 0, 6, &be_const_str_content_flush); +be_define_const_str(SYMBOL_SETTINGS, "SYMBOL_SETTINGS", 339656335u, 0, 15, &be_const_str_call); +be_define_const_str(call, "call", 3018949801u, 0, 4, &be_const_str_lv_draw_mask_angle_param); +be_define_const_str(lv_draw_mask_angle_param, "lv_draw_mask_angle_param", 4192166041u, 0, 24, NULL); +be_define_const_str(pi, "pi", 1213090802u, 0, 2, NULL); +be_define_const_str(acos, "acos", 1006755615u, 0, 4, &be_const_str_atan); +be_define_const_str(atan, "atan", 108579519u, 0, 4, &be_const_str_content_flush); be_define_const_str(content_flush, "content_flush", 214922475u, 0, 13, NULL); -be_define_const_str(PMS5003_TX, "PMS5003_TX", 3868169364u, 0, 10, &be_const_str_SOLAXX1_RX); -be_define_const_str(SOLAXX1_RX, "SOLAXX1_RX", 971867054u, 0, 10, &be_const_str_SYMBOL_TRASH); -be_define_const_str(SYMBOL_TRASH, "SYMBOL_TRASH", 3169100368u, 0, 12, &be_const_str__begin_transmission); -be_define_const_str(_begin_transmission, "_begin_transmission", 2779461176u, 0, 19, NULL); -be_define_const_str(SBR_RX, "SBR_RX", 3350999801u, 0, 6, &be_const_str_SYMBOL_NEXT); -be_define_const_str(SYMBOL_NEXT, "SYMBOL_NEXT", 1102844455u, 0, 11, &be_const_str_atan); -be_define_const_str(atan, "atan", 108579519u, 0, 4, &be_const_str_collect); -be_define_const_str(collect, "collect", 2399039025u, 0, 7, &be_const_str_lv_bar); -be_define_const_str(lv_bar, "lv_bar", 1582673229u, 0, 6, NULL); -be_define_const_str(addr, "addr", 1087856498u, 0, 4, &be_const_str_chars_in_string); -be_define_const_str(chars_in_string, "chars_in_string", 3148785132u, 0, 15, NULL); -be_define_const_str(I2C_SDA, "I2C_SDA", 1052592262u, 0, 7, &be_const_str_SYMBOL_EYE_OPEN); -be_define_const_str(SYMBOL_EYE_OPEN, "SYMBOL_EYE_OPEN", 3449311676u, 0, 15, &be_const_str_WEBCAM_HSD); -be_define_const_str(WEBCAM_HSD, "WEBCAM_HSD", 2648502504u, 0, 10, &be_const_str_lv_win); -be_define_const_str(lv_win, "lv_win", 780927558u, 0, 6, NULL); +be_define_const_str(SYMBOL_BACKSPACE, "SYMBOL_BACKSPACE", 1997168681u, 0, 16, &be_const_str_TM1638STB); +be_define_const_str(TM1638STB, "TM1638STB", 823674593u, 0, 9, NULL); +be_define_const_str(resp_cmnd, "resp_cmnd", 2869459626u, 0, 9, &be_const_str_web_add_management_button); +be_define_const_str(web_add_management_button, "web_add_management_button", 2738877186u, 0, 25, NULL); +be_define_const_str(NRG_SEL, "NRG_SEL", 1771358125u, 0, 7, NULL); +be_define_const_str(SYMBOL_OK, "SYMBOL_OK", 4033162940u, 0, 9, &be_const_str_Wire); +be_define_const_str(Wire, "Wire", 1938276536u, 0, 4, NULL); +be_define_const_str(SYMBOL_BATTERY_3, "SYMBOL_BATTERY_3", 662591301u, 0, 16, &be_const_str_init); +be_define_const_str(init, "init", 380752755u, 0, 4, &be_const_str_redirect); +be_define_const_str(redirect, "redirect", 389758641u, 0, 8, NULL); +be_define_const_str(ADC_TEMP, "ADC_TEMP", 3771053440u, 0, 8, &be_const_str__get_cb); +be_define_const_str(_get_cb, "_get_cb", 1448849122u, 0, 7, &be_const_str_finish); +be_define_const_str(finish, "finish", 1494643858u, 0, 6, NULL); +be_define_const_str(SPI_DC, "SPI_DC", 553259951u, 0, 6, NULL); +be_define_const_str(MIEL_HVAC_RX, "MIEL_HVAC_RX", 3720609648u, 0, 12, &be_const_str_NEOPOOL_TX); +be_define_const_str(NEOPOOL_TX, "NEOPOOL_TX", 2924925804u, 0, 10, &be_const_str_SSD1331_CS); +be_define_const_str(SSD1331_CS, "SSD1331_CS", 4191047928u, 0, 10, &be_const_str_TELEINFO_RX); +be_define_const_str(TELEINFO_RX, "TELEINFO_RX", 1195717356u, 0, 11, NULL); +be_define_const_str(SHELLY_DIMMER_RST_INV, "SHELLY_DIMMER_RST_INV", 2366759773u, 0, 21, NULL); +be_define_const_str(MAX7219CS, "MAX7219CS", 2593198244u, 0, 9, &be_const_str_pin_mode); +be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, NULL); +be_define_const_str(SDM72_RX, "SDM72_RX", 766750035u, 0, 8, &be_const_str_SYMBOL_HOME); +be_define_const_str(SYMBOL_HOME, "SYMBOL_HOME", 730845525u, 0, 11, &be_const_str_TM1637CLK); +be_define_const_str(TM1637CLK, "TM1637CLK", 2797300857u, 0, 9, &be_const_str_char); +be_define_const_str(char, "char", 2823553821u, 0, 4, &be_const_str_resp_cmnd_done); +be_define_const_str(resp_cmnd_done, "resp_cmnd_done", 2601874875u, 0, 14, NULL); +be_define_const_str(ADC_LIGHT, "ADC_LIGHT", 3982461502u, 0, 9, &be_const_str_ZIGBEE_TX); +be_define_const_str(ZIGBEE_TX, "ZIGBEE_TX", 25119256u, 0, 9, NULL); +be_define_const_str(lv_dropdown, "lv_dropdown", 2797165301u, 0, 11, NULL); +be_define_const_str(A4988_DIR, "A4988_DIR", 2223595843u, 0, 9, &be_const_str_AS3935); +be_define_const_str(AS3935, "AS3935", 603621745u, 0, 6, &be_const_str_lv_sqrt_res); +be_define_const_str(lv_sqrt_res, "lv_sqrt_res", 2904473995u, 0, 11, NULL); +be_define_const_str(IEM3000_TX, "IEM3000_TX", 1185907310u, 0, 10, &be_const_str_cosh); +be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, &be_const_str_web_sensor); +be_define_const_str(web_sensor, "web_sensor", 2900096972u, 0, 10, &be_const_str_continue); +be_define_const_str(continue, "continue", 2977070660u, 59, 8, NULL); +be_define_const_str(BS814_DAT, "BS814_DAT", 3620403837u, 0, 9, NULL); +be_define_const_str(opt_add, "+", 772578730u, 0, 1, &be_const_str_A4988_ENA); +be_define_const_str(A4988_ENA, "A4988_ENA", 1517502682u, 0, 9, &be_const_str_lv_point); +be_define_const_str(lv_point, "lv_point", 4120221790u, 0, 8, NULL); +be_define_const_str(delay, "delay", 1322381784u, 0, 5, &be_const_str_resp_cmnd_str); +be_define_const_str(resp_cmnd_str, "resp_cmnd_str", 737845590u, 0, 13, NULL); +be_define_const_str(iter, "iter", 3124256359u, 0, 4, NULL); +be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, &be_const_str_lv_event_cb); +be_define_const_str(lv_event_cb, "lv_event_cb", 2480731016u, 0, 11, NULL); +be_define_const_str(CNTR1_NP, "CNTR1_NP", 4288381648u, 0, 8, NULL); +be_define_const_str(tanh, "tanh", 153638352u, 0, 4, NULL); +be_define_const_str(lv_objmask, "lv_objmask", 1311221665u, 0, 10, NULL); +be_define_const_str(SOLAXX1_RX, "SOLAXX1_RX", 971867054u, 0, 10, NULL); +be_define_const_str(HRE_CLOCK, "HRE_CLOCK", 2870559111u, 0, 9, &be_const_str_MAX31855CS); +be_define_const_str(MAX31855CS, "MAX31855CS", 753620511u, 0, 10, &be_const_str_SDM630_TX); +be_define_const_str(SDM630_TX, "SDM630_TX", 696213075u, 0, 9, &be_const_str_every_second); be_define_const_str(every_second, "every_second", 2075451465u, 0, 12, NULL); -be_define_const_str(ROT1A, "ROT1A", 759599716u, 0, 5, &be_const_str___lower__); -be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, &be_const_str_find_op); -be_define_const_str(find_op, "find_op", 3766713376u, 0, 7, &be_const_str_finish); -be_define_const_str(finish, "finish", 1494643858u, 0, 6, &be_const_str_def); +be_define_const_str(SYMBOL_AUDIO, "SYMBOL_AUDIO", 3056537956u, 0, 12, NULL); +be_define_const_str(RC522_CS, "RC522_CS", 2639619996u, 0, 8, &be_const_str_def); be_define_const_str(def, "def", 3310976652u, 55, 3, NULL); -be_define_const_str(MHZ_TXD, "MHZ_TXD", 3310158233u, 0, 7, &be_const_str_SYMBOL_SETTINGS); -be_define_const_str(SYMBOL_SETTINGS, "SYMBOL_SETTINGS", 339656335u, 0, 15, NULL); -be_define_const_str(ADC_PH, "ADC_PH", 3820290594u, 0, 6, &be_const_str_NEOPOOL_RX); -be_define_const_str(NEOPOOL_RX, "NEOPOOL_RX", 1917974474u, 0, 10, NULL); -be_define_const_str(INPUT, "INPUT", 1638025307u, 0, 5, &be_const_str_screenshot); -be_define_const_str(screenshot, "screenshot", 3894592561u, 0, 10, NULL); -be_define_const_str(lv_switch, "lv_switch", 3407171508u, 0, 9, NULL); -be_define_const_str(acos, "acos", 1006755615u, 0, 4, &be_const_str_lv_spinbox); +be_define_const_str(REL1, "REL1", 3142397887u, 0, 4, &be_const_str_load_font); +be_define_const_str(load_font, "load_font", 1875840019u, 0, 9, &be_const_str_real); +be_define_const_str(real, "real", 3604983901u, 0, 4, &be_const_str_set); +be_define_const_str(set, "set", 3324446467u, 0, 3, NULL); +be_define_const_str(PZEM016_RX, "PZEM016_RX", 1004012055u, 0, 10, &be_const_str_SSPI_CS); +be_define_const_str(SSPI_CS, "SSPI_CS", 977784795u, 0, 7, NULL); +be_define_const_str(SYMBOL_TRASH, "SYMBOL_TRASH", 3169100368u, 0, 12, &be_const_str_wire); +be_define_const_str(wire, "wire", 4082753944u, 0, 4, NULL); +be_define_const_str(REL1_INV, "REL1_INV", 3733155371u, 0, 8, NULL); +be_define_const_str(FTC532, "FTC532", 3182343438u, 0, 6, &be_const_str_OUTPUT_HI); +be_define_const_str(OUTPUT_HI, "OUTPUT_HI", 3153592902u, 0, 9, &be_const_str_classof); +be_define_const_str(classof, "classof", 1796577762u, 0, 7, &be_const_str_web_send_decimal); +be_define_const_str(web_send_decimal, "web_send_decimal", 1407210204u, 0, 16, NULL); +be_define_const_str(opt_neq, "!=", 2428715011u, 0, 2, &be_const_str_LED1_INV); +be_define_const_str(LED1_INV, "LED1_INV", 2112045097u, 0, 8, &be_const_str_load); +be_define_const_str(load, "load", 3859241449u, 0, 4, NULL); +be_define_const_str(ADC_INPUT, "ADC_INPUT", 2207556878u, 0, 9, &be_const_str_SPI_CS); +be_define_const_str(SPI_CS, "SPI_CS", 553701236u, 0, 6, &be_const_str_WEBCAM_RESET); +be_define_const_str(WEBCAM_RESET, "WEBCAM_RESET", 2171221520u, 0, 12, &be_const_str_ceil); +be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, &be_const_str_clear); +be_define_const_str(clear, "clear", 1550717474u, 0, 5, NULL); +be_define_const_str(cmd, "cmd", 4136785899u, 0, 3, &be_const_str_response_append); +be_define_const_str(response_append, "response_append", 450346371u, 0, 15, NULL); +be_define_const_str(lv_btn, "lv_btn", 1612829968u, 0, 6, &be_const_str_lv_draw_line_dsc); +be_define_const_str(lv_draw_line_dsc, "lv_draw_line_dsc", 2422805236u, 0, 16, NULL); +be_define_const_str(gc, "gc", 1042313471u, 0, 2, NULL); +be_define_const_str(WINDMETER_SPEED, "WINDMETER_SPEED", 1980822204u, 0, 15, &be_const_str_number); +be_define_const_str(number, "number", 467038368u, 0, 6, &be_const_str_write_bit); +be_define_const_str(write_bit, "write_bit", 2660990436u, 0, 9, NULL); +be_define_const_str(WEBCAM_SIOC, "WEBCAM_SIOC", 218815147u, 0, 11, NULL); +be_define_const_str(I2C_SCL, "I2C_SCL", 164217098u, 0, 7, &be_const_str_XPT2046_CS); +be_define_const_str(XPT2046_CS, "XPT2046_CS", 4049231042u, 0, 10, &be_const_str_lv_calendar); +be_define_const_str(lv_calendar, "lv_calendar", 3284396894u, 0, 11, NULL); +be_define_const_str(RISING, "RISING", 1256404539u, 0, 6, &be_const_str_arg); +be_define_const_str(arg, "arg", 1047474471u, 0, 3, NULL); +be_define_const_str(_read, "_read", 346717030u, 0, 5, &be_const_str_rand); +be_define_const_str(rand, "rand", 2711325910u, 0, 4, NULL); +be_define_const_str(SYMBOL_SHUFFLE, "SYMBOL_SHUFFLE", 1123310147u, 0, 14, NULL); +be_define_const_str(DDSU666_TX, "DDSU666_TX", 1880604150u, 0, 10, &be_const_str_web_add_button); +be_define_const_str(web_add_button, "web_add_button", 3537875058u, 0, 14, &be_const_str_except); +be_define_const_str(except, "except", 950914032u, 69, 6, NULL); +be_define_const_str(RFRECV, "RFRECV", 354742801u, 0, 6, NULL); +be_define_const_str(PZEM017_RX, "PZEM017_RX", 3227495894u, 0, 10, &be_const_str_RA8876_CS); +be_define_const_str(RA8876_CS, "RA8876_CS", 2529944108u, 0, 9, NULL); +be_define_const_str(KEY1_INV, "KEY1_INV", 263542563u, 0, 8, &be_const_str___iterator__); +be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str_lv_draw_mask_map_param_cfg); +be_define_const_str(lv_draw_mask_map_param_cfg, "lv_draw_mask_map_param_cfg", 3822900597u, 0, 26, &be_const_str_module); +be_define_const_str(module, "module", 3617558685u, 0, 6, NULL); +be_define_const_str(ADC_BUTTON, "ADC_BUTTON", 3393454690u, 0, 10, NULL); +be_define_const_str(get_tasmota, "get_tasmota", 334356779u, 0, 11, &be_const_str_read24); +be_define_const_str(read24, "read24", 1808533811u, 0, 6, &be_const_str_start); +be_define_const_str(start, "start", 1697318111u, 0, 5, NULL); +be_define_const_str(MIEL_HVAC_TX, "MIEL_HVAC_TX", 567403014u, 0, 12, &be_const_str_SYMBOL_DRIVE); +be_define_const_str(SYMBOL_DRIVE, "SYMBOL_DRIVE", 567203502u, 0, 12, &be_const_str_SYMBOL_WARNING); +be_define_const_str(SYMBOL_WARNING, "SYMBOL_WARNING", 4119913686u, 0, 14, &be_const_str_gamma8); +be_define_const_str(gamma8, "gamma8", 3802843830u, 0, 6, &be_const_str_lv_draw_mask_line_param); +be_define_const_str(lv_draw_mask_line_param, "lv_draw_mask_line_param", 2692990704u, 0, 23, &be_const_str_memory); +be_define_const_str(memory, "memory", 2229924270u, 0, 6, NULL); +be_define_const_str(SPI_MOSI, "SPI_MOSI", 2494218614u, 0, 8, &be_const_str_digital_read); +be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, &be_const_str_lv_design_cb); +be_define_const_str(lv_design_cb, "lv_design_cb", 3822640502u, 0, 12, NULL); +be_define_const_str(MD5, "MD5", 1935726387u, 0, 3, &be_const_str_get_option); +be_define_const_str(get_option, "get_option", 2123730033u, 0, 10, &be_const_str_lv_checkbox); +be_define_const_str(lv_checkbox, "lv_checkbox", 7454841u, 0, 11, NULL); +be_define_const_str(PMS5003_RX, "PMS5003_RX", 3934985650u, 0, 10, &be_const_str_SYMBOL_BATTERY_2); +be_define_const_str(SYMBOL_BATTERY_2, "SYMBOL_BATTERY_2", 645813682u, 0, 16, &be_const_str_read32); +be_define_const_str(read32, "read32", 1741276240u, 0, 6, NULL); +be_define_const_str(dump, "dump", 3663001223u, 0, 4, NULL); +be_define_const_str(SYMBOL_EYE_CLOSE, "SYMBOL_EYE_CLOSE", 404721792u, 0, 16, NULL); +be_define_const_str(SYMBOL_IMAGE, "SYMBOL_IMAGE", 815601151u, 0, 12, &be_const_str_abs); +be_define_const_str(abs, "abs", 709362235u, 0, 3, &be_const_str_traceback); +be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, NULL); +be_define_const_str(HPMA_RX, "HPMA_RX", 3462528998u, 0, 7, &be_const_str_SM16716_DAT); +be_define_const_str(SM16716_DAT, "SM16716_DAT", 1905621806u, 0, 11, &be_const_str_SYMBOL_PAUSE); +be_define_const_str(SYMBOL_PAUSE, "SYMBOL_PAUSE", 641998172u, 0, 12, &be_const_str_attrdump); +be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_lv_draw_mask_fade_param); +be_define_const_str(lv_draw_mask_fade_param, "lv_draw_mask_fade_param", 2743309964u, 0, 23, NULL); +be_define_const_str(CC1101_GDO0, "CC1101_GDO0", 940611027u, 0, 11, NULL); +be_define_const_str(super, "super", 4152230356u, 0, 5, &be_const_str_if); +be_define_const_str(if, "if", 959999494u, 50, 2, NULL); +be_define_const_str(TCP_RX, "TCP_RX", 3904354751u, 0, 6, &be_const_str_keys); +be_define_const_str(keys, "keys", 4182378701u, 0, 4, &be_const_str_lv_led); +be_define_const_str(lv_led, "lv_led", 3192184733u, 0, 6, &be_const_str_time_dump); +be_define_const_str(time_dump, "time_dump", 3330410747u, 0, 9, NULL); +be_define_const_str(HPMA_TX, "HPMA_TX", 173233104u, 0, 7, &be_const_str_PN532_TXD); +be_define_const_str(PN532_TXD, "PN532_TXD", 3093418644u, 0, 9, &be_const_str_compile); +be_define_const_str(compile, "compile", 1000265118u, 0, 7, NULL); +be_define_const_str(TCP_TX, "TCP_TX", 2762594089u, 0, 6, &be_const_str_lv_gauge_format_cb); +be_define_const_str(lv_gauge_format_cb, "lv_gauge_format_cb", 4073149249u, 0, 18, NULL); +be_define_const_str(remove_rule, "remove_rule", 3456211328u, 0, 11, NULL); +be_define_const_str(KEY1_TC, "KEY1_TC", 25685109u, 0, 7, &be_const_str_TASMOTACLIENT_RST); +be_define_const_str(TASMOTACLIENT_RST, "TASMOTACLIENT_RST", 3326196213u, 0, 17, &be_const_str_tolower); +be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, &be_const_str_type); +be_define_const_str(type, "type", 1361572173u, 0, 4, NULL); +be_define_const_str(lv_cont, "lv_cont", 1391686552u, 0, 7, NULL); +be_define_const_str(every_100ms, "every_100ms", 1546407804u, 0, 11, &be_const_str_lv_list); +be_define_const_str(lv_list, "lv_list", 2876551248u, 0, 7, NULL); +be_define_const_str(CSE7766_TX, "CSE7766_TX", 674624821u, 0, 10, &be_const_str__available); +be_define_const_str(_available, "_available", 1306196581u, 0, 10, &be_const_str_display); +be_define_const_str(display, "display", 1164572437u, 0, 7, &be_const_str_sin); +be_define_const_str(sin, "sin", 3761252941u, 0, 3, NULL); +be_define_const_str(SM2135_DAT, "SM2135_DAT", 2882726942u, 0, 10, &be_const_str_WEBCAM_SIOD); +be_define_const_str(WEBCAM_SIOD, "WEBCAM_SIOD", 302703242u, 0, 11, &be_const_str_publish); +be_define_const_str(publish, "publish", 264247304u, 0, 7, NULL); +be_define_const_str(input, "input", 4191711099u, 0, 5, &be_const_str_map); +be_define_const_str(map, "map", 3751997361u, 0, 3, NULL); +be_define_const_str(IRRECV, "IRRECV", 1743648982u, 0, 6, &be_const_str_SSD1351_CS); +be_define_const_str(SSD1351_CS, "SSD1351_CS", 488746042u, 0, 10, &be_const_str_SYMBOL_PLAY); +be_define_const_str(SYMBOL_PLAY, "SYMBOL_PLAY", 1750902100u, 0, 11, NULL); +be_define_const_str(MGC3130_RESET, "MGC3130_RESET", 405013121u, 0, 13, &be_const_str_SYMBOL_SAVE); +be_define_const_str(SYMBOL_SAVE, "SYMBOL_SAVE", 2439821015u, 0, 11, &be_const_str_lv_draw_mask_radius_param_cfg); +be_define_const_str(lv_draw_mask_radius_param_cfg, "lv_draw_mask_radius_param_cfg", 3889386773u, 0, 29, NULL); +be_define_const_str(resp_cmnd_failed, "resp_cmnd_failed", 2136281562u, 0, 16, NULL); +be_define_const_str(ADC_RANGE, "ADC_RANGE", 3467329543u, 0, 9, NULL); +be_define_const_str(PZEM0XX_TX, "PZEM0XX_TX", 944775704u, 0, 10, &be_const_str_SYMBOL_USB); +be_define_const_str(SYMBOL_USB, "SYMBOL_USB", 1962656552u, 0, 10, &be_const_str_int); +be_define_const_str(int, "int", 2515107422u, 0, 3, &be_const_str_time_str); +be_define_const_str(time_str, "time_str", 2613827612u, 0, 8, NULL); +be_define_const_str(LEDLNK_INV, "LEDLNK_INV", 3559015101u, 0, 10, &be_const_str_VL53L0X_XSHUT1); +be_define_const_str(VL53L0X_XSHUT1, "VL53L0X_XSHUT1", 2341134183u, 0, 14, &be_const_str_set_power); +be_define_const_str(set_power, "set_power", 549820893u, 0, 9, NULL); +be_define_const_str(_end_transmission, "_end_transmission", 3237480400u, 0, 17, NULL); +be_define_const_str(get, "get", 1410115415u, 0, 3, NULL); +be_define_const_str(SPI_MISO, "SPI_MISO", 150818010u, 0, 8, &be_const_str_print); +be_define_const_str(print, "print", 372738696u, 0, 5, NULL); +be_define_const_str(format, "format", 3114108242u, 0, 6, NULL); +be_define_const_str(MAX7219DIN, "MAX7219DIN", 380687049u, 0, 10, &be_const_str_lv_img); +be_define_const_str(lv_img, "lv_img", 2474052327u, 0, 6, NULL); +be_define_const_str(HM10_RX, "HM10_RX", 515085922u, 0, 7, &be_const_str_allocated); +be_define_const_str(allocated, "allocated", 429986098u, 0, 9, &be_const_str_while); +be_define_const_str(while, "while", 231090382u, 53, 5, NULL); +be_define_const_str(getbits, "getbits", 3094168979u, 0, 7, &be_const_str_lv_spinner); +be_define_const_str(lv_spinner, "lv_spinner", 3361501901u, 0, 10, &be_const_str_pow); +be_define_const_str(pow, "pow", 1479764693u, 0, 3, NULL); +be_define_const_str(A4988_MS1, "A4988_MS1", 1729976611u, 0, 9, &be_const_str_SYMBOL_KEYBOARD); +be_define_const_str(SYMBOL_KEYBOARD, "SYMBOL_KEYBOARD", 1621492879u, 0, 15, &be_const_str_lv_slider); +be_define_const_str(lv_slider, "lv_slider", 2274180781u, 0, 9, &be_const_str_read13); +be_define_const_str(read13, "read13", 12887293u, 0, 6, NULL); +be_define_const_str(NRF24_CS, "NRF24_CS", 555833194u, 0, 8, &be_const_str_PWM1); +be_define_const_str(PWM1, "PWM1", 1353352426u, 0, 4, &be_const_str_SWT1); +be_define_const_str(SWT1, "SWT1", 805224112u, 0, 4, NULL); +be_define_const_str(SSD1331_DC, "SSD1331_DC", 3386560859u, 0, 10, NULL); +be_define_const_str(PMS5003_TX, "PMS5003_TX", 3868169364u, 0, 10, &be_const_str_TM1638DIO); +be_define_const_str(TM1638DIO, "TM1638DIO", 1408212414u, 0, 9, &be_const_str__cmd); +be_define_const_str(_cmd, "_cmd", 3419822142u, 0, 4, &be_const_str_asin); +be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_read12); +be_define_const_str(read12, "read12", 4291076970u, 0, 6, &be_const_str_state); +be_define_const_str(state, "state", 2016490230u, 0, 5, NULL); +be_define_const_str(exec_cmd, "exec_cmd", 493567399u, 0, 8, NULL); +be_define_const_str(HLW_CF, "HLW_CF", 3982619486u, 0, 6, NULL); +be_define_const_str(SYMBOL_DIRECTORY, "SYMBOL_DIRECTORY", 1886053449u, 0, 16, &be_const_str_SYMBOL_PASTE); +be_define_const_str(SYMBOL_PASTE, "SYMBOL_PASTE", 2281577421u, 0, 12, &be_const_str_resolvecmnd); +be_define_const_str(resolvecmnd, "resolvecmnd", 993361485u, 0, 11, NULL); +be_define_const_str(ST7789_CS, "ST7789_CS", 2937305434u, 0, 9, NULL); +be_define_const_str(SYMBOL_BATTERY_FULL, "SYMBOL_BATTERY_FULL", 2638935545u, 0, 19, NULL); +be_define_const_str(log10, "log10", 2346846000u, 0, 5, NULL); +be_define_const_str(TXD, "TXD", 3614562079u, 0, 3, NULL); +be_define_const_str(SYMBOL_EYE_OPEN, "SYMBOL_EYE_OPEN", 3449311676u, 0, 15, &be_const_str__buffer); +be_define_const_str(_buffer, "_buffer", 2044888568u, 0, 7, NULL); +be_define_const_str(EXS_ENABLE, "EXS_ENABLE", 1896914313u, 0, 10, &be_const_str_HJL_CF); +be_define_const_str(HJL_CF, "HJL_CF", 786158487u, 0, 6, &be_const_str_lv_draw_mask_fade_param_cfg); +be_define_const_str(lv_draw_mask_fade_param_cfg, "lv_draw_mask_fade_param_cfg", 4158595197u, 0, 27, NULL); +be_define_const_str(PROJECTOR_CTRL_RX, "PROJECTOR_CTRL_RX", 1542762460u, 0, 17, NULL); +be_define_const_str(SBR_TX, "SBR_TX", 3419096015u, 0, 6, &be_const_str_sqrt); +be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, NULL); +be_define_const_str(MAX31855DO, "MAX31855DO", 552730368u, 0, 10, &be_const_str_SYMBOL_DOWN); +be_define_const_str(SYMBOL_DOWN, "SYMBOL_DOWN", 1107513570u, 0, 11, &be_const_str_save_before_restart); +be_define_const_str(save_before_restart, "save_before_restart", 1253239338u, 0, 19, &be_const_str_write8); +be_define_const_str(write8, "write8", 3133991532u, 0, 6, NULL); +be_define_const_str(byte, "byte", 1683620383u, 0, 4, NULL); +be_define_const_str(write, "write", 3190202204u, 0, 5, NULL); +be_define_const_str(GPS_TX, "GPS_TX", 4228740808u, 0, 6, NULL); +be_define_const_str(ELECTRIQ_MOODL_TX, "ELECTRIQ_MOODL_TX", 31009247u, 0, 17, &be_const_str_SYMBOL_BATTERY_1); +be_define_const_str(SYMBOL_BATTERY_1, "SYMBOL_BATTERY_1", 629036063u, 0, 16, &be_const_str_WE517_RX); +be_define_const_str(WE517_RX, "WE517_RX", 4096577879u, 0, 8, &be_const_str_digital_write); +be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, &be_const_str_lv_spinbox); be_define_const_str(lv_spinbox, "lv_spinbox", 2666096729u, 0, 10, NULL); -be_define_const_str(continue, "continue", 2977070660u, 59, 8, &be_const_str_import); -be_define_const_str(import, "import", 288002260u, 66, 6, NULL); -be_define_const_str(INPUT_PULLDOWN, "INPUT_PULLDOWN", 1172232591u, 0, 14, &be_const_str_SYMBOL_BATTERY_1); -be_define_const_str(SYMBOL_BATTERY_1, "SYMBOL_BATTERY_1", 629036063u, 0, 16, &be_const_str_content_stop); -be_define_const_str(content_stop, "content_stop", 658554751u, 0, 12, NULL); -be_define_const_str(DSB, "DSB", 98073254u, 0, 3, &be_const_str_web_add_handler); +be_define_const_str(lv_switch, "lv_switch", 3407171508u, 0, 9, &be_const_str_pin); +be_define_const_str(pin, "pin", 1866532500u, 0, 3, &be_const_str_pin_used); +be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, NULL); +be_define_const_str(SAIR_RX, "SAIR_RX", 1273688713u, 0, 7, &be_const_str_SI7021); +be_define_const_str(SI7021, "SI7021", 864377911u, 0, 6, &be_const_str_WE517_TX); +be_define_const_str(WE517_TX, "WE517_TX", 2954817217u, 0, 8, &be_const_str_lv_obj); +be_define_const_str(lv_obj, "lv_obj", 4257833149u, 0, 6, NULL); +be_define_const_str(SSPI_MAX31865_CS1, "SSPI_MAX31865_CS1", 1256578724u, 0, 17, NULL); +be_define_const_str(DHT22, "DHT22", 215937903u, 0, 5, &be_const_str_arg_size); +be_define_const_str(arg_size, "arg_size", 3310243257u, 0, 8, &be_const_str_millis); +be_define_const_str(millis, "millis", 1214679063u, 0, 6, &be_const_str_remove); +be_define_const_str(remove, "remove", 3683784189u, 0, 6, NULL); +be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, &be_const_str_wire2); +be_define_const_str(wire2, "wire2", 3229499038u, 0, 5, NULL); +be_define_const_str(SYMBOL_FILE, "SYMBOL_FILE", 237085260u, 0, 11, &be_const_str_lv_canvas); +be_define_const_str(lv_canvas, "lv_canvas", 142865412u, 0, 9, NULL); +be_define_const_str(ROT1A_NP, "ROT1A_NP", 2322706903u, 0, 8, &be_const_str_WEBCAM_DATA); +be_define_const_str(WEBCAM_DATA, "WEBCAM_DATA", 1476954421u, 0, 11, NULL); +be_define_const_str(IEM3000_RX, "IEM3000_RX", 1117811096u, 0, 10, &be_const_str_NEOPOOL_RX); +be_define_const_str(NEOPOOL_RX, "NEOPOOL_RX", 1917974474u, 0, 10, &be_const_str_OUTPUT); +be_define_const_str(OUTPUT, "OUTPUT", 1469629700u, 0, 6, &be_const_str_lv_msgbox); +be_define_const_str(lv_msgbox, "lv_msgbox", 689085206u, 0, 9, NULL); +be_define_const_str(has_arg, "has_arg", 424878688u, 0, 7, &be_const_str_lv_table); +be_define_const_str(lv_table, "lv_table", 1675691020u, 0, 8, NULL); +be_define_const_str(SSPI_MOSI, "SSPI_MOSI", 3745917497u, 0, 9, NULL); +be_define_const_str(CSE7761_TX, "CSE7761_TX", 3354719142u, 0, 10, &be_const_str_P9813_DAT); +be_define_const_str(P9813_DAT, "P9813_DAT", 778577052u, 0, 9, &be_const_str_WEBCAM_PWDN); +be_define_const_str(WEBCAM_PWDN, "WEBCAM_PWDN", 2219597454u, 0, 11, &be_const_str_count); +be_define_const_str(count, "count", 967958004u, 0, 5, NULL); +be_define_const_str(LMT01, "LMT01", 2490623797u, 0, 5, &be_const_str_read8); +be_define_const_str(read8, "read8", 2802788167u, 0, 5, NULL); +be_define_const_str(PN532_RXD, "PN532_RXD", 1780093022u, 0, 9, &be_const_str_PZEM004_RX); +be_define_const_str(PZEM004_RX, "PZEM004_RX", 3411153194u, 0, 10, &be_const_str__begin_transmission); +be_define_const_str(_begin_transmission, "_begin_transmission", 2779461176u, 0, 19, &be_const_str_web_add_console_button); +be_define_const_str(web_add_console_button, "web_add_console_button", 3481436192u, 0, 22, &be_const_str_web_add_handler); be_define_const_str(web_add_handler, "web_add_handler", 3990174962u, 0, 15, NULL); -be_define_const_str(ADC_CT_POWER, "ADC_CT_POWER", 3382284599u, 0, 12, &be_const_str_SDS0X1_TX); +be_define_const_str(INPUT_PULLDOWN, "INPUT_PULLDOWN", 1172232591u, 0, 14, NULL); +be_define_const_str(CSE7761_RX, "CSE7761_RX", 65423248u, 0, 10, &be_const_str_find); +be_define_const_str(find, "find", 3186656602u, 0, 4, &be_const_str_break); +be_define_const_str(break, "break", 3378807160u, 58, 5, NULL); +be_define_const_str(NRG_SEL_INV, "NRG_SEL_INV", 3567431069u, 0, 11, NULL); +be_define_const_str(ILI9488_CS, "ILI9488_CS", 2363112073u, 0, 10, &be_const_str_MCP39F5_RX); +be_define_const_str(MCP39F5_RX, "MCP39F5_RX", 190458217u, 0, 10, &be_const_str_ROT1B); +be_define_const_str(ROT1B, "ROT1B", 809932573u, 0, 5, NULL); +be_define_const_str(opt_call, "()", 685372826u, 0, 2, &be_const_str_SOLAXX1_TX); +be_define_const_str(SOLAXX1_TX, "SOLAXX1_TX", 903770840u, 0, 10, NULL); +be_define_const_str(SHELLY_DIMMER_BOOT0, "SHELLY_DIMMER_BOOT0", 2948777716u, 0, 19, &be_const_str_WEBCAM_VSYNC); +be_define_const_str(WEBCAM_VSYNC, "WEBCAM_VSYNC", 4032882166u, 0, 12, &be_const_str_tan); +be_define_const_str(tan, "tan", 2633446552u, 0, 3, &be_const_str_web_send); +be_define_const_str(web_send, "web_send", 2989941448u, 0, 8, NULL); +be_define_const_str(LED1, "LED1", 21005825u, 0, 4, NULL); +be_define_const_str(INPUT_PULLUP, "INPUT_PULLUP", 2912931654u, 0, 12, &be_const_str_chars_in_string); +be_define_const_str(chars_in_string, "chars_in_string", 3148785132u, 0, 15, &be_const_str_else); +be_define_const_str(else, "else", 3183434736u, 52, 4, &be_const_str_nil); +be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL); +be_define_const_str(MAX31855CLK, "MAX31855CLK", 715977727u, 0, 11, NULL); +be_define_const_str(SYMBOL_GPS, "SYMBOL_GPS", 3044165570u, 0, 10, &be_const_str_lv_draw_mask_map_param); +be_define_const_str(lv_draw_mask_map_param, "lv_draw_mask_map_param", 1666886804u, 0, 22, NULL); +be_define_const_str(SWT1_NP, "SWT1_NP", 4033043739u, 0, 7, &be_const_str_log); +be_define_const_str(log, "log", 1062293841u, 0, 3, &be_const_str_read_bytes); +be_define_const_str(read_bytes, "read_bytes", 3576733173u, 0, 10, NULL); +be_define_const_str(dot_def, ".def", 4095748648u, 0, 4, &be_const_str_SYMBOL_CALL); +be_define_const_str(SYMBOL_CALL, "SYMBOL_CALL", 1444504366u, 0, 11, NULL); +be_define_const_str(DHT11, "DHT11", 367083569u, 0, 5, &be_const_str_NRG_CF1); +be_define_const_str(NRG_CF1, "NRG_CF1", 3292534757u, 0, 7, &be_const_str_SYMBOL_MUTE); +be_define_const_str(SYMBOL_MUTE, "SYMBOL_MUTE", 563116043u, 0, 11, NULL); +be_define_const_str(ETH_PHY_POWER, "ETH_PHY_POWER", 487529454u, 0, 13, NULL); +be_define_const_str(TFMINIPLUS_TX, "TFMINIPLUS_TX", 2527875337u, 0, 13, NULL); +be_define_const_str(EPAPER29_CS, "EPAPER29_CS", 3916373594u, 0, 11, &be_const_str_lv_chart); +be_define_const_str(lv_chart, "lv_chart", 2652494144u, 0, 8, &be_const_str_name); +be_define_const_str(name, "name", 2369371622u, 0, 4, NULL); +be_define_const_str(event, "event", 4264611999u, 0, 5, NULL); +be_define_const_str(ADC_JOY, "ADC_JOY", 1116943612u, 0, 7, &be_const_str_FALLING); +be_define_const_str(FALLING, "FALLING", 2851701064u, 0, 7, &be_const_str_remove_cmd); +be_define_const_str(remove_cmd, "remove_cmd", 3832315702u, 0, 10, NULL); +be_define_const_str(CSE7766_RX, "CSE7766_RX", 1546766819u, 0, 10, &be_const_str_DYP_RX); +be_define_const_str(DYP_RX, "DYP_RX", 2122310285u, 0, 6, &be_const_str_LEDLNK); +be_define_const_str(LEDLNK, "LEDLNK", 2862810701u, 0, 6, NULL); +be_define_const_str(IRSEND, "IRSEND", 184848336u, 0, 6, &be_const_str_lv_textarea); +be_define_const_str(lv_textarea, "lv_textarea", 2864635074u, 0, 11, NULL); +be_define_const_str(RFSEND, "RFSEND", 1862630731u, 0, 6, &be_const_str_SSD1351_DC); +be_define_const_str(SSD1351_DC, "SSD1351_DC", 84950353u, 0, 10, &be_const_str_SYMBOL_COPY); +be_define_const_str(SYMBOL_COPY, "SYMBOL_COPY", 4193681815u, 0, 11, &be_const_str_SYMBOL_UP); +be_define_const_str(SYMBOL_UP, "SYMBOL_UP", 3886401511u, 0, 9, NULL); +be_define_const_str(TX2X_TXD_BLACK, "TX2X_TXD_BLACK", 956526176u, 0, 14, &be_const_str_json_append); +be_define_const_str(json_append, "json_append", 3002019284u, 0, 11, NULL); +be_define_const_str(TUYA_RX, "TUYA_RX", 1609397679u, 0, 7, NULL); +be_define_const_str(HRE_DATA, "HRE_DATA", 1820377643u, 0, 8, NULL); +be_define_const_str(DDSU666_RX, "DDSU666_RX", 1812507936u, 0, 10, &be_const_str_reverse_gamma10); +be_define_const_str(reverse_gamma10, "reverse_gamma10", 739112262u, 0, 15, NULL); +be_define_const_str(SM16716_SEL, "SM16716_SEL", 142377379u, 0, 11, &be_const_str_TASMOTACLIENT_RST_INV); +be_define_const_str(TASMOTACLIENT_RST_INV, "TASMOTACLIENT_RST_INV", 2601785365u, 0, 21, &be_const_str_add_rule); +be_define_const_str(add_rule, "add_rule", 596540743u, 0, 8, &be_const_str_resize); +be_define_const_str(resize, "resize", 3514612129u, 0, 6, &be_const_str_resp_cmnd_error); +be_define_const_str(resp_cmnd_error, "resp_cmnd_error", 2404088863u, 0, 15, NULL); +be_define_const_str(ADC_BUTTON_INV, "ADC_BUTTON_INV", 2027625326u, 0, 14, &be_const_str_TASMOTACLIENT_TXD); +be_define_const_str(TASMOTACLIENT_TXD, "TASMOTACLIENT_TXD", 1386193940u, 0, 17, NULL); +be_define_const_str(MP3_DFR562, "MP3_DFR562", 2859952977u, 0, 10, &be_const_str_RC522_RST); +be_define_const_str(RC522_RST, "RC522_RST", 720511443u, 0, 9, &be_const_str_SYMBOL_LEFT); +be_define_const_str(SYMBOL_LEFT, "SYMBOL_LEFT", 1563517575u, 0, 11, NULL); +be_define_const_str(rad, "rad", 1358899048u, 0, 3, NULL); +be_define_const_str(ARIRFSEL, "ARIRFSEL", 233874443u, 0, 8, &be_const_str_MHZ_TXD); +be_define_const_str(MHZ_TXD, "MHZ_TXD", 3310158233u, 0, 7, &be_const_str_SAIR_TX); +be_define_const_str(SAIR_TX, "SAIR_TX", 268017311u, 0, 7, &be_const_str_sinh); +be_define_const_str(sinh, "sinh", 282220607u, 0, 4, NULL); +be_define_const_str(lv_group_focus_cb, "lv_group_focus_cb", 4288873836u, 0, 17, NULL); +be_define_const_str(SENSOR_END, "SENSOR_END", 3512542657u, 0, 10, &be_const_str_assert); +be_define_const_str(assert, "assert", 2774883451u, 0, 6, &be_const_str_reverse); +be_define_const_str(reverse, "reverse", 558918661u, 0, 7, NULL); +be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, NULL); +be_define_const_str(CNTR1, "CNTR1", 510376965u, 0, 5, &be_const_str_lv_draw_mask_saved); +be_define_const_str(lv_draw_mask_saved, "lv_draw_mask_saved", 2063709159u, 0, 18, &be_const_str_read); +be_define_const_str(read, "read", 3470762949u, 0, 4, NULL); +be_define_const_str(DDS2382_TX, "DDS2382_TX", 1438117864u, 0, 10, &be_const_str_ROT1B_NP); +be_define_const_str(ROT1B_NP, "ROT1B_NP", 3710079736u, 0, 8, NULL); +be_define_const_str(SSPI_MISO, "SSPI_MISO", 2485347173u, 0, 9, &be_const_str___upper__); +be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, NULL); +be_define_const_str(pop, "pop", 1362321360u, 0, 3, NULL); +be_define_const_str(SDCARD_CS, "SDCARD_CS", 3348952003u, 0, 9, &be_const_str__write); +be_define_const_str(_write, "_write", 2215462825u, 0, 6, &be_const_str_lv_draw_mask_line_param_cfg); +be_define_const_str(lv_draw_mask_line_param_cfg, "lv_draw_mask_line_param_cfg", 2154874825u, 0, 27, &be_const_str_setmember); +be_define_const_str(setmember, "setmember", 1432909441u, 0, 9, NULL); +be_define_const_str(I2C_Driver, "I2C_Driver", 1714501658u, 0, 10, &be_const_str_addr); +be_define_const_str(addr, "addr", 1087856498u, 0, 4, &be_const_str_find_key_i); +be_define_const_str(find_key_i, "find_key_i", 850136726u, 0, 10, NULL); +be_define_const_str(BOILER_OT_TX, "BOILER_OT_TX", 671743623u, 0, 12, &be_const_str_P9813_CLK); +be_define_const_str(P9813_CLK, "P9813_CLK", 2455391001u, 0, 9, &be_const_str_lv_area); +be_define_const_str(lv_area, "lv_area", 2521150401u, 0, 7, &be_const_str_split); +be_define_const_str(split, "split", 2276994531u, 0, 5, NULL); +be_define_const_str(CHANGE, "CHANGE", 4280911421u, 0, 6, &be_const_str_SM2135_CLK); +be_define_const_str(SM2135_CLK, "SM2135_CLK", 2383410011u, 0, 10, &be_const_str_ZEROCROSS); +be_define_const_str(ZEROCROSS, "ZEROCROSS", 1747596785u, 0, 9, &be_const_str_i2c_enabled); +be_define_const_str(i2c_enabled, "i2c_enabled", 218388101u, 0, 11, &be_const_str_lv_color); +be_define_const_str(lv_color, "lv_color", 1419148319u, 0, 8, &be_const_str_wire1); +be_define_const_str(wire1, "wire1", 3212721419u, 0, 5, NULL); +be_define_const_str(lv_draw_rect_dsc, "lv_draw_rect_dsc", 3246772488u, 0, 16, &be_const_str_seti); +be_define_const_str(seti, "seti", 1500556254u, 0, 4, NULL); +be_define_const_str(ST7789_DC, "ST7789_DC", 2533509745u, 0, 9, NULL); +be_define_const_str(var, "var", 2317739966u, 64, 3, NULL); +be_define_const_str(MCP39F5_TX, "MCP39F5_TX", 1332322047u, 0, 10, &be_const_str__ccmd); +be_define_const_str(_ccmd, "_ccmd", 2163421413u, 0, 5, NULL); +be_define_const_str(AS608_TX, "AS608_TX", 48630934u, 0, 8, &be_const_str_TM1638CLK); +be_define_const_str(TM1638CLK, "TM1638CLK", 3045182446u, 0, 9, NULL); +be_define_const_str(get_free_heap, "get_free_heap", 625069757u, 0, 13, &be_const_str_lv_keyboard); +be_define_const_str(lv_keyboard, "lv_keyboard", 197530229u, 0, 11, &be_const_str_elif); +be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL); +be_define_const_str(KEY1, "KEY1", 6715975u, 0, 4, &be_const_str_LE01MR_TX); +be_define_const_str(LE01MR_TX, "LE01MR_TX", 1589687023u, 0, 9, &be_const_str_lv_tileview); +be_define_const_str(lv_tileview, "lv_tileview", 2419887973u, 0, 11, &be_const_str_class); +be_define_const_str(class, "class", 2872970239u, 57, 5, NULL); +be_define_const_str(BUZZER_INV, "BUZZER_INV", 3274564335u, 0, 10, NULL); +be_define_const_str(lv_roller, "lv_roller", 661902064u, 0, 9, NULL); +be_define_const_str(ADC_CT_POWER, "ADC_CT_POWER", 3382284599u, 0, 12, NULL); +be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, &be_const_str_lv_draw_mask_angle_param_cfg); +be_define_const_str(lv_draw_mask_angle_param_cfg, "lv_draw_mask_angle_param_cfg", 3599767368u, 0, 28, &be_const_str_save); +be_define_const_str(save, "save", 3439296072u, 0, 4, &be_const_str_size); +be_define_const_str(size, "size", 597743964u, 0, 4, NULL); +be_define_const_str(NONE, "NONE", 1932136219u, 0, 4, NULL); +be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_on); +be_define_const_str(on, "on", 1630810064u, 0, 2, NULL); +be_define_const_str(BL0940_RX, "BL0940_RX", 2908993179u, 0, 9, &be_const_str_WIEGAND_D0); +be_define_const_str(WIEGAND_D0, "WIEGAND_D0", 4192335759u, 0, 10, NULL); +be_define_const_str(check_privileged_access, "check_privileged_access", 3692933968u, 0, 23, &be_const_str_lv_indev); +be_define_const_str(lv_indev, "lv_indev", 225602374u, 0, 8, NULL); +be_define_const_str(opt_eq, "==", 2431966415u, 0, 2, &be_const_str_TFMINIPLUS_RX); +be_define_const_str(TFMINIPLUS_RX, "TFMINIPLUS_RX", 1522203935u, 0, 13, NULL); +be_define_const_str(PULLDOWN, "PULLDOWN", 1853074086u, 0, 8, NULL); +be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_arg_name); +be_define_const_str(arg_name, "arg_name", 1345046155u, 0, 8, &be_const_str_screenshot); +be_define_const_str(screenshot, "screenshot", 3894592561u, 0, 10, &be_const_str_setbits); +be_define_const_str(setbits, "setbits", 2762408167u, 0, 7, NULL); +be_define_const_str(SYMBOL_LOOP, "SYMBOL_LOOP", 2762053208u, 0, 11, NULL); +be_define_const_str(MHZ_RXD, "MHZ_RXD", 328619727u, 0, 7, &be_const_str_get_power); +be_define_const_str(get_power, "get_power", 3009799377u, 0, 9, &be_const_str_lv_font); +be_define_const_str(lv_font, "lv_font", 1550958453u, 0, 7, NULL); +be_define_const_str(BACKLIGHT, "BACKLIGHT", 3147761926u, 0, 9, &be_const_str_BS814_CLK); +be_define_const_str(BS814_CLK, "BS814_CLK", 3002713336u, 0, 9, NULL); +be_define_const_str(PULLUP, "PULLUP", 3417628531u, 0, 6, &be_const_str_TM1637DIO); +be_define_const_str(TM1637DIO, "TM1637DIO", 1574659381u, 0, 9, &be_const_str_lv_btnmatrix); +be_define_const_str(lv_btnmatrix, "lv_btnmatrix", 626248489u, 0, 12, NULL); +be_define_const_str(SR04_ECHO, "SR04_ECHO", 1906909592u, 0, 9, NULL); +be_define_const_str(ADE7953_IRQ, "ADE7953_IRQ", 2329185922u, 0, 11, &be_const_str_classname); +be_define_const_str(classname, "classname", 1998589948u, 0, 9, &be_const_str_str); +be_define_const_str(str, "str", 3259748752u, 0, 3, NULL); +be_define_const_str(SYMBOL_PREV, "SYMBOL_PREV", 2952615023u, 0, 11, &be_const_str_add_driver); +be_define_const_str(add_driver, "add_driver", 1654458371u, 0, 10, &be_const_str_content_button); +be_define_const_str(content_button, "content_button", 1956476087u, 0, 14, NULL); +be_define_const_str(HX711_DAT, "HX711_DAT", 2935118250u, 0, 9, NULL); +be_define_const_str(dot_p, ".p", 1171526419u, 0, 2, &be_const_str_content_stop); +be_define_const_str(content_stop, "content_stop", 658554751u, 0, 12, NULL); +be_define_const_str(GPS_RX, "GPS_RX", 1075637342u, 0, 6, &be_const_str_HX711_SCK); +be_define_const_str(HX711_SCK, "HX711_SCK", 3785979404u, 0, 9, &be_const_str_RDM6300_RX); +be_define_const_str(RDM6300_RX, "RDM6300_RX", 1522345628u, 0, 10, NULL); +be_define_const_str(AZ_RXD, "AZ_RXD", 699914019u, 0, 6, NULL); +be_define_const_str(Tasmota, "Tasmota", 4047617668u, 0, 7, &be_const_str_ZIGBEE_RX); +be_define_const_str(ZIGBEE_RX, "ZIGBEE_RX", 93215470u, 0, 9, &be_const_str_imax); +be_define_const_str(imax, "imax", 3084515410u, 0, 4, &be_const_str_montserrat_font); +be_define_const_str(montserrat_font, "montserrat_font", 1819065874u, 0, 15, NULL); +be_define_const_str(srand, "srand", 465518633u, 0, 5, &be_const_str_time_reached); +be_define_const_str(time_reached, "time_reached", 2075136773u, 0, 12, &be_const_str_try_rule); +be_define_const_str(try_rule, "try_rule", 1986449405u, 0, 8, NULL); +be_define_const_str(LOW, "LOW", 3526092385u, 0, 3, &be_const_str_SDM120_TX); +be_define_const_str(SDM120_TX, "SDM120_TX", 2509332415u, 0, 9, &be_const_str_SYMBOL_BELL); +be_define_const_str(SYMBOL_BELL, "SYMBOL_BELL", 1736196487u, 0, 11, &be_const_str_tostring); +be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL); +be_define_const_str(DDS2382_RX, "DDS2382_RX", 432446462u, 0, 10, &be_const_str_HRXL_RX); +be_define_const_str(HRXL_RX, "HRXL_RX", 92702006u, 0, 7, &be_const_str_button_pressed); +be_define_const_str(button_pressed, "button_pressed", 1694209616u, 0, 14, &be_const_str_lv_arc); +be_define_const_str(lv_arc, "lv_arc", 4170125384u, 0, 6, NULL); +be_define_const_str(SDM120_RX, "SDM120_RX", 1367571753u, 0, 9, &be_const_str_SYMBOL_POWER); +be_define_const_str(SYMBOL_POWER, "SYMBOL_POWER", 1125993627u, 0, 12, &be_const_str_list); +be_define_const_str(list, "list", 217798785u, 0, 4, &be_const_str_lv_bar); +be_define_const_str(lv_bar, "lv_bar", 1582673229u, 0, 6, &be_const_str_lv_linemeter); +be_define_const_str(lv_linemeter, "lv_linemeter", 1413069363u, 0, 12, &be_const_str_lv_page); +be_define_const_str(lv_page, "lv_page", 2373170067u, 0, 7, &be_const_str_upper); +be_define_const_str(upper, "upper", 176974407u, 0, 5, NULL); +be_define_const_str(wire_scan, "wire_scan", 2671275880u, 0, 9, NULL); +be_define_const_str(SBR_RX, "SBR_RX", 3350999801u, 0, 6, &be_const_str_gamma10); +be_define_const_str(gamma10, "gamma10", 3472052483u, 0, 7, NULL); +be_define_const_str(PWM1_INV, "PWM1_INV", 3939021030u, 0, 8, &be_const_str_exec_rules); +be_define_const_str(exec_rules, "exec_rules", 1445221092u, 0, 10, NULL); +be_define_const_str(ETH_PHY_MDC, "ETH_PHY_MDC", 1519379581u, 0, 11, &be_const_str_content_send_style); +be_define_const_str(content_send_style, "content_send_style", 1087907647u, 0, 18, NULL); +be_define_const_str(run_deferred, "run_deferred", 371594696u, 0, 12, NULL); +be_define_const_str(SYMBOL_REFRESH, "SYMBOL_REFRESH", 1266229761u, 0, 14, NULL); +be_define_const_str(TASMOTACLIENT_RXD, "TASMOTACLIENT_RXD", 72868318u, 0, 17, &be_const_str_WS2812); +be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, NULL); +be_define_const_str(PROJECTOR_CTRL_TX, "PROJECTOR_CTRL_TX", 535811130u, 0, 17, &be_const_str_lv_line); +be_define_const_str(lv_line, "lv_line", 2692732914u, 0, 7, NULL); +be_define_const_str(SYMBOL_VOLUME_MAX, "SYMBOL_VOLUME_MAX", 3582646093u, 0, 17, NULL); +be_define_const_str(MAX7219CLK, "MAX7219CLK", 963568838u, 0, 10, &be_const_str_RF_SENSOR); +be_define_const_str(RF_SENSOR, "RF_SENSOR", 2289628100u, 0, 9, NULL); +be_define_const_str(WEBCAM_PCLK, "WEBCAM_PCLK", 3813770649u, 0, 11, &be_const_str_lv_imgbtn); +be_define_const_str(lv_imgbtn, "lv_imgbtn", 2402844429u, 0, 9, NULL); +be_define_const_str(try, "try", 2887626766u, 68, 3, NULL); +be_define_const_str(EPD_DATA, "EPD_DATA", 3799141097u, 0, 8, &be_const_str_cb_dispatch); +be_define_const_str(cb_dispatch, "cb_dispatch", 1741510499u, 0, 11, NULL); +be_define_const_str(ADC_PH, "ADC_PH", 3820290594u, 0, 6, &be_const_str_DHT11_OUT); +be_define_const_str(DHT11_OUT, "DHT11_OUT", 1645300734u, 0, 9, &be_const_str_SYMBOL_RIGHT); +be_define_const_str(SYMBOL_RIGHT, "SYMBOL_RIGHT", 2984010648u, 0, 12, NULL); +be_define_const_str(IBEACON_TX, "IBEACON_TX", 3471826977u, 0, 10, &be_const_str_gen_cb); +be_define_const_str(gen_cb, "gen_cb", 3245227551u, 0, 6, &be_const_str_open); +be_define_const_str(open, "open", 3546203337u, 0, 4, NULL); +be_define_const_str(OLED_RESET, "OLED_RESET", 4048987655u, 0, 10, &be_const_str_lv_cpicker); +be_define_const_str(lv_cpicker, "lv_cpicker", 1935129251u, 0, 10, NULL); +be_define_const_str(scan, "scan", 3974641896u, 0, 4, &be_const_str_toupper); +be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, NULL); +be_define_const_str(SDS0X1_RX, "SDS0X1_RX", 1170717385u, 0, 9, &be_const_str_content_send); +be_define_const_str(content_send, "content_send", 1673733649u, 0, 12, &be_const_str_lv_group); +be_define_const_str(lv_group, "lv_group", 3852039019u, 0, 8, NULL); +be_define_const_str(AS608_RX, "AS608_RX", 4275502016u, 0, 8, &be_const_str_SYMBOL_CHARGE); +be_define_const_str(SYMBOL_CHARGE, "SYMBOL_CHARGE", 2106391946u, 0, 13, &be_const_str_get_light); +be_define_const_str(get_light, "get_light", 381930476u, 0, 9, &be_const_str_load_freetype_font); +be_define_const_str(load_freetype_font, "load_freetype_font", 2368447592u, 0, 18, &be_const_str_setitem); +be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, NULL); +be_define_const_str(opt_connect, "..", 2748622605u, 0, 2, &be_const_str_SDM72_TX); +be_define_const_str(SDM72_TX, "SDM72_TX", 2042143269u, 0, 8, &be_const_str_SYMBOL_VOLUME_MID); +be_define_const_str(SYMBOL_VOLUME_MID, "SYMBOL_VOLUME_MID", 158835057u, 0, 17, &be_const_str_TELEINFO_ENABLE); +be_define_const_str(TELEINFO_ENABLE, "TELEINFO_ENABLE", 1600974501u, 0, 15, &be_const_str_collect); +be_define_const_str(collect, "collect", 2399039025u, 0, 7, NULL); +be_define_const_str(_timers, "_timers", 2600100916u, 0, 7, &be_const_str_add); +be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_isinstance); +be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, &be_const_str_rtc); +be_define_const_str(rtc, "rtc", 1070575216u, 0, 3, NULL); +be_define_const_str(lv_draw_img_dsc, "lv_draw_img_dsc", 999847907u, 0, 15, NULL); +be_define_const_str(HIGH, "HIGH", 2066738941u, 0, 4, &be_const_str_add_cmd); +be_define_const_str(add_cmd, "add_cmd", 3361630879u, 0, 7, &be_const_str_erase); +be_define_const_str(erase, "erase", 1010949589u, 0, 5, &be_const_str_as); +be_define_const_str(as, "as", 1579491469u, 67, 2, NULL); +be_define_const_str(DSB, "DSB", 98073254u, 0, 3, &be_const_str_KEY1_INV_NP); +be_define_const_str(KEY1_INV_NP, "KEY1_INV_NP", 3160558586u, 0, 11, &be_const_str___lower__); +be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, &be_const_str_set_light); +be_define_const_str(set_light, "set_light", 3176076152u, 0, 9, NULL); +be_define_const_str(ARIRFRCV, "ARIRFRCV", 1120816444u, 0, 8, &be_const_str_KEY1_NP); +be_define_const_str(KEY1_NP, "KEY1_NP", 709918726u, 0, 7, &be_const_str_WIEGAND_D1); +be_define_const_str(WIEGAND_D1, "WIEGAND_D1", 4175558140u, 0, 10, &be_const_str_find_op); +be_define_const_str(find_op, "find_op", 3766713376u, 0, 7, NULL); +be_define_const_str(NRF24_DC, "NRF24_DC", 688921313u, 0, 8, &be_const_str_content_start); +be_define_const_str(content_start, "content_start", 2937509069u, 0, 13, NULL); +be_define_const_str(SYMBOL_STOP, "SYMBOL_STOP", 2836505202u, 0, 11, &be_const_str_lv_win); +be_define_const_str(lv_win, "lv_win", 780927558u, 0, 6, &be_const_str_false); +be_define_const_str(false, "false", 184981848u, 62, 5, NULL); +be_define_const_str(A4988_STP, "A4988_STP", 1622172049u, 0, 9, &be_const_str_SYMBOL_NEXT); +be_define_const_str(SYMBOL_NEXT, "SYMBOL_NEXT", 1102844455u, 0, 11, &be_const_str_WEBCAM_XCLK); +be_define_const_str(WEBCAM_XCLK, "WEBCAM_XCLK", 536207425u, 0, 11, NULL); +be_define_const_str(WEBCAM_PSRCS, "WEBCAM_PSRCS", 624464864u, 0, 12, &be_const_str_scale_uint); +be_define_const_str(scale_uint, "scale_uint", 3090811094u, 0, 10, &be_const_str_do); +be_define_const_str(do, "do", 1646057492u, 65, 2, NULL); +be_define_const_str(OUTPUT_LO, "OUTPUT_LO", 3724620328u, 0, 9, &be_const_str_SSPI_DC); +be_define_const_str(SSPI_DC, "SSPI_DC", 1782271864u, 0, 7, &be_const_str_import); +be_define_const_str(import, "import", 288002260u, 66, 6, NULL); +be_define_const_str(push, "push", 2272264157u, 0, 4, NULL); +be_define_const_str(cos, "cos", 4220379804u, 0, 3, &be_const_str_lv_tabview); +be_define_const_str(lv_tabview, "lv_tabview", 2109024786u, 0, 10, NULL); +be_define_const_str(set_timer, "set_timer", 2135414533u, 0, 9, NULL); +be_define_const_str(DEEPSLEEP, "DEEPSLEEP", 189922226u, 0, 9, &be_const_str_ILI9341_DC); +be_define_const_str(ILI9341_DC, "ILI9341_DC", 28838624u, 0, 10, &be_const_str_yield); +be_define_const_str(yield, "yield", 1821831854u, 0, 5, NULL); +be_define_const_str(SDM630_RX, "SDM630_RX", 1971606309u, 0, 9, NULL); +be_define_const_str(DI, "DI", 1070498734u, 0, 2, &be_const_str_SYMBOL_BLUETOOTH); +be_define_const_str(SYMBOL_BLUETOOTH, "SYMBOL_BLUETOOTH", 679376572u, 0, 16, &be_const_str_lv_draw_label_dsc); +be_define_const_str(lv_draw_label_dsc, "lv_draw_label_dsc", 265601842u, 0, 17, &be_const_str_update); +be_define_const_str(update, "update", 672109684u, 0, 6, NULL); +be_define_const_str(INPUT, "INPUT", 1638025307u, 0, 5, &be_const_str_SYMBOL_NEW_LINE); +be_define_const_str(SYMBOL_NEW_LINE, "SYMBOL_NEW_LINE", 2014334315u, 0, 15, &be_const_str_ZIGBEE_RST); +be_define_const_str(ZIGBEE_RST, "ZIGBEE_RST", 721588661u, 0, 10, NULL); +be_define_const_str(SYMBOL_SD_CARD, "SYMBOL_SD_CARD", 2542376484u, 0, 14, NULL); +be_define_const_str(CC1101_GDO2, "CC1101_GDO2", 974166265u, 0, 11, &be_const_str_MGC3130_XFER); +be_define_const_str(MGC3130_XFER, "MGC3130_XFER", 4178219131u, 0, 12, &be_const_str__drivers); +be_define_const_str(_drivers, "_drivers", 3260328985u, 0, 8, NULL); +be_define_const_str(copy, "copy", 3848464964u, 0, 4, &be_const_str_detect); +be_define_const_str(detect, "detect", 8884370u, 0, 6, NULL); +be_define_const_str(SR04_TRIG, "SR04_TRIG", 68671263u, 0, 9, &be_const_str_TUYA_TX); +be_define_const_str(TUYA_TX, "TUYA_TX", 1541301465u, 0, 7, &be_const_str__cb); +be_define_const_str(_cb, "_cb", 4043300367u, 0, 3, NULL); +be_define_const_str(HALLEFFECT, "HALLEFFECT", 3334305407u, 0, 10, &be_const_str_RXD); +be_define_const_str(RXD, "RXD", 2311579049u, 0, 3, NULL); +be_define_const_str(imin, "imin", 2714127864u, 0, 4, NULL); +be_define_const_str(SYMBOL_VIDEO, "SYMBOL_VIDEO", 789726913u, 0, 12, NULL); +be_define_const_str(SYMBOL_LIST, "SYMBOL_LIST", 70793990u, 0, 11, &be_const_str_calldepth); +be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, NULL); +be_define_const_str(AZ_TXD, "AZ_TXD", 850268709u, 0, 6, &be_const_str_DSB_OUT); +be_define_const_str(DSB_OUT, "DSB_OUT", 732335085u, 0, 7, NULL); +be_define_const_str(end, "end", 1787721130u, 56, 3, NULL); +be_define_const_str(SYMBOL_BATTERY_EMPTY, "SYMBOL_BATTERY_EMPTY", 3945064277u, 0, 20, &be_const_str_lv_gauge); +be_define_const_str(lv_gauge, "lv_gauge", 118613531u, 0, 8, NULL); +be_define_const_str(for, "for", 2901640080u, 54, 3, NULL); +be_define_const_str(BUZZER, "BUZZER", 1550039611u, 0, 6, &be_const_str_member); +be_define_const_str(member, "member", 719708611u, 0, 6, NULL); +be_define_const_str(SSPI_SCLK, "SSPI_SCLK", 136688954u, 0, 9, &be_const_str_lv_draw_mask_radius_param); +be_define_const_str(lv_draw_mask_radius_param, "lv_draw_mask_radius_param", 3777679220u, 0, 25, &be_const_str_range); +be_define_const_str(range, "range", 4208725202u, 0, 5, NULL); +be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, NULL); +be_define_const_str(WEBCAM_HREF, "WEBCAM_HREF", 3161890024u, 0, 11, &be_const_str_bytes); +be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, &be_const_str_lv_signal_cb); +be_define_const_str(lv_signal_cb, "lv_signal_cb", 3295792564u, 0, 12, NULL); +be_define_const_str(Driver, "Driver", 3576386303u, 0, 6, NULL); +be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_SYMBOL_DUMMY); +be_define_const_str(SYMBOL_DUMMY, "SYMBOL_DUMMY", 3621732138u, 0, 12, &be_const_str_WEBCAM_HSD); +be_define_const_str(WEBCAM_HSD, "WEBCAM_HSD", 2648502504u, 0, 10, NULL); +be_define_const_str(IBEACON_RX, "IBEACON_RX", 2466155575u, 0, 10, &be_const_str_SYMBOL_WIFI); +be_define_const_str(SYMBOL_WIFI, "SYMBOL_WIFI", 682141303u, 0, 11, NULL); +be_define_const_str(HM10_TX, "HM10_TX", 1522037252u, 0, 7, NULL); +be_define_const_str(BOILER_OT_RX, "BOILER_OT_RX", 603647409u, 0, 12, &be_const_str_SM16716_CLK); +be_define_const_str(SM16716_CLK, "SM16716_CLK", 3037641483u, 0, 11, &be_const_str_SYMBOL_EJECT); +be_define_const_str(SYMBOL_EJECT, "SYMBOL_EJECT", 873760647u, 0, 12, NULL); +be_define_const_str(item, "item", 2671260646u, 0, 4, NULL); be_define_const_str(SDS0X1_TX, "SDS0X1_TX", 165045983u, 0, 9, &be_const_str_deg); be_define_const_str(deg, "deg", 3327754271u, 0, 3, NULL); -be_define_const_str(pop, "pop", 1362321360u, 0, 3, &be_const_str_scan); -be_define_const_str(scan, "scan", 3974641896u, 0, 4, NULL); -be_define_const_str(set, "set", 3324446467u, 0, 3, NULL); -be_define_const_str(OLED_RESET, "OLED_RESET", 4048987655u, 0, 10, &be_const_str_SHELLY_DIMMER_RST_INV); -be_define_const_str(SHELLY_DIMMER_RST_INV, "SHELLY_DIMMER_RST_INV", 2366759773u, 0, 21, &be_const_str_remove); -be_define_const_str(remove, "remove", 3683784189u, 0, 6, &be_const_str_true); +be_define_const_str(OPEN_DRAIN, "OPEN_DRAIN", 677872608u, 0, 10, &be_const_str_SYMBOL_DOWNLOAD); +be_define_const_str(SYMBOL_DOWNLOAD, "SYMBOL_DOWNLOAD", 2607324090u, 0, 15, &be_const_str_SYMBOL_EDIT); +be_define_const_str(SYMBOL_EDIT, "SYMBOL_EDIT", 1396182822u, 0, 11, &be_const_str_geti); +be_define_const_str(geti, "geti", 2381006490u, 0, 4, &be_const_str_lv_label); +be_define_const_str(lv_label, "lv_label", 4199664246u, 0, 8, NULL); +be_define_const_str(_rules, "_rules", 4266217105u, 0, 6, NULL); +be_define_const_str(insert, "insert", 3332609576u, 0, 6, &be_const_str_register_button_encoder); +be_define_const_str(register_button_encoder, "register_button_encoder", 2811301550u, 0, 23, NULL); +be_define_const_str(web_add_config_button, "web_add_config_button", 639674325u, 0, 21, &be_const_str_true); be_define_const_str(true, "true", 1303515621u, 61, 4, NULL); -be_define_const_str(OUTPUT_LO, "OUTPUT_LO", 3724620328u, 0, 9, NULL); -be_define_const_str(SYMBOL_VOLUME_MID, "SYMBOL_VOLUME_MID", 158835057u, 0, 17, NULL); -be_define_const_str(SYMBOL_BATTERY_2, "SYMBOL_BATTERY_2", 645813682u, 0, 16, NULL); -be_define_const_str(lv_checkbox, "lv_checkbox", 7454841u, 0, 11, &be_const_str_web_add_config_button); -be_define_const_str(web_add_config_button, "web_add_config_button", 639674325u, 0, 21, NULL); -be_define_const_str(DDSU666_RX, "DDSU666_RX", 1812507936u, 0, 10, &be_const_str_PULLDOWN); -be_define_const_str(PULLDOWN, "PULLDOWN", 1853074086u, 0, 8, NULL); -be_define_const_str(TM1637DIO, "TM1637DIO", 1574659381u, 0, 9, &be_const_str_setbits); -be_define_const_str(setbits, "setbits", 2762408167u, 0, 7, NULL); -be_define_const_str(ADC_TEMP, "ADC_TEMP", 3771053440u, 0, 8, &be_const_str_WINDMETER_SPEED); -be_define_const_str(WINDMETER_SPEED, "WINDMETER_SPEED", 1980822204u, 0, 15, &be_const_str_top); -be_define_const_str(top, "top", 2802900028u, 0, 3, NULL); -be_define_const_str(opt_eq, "==", 2431966415u, 0, 2, &be_const_str_issubclass); -be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, NULL); -be_define_const_str(DDS2382_RX, "DDS2382_RX", 432446462u, 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_EDIT); -be_define_const_str(SYMBOL_EDIT, "SYMBOL_EDIT", 1396182822u, 0, 11, &be_const_str_item); -be_define_const_str(item, "item", 2671260646u, 0, 4, &be_const_str_setitem); -be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, &be_const_str_setrange); -be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL); -be_define_const_str(RISING, "RISING", 1256404539u, 0, 6, &be_const_str_SYMBOL_BATTERY_3); -be_define_const_str(SYMBOL_BATTERY_3, "SYMBOL_BATTERY_3", 662591301u, 0, 16, &be_const_str_byte); -be_define_const_str(byte, "byte", 1683620383u, 0, 4, NULL); -be_define_const_str(ADC_BUTTON, "ADC_BUTTON", 3393454690u, 0, 10, &be_const_str_ST7789_CS); -be_define_const_str(ST7789_CS, "ST7789_CS", 2937305434u, 0, 9, &be_const_str_montserrat_font); -be_define_const_str(montserrat_font, "montserrat_font", 1819065874u, 0, 15, NULL); -be_define_const_str(ROT1B, "ROT1B", 809932573u, 0, 5, &be_const_str_SYMBOL_PREV); -be_define_const_str(SYMBOL_PREV, "SYMBOL_PREV", 2952615023u, 0, 11, &be_const_str_lv_slider); -be_define_const_str(lv_slider, "lv_slider", 2274180781u, 0, 9, &be_const_str_sin); -be_define_const_str(sin, "sin", 3761252941u, 0, 3, NULL); -be_define_const_str(ETH_PHY_POWER, "ETH_PHY_POWER", 487529454u, 0, 13, &be_const_str_exp); -be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_resp_cmnd); -be_define_const_str(resp_cmnd, "resp_cmnd", 2869459626u, 0, 9, &be_const_str_while); -be_define_const_str(while, "while", 231090382u, 53, 5, NULL); -be_define_const_str(VL53L0X_XSHUT1, "VL53L0X_XSHUT1", 2341134183u, 0, 14, NULL); -be_define_const_str(CNTR1, "CNTR1", 510376965u, 0, 5, &be_const_str_SENSOR_END); -be_define_const_str(SENSOR_END, "SENSOR_END", 3512542657u, 0, 10, NULL); -be_define_const_str(count, "count", 967958004u, 0, 5, NULL); -be_define_const_str(SYMBOL_RIGHT, "SYMBOL_RIGHT", 2984010648u, 0, 12, &be_const_str_pi); -be_define_const_str(pi, "pi", 1213090802u, 0, 2, &be_const_str_except); -be_define_const_str(except, "except", 950914032u, 69, 6, NULL); -be_define_const_str(char, "char", 2823553821u, 0, 4, &be_const_str_lv_draw_rect_dsc_t); -be_define_const_str(lv_draw_rect_dsc_t, "lv_draw_rect_dsc_t", 1045666835u, 0, 18, NULL); -be_define_const_str(PROJECTOR_CTRL_RX, "PROJECTOR_CTRL_RX", 1542762460u, 0, 17, &be_const_str_state); -be_define_const_str(state, "state", 2016490230u, 0, 5, NULL); -be_define_const_str(MP3_DFR562, "MP3_DFR562", 2859952977u, 0, 10, &be_const_str_NRG_CF1); -be_define_const_str(NRG_CF1, "NRG_CF1", 3292534757u, 0, 7, &be_const_str_WE517_TX); -be_define_const_str(WE517_TX, "WE517_TX", 2954817217u, 0, 8, &be_const_str_upper); -be_define_const_str(upper, "upper", 176974407u, 0, 5, NULL); -be_define_const_str(add_driver, "add_driver", 1654458371u, 0, 10, NULL); -be_define_const_str(SM16716_DAT, "SM16716_DAT", 1905621806u, 0, 11, NULL); -be_define_const_str(SBR_TX, "SBR_TX", 3419096015u, 0, 6, &be_const_str_set_power); -be_define_const_str(set_power, "set_power", 549820893u, 0, 9, NULL); -be_define_const_str(ADC_INPUT, "ADC_INPUT", 2207556878u, 0, 9, &be_const_str_classof); -be_define_const_str(classof, "classof", 1796577762u, 0, 7, NULL); -be_define_const_str(SYMBOL_BELL, "SYMBOL_BELL", 1736196487u, 0, 11, &be_const_str_TCP_RX); -be_define_const_str(TCP_RX, "TCP_RX", 3904354751u, 0, 6, &be_const_str_split); -be_define_const_str(split, "split", 2276994531u, 0, 5, NULL); -be_define_const_str(PWM1_INV, "PWM1_INV", 3939021030u, 0, 8, &be_const_str_TELEINFO_RX); -be_define_const_str(TELEINFO_RX, "TELEINFO_RX", 1195717356u, 0, 11, NULL); -be_define_const_str(SSPI_CS, "SSPI_CS", 977784795u, 0, 7, &be_const_str_SYMBOL_UPLOAD); -be_define_const_str(SYMBOL_UPLOAD, "SYMBOL_UPLOAD", 3293679647u, 0, 13, &be_const_str_lv_spinner); -be_define_const_str(lv_spinner, "lv_spinner", 3361501901u, 0, 10, NULL); +be_define_const_str(SYMBOL_BULLET, "SYMBOL_BULLET", 587181862u, 0, 13, &be_const_str_SYMBOL_CLOSE); +be_define_const_str(SYMBOL_CLOSE, "SYMBOL_CLOSE", 2654402806u, 0, 12, &be_const_str_SYMBOL_CUT); +be_define_const_str(SYMBOL_CUT, "SYMBOL_CUT", 3455112394u, 0, 10, &be_const_str__request_from); +be_define_const_str(_request_from, "_request_from", 3965148604u, 0, 13, &be_const_str_lower); +be_define_const_str(lower, "lower", 3038577850u, 0, 5, NULL); +be_define_const_str(SYMBOL_UPLOAD, "SYMBOL_UPLOAD", 3293679647u, 0, 13, &be_const_str_ctypes_bytes); +be_define_const_str(ctypes_bytes, "ctypes_bytes", 3879019703u, 0, 12, NULL); +be_define_const_str(lv_draw_mask_common_dsc, "lv_draw_mask_common_dsc", 1429224708u, 0, 23, NULL); +be_define_const_str(LE01MR_RX, "LE01MR_RX", 1521590809u, 0, 9, NULL); +be_define_const_str(web_add_main_button, "web_add_main_button", 3960367664u, 0, 19, NULL); +be_define_const_str(floor, "floor", 3102149661u, 0, 5, &be_const_str_seg7_font); +be_define_const_str(seg7_font, "seg7_font", 4099690689u, 0, 9, NULL); +be_define_const_str(DCKI, "DCKI", 3846847480u, 0, 4, &be_const_str_I2C_SDA); +be_define_const_str(I2C_SDA, "I2C_SDA", 1052592262u, 0, 7, NULL); +be_define_const_str(ILI9341_CS, "ILI9341_CS", 3519318851u, 0, 10, &be_const_str_lv_cb); +be_define_const_str(lv_cb, "lv_cb", 1389787433u, 0, 5, NULL); static const bstring* const m_string_table[] = { - (const bstring *)&be_const_str_RF_SENSOR, NULL, - (const bstring *)&be_const_str_GPS_TX, - (const bstring *)&be_const_str_lv_draw_mask_line_param_t, - (const bstring *)&be_const_str_TM1638DIO, + (const bstring *)&be_const_str_lv_style, + (const bstring *)&be_const_str_ETH_PHY_MDIO, + (const bstring *)&be_const_str_bus, + (const bstring *)&be_const_str_ROT1A, + (const bstring *)&be_const_str_EPAPER42_CS, + (const bstring *)&be_const_str_MCP39F5_RST, + (const bstring *)&be_const_str_SYMBOL_SETTINGS, + (const bstring *)&be_const_str_pi, + (const bstring *)&be_const_str_acos, + NULL, + (const bstring *)&be_const_str_SYMBOL_BACKSPACE, + (const bstring *)&be_const_str_resp_cmnd, + (const bstring *)&be_const_str_NRG_SEL, + (const bstring *)&be_const_str_SYMBOL_OK, + (const bstring *)&be_const_str_SYMBOL_BATTERY_3, + (const bstring *)&be_const_str_ADC_TEMP, + (const bstring *)&be_const_str_SPI_DC, + (const bstring *)&be_const_str_MIEL_HVAC_RX, + (const bstring *)&be_const_str_SHELLY_DIMMER_RST_INV, + (const bstring *)&be_const_str_MAX7219CS, + (const bstring *)&be_const_str_SDM72_RX, + (const bstring *)&be_const_str_ADC_LIGHT, + (const bstring *)&be_const_str_lv_dropdown, + NULL, + (const bstring *)&be_const_str_A4988_DIR, + (const bstring *)&be_const_str_IEM3000_TX, + (const bstring *)&be_const_str_BS814_DAT, + (const bstring *)&be_const_str_opt_add, + NULL, + (const bstring *)&be_const_str_delay, + (const bstring *)&be_const_str_iter, + (const bstring *)&be_const_str_fromstring, + NULL, + (const bstring *)&be_const_str_CNTR1_NP, + NULL, + (const bstring *)&be_const_str_tanh, + (const bstring *)&be_const_str_lv_objmask, + (const bstring *)&be_const_str_SOLAXX1_RX, + (const bstring *)&be_const_str_HRE_CLOCK, + (const bstring *)&be_const_str_SYMBOL_AUDIO, + NULL, + (const bstring *)&be_const_str_RC522_CS, (const bstring *)&be_const_str_REL1, NULL, - (const bstring *)&be_const_str_CSE7766_TX, - (const bstring *)&be_const_str_allocated, - (const bstring *)&be_const_str_KEY1_TC, - (const bstring *)&be_const_str_SPI_MOSI, - (const bstring *)&be_const_str_RFRECV, - (const bstring *)&be_const_str_PROJECTOR_CTRL_TX, - (const bstring *)&be_const_str_SDCARD_CS, - (const bstring *)&be_const_str_add, - (const bstring *)&be_const_str_CC1101_GDO0, - (const bstring *)&be_const_str_FTC532, - (const bstring *)&be_const_str_cb_dispatch, - (const bstring *)&be_const_str_DDSU666_TX, - (const bstring *)&be_const_str_IBEACON_RX, - NULL, - (const bstring *)&be_const_str_TELEINFO_ENABLE, - (const bstring *)&be_const_str_SYMBOL_PLAY, - (const bstring *)&be_const_str_add_cmd, - NULL, - (const bstring *)&be_const_str_lv_tileview, - NULL, - (const bstring *)&be_const_str_AZ_RXD, - (const bstring *)&be_const_str_PN532_TXD, - (const bstring *)&be_const_str_SYMBOL_DIRECTORY, - NULL, - (const bstring *)&be_const_str_ctypes_bytes, - (const bstring *)&be_const_str_SYMBOL_MINUS, - (const bstring *)&be_const_str_CC1101_GDO2, - (const bstring *)&be_const_str_gamma8, - (const bstring *)&be_const_str_ST7789_DC, - NULL, - (const bstring *)&be_const_str_SYMBOL_PASTE, - (const bstring *)&be_const_str_IRRECV, - (const bstring *)&be_const_str_SM2135_CLK, - (const bstring *)&be_const_str_ILI9341_DC, - (const bstring *)&be_const_str_TFMINIPLUS_TX, - (const bstring *)&be_const_str__request_from, - (const bstring *)&be_const_str_A4988_DIR, - (const bstring *)&be_const_str_ADC_BUTTON_INV, - (const bstring *)&be_const_str_resp_cmnd_error, - (const bstring *)&be_const_str_MAX7219CS, - (const bstring *)&be_const_str_MAX31855CS, - (const bstring *)&be_const_str_TASMOTACLIENT_TXD, - (const bstring *)&be_const_str_LE01MR_RX, - (const bstring *)&be_const_str_ADE7953_IRQ, - (const bstring *)&be_const_str_DHT22, - (const bstring *)&be_const_str_SR04_ECHO, - (const bstring *)&be_const_str_BS814_DAT, - (const bstring *)&be_const_str_SYMBOL_SD_CARD, - NULL, - (const bstring *)&be_const_str_SYMBOL_LIST, - NULL, - (const bstring *)&be_const_str_lv_chart, - (const bstring *)&be_const_str_erase, - (const bstring *)&be_const_str__buffer, - (const bstring *)&be_const_str_content_send_style, - (const bstring *)&be_const_str_json_append, - NULL, - (const bstring *)&be_const_str_web_add_main_button, - (const bstring *)&be_const_str_ETH_PHY_MDC, - (const bstring *)&be_const_str_TX2X_TXD_BLACK, - (const bstring *)&be_const_str_EXS_ENABLE, - (const bstring *)&be_const_str_I2C_SCL, (const bstring *)&be_const_str_PZEM016_RX, - (const bstring *)&be_const_str_CNTR1_NP, - (const bstring *)&be_const_str_TUYA_TX, - (const bstring *)&be_const_str_ROT1B_NP, - (const bstring *)&be_const_str__available, - (const bstring *)&be_const_str_IEM3000_RX, - (const bstring *)&be_const_str_lv_img, - (const bstring *)&be_const_str_PZEM004_RX, - (const bstring *)&be_const_str_NRG_SEL, - (const bstring *)&be_const_str_KEY1_NP, - (const bstring *)&be_const_str_BUZZER_INV, - (const bstring *)&be_const_str_NRF24_CS, - (const bstring *)&be_const_str_EPAPER42_CS, - (const bstring *)&be_const_str_CSE7761_RX, - (const bstring *)&be_const_str_SM16716_SEL, - (const bstring *)&be_const_str_lv_canvas, + (const bstring *)&be_const_str_SYMBOL_TRASH, + (const bstring *)&be_const_str_REL1_INV, + (const bstring *)&be_const_str_FTC532, + (const bstring *)&be_const_str_opt_neq, + (const bstring *)&be_const_str_ADC_INPUT, + (const bstring *)&be_const_str_cmd, + (const bstring *)&be_const_str_lv_btn, + (const bstring *)&be_const_str_gc, + (const bstring *)&be_const_str_WINDMETER_SPEED, + (const bstring *)&be_const_str_WEBCAM_SIOC, + (const bstring *)&be_const_str_I2C_SCL, + (const bstring *)&be_const_str_RISING, + (const bstring *)&be_const_str__read, + (const bstring *)&be_const_str_SYMBOL_SHUFFLE, + (const bstring *)&be_const_str_DDSU666_TX, + (const bstring *)&be_const_str_RFRECV, + (const bstring *)&be_const_str_PZEM017_RX, + (const bstring *)&be_const_str_KEY1_INV, + (const bstring *)&be_const_str_ADC_BUTTON, + (const bstring *)&be_const_str_get_tasmota, + (const bstring *)&be_const_str_MIEL_HVAC_TX, NULL, - (const bstring *)&be_const_str_HRXL_RX, - (const bstring *)&be_const_str_SDM120_RX, - (const bstring *)&be_const_str_MAX7219CLK, - (const bstring *)&be_const_str_SAIR_RX, - (const bstring *)&be_const_str_SYMBOL_BLUETOOTH, - (const bstring *)&be_const_str_AZ_TXD, - (const bstring *)&be_const_str_exec_rules, - (const bstring *)&be_const_str_SDM630_TX, - (const bstring *)&be_const_str_lv_draw_mask_map_param_cfg_t, - (const bstring *)&be_const_str_LE01MR_TX, - (const bstring *)&be_const_str_A4988_ENA, - (const bstring *)&be_const_str_SSPI_MOSI, - (const bstring *)&be_const_str_on, - (const bstring *)&be_const_str_KEY1, - (const bstring *)&be_const_str_SYMBOL_STOP, - NULL, - NULL, - (const bstring *)&be_const_str__drivers, - (const bstring *)&be_const_str_ZIGBEE_TX, - (const bstring *)&be_const_str_MCP39F5_RX, - NULL, - (const bstring *)&be_const_str_opt_connect, - (const bstring *)&be_const_str_imin, - NULL, - (const bstring *)&be_const_str_rand, + (const bstring *)&be_const_str_SPI_MOSI, + (const bstring *)&be_const_str_MD5, + (const bstring *)&be_const_str_PMS5003_RX, + (const bstring *)&be_const_str_dump, + (const bstring *)&be_const_str_SYMBOL_EYE_CLOSE, + (const bstring *)&be_const_str_SYMBOL_IMAGE, + (const bstring *)&be_const_str_HPMA_RX, + (const bstring *)&be_const_str_CC1101_GDO0, + (const bstring *)&be_const_str_super, + (const bstring *)&be_const_str_TCP_RX, + (const bstring *)&be_const_str_HPMA_TX, + (const bstring *)&be_const_str_TCP_TX, + (const bstring *)&be_const_str_remove_rule, + (const bstring *)&be_const_str_KEY1_TC, + (const bstring *)&be_const_str_lv_cont, NULL, + (const bstring *)&be_const_str_every_100ms, + (const bstring *)&be_const_str_CSE7766_TX, + (const bstring *)&be_const_str_SM2135_DAT, + (const bstring *)&be_const_str_input, + (const bstring *)&be_const_str_IRRECV, + (const bstring *)&be_const_str_MGC3130_RESET, + (const bstring *)&be_const_str_resp_cmnd_failed, + (const bstring *)&be_const_str_ADC_RANGE, (const bstring *)&be_const_str_PZEM0XX_TX, - (const bstring *)&be_const_str_A4988_MS1, - (const bstring *)&be_const_str_SSD1351_CS, - (const bstring *)&be_const_str_CHANGE, + (const bstring *)&be_const_str_LEDLNK_INV, + (const bstring *)&be_const_str__end_transmission, + (const bstring *)&be_const_str_get, (const bstring *)&be_const_str_SPI_MISO, - (const bstring *)&be_const_str_TUYA_RX, - (const bstring *)&be_const_str_BS814_CLK, - (const bstring *)&be_const_str_wire1, - (const bstring *)&be_const_str_IEM3000_TX, - (const bstring *)&be_const_str_NRF24_DC, - (const bstring *)&be_const_str_lv_calendar, - (const bstring *)&be_const_str_EPD_DATA, - (const bstring *)&be_const_str_WS2812, - (const bstring *)&be_const_str_ILI9488_CS, NULL, - (const bstring *)&be_const_str_lv_draw_mask_radius_param_t, - (const bstring *)&be_const_str_PWM1, - (const bstring *)&be_const_str_HIGH, - (const bstring *)&be_const_str_SSPI_SCLK, - (const bstring *)&be_const_str_CSE7766_RX, - (const bstring *)&be_const_str_web_send_decimal, - (const bstring *)&be_const_str_resolvecmnd, + (const bstring *)&be_const_str_format, + (const bstring *)&be_const_str_MAX7219DIN, + (const bstring *)&be_const_str_HM10_RX, + (const bstring *)&be_const_str_getbits, + NULL, + (const bstring *)&be_const_str_A4988_MS1, + NULL, + NULL, + (const bstring *)&be_const_str_NRF24_CS, + (const bstring *)&be_const_str_SSD1331_DC, + (const bstring *)&be_const_str_PMS5003_TX, + (const bstring *)&be_const_str_exec_cmd, + (const bstring *)&be_const_str_HLW_CF, + (const bstring *)&be_const_str_SYMBOL_DIRECTORY, + (const bstring *)&be_const_str_ST7789_CS, + (const bstring *)&be_const_str_SYMBOL_BATTERY_FULL, + (const bstring *)&be_const_str_log10, + (const bstring *)&be_const_str_TXD, + (const bstring *)&be_const_str_SYMBOL_EYE_OPEN, + (const bstring *)&be_const_str_EXS_ENABLE, + (const bstring *)&be_const_str_PROJECTOR_CTRL_RX, + (const bstring *)&be_const_str_SBR_TX, + (const bstring *)&be_const_str_MAX31855DO, + (const bstring *)&be_const_str_byte, + (const bstring *)&be_const_str_write, + NULL, + (const bstring *)&be_const_str_GPS_TX, + (const bstring *)&be_const_str_ELECTRIQ_MOODL_TX, + (const bstring *)&be_const_str_lv_switch, + (const bstring *)&be_const_str_SAIR_RX, + (const bstring *)&be_const_str_SSPI_MAX31865_CS1, + (const bstring *)&be_const_str_DHT22, + (const bstring *)&be_const_str_deinit, + NULL, + (const bstring *)&be_const_str_SYMBOL_FILE, + (const bstring *)&be_const_str_ROT1A_NP, + (const bstring *)&be_const_str_IEM3000_RX, + NULL, + (const bstring *)&be_const_str_has_arg, + (const bstring *)&be_const_str_SSPI_MOSI, + (const bstring *)&be_const_str_CSE7761_TX, + (const bstring *)&be_const_str_LMT01, + (const bstring *)&be_const_str_PN532_RXD, + (const bstring *)&be_const_str_INPUT_PULLDOWN, + (const bstring *)&be_const_str_CSE7761_RX, + (const bstring *)&be_const_str_NRG_SEL_INV, + NULL, + (const bstring *)&be_const_str_ILI9488_CS, (const bstring *)&be_const_str_opt_call, NULL, - (const bstring *)&be_const_str_HM10_TX, - NULL, - (const bstring *)&be_const_str_WEBCAM_VSYNC, - (const bstring *)&be_const_str_ROT1A_NP, - (const bstring *)&be_const_str_SSPI_DC, + (const bstring *)&be_const_str_SHELLY_DIMMER_BOOT0, + (const bstring *)&be_const_str_LED1, + (const bstring *)&be_const_str_INPUT_PULLUP, + (const bstring *)&be_const_str_MAX31855CLK, + (const bstring *)&be_const_str_SYMBOL_GPS, (const bstring *)&be_const_str_SWT1_NP, - (const bstring *)&be_const_str_OUTPUT_OPEN_DRAIN, - (const bstring *)&be_const_str_add_rule, - (const bstring *)&be_const_str_SYMBOL_DOWN, - (const bstring *)&be_const_str_BOILER_OT_RX, - (const bstring *)&be_const_str_EPAPER29_CS, - (const bstring *)&be_const_str_WIEGAND_D0, - (const bstring *)&be_const_str_SYMBOL_PLUS, - (const bstring *)&be_const_str_BUZZER, - (const bstring *)&be_const_str_MIEL_HVAC_RX, - (const bstring *)&be_const_str_AS3935, - NULL, + (const bstring *)&be_const_str_dot_def, (const bstring *)&be_const_str_DHT11, - (const bstring *)&be_const_str_OUTPUT, - (const bstring *)&be_const_str_SI7021, - (const bstring *)&be_const_str_SYMBOL_CUT, - (const bstring *)&be_const_str_read8, - (const bstring *)&be_const_str_HM10_RX, - (const bstring *)&be_const_str_gamma10, - (const bstring *)&be_const_str_CSE7761_TX, - (const bstring *)&be_const_str_SYMBOL_SAVE, + (const bstring *)&be_const_str_ETH_PHY_POWER, + (const bstring *)&be_const_str_TFMINIPLUS_TX, + (const bstring *)&be_const_str_EPAPER29_CS, + (const bstring *)&be_const_str_event, + (const bstring *)&be_const_str_ADC_JOY, + (const bstring *)&be_const_str_CSE7766_RX, + (const bstring *)&be_const_str_IRSEND, + (const bstring *)&be_const_str_RFSEND, + (const bstring *)&be_const_str_TX2X_TXD_BLACK, + (const bstring *)&be_const_str_TUYA_RX, NULL, (const bstring *)&be_const_str_HRE_DATA, - (const bstring *)&be_const_str_DEEPSLEEP, - (const bstring *)&be_const_str_TCP_TX, - (const bstring *)&be_const_str_HPMA_TX, - (const bstring *)&be_const_str_dot_p, - NULL, - (const bstring *)&be_const_str_SSD1351_DC, - (const bstring *)&be_const_str_DCKI, - NULL, - (const bstring *)&be_const_str_asstring, - (const bstring *)&be_const_str_abs, - (const bstring *)&be_const_str_attrdump, - NULL, - (const bstring *)&be_const_str_AS608_TX, - NULL, - (const bstring *)&be_const_str_MCP39F5_RST, - (const bstring *)&be_const_str_SPI_DC, - (const bstring *)&be_const_str_reverse_gamma10, - (const bstring *)&be_const_str_LOW, - (const bstring *)&be_const_str_HX711_DAT, - (const bstring *)&be_const_str_TXD, - (const bstring *)&be_const_str_SPI_CLK, - (const bstring *)&be_const_str_DSB_OUT, - (const bstring *)&be_const_str_dot_def, - (const bstring *)&be_const_str_HRE_CLOCK, - (const bstring *)&be_const_str_SHELLY_DIMMER_BOOT0, - (const bstring *)&be_const_str_, - (const bstring *)&be_const_str_delay, - (const bstring *)&be_const_str_BOILER_OT_TX, - (const bstring *)&be_const_str__read, - (const bstring *)&be_const_str_content_button, - (const bstring *)&be_const_str_HX711_SCK, - (const bstring *)&be_const_str_getbits, - (const bstring *)&be_const_str__get_cb, - (const bstring *)&be_const_str_ADC_RANGE, - NULL, - (const bstring *)&be_const_str_NRG_SEL_INV, - (const bstring *)&be_const_str_number, - (const bstring *)&be_const_str_LMT01, - NULL, - NULL, - (const bstring *)&be_const_str_DHT11_OUT, - (const bstring *)&be_const_str_ILI9341_CS, - (const bstring *)&be_const_str_DDS2382_TX, - (const bstring *)&be_const_str_opt_neq, - (const bstring *)&be_const_str_fromstring, - (const bstring *)&be_const_str_bus, - (const bstring *)&be_const_str_format, - (const bstring *)&be_const_str___upper__, - (const bstring *)&be_const_str_SSPI_MAX31865_CS1, - (const bstring *)&be_const_str__rules, - (const bstring *)&be_const_str_P9813_DAT, - (const bstring *)&be_const_str_LED1, - (const bstring *)&be_const_str_opt_add, - (const bstring *)&be_const_str_SYMBOL_KEYBOARD, + (const bstring *)&be_const_str_DDSU666_RX, + (const bstring *)&be_const_str_SM16716_SEL, + (const bstring *)&be_const_str_ADC_BUTTON_INV, + (const bstring *)&be_const_str_MP3_DFR562, (const bstring *)&be_const_str_rad, + (const bstring *)&be_const_str_ARIRFSEL, + (const bstring *)&be_const_str_lv_group_focus_cb, + (const bstring *)&be_const_str_SENSOR_END, + (const bstring *)&be_const_str_codedump, + (const bstring *)&be_const_str_CNTR1, + (const bstring *)&be_const_str_DDS2382_TX, + (const bstring *)&be_const_str_SSPI_MISO, + (const bstring *)&be_const_str_pop, + (const bstring *)&be_const_str_SDCARD_CS, + (const bstring *)&be_const_str_I2C_Driver, + (const bstring *)&be_const_str_BOILER_OT_TX, NULL, - (const bstring *)&be_const_str_ARIRFRCV, - (const bstring *)&be_const_str_SDM120_TX, + (const bstring *)&be_const_str_CHANGE, + (const bstring *)&be_const_str_lv_draw_rect_dsc, + (const bstring *)&be_const_str_ST7789_DC, + (const bstring *)&be_const_str_var, + (const bstring *)&be_const_str_MCP39F5_TX, + (const bstring *)&be_const_str_AS608_TX, + (const bstring *)&be_const_str_get_free_heap, + NULL, + (const bstring *)&be_const_str_KEY1, + NULL, + (const bstring *)&be_const_str_BUZZER_INV, + (const bstring *)&be_const_str_lv_roller, + (const bstring *)&be_const_str_ADC_CT_POWER, + (const bstring *)&be_const_str_asstring, + (const bstring *)&be_const_str_NONE, + (const bstring *)&be_const_str_exp, + (const bstring *)&be_const_str_BL0940_RX, + (const bstring *)&be_const_str_check_privileged_access, + (const bstring *)&be_const_str_opt_eq, + (const bstring *)&be_const_str_PULLDOWN, + (const bstring *)&be_const_str_, + (const bstring *)&be_const_str_SYMBOL_LOOP, + (const bstring *)&be_const_str_MHZ_RXD, (const bstring *)&be_const_str_BACKLIGHT, NULL, - (const bstring *)&be_const_str_HLW_CF, - (const bstring *)&be_const_str_BL0940_RX, NULL, - (const bstring *)&be_const_str_Driver, - (const bstring *)&be_const_str_FALLING, - (const bstring *)&be_const_str_lv_dropdown, - (const bstring *)&be_const_str_SYMBOL_PAUSE, (const bstring *)&be_const_str_PULLUP, - (const bstring *)&be_const_str_SYMBOL_CHARGE, + (const bstring *)&be_const_str_SR04_ECHO, NULL, - (const bstring *)&be_const_str__end_transmission, - (const bstring *)&be_const_str_P9813_CLK, - (const bstring *)&be_const_str_ADC_JOY, - (const bstring *)&be_const_str_event, + (const bstring *)&be_const_str_ADE7953_IRQ, + (const bstring *)&be_const_str_SYMBOL_PREV, + (const bstring *)&be_const_str_HX711_DAT, + (const bstring *)&be_const_str_dot_p, + (const bstring *)&be_const_str_GPS_RX, + (const bstring *)&be_const_str_AZ_RXD, + (const bstring *)&be_const_str_Tasmota, + (const bstring *)&be_const_str_srand, + NULL, + (const bstring *)&be_const_str_LOW, + (const bstring *)&be_const_str_DDS2382_RX, + (const bstring *)&be_const_str_SDM120_RX, + (const bstring *)&be_const_str_wire_scan, + (const bstring *)&be_const_str_SBR_RX, + (const bstring *)&be_const_str_PWM1_INV, + (const bstring *)&be_const_str_ETH_PHY_MDC, + (const bstring *)&be_const_str_run_deferred, + (const bstring *)&be_const_str_SYMBOL_REFRESH, + (const bstring *)&be_const_str_TASMOTACLIENT_RXD, + NULL, + (const bstring *)&be_const_str_PROJECTOR_CTRL_TX, + (const bstring *)&be_const_str_SYMBOL_VOLUME_MAX, + (const bstring *)&be_const_str_MAX7219CLK, + (const bstring *)&be_const_str_WEBCAM_PCLK, + (const bstring *)&be_const_str_try, + (const bstring *)&be_const_str_EPD_DATA, + (const bstring *)&be_const_str_ADC_PH, NULL, - (const bstring *)&be_const_str_MHZ_RXD, - (const bstring *)&be_const_str_DI, - (const bstring *)&be_const_str_HJL_CF, - (const bstring *)&be_const_str_SPI_CS, - (const bstring *)&be_const_str_SDM72_TX, - (const bstring *)&be_const_str_HPMA_RX, - (const bstring *)&be_const_str_LED1_INV, NULL, (const bstring *)&be_const_str_IBEACON_TX, - (const bstring *)&be_const_str_TASMOTACLIENT_RXD, - (const bstring *)&be_const_str_concat, - (const bstring *)&be_const_str_PMS5003_TX, - (const bstring *)&be_const_str_SBR_RX, - (const bstring *)&be_const_str_addr, - NULL, - (const bstring *)&be_const_str_I2C_SDA, - (const bstring *)&be_const_str_every_second, - (const bstring *)&be_const_str_ROT1A, - (const bstring *)&be_const_str_MHZ_TXD, - (const bstring *)&be_const_str_ADC_PH, - (const bstring *)&be_const_str_INPUT, - (const bstring *)&be_const_str_lv_switch, - (const bstring *)&be_const_str_acos, - (const bstring *)&be_const_str_continue, - (const bstring *)&be_const_str_INPUT_PULLDOWN, - (const bstring *)&be_const_str_DSB, - (const bstring *)&be_const_str_ADC_CT_POWER, - (const bstring *)&be_const_str_pop, - (const bstring *)&be_const_str_set, NULL, (const bstring *)&be_const_str_OLED_RESET, + (const bstring *)&be_const_str_scan, + (const bstring *)&be_const_str_SDS0X1_RX, + (const bstring *)&be_const_str_AS608_RX, + (const bstring *)&be_const_str_opt_connect, + (const bstring *)&be_const_str__timers, + (const bstring *)&be_const_str_lv_draw_img_dsc, + NULL, + (const bstring *)&be_const_str_HIGH, + (const bstring *)&be_const_str_DSB, + NULL, + (const bstring *)&be_const_str_ARIRFRCV, + (const bstring *)&be_const_str_NRF24_DC, + (const bstring *)&be_const_str_SYMBOL_STOP, + (const bstring *)&be_const_str_A4988_STP, + (const bstring *)&be_const_str_WEBCAM_PSRCS, + NULL, (const bstring *)&be_const_str_OUTPUT_LO, - (const bstring *)&be_const_str_SYMBOL_VOLUME_MID, - (const bstring *)&be_const_str_SYMBOL_BATTERY_2, - (const bstring *)&be_const_str_lv_checkbox, - (const bstring *)&be_const_str_DDSU666_RX, - (const bstring *)&be_const_str_TM1637DIO, + (const bstring *)&be_const_str_push, + (const bstring *)&be_const_str_cos, + (const bstring *)&be_const_str_set_timer, + (const bstring *)&be_const_str_DEEPSLEEP, + (const bstring *)&be_const_str_SDM630_RX, + (const bstring *)&be_const_str_DI, + (const bstring *)&be_const_str_INPUT, + (const bstring *)&be_const_str_SYMBOL_SD_CARD, + (const bstring *)&be_const_str_CC1101_GDO2, + (const bstring *)&be_const_str_copy, + (const bstring *)&be_const_str_SR04_TRIG, NULL, - NULL, - (const bstring *)&be_const_str_ADC_TEMP, - (const bstring *)&be_const_str_opt_eq, - (const bstring *)&be_const_str_DDS2382_RX, - (const bstring *)&be_const_str_RISING, - (const bstring *)&be_const_str_ADC_BUTTON, - (const bstring *)&be_const_str_ROT1B, - (const bstring *)&be_const_str_ETH_PHY_POWER, - (const bstring *)&be_const_str_VL53L0X_XSHUT1, - NULL, - (const bstring *)&be_const_str_CNTR1, - (const bstring *)&be_const_str_count, - NULL, - (const bstring *)&be_const_str_SYMBOL_RIGHT, - (const bstring *)&be_const_str_char, - (const bstring *)&be_const_str_PROJECTOR_CTRL_RX, - (const bstring *)&be_const_str_MP3_DFR562, - NULL, - (const bstring *)&be_const_str_add_driver, - (const bstring *)&be_const_str_SM16716_DAT, - (const bstring *)&be_const_str_SBR_TX, - (const bstring *)&be_const_str_ADC_INPUT, - (const bstring *)&be_const_str_SYMBOL_BELL, - (const bstring *)&be_const_str_PWM1_INV, - (const bstring *)&be_const_str_SSPI_CS + (const bstring *)&be_const_str_HALLEFFECT, + (const bstring *)&be_const_str_imin, + (const bstring *)&be_const_str_SYMBOL_VIDEO, + (const bstring *)&be_const_str_SYMBOL_LIST, + (const bstring *)&be_const_str_AZ_TXD, + (const bstring *)&be_const_str_end, + (const bstring *)&be_const_str_SYMBOL_BATTERY_EMPTY, + (const bstring *)&be_const_str_for, + (const bstring *)&be_const_str_BUZZER, + (const bstring *)&be_const_str_SSPI_SCLK, + (const bstring *)&be_const_str_issubclass, + (const bstring *)&be_const_str_WEBCAM_HREF, + (const bstring *)&be_const_str_Driver, + (const bstring *)&be_const_str_OPTION_A, + (const bstring *)&be_const_str_IBEACON_RX, + (const bstring *)&be_const_str_HM10_TX, + (const bstring *)&be_const_str_BOILER_OT_RX, + (const bstring *)&be_const_str_item, + (const bstring *)&be_const_str_SDS0X1_TX, + (const bstring *)&be_const_str_OPEN_DRAIN, + (const bstring *)&be_const_str__rules, + (const bstring *)&be_const_str_insert, + (const bstring *)&be_const_str_web_add_config_button, + (const bstring *)&be_const_str_SYMBOL_BULLET, + (const bstring *)&be_const_str_SYMBOL_UPLOAD, + (const bstring *)&be_const_str_lv_draw_mask_common_dsc, + (const bstring *)&be_const_str_LE01MR_RX, + (const bstring *)&be_const_str_web_add_main_button, + (const bstring *)&be_const_str_floor, + (const bstring *)&be_const_str_DCKI, + (const bstring *)&be_const_str_ILI9341_CS }; static const struct bconststrtab m_const_string_table = { - .size = 302, - .count = 605, + .size = 306, + .count = 612, .table = m_string_table }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_ctypes_classes.h b/lib/libesp32/Berry/generate/be_fixed_be_class_ctypes_classes.h index ae0476edb..7f559c508 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_ctypes_classes.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_ctypes_classes.h @@ -1,25 +1,25 @@ #include "be_constobj.h" static be_define_const_map_slots(be_class_ctypes_classes_map) { - { be_const_key(lv_draw_mask_line_param_cfg_t, 1), be_const_int(0) }, - { be_const_key(lv_draw_mask_radius_param_t, 8), be_const_int(0) }, - { be_const_key(lv_draw_mask_radius_param_cfg_t, 12), be_const_int(0) }, - { be_const_key(lv_draw_mask_saved_t, -1), be_const_int(0) }, - { be_const_key(lv_draw_mask_line_param_t, 9), be_const_int(0) }, - { be_const_key(lv_area_t, -1), be_const_int(0) }, - { be_const_key(lv_draw_mask_map_param_cfg_t, -1), be_const_int(0) }, - { be_const_key(lv_draw_mask_map_param_t, -1), be_const_int(0) }, - { be_const_key(lv_draw_line_dsc_t, -1), be_const_int(0) }, - { be_const_key(lv_draw_label_dsc_t, -1), be_const_int(0) }, - { be_const_key(lv_draw_mask_common_dsc_t, 2), be_const_int(0) }, - { be_const_key(lv_draw_rect_dsc_t, -1), be_const_int(0) }, - { be_const_key(lv_draw_mask_fade_param_cfg_t, -1), be_const_int(0) }, - { be_const_key(lv_sqrt_res_t, 7), be_const_int(0) }, - { be_const_key(lv_point_t, -1), be_const_int(0) }, - { be_const_key(lv_draw_mask_angle_param_cfg_t, -1), be_const_int(0) }, - { be_const_key(lv_draw_mask_fade_param_t, -1), be_const_int(0) }, - { be_const_key(lv_draw_mask_angle_param_t, 15), be_const_int(0) }, - { be_const_key(lv_draw_img_dsc_t, -1), be_const_int(0) }, + { be_const_key(lv_draw_mask_radius_param_cfg, -1), be_const_int(0) }, + { be_const_key(lv_draw_img_dsc, 14), be_const_int(0) }, + { be_const_key(lv_draw_mask_radius_param, -1), be_const_int(0) }, + { be_const_key(lv_point, 4), be_const_int(0) }, + { be_const_key(lv_draw_mask_fade_param_cfg, 5), be_const_int(0) }, + { be_const_key(lv_draw_mask_map_param, -1), be_const_int(0) }, + { be_const_key(lv_draw_label_dsc, -1), be_const_int(0) }, + { be_const_key(lv_area, 17), be_const_int(0) }, + { be_const_key(lv_draw_mask_angle_param_cfg, 3), be_const_int(0) }, + { be_const_key(lv_draw_mask_line_param_cfg, -1), be_const_int(0) }, + { be_const_key(lv_draw_mask_saved, 12), be_const_int(0) }, + { be_const_key(lv_draw_mask_map_param_cfg, -1), be_const_int(0) }, + { be_const_key(lv_draw_rect_dsc, -1), be_const_int(0) }, + { be_const_key(lv_draw_mask_angle_param, -1), be_const_int(0) }, + { be_const_key(lv_draw_line_dsc, 15), be_const_int(0) }, + { be_const_key(lv_draw_mask_common_dsc, -1), be_const_int(0) }, + { be_const_key(lv_draw_mask_line_param, -1), be_const_int(0) }, + { be_const_key(lv_sqrt_res, -1), be_const_int(0) }, + { be_const_key(lv_draw_mask_fade_param, 13), be_const_int(0) }, }; static be_define_const_map( diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_draw_line.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_draw_line.h new file mode 100644 index 000000000..834966f29 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_draw_line.h @@ -0,0 +1,20 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_class_lv_draw_line_map) { + { be_const_key(init, 2), be_const_func(lvbe_draw_line_create) }, + { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(member, 0), be_const_func(lvx_member) }, +}; + +static be_define_const_map( + be_class_lv_draw_line_map, + 4 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_class_lv_draw_line, + 1, + NULL, + lv_draw_line +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h index c8428ec95..002804d30 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h @@ -15,6 +15,6 @@ static be_define_const_map( BE_EXPORT_VARIABLE be_define_const_class( be_class_lv_indev, 1, - (bclass *)&be_class_lv_obj, + NULL, lv_indev ); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h index f3bc896ad..1ef46979f 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h @@ -15,6 +15,6 @@ static be_define_const_map( BE_EXPORT_VARIABLE be_define_const_class( be_class_lv_style, 1, - (bclass *)&be_class_lv_obj, + NULL, lv_style ); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_lv_design_cb.h b/lib/libesp32/Berry/generate/be_fixed_be_lv_design_cb.h new file mode 100644 index 000000000..57553ca9b --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_lv_design_cb.h @@ -0,0 +1,17 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_lv_design_cb_map) { + { be_const_key(call, -1), be_const_func(lv_design_cb_call) }, +}; + +static be_define_const_map( + be_lv_design_cb_map, + 1 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_lv_design_cb, + 0, + (bclass *)&be_lvgl_cb, + lv_design_cb +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_lv_event_cb.h b/lib/libesp32/Berry/generate/be_fixed_be_lv_event_cb.h new file mode 100644 index 000000000..80882b52b --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_lv_event_cb.h @@ -0,0 +1,17 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_lv_event_cb_map) { + { be_const_key(call, -1), be_const_func(lv_event_cb_call) }, +}; + +static be_define_const_map( + be_lv_event_cb_map, + 1 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_lv_event_cb, + 0, + (bclass *)&be_lvgl_cb, + lv_event_cb +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_lv_gauge_format_cb.h b/lib/libesp32/Berry/generate/be_fixed_be_lv_gauge_format_cb.h new file mode 100644 index 000000000..a04edfe20 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_lv_gauge_format_cb.h @@ -0,0 +1,17 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_lv_gauge_format_cb_map) { + { be_const_key(call, -1), be_const_func(lv_gauge_format_cb_call) }, +}; + +static be_define_const_map( + be_lv_gauge_format_cb_map, + 1 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_lv_gauge_format_cb, + 0, + (bclass *)&be_lvgl_cb, + lv_gauge_format_cb +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_lv_group_focus_cb.h b/lib/libesp32/Berry/generate/be_fixed_be_lv_group_focus_cb.h new file mode 100644 index 000000000..b1f6902e4 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_lv_group_focus_cb.h @@ -0,0 +1,17 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_lv_group_focus_cb_map) { + { be_const_key(call, -1), be_const_func(lv_group_focus_cb_call) }, +}; + +static be_define_const_map( + be_lv_group_focus_cb_map, + 1 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_lv_group_focus_cb, + 0, + (bclass *)&be_lvgl_cb, + lv_group_focus_cb +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_lv_signal_cb.h b/lib/libesp32/Berry/generate/be_fixed_be_lv_signal_cb.h new file mode 100644 index 000000000..c7841a809 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_lv_signal_cb.h @@ -0,0 +1,17 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_lv_signal_cb_map) { + { be_const_key(call, -1), be_const_func(lv_signal_cb_call) }, +}; + +static be_define_const_map( + be_lv_signal_cb_map, + 1 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_lv_signal_cb, + 0, + (bclass *)&be_lvgl_cb, + lv_signal_cb +); diff --git a/lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h b/lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h new file mode 100644 index 000000000..7348587a9 --- /dev/null +++ b/lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h @@ -0,0 +1,20 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(be_lvgl_cb_map) { + { be_const_key(dot_p, -1), be_const_int(0) }, + { be_const_key(tostring, 2), be_const_func(lvx_tostring) }, + { be_const_key(call, -1), be_const_func(lv_cb_call) }, + { be_const_key(init, 0), be_const_func(lv0_init) }, +}; + +static be_define_const_map( + be_lvgl_cb_map, + 4 +); + +BE_EXPORT_VARIABLE be_define_const_class( + be_lvgl_cb, + 1, + NULL, + lv_cb +); diff --git a/tasmota/berry/modules/lvgl_ctypes.be b/tasmota/berry/modules/lvgl_ctypes.be index e314fb40a..61b3fdf7c 100644 --- a/tasmota/berry/modules/lvgl_ctypes.be +++ b/tasmota/berry/modules/lvgl_ctypes.be @@ -10,17 +10,17 @@ import ctypes ctypes.print_types() -lv_style_int_t = ctypes.i16 -lv_color_t = ctypes.u16 # depends on colors -lv_grad_dir_t = ctypes.u8 -lv_opa_t = ctypes.u8 -lv_blend_mode_t = ctypes.u8 -lv_align_t = ctypes.u8 -lv_coord_t = ctypes.i16 -lv_bidi_dir_t = ctypes.u8 -lv_txt_flag_t = ctypes.u8 -lv_text_decor_t = ctypes.u8 -lv_font_t = ctypes.u32 +lv_style_int = ctypes.i16 +lv_color = ctypes.u16 # depends on colors +lv_grad_dir = ctypes.u8 +lv_opa = ctypes.u8 +lv_blend_mode = ctypes.u8 +lv_align = ctypes.u8 +lv_coord = ctypes.i16 +lv_bidi_dir = ctypes.u8 +lv_txt_flag = ctypes.u8 +lv_text_decor = ctypes.u8 +lv_font = ctypes.u32 uint8_t_1 = ctypes.bf_1 uint8_t_2 = ctypes.bf_2 uint8_t = ctypes.u8 @@ -29,158 +29,158 @@ uint32_t = ctypes.u32 int32_t = ctypes.i32 ptr = ctypes.u32 -lv_point_t = [ - [lv_coord_t, "x"], - [lv_coord_t, "y"], +lv_point = [ + [lv_coord, "x"], + [lv_coord, "y"], ] -lv_point_t = ctypes.structure(lv_point_t, "lv_point_t") +lv_point = ctypes.structure(lv_point, "lv_point") -lv_area_t = [ - [lv_coord_t, "x1"], - [lv_coord_t, "y1"], - [lv_coord_t, "x2"], - [lv_coord_t, "y2"], +lv_area = [ + [lv_coord, "x1"], + [lv_coord, "y1"], + [lv_coord, "x2"], + [lv_coord, "y2"], ] -lv_area_t = ctypes.structure(lv_area_t, "lv_area_t") +lv_area = ctypes.structure(lv_area, "lv_area") # test_t = [ -# [lv_area_t, "a"], -# [lv_area_t, "b"] +# [lv_area, "a"], +# [lv_area, "b"] # ] # test_t = ctypes.structure(test_t, "test_t") -lv_draw_rect_dsc_t = [ - [lv_style_int_t, "radius"], +lv_draw_rect_dsc = [ + [lv_style_int, "radius"], #/*Background*/ - [lv_color_t, "bg_color"], - [lv_color_t, "bg_grad_color"], - [lv_grad_dir_t, "bg_grad_dir"], - [lv_style_int_t, "bg_main_color_stop"], - [lv_style_int_t, "bg_grad_color_stop"], - [lv_opa_t, "bg_opa"], - [lv_blend_mode_t, "bg_blend_mode"], + [lv_color, "bg_color"], + [lv_color, "bg_grad_color"], + [lv_grad_dir, "bg_grad_dir"], + [lv_style_int, "bg_main_color_stop"], + [lv_style_int, "bg_grad_color_stop"], + [lv_opa, "bg_opa"], + [lv_blend_mode, "bg_blend_mode"], #/*Border*/ - [lv_color_t, "border_color"], - [lv_style_int_t, "border_width"], - [lv_style_int_t, "border_side"], - [lv_opa_t, "border_opa"], - [lv_blend_mode_t, "border_blend_mode"], + [lv_color, "border_color"], + [lv_style_int, "border_width"], + [lv_style_int, "border_side"], + [lv_opa, "border_opa"], + [lv_blend_mode, "border_blend_mode"], [uint8_t_1, "border_post"], #/*Outline*/ - [lv_color_t, "outline_color"], - [lv_style_int_t, "outline_width"], - [lv_style_int_t, "outline_pad"], - [lv_opa_t, "outline_opa"], - [lv_blend_mode_t, "outline_blend_mode"], + [lv_color, "outline_color"], + [lv_style_int, "outline_width"], + [lv_style_int, "outline_pad"], + [lv_opa, "outline_opa"], + [lv_blend_mode, "outline_blend_mode"], #/*Shadow*/ - [lv_color_t, "shadow_color"], - [lv_style_int_t, "shadow_width"], - [lv_style_int_t, "shadow_ofs_x"], - [lv_style_int_t, "shadow_ofs_y"], - [lv_style_int_t, "shadow_spread"], - [lv_opa_t, "shadow_opa"], - [lv_blend_mode_t, "shadow_blend_mode"], + [lv_color, "shadow_color"], + [lv_style_int, "shadow_width"], + [lv_style_int, "shadow_ofs_x"], + [lv_style_int, "shadow_ofs_y"], + [lv_style_int, "shadow_spread"], + [lv_opa, "shadow_opa"], + [lv_blend_mode, "shadow_blend_mode"], #/*Pattern*/ [ptr, "pattern_image"], [ptr, "pattern_font"], - [lv_color_t, "pattern_recolor"], - [lv_opa_t, "pattern_opa"], - [lv_opa_t, "pattern_recolor_opa"], + [lv_color, "pattern_recolor"], + [lv_opa, "pattern_opa"], + [lv_opa, "pattern_recolor_opa"], [uint8_t_1, "pattern_repeat"], - [lv_blend_mode_t, "pattern_blend_mode"], + [lv_blend_mode, "pattern_blend_mode"], #/*Value*/ [ptr, "value_str"], [ptr, "value_font"], - [lv_opa_t, "value_opa"], - [lv_color_t, "value_color"], - [lv_style_int_t, "value_ofs_x"], - [lv_style_int_t, "value_ofs_y"], - [lv_style_int_t, "value_letter_space"], - [lv_style_int_t, "value_line_space"], - [lv_align_t, "value_align"], - [lv_blend_mode_t, "value_blend_mode"], + [lv_opa, "value_opa"], + [lv_color, "value_color"], + [lv_style_int, "value_ofs_x"], + [lv_style_int, "value_ofs_y"], + [lv_style_int, "value_letter_space"], + [lv_style_int, "value_line_space"], + [lv_align, "value_align"], + [lv_blend_mode, "value_blend_mode"], ] -lv_draw_rect_dsc_t = ctypes.structure(lv_draw_rect_dsc_t, "lv_draw_rect_dsc_t") +lv_draw_rect_dsc = ctypes.structure(lv_draw_rect_dsc, "lv_draw_rect_dsc") -lv_draw_line_dsc_t = [ - [lv_color_t, "color"], - [lv_style_int_t, "width"], - [lv_style_int_t, "dash_width"], - [lv_style_int_t, "dash_gap"], - [lv_opa_t, "opa"], +lv_draw_line_dsc = [ + [lv_color, "color"], + [lv_style_int, "width"], + [lv_style_int, "dash_width"], + [lv_style_int, "dash_gap"], + [lv_opa, "opa"], [uint8_t_2, "blend_mode"], [uint8_t_1, "round_start"], [uint8_t_1, "round_end"], [uint8_t_1, "raw_end"], ] -lv_draw_line_dsc_t = ctypes.structure(lv_draw_line_dsc_t, "lv_draw_line_dsc_t") +lv_draw_line_dsc = ctypes.structure(lv_draw_line_dsc, "lv_draw_line_dsc") -lv_draw_img_dsc_t = [ - [lv_opa_t, "opa"], +lv_draw_img_dsc = [ + [lv_opa, "opa"], [uint16_t, "angle"], - [lv_point_t, "pivot"], + [lv_point, "pivot"], [uint16_t, "zoom"], - [lv_opa_t, "recolor_opa"], - [lv_color_t, "recolor"], - [lv_blend_mode_t, "blend_mode"], + [lv_opa, "recolor_opa"], + [lv_color, "recolor"], + [lv_blend_mode, "blend_mode"], [uint8_t_1, "antialias"], ] -lv_draw_img_dsc_t = ctypes.structure(lv_draw_img_dsc_t, "lv_draw_img_dsc_t") +lv_draw_img_dsc = ctypes.structure(lv_draw_img_dsc, "lv_draw_img_dsc") -lv_draw_label_dsc_t = [ - [lv_color_t, "color"], - [lv_color_t, "sel_color"], - [lv_color_t, "sel_bg_color"], - [lv_font_t, "font"], - [lv_opa_t, "opa"], - [lv_style_int_t, "line_space"], - [lv_style_int_t, "letter_space"], +lv_draw_label_dsc = [ + [lv_color, "color"], + [lv_color, "sel_color"], + [lv_color, "sel_bg_color"], + [lv_font, "font"], + [lv_opa, "opa"], + [lv_style_int, "line_space"], + [lv_style_int, "letter_space"], [uint32_t, "sel_start"], [uint32_t, "sel_end"], - [lv_coord_t, "ofs_x"], - [lv_coord_t, "ofs_y"], - [lv_bidi_dir_t, "bidi_dir"], - [lv_txt_flag_t, "flag"], - [lv_text_decor_t, "decor"], - [lv_blend_mode_t, "blend_mode"], + [lv_coord, "ofs_x"], + [lv_coord, "ofs_y"], + [lv_bidi_dir, "bidi_dir"], + [lv_txt_flag, "flag"], + [lv_text_decor, "decor"], + [lv_blend_mode, "blend_mode"], ] -lv_draw_label_dsc_t = ctypes.structure(lv_draw_label_dsc_t, "lv_draw_label_dsc_t") +lv_draw_label_dsc = ctypes.structure(lv_draw_label_dsc, "lv_draw_label_dsc") #- --------- lv_mask --------- -# -lv_draw_mask_xcb_t = ptr # callback -lv_draw_mask_type_t = ctypes.u8 -lv_draw_mask_line_side_t = ctypes.u8 +lv_draw_mask_xcb = ptr # callback +lv_draw_mask_type = ctypes.u8 +lv_draw_mask_line_side = ctypes.u8 -lv_draw_mask_common_dsc_t = [ - [lv_draw_mask_xcb_t, "cb"], - [lv_draw_mask_type_t, "type"], +lv_draw_mask_common_dsc = [ + [lv_draw_mask_xcb, "cb"], + [lv_draw_mask_type, "type"], ] -lv_draw_mask_common_dsc_t = ctypes.structure(lv_draw_mask_common_dsc_t, "lv_draw_mask_common_dsc_t") +lv_draw_mask_common_dsc = ctypes.structure(lv_draw_mask_common_dsc, "lv_draw_mask_common_dsc") -lv_draw_mask_line_param_cfg_t = [ +lv_draw_mask_line_param_cfg = [ #/*First point */ - [lv_point_t, "p1"], + [lv_point, "p1"], #/*Second point*/ - [lv_point_t, "p2"], + [lv_point, "p2"], #/*Which side to keep?*/ [uint8_t_2, "side"], ] -lv_draw_mask_line_param_cfg_t = ctypes.structure(lv_draw_mask_line_param_cfg_t, "lv_draw_mask_line_param_cfg_t") +lv_draw_mask_line_param_cfg = ctypes.structure(lv_draw_mask_line_param_cfg, "lv_draw_mask_line_param_cfg") -lv_draw_mask_line_param_t = [ +lv_draw_mask_line_param = [ #/*The first element must be the common descriptor*/ - [lv_draw_mask_common_dsc_t, "dsc"], - [lv_draw_mask_line_param_cfg_t, "cfg"], + [lv_draw_mask_common_dsc, "dsc"], + [lv_draw_mask_line_param_cfg, "cfg"], #/*A point of the line*/ - [lv_point_t, "origo"], + [lv_point, "origo"], #/* X / (1024*Y) steepness (X is 0..1023 range). What is the change of X in 1024 Y?*/ [int32_t, "xy_steep"], #/* Y / (1024*X) steepness (Y is 0..1023 range). What is the change of Y in 1024 X?*/ @@ -195,85 +195,85 @@ lv_draw_mask_line_param_t = [ # * It is used to select left/right/top/bottom*/ [uint8_t_1, "inv"], ] -lv_draw_mask_line_param_t = ctypes.structure(lv_draw_mask_line_param_t, "lv_draw_mask_line_param_t") +lv_draw_mask_line_param = ctypes.structure(lv_draw_mask_line_param, "lv_draw_mask_line_param") -lv_draw_mask_angle_param_cfg_t = [ - [lv_point_t, "vertex_p"], - [lv_coord_t, "start_angle"], - [lv_coord_t, "end_angle"], +lv_draw_mask_angle_param_cfg = [ + [lv_point, "vertex_p"], + [lv_coord, "start_angle"], + [lv_coord, "end_angle"], ] -lv_draw_mask_angle_param_cfg_t = ctypes.structure(lv_draw_mask_angle_param_cfg_t, "lv_draw_mask_angle_param_cfg_t") +lv_draw_mask_angle_param_cfg = ctypes.structure(lv_draw_mask_angle_param_cfg, "lv_draw_mask_angle_param_cfg") -lv_draw_mask_angle_param_t = [ +lv_draw_mask_angle_param = [ #/*The first element must be the common descriptor*/ - [lv_draw_mask_common_dsc_t, "dsc"], - [lv_draw_mask_angle_param_cfg_t, "cfg"], + [lv_draw_mask_common_dsc, "dsc"], + [lv_draw_mask_angle_param_cfg, "cfg"], - [lv_draw_mask_line_param_t, "start_line"], - [lv_draw_mask_line_param_t, "end_line"], + [lv_draw_mask_line_param, "start_line"], + [lv_draw_mask_line_param, "end_line"], [uint16_t, "delta_deg"], ] -lv_draw_mask_angle_param_t = ctypes.structure(lv_draw_mask_angle_param_t, "lv_draw_mask_angle_param_t") +lv_draw_mask_angle_param = ctypes.structure(lv_draw_mask_angle_param, "lv_draw_mask_angle_param") -lv_draw_mask_radius_param_cfg_t = [ - [lv_area_t, "rect"], - [lv_coord_t, "radius"], +lv_draw_mask_radius_param_cfg = [ + [lv_area, "rect"], + [lv_coord, "radius"], [uint8_t_1, "outer"], ] -lv_draw_mask_radius_param_cfg_t = ctypes.structure(lv_draw_mask_radius_param_cfg_t, "lv_draw_mask_radius_param_cfg_t") +lv_draw_mask_radius_param_cfg = ctypes.structure(lv_draw_mask_radius_param_cfg, "lv_draw_mask_radius_param_cfg") -lv_sqrt_res_t = [ +lv_sqrt_res = [ [uint16_t, "i"], [uint16_t, "f"], ] -lv_sqrt_res_t = ctypes.structure(lv_sqrt_res_t, "lv_sqrt_res_t") +lv_sqrt_res = ctypes.structure(lv_sqrt_res, "lv_sqrt_res") -lv_draw_mask_radius_param_t = [ +lv_draw_mask_radius_param = [ #/*The first element must be the common descriptor*/ - [lv_draw_mask_common_dsc_t, "dsc"], - [lv_draw_mask_radius_param_cfg_t, "cfg"], + [lv_draw_mask_common_dsc, "dsc"], + [lv_draw_mask_radius_param_cfg, "cfg"], [int32_t, "y_prev"], - [lv_sqrt_res_t, "y_prev_x"], + [lv_sqrt_res, "y_prev_x"], ] -lv_draw_mask_radius_param_t = ctypes.structure(lv_draw_mask_radius_param_t, "lv_draw_mask_radius_param_t") +lv_draw_mask_radius_param = ctypes.structure(lv_draw_mask_radius_param, "lv_draw_mask_radius_param") -lv_draw_mask_fade_param_cfg_t = [ - [lv_area_t, "coords"], - [lv_coord_t, "y_top"], - [lv_coord_t, "y_bottom"], - [lv_opa_t, "opa_top"], - [lv_opa_t, "opa_bottom"], +lv_draw_mask_fade_param_cfg = [ + [lv_area, "coords"], + [lv_coord, "y_top"], + [lv_coord, "y_bottom"], + [lv_opa, "opa_top"], + [lv_opa, "opa_bottom"], ] -lv_draw_mask_fade_param_cfg_t = ctypes.structure(lv_draw_mask_fade_param_cfg_t, "lv_draw_mask_fade_param_cfg_t") +lv_draw_mask_fade_param_cfg = ctypes.structure(lv_draw_mask_fade_param_cfg, "lv_draw_mask_fade_param_cfg") -lv_draw_mask_fade_param_t = [ +lv_draw_mask_fade_param = [ # /*The first element must be the common descriptor*/ - [lv_draw_mask_common_dsc_t, "dsc"], - [lv_draw_mask_fade_param_cfg_t, "cfg"], + [lv_draw_mask_common_dsc, "dsc"], + [lv_draw_mask_fade_param_cfg, "cfg"], ] -lv_draw_mask_fade_param_t = ctypes.structure(lv_draw_mask_fade_param_t, "lv_draw_mask_fade_param_t") +lv_draw_mask_fade_param = ctypes.structure(lv_draw_mask_fade_param, "lv_draw_mask_fade_param") -lv_draw_mask_map_param_cfg_t = [ - [lv_area_t, "coords"], +lv_draw_mask_map_param_cfg = [ + [lv_area, "coords"], [ptr, "map"], ] -lv_draw_mask_map_param_cfg_t = ctypes.structure(lv_draw_mask_map_param_cfg_t, "lv_draw_mask_map_param_cfg_t") +lv_draw_mask_map_param_cfg = ctypes.structure(lv_draw_mask_map_param_cfg, "lv_draw_mask_map_param_cfg") -lv_draw_mask_map_param_t = [ +lv_draw_mask_map_param = [ #/*The first element must be the common descriptor*/ - [lv_draw_mask_common_dsc_t, "dsc"], - [lv_draw_mask_map_param_cfg_t, "cfg"], + [lv_draw_mask_common_dsc, "dsc"], + [lv_draw_mask_map_param_cfg, "cfg"], ] -lv_draw_mask_map_param_t = ctypes.structure(lv_draw_mask_map_param_t, "lv_draw_mask_map_param_t") +lv_draw_mask_map_param = ctypes.structure(lv_draw_mask_map_param, "lv_draw_mask_map_param") -lv_draw_mask_saved_t = [ +lv_draw_mask_saved = [ [ptr, "param"], [ptr, "custom_id"], ] -lv_draw_mask_saved_t = ctypes.structure(lv_draw_mask_saved_t, "lv_draw_mask_saved_t") +lv_draw_mask_saved = ctypes.structure(lv_draw_mask_saved, "lv_draw_mask_saved") # ctypes.print_classes() @@ -286,7 +286,7 @@ ctypes.print_classes() #- Ex -bb=ctypes.buffer(lv_draw_line_dsc_t) +bb=ctypes.buffer(lv_draw_line_dsc) bb.color bb.blend_mode @@ -302,12 +302,12 @@ bb.raw_end = 1 bb.blend_mode=0 - bytes('FFFF0000000000000010') -lv_draw_line_dsc_t = [ - [lv_color_t, "color"], - [lv_style_int_t, "width"], - [lv_style_int_t, "dash_width"], - [lv_style_int_t, "dash_gap"], - [lv_opa_t, "opa"], +lv_draw_line_dsc = [ + [lv_color, "color"], + [lv_style_int, "width"], + [lv_style_int, "dash_width"], + [lv_style_int, "dash_gap"], + [lv_opa, "opa"], [uint8_t_2, "blend_mode"], [uint8_t_1, "round_start"], [uint8_t_1, "round_end"], diff --git a/tasmota/lvgl_berry/be_lv_c_mapping.h b/tasmota/lvgl_berry/be_lv_c_mapping.h index 95eeaeb33..2ffb0a49d 100644 --- a/tasmota/lvgl_berry/be_lv_c_mapping.h +++ b/tasmota/lvgl_berry/be_lv_c_mapping.h @@ -12,6 +12,16 @@ extern "C" { /* `lv_img` methods */ #if BE_LV_WIDGET_IMG const lvbe_call_c_t lv_img_func[] = { + { "buf_free", (void*) &lv_img_buf_free, "", "(lv_img_dsc)" }, + { "buf_get_img_size", (void*) &lv_img_buf_get_img_size, "i", "ii(lv_img_cf)" }, + { "buf_get_px_alpha", (void*) &lv_img_buf_get_px_alpha, "i", "(lv_img_dsc)ii" }, + { "buf_get_px_color", (void*) &lv_img_buf_get_px_color, "lv_color", "(lv_img_dsc)ii(lv_color)" }, + { "buf_set_palette", (void*) &lv_img_buf_set_palette, "", "(lv_img_dsc)i(lv_color)" }, + { "buf_set_px_alpha", (void*) &lv_img_buf_set_px_alpha, "", "(lv_img_dsc)iii" }, + { "buf_set_px_color", (void*) &lv_img_buf_set_px_color, "", "(lv_img_dsc)ii(lv_color)" }, + { "cf_get_px_size", (void*) &lv_img_cf_get_px_size, "i", "(lv_img_cf)" }, + { "cf_has_alpha", (void*) &lv_img_cf_has_alpha, "b", "(lv_img_cf)" }, + { "cf_is_chroma_keyed", (void*) &lv_img_cf_is_chroma_keyed, "b", "(lv_img_cf)" }, { "create", (void*) &lv_img_create, "+lv_img", "(lv_obj)(lv_obj)" }, { "get_angle", (void*) &lv_img_get_angle, "i", "(lv_obj)" }, { "get_antialias", (void*) &lv_img_get_antialias, "b", "(lv_obj)" }, @@ -149,6 +159,7 @@ const lvbe_call_c_t lv_group_func[] = { { "focus_prev", (void*) &lv_group_focus_prev, "", "(lv_group)" }, { "get_click_focus", (void*) &lv_group_get_click_focus, "b", "(lv_group)" }, { "get_editing", (void*) &lv_group_get_editing, "b", "(lv_group)" }, + { "get_focus_cb", (void*) &lv_group_get_focus_cb, "lv_group_focus_cb", "(lv_group)" }, { "get_focused", (void*) &lv_group_get_focused, "lv_obj", "(lv_group)" }, { "get_wrap", (void*) &lv_group_get_wrap, "b", "(lv_group)" }, { "remove_all_objs", (void*) &lv_group_remove_all_objs, "", "(lv_group)" }, @@ -203,11 +214,13 @@ const lvbe_call_c_t lv_obj_func[] = { { "get_child_back", (void*) &lv_obj_get_child_back, "lv_obj", "(lv_obj)(lv_obj)" }, { "get_click", (void*) &lv_obj_get_click, "b", "(lv_obj)" }, { "get_coords", (void*) &lv_obj_get_coords, "", "(lv_obj)(lv_area)" }, + { "get_design_cb", (void*) &lv_obj_get_design_cb, "lv_design_cb", "(lv_obj)" }, { "get_drag", (void*) &lv_obj_get_drag, "b", "(lv_obj)" }, { "get_drag_dir", (void*) &lv_obj_get_drag_dir, "i", "(lv_obj)" }, { "get_drag_parent", (void*) &lv_obj_get_drag_parent, "b", "(lv_obj)" }, { "get_drag_throw", (void*) &lv_obj_get_drag_throw, "b", "(lv_obj)" }, { "get_draw_rect_ext_pad_size", (void*) &lv_obj_get_draw_rect_ext_pad_size, "i", "(lv_obj)i" }, + { "get_event_cb", (void*) &lv_obj_get_event_cb, "lv_event_cb", "(lv_obj)" }, { "get_ext_attr", (void*) &lv_obj_get_ext_attr, ".", "(lv_obj)" }, { "get_ext_click_pad_bottom", (void*) &lv_obj_get_ext_click_pad_bottom, "i", "(lv_obj)" }, { "get_ext_click_pad_left", (void*) &lv_obj_get_ext_click_pad_left, "i", "(lv_obj)" }, @@ -229,6 +242,7 @@ const lvbe_call_c_t lv_obj_func[] = { { "get_parent_event", (void*) &lv_obj_get_parent_event, "b", "(lv_obj)" }, { "get_protect", (void*) &lv_obj_get_protect, "i", "(lv_obj)" }, { "get_screen", (void*) &lv_obj_get_screen, "lv_obj", "(lv_obj)" }, + { "get_signal_cb", (void*) &lv_obj_get_signal_cb, "lv_signal_cb", "(lv_obj)" }, { "get_state", (void*) &lv_obj_get_state, "i", "(lv_obj)i" }, { "get_style_bg_blend_mode", (void*) &lv_obj_get_style_bg_blend_mode, "i", "(lv_obj)i" }, { "get_style_bg_color", (void*) &lv_obj_get_style_bg_color, "lv_color", "(lv_obj)i" }, @@ -472,6 +486,7 @@ const lvbe_call_c_t lv_obj_func[] = { { "set_width_margin", (void*) &lv_obj_set_width_margin, "", "(lv_obj)i" }, { "set_x", (void*) &lv_obj_set_x, "", "(lv_obj)i" }, { "set_y", (void*) &lv_obj_set_y, "", "(lv_obj)i" }, + { "signal_send", (void*) &lv_obj_signal_send, "i", "(lv_obj)i." }, }; /* `lv_arc` methods */ @@ -772,7 +787,7 @@ const lvbe_call_c_t lv_imgbtn_func[] = { #if BE_LV_WIDGET_KEYBOARD const lvbe_call_c_t lv_keyboard_func[] = { { "create", (void*) &lv_keyboard_create, "+lv_keyboard", "(lv_obj)(lv_obj)" }, - { "def_event_cb", (void*) &lv_keyboard_def_event_cb, "", "(lv_obj)(lv_event)" }, + { "def_event_cb", (void*) &lv_keyboard_def_event_cb, "", "(lv_obj)i" }, { "get_cursor_manage", (void*) &lv_keyboard_get_cursor_manage, "b", "(lv_obj)" }, { "get_mode", (void*) &lv_keyboard_get_mode, "i", "(lv_obj)" }, { "get_textarea", (void*) &lv_keyboard_get_textarea, "lv_obj", "(lv_obj)" }, @@ -1159,7 +1174,7 @@ const lvbe_call_c_t lv_win_func[] = { { "add_btn_left", (void*) &lv_win_add_btn_left, "lv_obj", "(lv_obj)." }, { "add_btn_right", (void*) &lv_win_add_btn_right, "lv_obj", "(lv_obj)." }, { "clean", (void*) &lv_win_clean, "", "(lv_obj)" }, - { "close_event_cb", (void*) &lv_win_close_event_cb, "", "(lv_obj)(lv_event)" }, + { "close_event_cb", (void*) &lv_win_close_event_cb, "", "(lv_obj)i" }, { "create", (void*) &lv_win_create, "+lv_win", "(lv_obj)(lv_obj)" }, { "focus", (void*) &lv_win_focus, "", "(lv_obj)(lv_obj)(lv_anim_enable)" }, { "get_anim_time", (void*) &lv_win_get_anim_time, "i", "(lv_obj)" }, diff --git a/tasmota/xdrv_52_2_berry_native.ino b/tasmota/xdrv_52_2_berry_native.ino index 410c9b959..2f07aacca 100644 --- a/tasmota/xdrv_52_2_berry_native.ino +++ b/tasmota/xdrv_52_2_berry_native.ino @@ -314,11 +314,10 @@ extern "C" { * Optional argument: * - return_type: the C function return value is int32_t and is converted to the * relevant Berry object depending on this char: - * '0' (default): nil, no value + * '' (default): nil, no value * 'i' be_int * 'b' be_boot * 's' be_str - * 'o' instance of `lv_obj` (needs to be improved) * * - arg_type: optionally check the types of input arguments, or throw an error * string of argument types, '+' marks optional arguments @@ -326,6 +325,7 @@ extern "C" { * 'i' be_int * 'b' be_bool * 's' be_string + * 'c' C callback * 'lv_obj' be_instance of type or subtype * '0'..'5' callback * @@ -394,6 +394,8 @@ int32_t be_convert_single_elt(bvm *vm, int32_t idx, const char * arg_type = null int32_t ret = 0; char provided_type = 0; idx = be_absindex(vm, idx); // make sure we have an absolute index + + // berry_log_C(">> 0 idx=%i arg_type=%s", idx, arg_type ? arg_type : "NULL"); if (arg_type == nullptr) { arg_type = "."; } // if no type provided, replace with wildchar size_t arg_type_len = strlen(arg_type); @@ -453,7 +455,7 @@ int32_t be_convert_single_elt(bvm *vm, int32_t idx, const char * arg_type = null if (be_isint(vm, idx)) { ret = be_toint(vm, idx); provided_type = 'i'; } else if (be_isbool(vm, idx)) { ret = be_tobool(vm, idx); provided_type = 'b'; } else if (be_isstring(vm, idx)) { ret = (int32_t) be_tostring(vm, idx); provided_type = 's'; } - else if (be_iscomptr(vm, idx)) { ret = (int32_t) be_tocomptr(vm, idx); provided_type = 'i'; } + else if (be_iscomptr(vm, idx)) { ret = (int32_t) be_tocomptr(vm, idx); provided_type = 'c'; } // check if simple type was a match if (provided_type) { @@ -470,34 +472,45 @@ int32_t be_convert_single_elt(bvm *vm, int32_t idx, const char * arg_type = null // non-simple type if (be_isinstance(vm, idx)) { - be_getmember(vm, idx, ".p"); - int32_t ret = be_convert_single_elt(vm, -1, nullptr); // recurse - be_pop(vm, 1); - - if (arg_type_len > 1) { - // Check type - be_classof(vm, idx); - bool class_found = be_getglobal(vm, arg_type); - // Stack: class_of_idx, class_of_target (or nil) - if (class_found) { - if (!be_isderived(vm, -2)) { - berry_log_P("Unexpected class type '%s', expected '%s'", be_classname(vm, idx), arg_type); - } - } else { - berry_log_P("Unable to find class '%s' (%d)", arg_type, arg_type_len); - } + // check if the instance is a subclass of `bytes()`` + be_getbuiltin(vm, "bytes"); // add "list" class + if (be_isderived(vm, idx)) { + be_pop(vm, 1); + be_getmember(vm, idx, "_buffer"); + be_pushvalue(vm, idx); + be_call(vm, 1); + int32_t ret = (int32_t) be_tocomptr(vm, -2); be_pop(vm, 2); - } else if (arg_type[0] != '.') { - berry_log_P("Unexpected instance type '%s', expected '%s'", be_classname(vm, idx), arg_type); - } + return ret; + } else { + be_pop(vm, 1); + be_getmember(vm, idx, ".p"); + int32_t ret = be_convert_single_elt(vm, -1, nullptr); // recurse + be_pop(vm, 1); - return ret; + if (arg_type_len > 1) { + // Check type + be_classof(vm, idx); + bool class_found = be_getglobal(vm, arg_type); + // Stack: class_of_idx, class_of_target (or nil) + if (class_found) { + if (!be_isderived(vm, -2)) { + berry_log_P("Unexpected class type '%s', expected '%s'", be_classname(vm, idx), arg_type); + } + } else { + berry_log_P("Unable to find class '%s' (%d)", arg_type, arg_type_len); + } + be_pop(vm, 2); + } else if (arg_type[0] != '.') { + berry_log_P("Unexpected instance type '%s', expected '%s'", be_classname(vm, idx), arg_type); + } + + return ret; + } } else { be_raise(vm, kTypeError, nullptr); } - // - return ret; } diff --git a/tasmota/xdrv_52_3_berry_lvgl.ino b/tasmota/xdrv_52_3_berry_lvgl.ino index 7e2ce71c4..85e66aaba 100644 --- a/tasmota/xdrv_52_3_berry_lvgl.ino +++ b/tasmota/xdrv_52_3_berry_lvgl.ino @@ -230,7 +230,7 @@ void be_check_arg_type(bvm *vm, int32_t argc, const char * arg_type, int32_t p[5 void be_check_arg_type(bvm *vm, int32_t argc, const char * arg_type, int32_t p[5]) { bool arg_type_check = (arg_type != nullptr); // is type checking activated int32_t arg_idx = 0; // position in arg_type string - char type_short_name[16]; + char type_short_name[32]; for (uint32_t i = 0; i < argc; i++) { type_short_name[0] = 0; // clear string @@ -293,15 +293,15 @@ extern "C" { if (argc > 1) { obj1 = (lv_obj_t*) be_convert_single_elt(vm, 2); } - if (argc > 2) { + if (argc > 2 && !be_isnil(vm, 3)) { obj2 = (lv_obj_t*) be_convert_single_elt(vm, 3); } // AddLog(LOG_LEVEL_INFO, "argc %d obj1 %p obj2 %p", argc, obj1, obj2); fn_any_callable f = (fn_any_callable) func; // AddLog(LOG_LEVEL_INFO, ">> be_call_c_func(%p) - %p,%p,%p,%p,%p", f, p[0], p[1], p[2], p[3], p[4]); lv_obj_t * obj; - if ((int32_t)obj1 == -1) { // special semantics of first ptr is -1, then just encapsulate - obj = obj2; + if ((int32_t)obj2 == -1) { // special semantics if second ptr is -1, then just encapsulate + obj = obj1; } else { // otherwise call the LVGL creator obj = (lv_obj_t*) (*f)((int32_t)obj1, (int32_t)obj2, 0, 0, 0); } @@ -338,36 +338,33 @@ extern "C" { // look for class descriptor int32_t class_idx = bin_search(class_name, &lv_classes[0].name, sizeof(lv_classes[0]), lv_classes_size); - if (class_idx < 0) { - // class not found, abort - // berry_log_C("lvx_member class not found"); - be_return_nil(vm); - } - const lvbe_call_c_t * methods_calls = lv_classes[class_idx].func_table; - size_t methods_size = lv_classes[class_idx].size; + if (class_idx >= 0) { + const lvbe_call_c_t * methods_calls = lv_classes[class_idx].func_table; + size_t methods_size = lv_classes[class_idx].size; - int32_t method_idx = bin_search(method_name, methods_calls, sizeof(lvbe_call_c_t), methods_size); - if (method_idx >= 0) { - // method found - const lvbe_call_c_t * method = &methods_calls[method_idx]; - // berry_log_C("lvx_member method found func=%p return_type=%s arg_type=%s", method->func, method->return_type, method->arg_type); - // push native closure - be_pushntvclosure(vm, &lvx_call_c, 3); // 3 upvals + int32_t method_idx = bin_search(method_name, methods_calls, sizeof(lvbe_call_c_t), methods_size); + if (method_idx >= 0) { + // method found + const lvbe_call_c_t * method = &methods_calls[method_idx]; + // berry_log_C("lvx_member method found func=%p return_type=%s arg_type=%s", method->func, method->return_type, method->arg_type); + // push native closure + be_pushntvclosure(vm, &lvx_call_c, 3); // 3 upvals - be_pushcomptr(vm, method->func); - be_setupval(vm, -2, 0); - be_pop(vm, 1); + be_pushcomptr(vm, method->func); + be_setupval(vm, -2, 0); + be_pop(vm, 1); - be_pushstring(vm, method->return_type); - be_setupval(vm, -2, 1); - be_pop(vm, 1); + be_pushstring(vm, method->return_type); + be_setupval(vm, -2, 1); + be_pop(vm, 1); - be_pushstring(vm, method->arg_type); - be_setupval(vm, -2, 2); - be_pop(vm, 1); + be_pushstring(vm, method->arg_type); + be_setupval(vm, -2, 2); + be_pop(vm, 1); - // all good - be_return(vm); + // all good + be_return(vm); + } } // get super if any, or nil if none @@ -393,7 +390,7 @@ extern "C" { fn_any_callable f = (fn_any_callable) func; be_check_arg_type(vm, argc, arg_type, p); - // AddLog(LOG_LEVEL_INFO, ">> be_call_c_func(%p) - %p,%p,%p,%p,%p - %s", f, p[0], p[1], p[2], p[3], p[4], return_type); + // berry_log_C(">> be_call_c_func(%p) - %p,%p,%p,%p,%p - %s", f, p[0], p[1], p[2], p[3], p[4], return_type ? return_type : "NULL"); int32_t ret = (*f)(p[0], p[1], p[2], p[3], p[4]); // AddLog(LOG_LEVEL_INFO, ">> be_call_c_func, ret = %p", ret); if ((return_type == nullptr) || (strlen(return_type) == 0)) { be_return_nil(vm); } // does not return @@ -403,14 +400,15 @@ extern "C" { case 'i': be_pushint(vm, ret); break; case 'b': be_pushbool(vm, ret); break; case 's': be_pushstring(vm, (const char*) ret); break; + case 'c': be_pushint(vm, ret); break; // TODO missing 'c' general callback type default: be_raise(vm, "internal_error", "Unsupported return type"); break; } be_return(vm); } else { // class name // AddLog(LOG_LEVEL_INFO, ">> be_call_c_func, create_obj", ret); be_getglobal(vm, return_type); // stack = class - be_pushcomptr(vm, (void*) -1); // stack = class, -1 - be_pushcomptr(vm, (void*) ret); // stack = class, -1, ptr + be_pushcomptr(vm, (void*) ret); // stack = class, ptr + be_pushcomptr(vm, (void*) -1); // stack = class, ptr, -1 be_call(vm, 2); // instanciate with 2 arguments, stack = instance, -1, ptr be_pop(vm, 2); // stack = instance be_return(vm); @@ -949,7 +947,7 @@ extern "C" { int lvx_tostring(bvm *vm) { lv_obj_t * obj = (lv_obj_t*) lv_get_arg(vm, 1); const char * classname = be_classname(vm, 1); - char s[32]; + char s[48]; snprintf(s, sizeof(s), "", classname, obj); be_pushnstring(vm, s, strlen(s)); /* make escape string from buffer */ be_return(vm); @@ -1007,6 +1005,19 @@ extern "C" { } } +// ====================================================================== +// Patch for ill-named functions +// ====================================================================== + +extern "C" { + // lv_signal_send should be renamed lv_obj_signal_send + // lv_res_t lv_signal_send(lv_obj_t * obj, lv_signal_t signal, void * param); + lv_res_t lv_obj_signal_send(lv_obj_t * obj, lv_signal_t signal, void * param) { + return lv_signal_send(obj, signal, param); + } +} + + #include "lvgl_berry/be_lv_c_mapping.h" #else // USE_LVGL diff --git a/tasmota/xdrv_52_7_berry_embedded.ino b/tasmota/xdrv_52_7_berry_embedded.ino index 37995bce2..d97fb565e 100644 --- a/tasmota/xdrv_52_7_berry_embedded.ino +++ b/tasmota/xdrv_52_7_berry_embedded.ino @@ -96,12 +96,26 @@ const char berry_prog[] = // "end " // "lv = lvgl() " "import lvgl as lv " + // 'lv_group_focus_cb', 'lv_event_cb', 'lv_signal_cb', 'lv_design_cb', 'lv_gauge_format_cb' "_lvgl_cb = [ {}, {}, {}, {}, {}, {} ] " "_lvgl_cb_obj = [ {}, {}, {}, {}, {}, {} ] " "def _lvgl_cb_dispatch(idx, obj, v1, v2, v3, v4) " // "import string print(string.format('>>> idx=%i obj=0x%08X v1=%i', idx, obj, v1)) " "var func = _lvgl_cb[idx].find(obj) " "var inst = _lvgl_cb_obj[idx].find(obj) " + // convert arguments to ctypes if needed + + // typedef void (*lv_group_focus_cb_t)(struct _lv_group_t *); + // typedef void (*lv_event_cb_t)(struct _lv_obj_t * obj, lv_event_t event); + // typedef lv_res_t (*lv_signal_cb_t)(struct _lv_obj_t * obj, lv_signal_t sign, void * param); + // typedef lv_design_res_t (*lv_design_cb_t)(struct _lv_obj_t * obj, const lv_area_t * clip_area, lv_design_mode_t mode); + // typedef void (*lv_gauge_format_cb_t)(lv_obj_t * gauge, char * buf, int bufsize, int32_t value); + + "if idx == 3 " + // lv_signal_cb - arg2 is lv_area + "v1 = lv_area(v1) " + "end " + "if func != nil " "return func(inst, v1, v2, v3, v4) " "end " diff --git a/tools/lv_berry/convert.py b/tools/lv_berry/convert.py index 483b53c82..8b35f32ad 100644 --- a/tools/lv_berry/convert.py +++ b/tools/lv_berry/convert.py @@ -75,9 +75,14 @@ return_types = { "lv_border_side_t": "i", "lv_align_t": "i", "lv_keyboard_mode_t": "i", - # "lv_group_focus_cb_t": "i", "lv_indev_type_t": "i", + "lv_event_t": "i", + "lv_signal_t": "i", + # "lv_signal_cb_t": "c", + # "lv_design_cb_t": "c", + # "lv_event_cb_t": "c", + # "lv_group_focus_cb_t": "c", "lv_obj_t *": "lv_obj", "lv_color_t": "lv_color", @@ -85,19 +90,27 @@ return_types = { "lv_group_t *": "lv_group", #"lv_disp_t*": "lv_disp", #"lv_style_list_t*": "", + + # callbacks + "lv_group_focus_cb_t": "lv_group_focus_cb", + "lv_event_cb_t": "lv_event_cb", + "lv_signal_cb_t": "lv_signal_cb", + "lv_design_cb_t": "lv_design_cb", + "lv_gauge_format_cb_t": "lv_gauge_format_cb", } lv = {} lvs = [] # special case for case for lv_style lv0 = [] # function in lvlg module lv_module = [] -lv_cb_types = [] # list of callback types that will need each a separate C callback, later sorted by first argument +lv_cb_types = ['lv_group_focus_cb', 'lv_event_cb', 'lv_signal_cb', 'lv_design_cb', 'lv_gauge_format_cb'] +# list of callback types that will need each a separate C callback lv_widgets = ['arc', 'bar', 'btn', 'btnmatrix', 'calendar', 'canvas', 'chart', 'checkbox', 'cont', 'cpicker', 'dropdown', 'gauge', 'img', 'imgbtn', 'keyboard', 'label', 'led', 'line', 'linemeter', 'list', 'msgbox', 'objmask', 'templ', 'page', 'roller', 'slider', 'spinbox', 'spinner', 'switch', 'table', 'tabview', 'textarea', 'tileview', 'win'] -lv_prefix = ['obj', 'group', 'style', 'indev'] + lv_widgets +lv_prefix = ['obj', 'group', 'style', 'indev', ] + lv_widgets def try_int(s): try: @@ -115,6 +128,7 @@ def c_convert_ret_type(c_ret): with open(lv_widgets_file) as f: for l_raw in f: l_raw = re.sub('//.*$', '', l_raw) # remove trailing comments + l_raw = re.sub('LV_ATTRIBUTE_FAST_MEM ', '', l_raw) # remove LV_ATTRIBUTE_FAST_MEM marker l_raw = re.sub('\s+', ' ', l_raw) # replace any multi-space with a single space l_raw = l_raw.strip(" \t\n\r") # remove leading or trailing spaces l_raw = re.sub('static ', '', l_raw) @@ -128,12 +142,16 @@ with open(lv_widgets_file) as f: ret_type = g.group(1) # return type of the function # Ex: ret_type -> 'void' - if ret_type not in return_types: + ret_type_without_t = re.sub(r"_t$", "", ret_type) + if ret_type in return_types: + # convert return type + c_ret = c_convert_ret_type(ret_type) + elif ret_type_without_t in lv_cb_types: + c_ret = "c" # general callback, if not already captured by explicit type + else: print(f" // Skipping unsupported return type: {ret_type}") continue - # convert return type - c_ret = c_convert_ret_type(ret_type) # convert arguments c_args = "" @@ -155,7 +173,7 @@ with open(lv_widgets_file) as f: ga_type = re.sub(r"_t$", "", ga_type) # if the type is a single letter, we just add it - if len(ga_type) == 1: + if len(ga_type) == 1 and ga_type != 'c': # callbacks are different c_args += ga_type else: if ga_type.endswith("_cb"): @@ -175,22 +193,25 @@ with open(lv_widgets_file) as f: c_func_name = "" + if func_name == "lv_style_init": + continue # no need for init as it would collied with native init (and called behind the scene anyways) + found = False for subtype in lv_prefix: - if func_name == "lv_style_init": continue # no need for init as it would collied with native init (and called behind the scene anyways) if func_name.startswith("lv_" + subtype + "_"): be_name = re.sub("^lv_" + subtype + "_", '', func_name) c_func_name = "lvbe_" + subtype + "_" + be_name if subtype not in lv: lv[subtype] = [] # add entry # special case if the function is create, we change the return type to macth the class - # if be_name == 'create': - # c_ret = "lv_" + subtype - # lv0.append( [ c_func_name, c_ret, c_args, func_name, subtype ] ) # also add to lvgl lv[subtype].append( [ c_func_name, c_ret, c_args, func_name, be_name ] ) found = True break if found: continue + # not found, we treat it as lv top level function + be_name = re.sub("^lv_", '', func_name) + lv0.append( [ func_name, c_ret, c_args, func_name, be_name ] ) + # print(lv0[-1]) print("| callback types"+str(lv_cb_types)) @@ -444,7 +465,7 @@ for subtype, flv in lv.items(): print(f" {{ NULL, NULL }}") print(f" }};") print(f" be_regclass(vm, \"lv_{subtype}\", members);") - if subtype != "obj" and subtype != "group": # lv_obj and lv_group do not inherit from lv_obj + if subtype in lv_widgets: # only for subclasses of lv_obj print() print(f" be_getglobal(vm, \"lv_{subtype}\");") print(f" be_getglobal(vm, \"lv_obj\");") @@ -460,7 +481,7 @@ for subtype, flv in lv.items(): print(f"}};") print() print(f"/* @const_object_info_begin") - if subtype != "obj" and subtype != "group": # lv_obj and lv_group do not inherit from lv_obj + if subtype in lv_widgets: # only for subclasses of lv_obj print(f"class be_class_lv_{subtype} (scope: global, name: lv_{subtype}, super: be_class_lv_obj) {{") else: print(f"class be_class_lv_{subtype} (scope: global, name: lv_{subtype}) {{") @@ -524,24 +545,43 @@ extern int lv0_screenshot(bvm *vm); static int lv_get_hor_res(void) { return lv_disp_get_hor_res(lv_disp_get_default()); } -static int lv_get_ver_res(bvm *vm) { +static int lv_get_ver_res(void) { return lv_disp_get_ver_res(lv_disp_get_default()); } /* `lv` methods */ const lvbe_call_c_t lv_func[] = { - // resolution - { "get_hor_res", (void*) &lv_get_hor_res, "i", "" }, - { "get_ver_res", (void*) &lv_get_ver_res, "i", "" }, +""") - // layers - { "layer_sys", (void*) &lv_layer_sys, "lv_obj", "" }, - { "layer_top", (void*) &lv_layer_top, "lv_obj", "" }, +func_out = {} # used to sort output +for f in lv0: + c_func_name = f[0] + c_ret_type = f[1] + c_argc = f[2] + if c_argc is not None: c_argc = "\"" + c_argc + "\"" + orig_func_name = f[3] + be_name = f[4] + func_out[be_name] = f" {{ \"{be_name}\", (void*) &{orig_func_name}, \"{c_ret_type}\", { c_argc if c_argc else 'nullptr'} }}," - // screens - { "scr_act", (void*) &lv_scr_act, "lv_obj", "" }, - { "scr_load", (void*) &lv_scr_load, "", "(lv_obj)" }, - { "scr_load_anim", (void*) &lv_scr_load_anim, "", "(lv_obj)iiib" }, +for be_name in sorted(func_out): + print(func_out[be_name]) + + + + + # // resolution + # { "get_hor_res", (void*) &lv_get_hor_res, "i", "" }, + # { "get_ver_res", (void*) &lv_get_ver_res, "i", "" }, + + # // layers + # { "layer_sys", (void*) &lv_layer_sys, "lv_obj", "" }, + # { "layer_top", (void*) &lv_layer_top, "lv_obj", "" }, + + # // screens + # { "scr_act", (void*) &lv_scr_act, "lv_obj", "" }, + # { "scr_load", (void*) &lv_scr_load, "", "(lv_obj)" }, + # { "scr_load_anim", (void*) &lv_scr_load_anim, "", "(lv_obj)iiib" }, +print(""" }; const size_t lv_func_size = sizeof(lv_func) / sizeof(lv_func[0]); @@ -574,17 +614,7 @@ print(""" }; const size_t lv0_constants_size = sizeof(lv0_constants)/sizeof(lv0_constants[0]); -""") - -for f in lv0: - c_func_name = f[0] - print(f"extern int {c_func_name}(bvm *vm);") - - -print(""" #if !BE_USE_PRECOMPILED_OBJECT -//#if 1 // TODO we will do pre-compiled later - be_native_module_attr_table(lvgl) { // Symbols @@ -686,15 +716,6 @@ print(""" be_native_module_function("load_freetype_font", lv0_load_freetype_font), be_native_module_function("screenshot", lv0_screenshot), -""") - -for f in lv0: - - c_func_name = f[0] - be_name = f[4] - print(f" be_native_module_function(\"{be_name}\", {c_func_name}),") - -print(""" }; be_define_native_module(lvgl, NULL); @@ -849,16 +870,6 @@ print(""" load_freetype_font, func(lv0_load_freetype_font) screenshot, func(lv0_screenshot) - -""") - -for f in lv0: - - c_func_name = f[0] - be_name = f[4] - print(f" {be_name}, func({c_func_name})") - -print(""" } @const_object_info_end */ #include "../generate/be_fixed_lvgl.h" diff --git a/tools/lv_berry/lv_module.h b/tools/lv_berry/lv_module.h index a47312f24..fa4fb8b7f 100644 --- a/tools/lv_berry/lv_module.h +++ b/tools/lv_berry/lv_module.h @@ -618,3 +618,18 @@ TEXTAREA_CURSOR_LAST // }; +LV_DRAW_MASK_RES_TRANSP +LV_DRAW_MASK_RES_FULL_COVER +LV_DRAW_MASK_RES_CHANGED +LV_DRAW_MASK_RES_UNKNOWN + +LV_DRAW_MASK_TYPE_LINE +LV_DRAW_MASK_TYPE_ANGLE +LV_DRAW_MASK_TYPE_RADIUS +LV_DRAW_MASK_TYPE_FADE +LV_DRAW_MASK_TYPE_MAP + +LV_DRAW_MASK_LINE_SIDE_LEFT +LV_DRAW_MASK_LINE_SIDE_RIGHT +LV_DRAW_MASK_LINE_SIDE_TOP +LV_DRAW_MASK_LINE_SIDE_BOTTOM diff --git a/tools/lv_berry/lv_widgets.h b/tools/lv_berry/lv_widgets.h index 5e3553196..3e709a6ef 100644 --- a/tools/lv_berry/lv_widgets.h +++ b/tools/lv_berry/lv_widgets.h @@ -158,7 +158,6 @@ void lv_event_send_refresh_recursive(lv_obj_t * obj); // lv_res_t lv_event_send_func(lv_event_cb_t event_xcb, lv_obj_t * obj, lv_event_t event, const void * data); const void * lv_event_get_data(void); void lv_obj_set_signal_cb(lv_obj_t * obj, lv_signal_cb_t signal_cb); -lv_res_t lv_signal_send(lv_obj_t * obj, lv_signal_t signal, void * param); void lv_obj_set_design_cb(lv_obj_t * obj, lv_design_cb_t design_cb); void * lv_obj_allocate_ext_attr(lv_obj_t * obj, uint16_t ext_size); void lv_obj_refresh_ext_draw_pad(lv_obj_t * obj); @@ -1163,3 +1162,82 @@ void lv_win_focus(lv_obj_t * win, lv_obj_t * obj, lv_anim_enable_t anim_en); static inline void lv_win_scroll_hor(lv_obj_t * win, lv_coord_t dist) static inline void lv_win_scroll_ver(lv_obj_t * win, lv_coord_t dist) +// ====================================================================== +// Patch +// ====================================================================== + +// lv_signal_send should be renamed lv_obj_signal_send +// lv_res_t lv_signal_send(lv_obj_t * obj, lv_signal_t signal, void * param); +lv_res_t lv_obj_signal_send(lv_obj_t * obj, lv_signal_t signal, void * param); + +// ====================================================================== +// LV top level functions +// ====================================================================== + +// resolution +lv_coord_t lv_get_hor_res(void); +lv_coord_t lv_get_ver_res(void); + +// layers +static inline lv_obj_t * lv_layer_sys(void); +static inline lv_obj_t * lv_layer_top(void); + +// screens +static inline lv_obj_t * lv_scr_act(void); +static inline void lv_scr_load(lv_obj_t * scr); +void lv_scr_load_anim(lv_obj_t * scr, lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool auto_del); + +lv_res_t lv_signal_send(lv_obj_t * obj, lv_signal_t signal, void * param); + +// ====================================================================== +// LV DRAW +// ====================================================================== + +void lv_draw_arc(lv_coord_t center_x, lv_coord_t center_y, uint16_t radius, uint16_t start_angle, uint16_t end_angle, const lv_area_t * clip_area, const lv_draw_line_dsc_t * dsc); + +LV_ATTRIBUTE_FAST_MEM void _lv_blend_fill(const lv_area_t * clip_area, const lv_area_t * fill_area, lv_color_t color, lv_opa_t * mask, lv_draw_mask_res_t mask_res, lv_opa_t opa, lv_blend_mode_t mode); +LV_ATTRIBUTE_FAST_MEM void _lv_blend_map(const lv_area_t * clip_area, const lv_area_t * map_area, const lv_color_t * map_buf, lv_opa_t * mask, lv_draw_mask_res_t mask_res, lv_opa_t opa, lv_blend_mode_t mode); + +void lv_draw_img_dsc_init(lv_draw_img_dsc_t * dsc); +void lv_draw_img(const lv_area_t * coords, const lv_area_t * mask, const void * src, const lv_draw_img_dsc_t * dsc); +lv_img_src_t lv_img_src_get_type(const void * src); +uint8_t lv_img_cf_get_px_size(lv_img_cf_t cf); +bool lv_img_cf_is_chroma_keyed(lv_img_cf_t cf); +bool lv_img_cf_has_alpha(lv_img_cf_t cf); + +LV_ATTRIBUTE_FAST_MEM void lv_draw_label_dsc_init(lv_draw_label_dsc_t * dsc); +LV_ATTRIBUTE_FAST_MEM void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, const lv_draw_label_dsc_t * dsc, const char * txt, lv_draw_label_hint_t * hint); + +LV_ATTRIBUTE_FAST_MEM void lv_draw_line(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip, const lv_draw_line_dsc_t * dsc); +LV_ATTRIBUTE_FAST_MEM void lv_draw_line_dsc_init(lv_draw_line_dsc_t * dsc); + +int16_t lv_draw_mask_add(void * param, void * custom_id); +LV_ATTRIBUTE_FAST_MEM lv_draw_mask_res_t lv_draw_mask_apply(lv_opa_t * mask_buf, lv_coord_t abs_x, lv_coord_t abs_y, lv_coord_t len); +void * lv_draw_mask_remove_id(int16_t id); +void * lv_draw_mask_remove_custom(void * custom_id); +LV_ATTRIBUTE_FAST_MEM uint8_t lv_draw_mask_get_cnt(void); +void lv_draw_mask_line_points_init(lv_draw_mask_line_param_t * param, lv_coord_t p1x, lv_coord_t p1y, lv_coord_t p2x, lv_coord_t p2y, lv_draw_mask_line_side_t side); +void lv_draw_mask_line_angle_init(lv_draw_mask_line_param_t * param, lv_coord_t p1x, lv_coord_t py, int16_t angle, lv_draw_mask_line_side_t side); +void lv_draw_mask_angle_init(lv_draw_mask_angle_param_t * param, lv_coord_t vertex_x, lv_coord_t vertex_y, lv_coord_t start_angle, lv_coord_t end_angle); +void lv_draw_mask_radius_init(lv_draw_mask_radius_param_t * param, const lv_area_t * rect, lv_coord_t radius, bool inv); +void lv_draw_mask_fade_init(lv_draw_mask_fade_param_t * param, const lv_area_t * coords, lv_opa_t opa_top, lv_coord_t y_top, lv_opa_t opa_bottom, lv_coord_t y_bottom); +void lv_draw_mask_map_init(lv_draw_mask_map_param_t * param, const lv_area_t * coords, const lv_opa_t * map); + +void lv_draw_rect(const lv_area_t * coords, const lv_area_t * mask, const lv_draw_rect_dsc_t * dsc); +void lv_draw_px(const lv_point_t * point, const lv_area_t * clip_area, const lv_style_t * style); + +void lv_draw_triangle(const lv_point_t points[], const lv_area_t * clip, const lv_draw_rect_dsc_t * draw_dsc); +void lv_draw_polygon(const lv_point_t points[], uint16_t point_cnt, const lv_area_t * mask, const lv_draw_rect_dsc_t * draw_dsc); + +lv_img_dsc_t * lv_img_buf_alloc(lv_coord_t w, lv_coord_t h, lv_img_cf_t cf); +lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t color); +lv_opa_t lv_img_buf_get_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y); +void lv_img_buf_set_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t c); +void lv_img_buf_set_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_opa_t opa); +void lv_img_buf_set_palette(lv_img_dsc_t * dsc, uint8_t id, lv_color_t c); +void lv_img_buf_free(lv_img_dsc_t * dsc); +uint32_t lv_img_buf_get_img_size(lv_coord_t w, lv_coord_t h, lv_img_cf_t cf); + +// void lv_img_cache_set_size(uint16_t new_slot_num); +// void lv_img_cache_invalidate_src(const void * src); +