From 33a779f105beb4a42678ec0ff5ca0c95817d7b56 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Sat, 12 Feb 2022 18:54:39 +0100 Subject: [PATCH] LVGL library from 8.1.0 to 8.2.0 (#14815) --- lib/libesp32/berry/default/be_modtab.c | 2 + lib/libesp32/berry/generate/be_const_strtab.h | 9 + .../berry/generate/be_const_strtab_def.h | 2031 +++++++++-------- .../be_fixed_be_class_tasmota_log_reader.h | 19 + .../berry/generate/be_fixed_lv_tasmota.h | 19 +- .../berry_mapping/src/be_class_wrapper.c | 4 +- .../berry_tasmota/src/be_lv_tasmota_lib.c | 73 +- .../src/be_lvgl_signal_arcs_lib.c | 323 ++- .../src/be_lvgl_signal_bars_lib.c | 171 +- .../src/be_tasmota_log_reader_class.cpp | 25 + .../src/embedded/lv_signal_arcs.be | 29 +- .../src/embedded/lv_signal_bars.be | 4 +- .../berry_tasmota/src/embedded/lv_tasmota.be | 1 + .../LVGL_assets/src/lv_theme_openhasp.c | 2 +- lib/libesp32_lvgl/freetype/library.json | 1 + .../lv_berry/generate/be_lv_c_mapping.h | 9 + .../lv_berry/generate/be_lvgl_module.c | 44 +- .../lv_berry/generate/be_lvgl_widgets_lib.c | 153 +- lib/libesp32_lvgl/lv_berry/mapping/lv_enum.h | 22 +- lib/libesp32_lvgl/lv_berry/mapping/lv_funcs.h | 192 +- .../lv_berry/src/be_lvgl_ctypes_definitions.c | 235 +- .../lv_berry/src/embedded/lvgl_ctypes.be | 165 +- lib/libesp32_lvgl/lv_berry/tools/convert.py | 4 + .../lv_berry/tools/preprocessor.py | 6 +- lib/libesp32_lvgl/lvgl/Kconfig | 541 ++++- lib/libesp32_lvgl/lvgl/README.md | 12 +- lib/libesp32_lvgl/lvgl/library.json | 2 +- lib/libesp32_lvgl/lvgl/library.properties | 2 +- lib/libesp32_lvgl/lvgl/lv_conf_template.h | 329 ++- lib/libesp32_lvgl/lvgl/lvgl.h | 2 +- lib/libesp32_lvgl/lvgl/lvgl.mk | 3 +- lib/libesp32_lvgl/lvgl/src/core/lv_event.c | 73 +- lib/libesp32_lvgl/lvgl/src/core/lv_event.h | 43 +- lib/libesp32_lvgl/lvgl/src/core/lv_group.c | 13 +- lib/libesp32_lvgl/lvgl/src/core/lv_indev.c | 56 +- lib/libesp32_lvgl/lvgl/src/core/lv_indev.h | 2 +- .../lvgl/src/core/lv_indev_scroll.c | 48 +- lib/libesp32_lvgl/lvgl/src/core/lv_obj.c | 95 +- lib/libesp32_lvgl/lvgl/src/core/lv_obj.h | 40 +- .../lvgl/src/core/lv_obj_class.c | 2 +- lib/libesp32_lvgl/lvgl/src/core/lv_obj_draw.c | 23 +- lib/libesp32_lvgl/lvgl/src/core/lv_obj_draw.h | 6 +- lib/libesp32_lvgl/lvgl/src/core/lv_obj_pos.c | 105 +- lib/libesp32_lvgl/lvgl/src/core/lv_obj_pos.h | 42 +- .../lvgl/src/core/lv_obj_scroll.c | 192 +- .../lvgl/src/core/lv_obj_scroll.h | 18 +- .../lvgl/src/core/lv_obj_style.c | 16 +- .../lvgl/src/core/lv_obj_style.h | 21 +- .../lvgl/src/core/lv_obj_style_gen.c | 386 ++-- .../lvgl/src/core/lv_obj_style_gen.h | 339 +-- lib/libesp32_lvgl/lvgl/src/core/lv_obj_tree.c | 6 + lib/libesp32_lvgl/lvgl/src/core/lv_obj_tree.h | 4 +- lib/libesp32_lvgl/lvgl/src/core/lv_refr.c | 571 ++--- lib/libesp32_lvgl/lvgl/src/core/lv_refr.h | 14 +- lib/libesp32_lvgl/lvgl/src/core/lv_theme.h | 7 +- .../src/{gpu/lv_gpu_sdl.c => draw/lv_draw.c} | 34 +- lib/libesp32_lvgl/lvgl/src/draw/lv_draw.h | 63 +- lib/libesp32_lvgl/lvgl/src/draw/lv_draw.mk | 4 +- lib/libesp32_lvgl/lvgl/src/draw/lv_draw_arc.c | 431 +--- lib/libesp32_lvgl/lvgl/src/draw/lv_draw_arc.h | 17 +- .../lvgl/src/draw/lv_draw_blend.c | 1063 --------- .../lvgl/src/draw/lv_draw_blend.h | 50 - lib/libesp32_lvgl/lvgl/src/draw/lv_draw_img.c | 401 +--- lib/libesp32_lvgl/lvgl/src/draw/lv_draw_img.h | 11 +- .../lvgl/src/draw/lv_draw_label.c | 539 +---- .../lvgl/src/draw/lv_draw_label.h | 22 +- .../lvgl/src/draw/lv_draw_line.c | 445 +--- .../lvgl/src/draw/lv_draw_line.h | 17 +- .../lvgl/src/draw/lv_draw_mask.c | 135 +- .../lvgl/src/draw/lv_draw_mask.h | 20 +- .../lvgl/src/draw/lv_draw_rect.c | 1284 +---------- .../lvgl/src/draw/lv_draw_rect.h | 36 +- .../lvgl/src/draw/lv_draw_triangle.c | 176 +- .../lvgl/src/draw/lv_draw_triangle.h | 20 +- lib/libesp32_lvgl/lvgl/src/draw/lv_img_buf.c | 4 +- .../{gpu => draw/nxp_pxp}/lv_gpu_nxp_pxp.c | 4 +- .../{gpu => draw/nxp_pxp}/lv_gpu_nxp_pxp.h | 6 + .../nxp_pxp}/lv_gpu_nxp_pxp_osa.c | 4 +- .../nxp_pxp}/lv_gpu_nxp_pxp_osa.h | 2 +- .../nxp_vglite}/lv_gpu_nxp_vglite.c | 3 +- .../nxp_vglite}/lv_gpu_nxp_vglite.h | 6 +- .../lvgl/src/{gpu => draw}/sdl/README.md | 4 +- .../lvgl/src/draw/sdl/lv_draw_sdl.c | 98 + .../lvgl/src/draw/sdl/lv_draw_sdl.h | 96 + .../lvgl/src/draw/sdl/lv_draw_sdl.mk | 18 + .../lvgl/src/draw/sdl/lv_draw_sdl_arc.c | 238 ++ .../lvgl/src/draw/sdl/lv_draw_sdl_bg.c | 106 + .../lvgl/src/draw/sdl/lv_draw_sdl_composite.c | 256 +++ .../lvgl/src/draw/sdl/lv_draw_sdl_composite.h | 72 + .../lvgl/src/draw/sdl/lv_draw_sdl_img.c | 459 ++++ .../lvgl/src/draw/sdl/lv_draw_sdl_img.h | 72 + .../lvgl/src/draw/sdl/lv_draw_sdl_label.c | 158 ++ .../lvgl/src/draw/sdl/lv_draw_sdl_line.c | 154 ++ .../sdl/lv_draw_sdl_mask.c} | 54 +- .../lvgl/src/draw/sdl/lv_draw_sdl_mask.h | 51 + .../lvgl/src/draw/sdl/lv_draw_sdl_polygon.c | 133 ++ .../sdl/lv_draw_sdl_priv.h} | 31 +- .../lvgl/src/draw/sdl/lv_draw_sdl_rect.c | 708 ++++++ .../lvgl/src/draw/sdl/lv_draw_sdl_rect.h | 75 + .../sdl/lv_draw_sdl_stack_blur.c} | 6 +- .../sdl/lv_draw_sdl_stack_blur.h} | 12 +- .../sdl/lv_draw_sdl_texture_cache.c} | 121 +- .../src/draw/sdl/lv_draw_sdl_texture_cache.h | 102 + .../sdl/lv_draw_sdl_utils.c} | 98 +- .../sdl/lv_draw_sdl_utils.h} | 22 +- .../src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c | 256 +++ .../src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.h | 66 + .../lvgl/src/draw/sw/lv_draw_sw.c | 74 + .../lvgl/src/draw/sw/lv_draw_sw.h | 78 + .../lvgl/src/draw/sw/lv_draw_sw.mk | 15 + .../lvgl/src/draw/sw/lv_draw_sw_arc.c | 531 +++++ .../lvgl/src/draw/sw/lv_draw_sw_blend.c | 757 ++++++ .../lvgl/src/draw/sw/lv_draw_sw_blend.h | 69 + .../lvgl/src/draw/sw/lv_draw_sw_dither.c | 213 ++ .../lvgl/src/draw/sw/lv_draw_sw_dither.h | 70 + .../lvgl/src/draw/sw/lv_draw_sw_gradient.c | 353 +++ .../lvgl/src/draw/sw/lv_draw_sw_gradient.h | 97 + .../lvgl/src/draw/sw/lv_draw_sw_img.c | 321 +++ .../lvgl/src/draw/sw/lv_draw_sw_letter.c | 536 +++++ .../lvgl/src/draw/sw/lv_draw_sw_line.c | 443 ++++ .../lvgl/src/draw/sw/lv_draw_sw_polygon.c | 207 ++ .../lvgl/src/draw/sw/lv_draw_sw_rect.c | 1419 ++++++++++++ lib/libesp32_lvgl/lvgl/src/extra/README.md | 3 +- .../lvgl/src/extra/layouts/flex/lv_flex.c | 6 +- .../lvgl/src/extra/layouts/grid/lv_grid.c | 2 +- .../src/extra/libs/freetype/lv_freetype.c | 343 ++- .../src/extra/libs/freetype/lv_freetype.h | 2 + .../lvgl/src/extra/libs/fsdrv/lv_fs_fatfs.c | 50 +- .../lvgl/src/extra/libs/fsdrv/lv_fs_posix.c | 67 +- .../lvgl/src/extra/libs/fsdrv/lv_fs_stdio.c | 64 +- .../lvgl/src/extra/libs/fsdrv/lv_fs_win32.c | 95 +- .../lvgl/src/extra/libs/fsdrv/lv_fsdrv.h | 8 +- .../lvgl/src/extra/libs/lv_libs.h | 6 +- .../lvgl/src/extra/libs/png/lv_png.c | 104 +- .../lvgl/src/extra/libs/png/lv_png.h | 2 +- .../lvgl/src/extra/libs/qrcode/lv_qrcode.c | 215 ++ .../lvgl/src/extra/libs/qrcode/lv_qrcode.h | 69 + .../lvgl/src/extra/libs/qrcode/qrcodegen.c | 1035 +++++++++ .../lvgl/src/extra/libs/qrcode/qrcodegen.h | 319 +++ lib/libesp32_lvgl/lvgl/src/extra/lv_extra.c | 13 +- .../src/extra/others/gridnav/lv_gridnav.c | 354 +++ .../src/extra/others/gridnav/lv_gridnav.h | 115 + .../lvgl/src/extra/others/lv_others.h | 2 + .../lvgl/src/extra/others/monkey/lv_monkey.c | 187 ++ .../lvgl/src/extra/others/monkey/lv_monkey.h | 118 + .../src/extra/others/snapshot/lv_snapshot.c | 77 +- .../src/extra/others/snapshot/lv_snapshot.h | 2 +- .../src/extra/widgets/animimg/lv_animimg.h | 12 +- .../src/extra/widgets/calendar/lv_calendar.c | 3 +- .../src/extra/widgets/calendar/lv_calendar.h | 4 +- .../calendar/lv_calendar_header_arrow.h | 2 +- .../calendar/lv_calendar_header_dropdown.h | 2 +- .../lvgl/src/extra/widgets/chart/lv_chart.c | 184 +- .../lvgl/src/extra/widgets/chart/lv_chart.h | 4 +- .../extra/widgets/colorwheel/lv_colorwheel.c | 10 +- .../extra/widgets/colorwheel/lv_colorwheel.h | 2 +- .../lvgl/src/extra/widgets/imgbtn/lv_imgbtn.c | 60 +- .../lvgl/src/extra/widgets/imgbtn/lv_imgbtn.h | 4 +- .../src/extra/widgets/keyboard/lv_keyboard.c | 11 +- .../src/extra/widgets/keyboard/lv_keyboard.h | 26 +- .../lvgl/src/extra/widgets/led/lv_led.c | 22 +- .../lvgl/src/extra/widgets/led/lv_led.h | 6 +- .../lvgl/src/extra/widgets/list/lv_list.c | 2 + .../lvgl/src/extra/widgets/lv_widgets.h | 1 + .../lvgl/src/extra/widgets/menu/lv_menu.c | 752 ++++++ .../lvgl/src/extra/widgets/menu/lv_menu.h | 233 ++ .../lvgl/src/extra/widgets/meter/lv_meter.c | 38 +- .../lvgl/src/extra/widgets/meter/lv_meter.h | 2 +- .../lvgl/src/extra/widgets/msgbox/lv_msgbox.c | 28 +- .../lvgl/src/extra/widgets/span/lv_span.c | 230 +- .../lvgl/src/extra/widgets/span/lv_span.h | 11 +- .../src/extra/widgets/spinbox/lv_spinbox.c | 24 +- .../src/extra/widgets/spinbox/lv_spinbox.h | 36 +- .../src/extra/widgets/spinner/lv_spinner.c | 2 +- .../src/extra/widgets/tileview/lv_tileview.c | 2 + .../src/extra/widgets/tileview/lv_tileview.h | 6 +- lib/libesp32_lvgl/lvgl/src/font/lv_font.c | 15 +- lib/libesp32_lvgl/lvgl/src/font/lv_font.h | 39 +- .../font/lv_font_dejavu_16_persian_hebrew.c | 11 +- .../lvgl/src/font/lv_font_fmt_txt.c | 1 + .../lvgl/src/font/lv_font_montserrat_10.c | 2 +- .../lvgl/src/font/lv_font_montserrat_12.c | 23 +- .../src/font/lv_font_montserrat_12_subpx.c | 23 +- .../lvgl/src/font/lv_font_montserrat_14.c | 23 +- .../lvgl/src/font/lv_font_montserrat_16.c | 23 +- .../lvgl/src/font/lv_font_montserrat_18.c | 23 +- .../lvgl/src/font/lv_font_montserrat_20.c | 23 +- .../lvgl/src/font/lv_font_montserrat_22.c | 23 +- .../lvgl/src/font/lv_font_montserrat_24.c | 23 +- .../lvgl/src/font/lv_font_montserrat_26.c | 23 +- .../lvgl/src/font/lv_font_montserrat_28.c | 23 +- .../font/lv_font_montserrat_28_compressed.c | 23 +- .../lvgl/src/font/lv_font_montserrat_30.c | 23 +- .../lvgl/src/font/lv_font_montserrat_32.c | 23 +- .../lvgl/src/font/lv_font_montserrat_34.c | 23 +- .../lvgl/src/font/lv_font_montserrat_36.c | 23 +- .../lvgl/src/font/lv_font_montserrat_38.c | 23 +- .../lvgl/src/font/lv_font_montserrat_40.c | 23 +- .../lvgl/src/font/lv_font_montserrat_42.c | 23 +- .../lvgl/src/font/lv_font_montserrat_44.c | 23 +- .../lvgl/src/font/lv_font_montserrat_46.c | 23 +- .../lvgl/src/font/lv_font_montserrat_48.c | 23 +- .../lvgl/src/font/lv_font_montserrat_8.c | 2 +- .../lvgl/src/font/lv_font_simsun_16_cjk.c | 11 +- .../lvgl/src/font/lv_font_unscii_16.c | 2 +- .../lvgl/src/font/lv_font_unscii_8.c | 2 +- .../lvgl/src/font/lv_symbol_def.h | 335 ++- lib/libesp32_lvgl/lvgl/src/gpu/lv_gpu.mk | 2 - .../lvgl/src/gpu/lv_gpu_stm32_dma2d.c | 262 --- .../lvgl/src/gpu/lv_gpu_stm32_dma2d.h | 109 - .../lvgl/src/gpu/sdl/lv_gpu_sdl.mk | 16 - .../lvgl/src/gpu/sdl/lv_gpu_sdl_draw_arc.c | 163 -- .../lvgl/src/gpu/sdl/lv_gpu_sdl_draw_blend.c | 102 - .../lvgl/src/gpu/sdl/lv_gpu_sdl_draw_img.c | 171 -- .../lvgl/src/gpu/sdl/lv_gpu_sdl_draw_label.c | 332 --- .../lvgl/src/gpu/sdl/lv_gpu_sdl_draw_line.c | 158 -- .../lvgl/src/gpu/sdl/lv_gpu_sdl_draw_rect.c | 733 ------ .../lvgl/src/gpu/sdl/lv_gpu_sdl_lru.h | 90 - .../lvgl/src/gpu/sdl/lv_gpu_sdl_mask.h | 57 - .../src/gpu/sdl/lv_gpu_sdl_texture_cache.h | 90 - lib/libesp32_lvgl/lvgl/src/hal/lv_hal_disp.c | 50 +- lib/libesp32_lvgl/lvgl/src/hal/lv_hal_disp.h | 28 +- lib/libesp32_lvgl/lvgl/src/hal/lv_hal_indev.c | 35 + lib/libesp32_lvgl/lvgl/src/hal/lv_hal_indev.h | 6 + lib/libesp32_lvgl/lvgl/src/hal/lv_hal_tick.c | 4 +- lib/libesp32_lvgl/lvgl/src/misc/lv_anim.h | 2 +- .../lvgl/src/misc/lv_anim_timeline.c | 2 +- .../lvgl/src/misc/lv_anim_timeline.h | 2 +- lib/libesp32_lvgl/lvgl/src/misc/lv_area.c | 5 + lib/libesp32_lvgl/lvgl/src/misc/lv_area.h | 13 +- lib/libesp32_lvgl/lvgl/src/misc/lv_bidi.c | 24 +- lib/libesp32_lvgl/lvgl/src/misc/lv_color.h | 29 + lib/libesp32_lvgl/lvgl/src/misc/lv_fs.c | 200 +- lib/libesp32_lvgl/lvgl/src/misc/lv_fs.h | 9 + lib/libesp32_lvgl/lvgl/src/misc/lv_gc.h | 4 +- lib/libesp32_lvgl/lvgl/src/misc/lv_log.c | 5 +- .../sdl/lv_gpu_sdl_lru.c => misc/lv_lru.c} | 180 +- lib/libesp32_lvgl/lvgl/src/misc/lv_lru.h | 81 + lib/libesp32_lvgl/lvgl/src/misc/lv_mem.h | 2 +- lib/libesp32_lvgl/lvgl/src/misc/lv_misc.mk | 1 + lib/libesp32_lvgl/lvgl/src/misc/lv_printf.c | 2 +- lib/libesp32_lvgl/lvgl/src/misc/lv_printf.h | 28 +- lib/libesp32_lvgl/lvgl/src/misc/lv_style.c | 3 +- lib/libesp32_lvgl/lvgl/src/misc/lv_style.h | 81 +- .../lvgl/src/misc/lv_style_gen.c | 385 ++-- .../lvgl/src/misc/lv_style_gen.h | 687 ++---- lib/libesp32_lvgl/lvgl/src/misc/lv_tlsf.c | 2 +- lib/libesp32_lvgl/lvgl/src/misc/lv_tlsf.h | 2 +- lib/libesp32_lvgl/lvgl/src/misc/lv_txt.c | 25 +- lib/libesp32_lvgl/lvgl/src/misc/lv_txt.h | 10 +- lib/libesp32_lvgl/lvgl/src/misc/lv_types.h | 2 +- lib/libesp32_lvgl/lvgl/src/misc/lv_utils.c | 4 +- lib/libesp32_lvgl/lvgl/src/misc/lv_utils.h | 2 +- lib/libesp32_lvgl/lvgl/src/widgets/lv_arc.c | 109 +- lib/libesp32_lvgl/lvgl/src/widgets/lv_arc.h | 2 +- lib/libesp32_lvgl/lvgl/src/widgets/lv_bar.c | 44 +- lib/libesp32_lvgl/lvgl/src/widgets/lv_bar.h | 2 +- .../lvgl/src/widgets/lv_btnmatrix.c | 42 +- .../lvgl/src/widgets/lv_btnmatrix.h | 6 +- .../lvgl/src/widgets/lv_canvas.c | 285 +-- .../lvgl/src/widgets/lv_checkbox.c | 20 +- .../lvgl/src/widgets/lv_dropdown.c | 124 +- .../lvgl/src/widgets/lv_dropdown.h | 16 +- lib/libesp32_lvgl/lvgl/src/widgets/lv_img.c | 16 +- lib/libesp32_lvgl/lvgl/src/widgets/lv_img.h | 6 +- lib/libesp32_lvgl/lvgl/src/widgets/lv_label.c | 43 +- lib/libesp32_lvgl/lvgl/src/widgets/lv_label.h | 28 +- lib/libesp32_lvgl/lvgl/src/widgets/lv_line.c | 4 +- lib/libesp32_lvgl/lvgl/src/widgets/lv_line.h | 4 +- .../lvgl/src/widgets/lv_objx_templ.h | 2 +- .../lvgl/src/widgets/lv_roller.c | 59 +- .../lvgl/src/widgets/lv_roller.h | 2 +- .../lvgl/src/widgets/lv_slider.c | 22 +- .../lvgl/src/widgets/lv_slider.h | 2 +- .../lvgl/src/widgets/lv_switch.c | 31 +- .../lvgl/src/widgets/lv_switch.h | 7 +- lib/libesp32_lvgl/lvgl/src/widgets/lv_table.c | 24 +- .../lvgl/src/widgets/lv_textarea.c | 12 +- .../lvgl/src/widgets/lv_textarea.h | 4 +- tasmota/berry/lvgl_examples/lv.be | 116 + .../berry/lvgl_examples/lv_tasmota_info.be | 66 + tasmota/berry/lvgl_examples/lv_tasmota_log.be | 64 + .../lvgl_examples/lv_tasmota_log_roboto.be | 68 + tasmota/berry/lvgl_examples/lv_wifi_graph.be | 70 + tasmota/lvgl_berry/tasmota_lv_conf.h | 534 +++-- tasmota/xdrv_52_3_berry_lvgl.ino | 19 + tasmota/xdrv_52_3_berry_tasmota.ino | 46 +- 287 files changed, 19767 insertions(+), 12214 deletions(-) create mode 100644 lib/libesp32/berry/generate/be_fixed_be_class_tasmota_log_reader.h create mode 100644 lib/libesp32/berry_tasmota/src/be_tasmota_log_reader_class.cpp rename lib/libesp32_lvgl/lvgl/src/{gpu/lv_gpu_sdl.c => draw/lv_draw.c} (58%) delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/lv_draw_blend.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/draw/lv_draw_blend.h rename lib/libesp32_lvgl/lvgl/src/{gpu => draw/nxp_pxp}/lv_gpu_nxp_pxp.c (99%) rename lib/libesp32_lvgl/lvgl/src/{gpu => draw/nxp_pxp}/lv_gpu_nxp_pxp.h (98%) rename lib/libesp32_lvgl/lvgl/src/{gpu => draw/nxp_pxp}/lv_gpu_nxp_pxp_osa.c (99%) rename lib/libesp32_lvgl/lvgl/src/{gpu => draw/nxp_pxp}/lv_gpu_nxp_pxp_osa.h (97%) rename lib/libesp32_lvgl/lvgl/src/{gpu => draw/nxp_vglite}/lv_gpu_nxp_vglite.c (99%) rename lib/libesp32_lvgl/lvgl/src/{gpu => draw/nxp_vglite}/lv_gpu_nxp_vglite.h (98%) rename lib/libesp32_lvgl/lvgl/src/{gpu => draw}/sdl/README.md (93%) create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl.mk create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_arc.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_bg.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_composite.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_composite.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_img.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_img.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_label.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_line.c rename lib/libesp32_lvgl/lvgl/src/{gpu/sdl/lv_gpu_sdl_mask.c => draw/sdl/lv_draw_sdl_mask.c} (50%) create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_mask.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_polygon.c rename lib/libesp32_lvgl/lvgl/src/{gpu/lv_gpu_sdl.h => draw/sdl/lv_draw_sdl_priv.h} (68%) create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_rect.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_rect.h rename lib/libesp32_lvgl/lvgl/src/{gpu/sdl/lv_gpu_sdl_stack_blur.c => draw/sdl/lv_draw_sdl_stack_blur.c} (98%) rename lib/libesp32_lvgl/lvgl/src/{gpu/sdl/lv_gpu_sdl_stack_blur.h => draw/sdl/lv_draw_sdl_stack_blur.h} (76%) rename lib/libesp32_lvgl/lvgl/src/{gpu/sdl/lv_gpu_sdl_texture_cache.c => draw/sdl/lv_draw_sdl_texture_cache.c} (51%) create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sdl/lv_draw_sdl_texture_cache.h rename lib/libesp32_lvgl/lvgl/src/{gpu/sdl/lv_gpu_sdl_utils.c => draw/sdl/lv_draw_sdl_utils.c} (61%) rename lib/libesp32_lvgl/lvgl/src/{gpu/sdl/lv_gpu_sdl_utils.h => draw/sdl/lv_draw_sdl_utils.h} (64%) create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw.mk create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_arc.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_blend.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_blend.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_dither.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_dither.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_gradient.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_gradient.h create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_img.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_letter.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_line.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_polygon.c create mode 100644 lib/libesp32_lvgl/lvgl/src/draw/sw/lv_draw_sw_rect.c create mode 100644 lib/libesp32_lvgl/lvgl/src/extra/libs/qrcode/lv_qrcode.c create mode 100644 lib/libesp32_lvgl/lvgl/src/extra/libs/qrcode/lv_qrcode.h create mode 100644 lib/libesp32_lvgl/lvgl/src/extra/libs/qrcode/qrcodegen.c create mode 100644 lib/libesp32_lvgl/lvgl/src/extra/libs/qrcode/qrcodegen.h create mode 100644 lib/libesp32_lvgl/lvgl/src/extra/others/gridnav/lv_gridnav.c create mode 100644 lib/libesp32_lvgl/lvgl/src/extra/others/gridnav/lv_gridnav.h create mode 100755 lib/libesp32_lvgl/lvgl/src/extra/others/monkey/lv_monkey.c create mode 100755 lib/libesp32_lvgl/lvgl/src/extra/others/monkey/lv_monkey.h create mode 100644 lib/libesp32_lvgl/lvgl/src/extra/widgets/menu/lv_menu.c create mode 100644 lib/libesp32_lvgl/lvgl/src/extra/widgets/menu/lv_menu.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/lv_gpu_stm32_dma2d.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/lv_gpu_stm32_dma2d.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/sdl/lv_gpu_sdl.mk delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_arc.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_blend.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_img.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_label.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_line.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_rect.c delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/sdl/lv_gpu_sdl_lru.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/sdl/lv_gpu_sdl_mask.h delete mode 100644 lib/libesp32_lvgl/lvgl/src/gpu/sdl/lv_gpu_sdl_texture_cache.h rename lib/libesp32_lvgl/lvgl/src/{gpu/sdl/lv_gpu_sdl_lru.c => misc/lv_lru.c} (62%) create mode 100644 lib/libesp32_lvgl/lvgl/src/misc/lv_lru.h create mode 100644 tasmota/berry/lvgl_examples/lv.be create mode 100644 tasmota/berry/lvgl_examples/lv_tasmota_info.be create mode 100644 tasmota/berry/lvgl_examples/lv_tasmota_log.be create mode 100644 tasmota/berry/lvgl_examples/lv_tasmota_log_roboto.be create mode 100644 tasmota/berry/lvgl_examples/lv_wifi_graph.be diff --git a/lib/libesp32/berry/default/be_modtab.c b/lib/libesp32/berry/default/be_modtab.c index 3a7cfc11c..fd98159ec 100644 --- a/lib/libesp32/berry/default/be_modtab.c +++ b/lib/libesp32/berry/default/be_modtab.c @@ -145,6 +145,7 @@ BERRY_LOCAL const bntvmodule* const be_module_table[] = { #ifdef ESP32 extern void be_load_tasmota_ntvlib(bvm *vm); +extern void be_load_tasmota_log_reader_class(bvm *vm); extern void be_load_light_state_class(bvm *vm); extern void be_load_wirelib(bvm *vm); extern void be_load_onewirelib(bvm *vm); @@ -193,6 +194,7 @@ BERRY_API void be_load_custom_libs(bvm *vm) #endif be_load_Timer_class(vm); be_load_tasmota_ntvlib(vm); + be_load_tasmota_log_reader_class(vm); be_load_Driver_class(vm); be_load_md5_lib(vm); be_load_serial_lib(vm); diff --git a/lib/libesp32/berry/generate/be_const_strtab.h b/lib/libesp32/berry/generate/be_const_strtab.h index 42529fa92..3f78caf90 100644 --- a/lib/libesp32/berry/generate/be_const_strtab.h +++ b/lib/libesp32/berry/generate/be_const_strtab.h @@ -232,6 +232,7 @@ extern const bcstring be_const_str_allocated; extern const bcstring be_const_str_alternate; extern const bcstring be_const_str_animate; extern const bcstring be_const_str_animators; +extern const bcstring be_const_str_arc_dsc; extern const bcstring be_const_str_arch; extern const bcstring be_const_str_area; extern const bcstring be_const_str_arg; @@ -350,6 +351,9 @@ extern const bcstring be_const_str_display; extern const bcstring be_const_str_display_X2Eini; extern const bcstring be_const_str_do; extern const bcstring be_const_str_draw_arc; +extern const bcstring be_const_str_draw_arc_dsc; +extern const bcstring be_const_str_draw_arc_dsc_init; +extern const bcstring be_const_str_draw_ctx; extern const bcstring be_const_str_draw_line; extern const bcstring be_const_str_draw_line_dsc; extern const bcstring be_const_str_draw_line_dsc_init; @@ -393,6 +397,7 @@ extern const bcstring be_const_str_find_op; extern const bcstring be_const_str_finish; extern const bcstring be_const_str_floor; extern const bcstring be_const_str_flush; +extern const bcstring be_const_str_font_embedded; extern const bcstring be_const_str_font_montserrat; extern const bcstring be_const_str_font_seg7; extern const bcstring be_const_str_for; @@ -424,6 +429,7 @@ extern const bcstring be_const_str_get_free_heap; extern const bcstring be_const_str_get_height; extern const bcstring be_const_str_get_input_power_status; extern const bcstring be_const_str_get_light; +extern const bcstring be_const_str_get_log; extern const bcstring be_const_str_get_object_from_ptr; extern const bcstring be_const_str_get_option; extern const bcstring be_const_str_get_percentage; @@ -462,6 +468,7 @@ extern const bcstring be_const_str_imax; extern const bcstring be_const_str_imin; extern const bcstring be_const_str_import; extern const bcstring be_const_str_init; +extern const bcstring be_const_str_init_draw_arc_dsc; extern const bcstring be_const_str_init_draw_line_dsc; extern const bcstring be_const_str_input; extern const bcstring be_const_str_ins_goto; @@ -638,6 +645,7 @@ extern const bcstring be_const_str_reverse_gamma10; extern const bcstring be_const_str_rotate; extern const bcstring be_const_str_round_end; extern const bcstring be_const_str_round_start; +extern const bcstring be_const_str_rounded; extern const bcstring be_const_str_rtc; extern const bcstring be_const_str_rule; extern const bcstring be_const_str_run; @@ -734,6 +742,7 @@ extern const bcstring be_const_str_target_search; extern const bcstring be_const_str_tasmota; extern const bcstring be_const_str_tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29; extern const bcstring be_const_str_tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29; +extern const bcstring be_const_str_tasmota_log_reader; extern const bcstring be_const_str_tcpclient; extern const bcstring be_const_str_tele; extern const bcstring be_const_str_the_X20second_X20argument_X20is_X20not_X20a_X20function; diff --git a/lib/libesp32/berry/generate/be_const_strtab_def.h b/lib/libesp32/berry/generate/be_const_strtab_def.h index f0712889a..b26de1f17 100644 --- a/lib/libesp32/berry/generate/be_const_strtab_def.h +++ b/lib/libesp32/berry/generate/be_const_strtab_def.h @@ -1,742 +1,751 @@ -be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_ins_goto); -be_define_const_str(_X0A, "\n", 252472541u, 0, 1, &be_const_str_int); -be_define_const_str(_X20, " ", 621580159u, 0, 1, &be_const_str__X2Ebec); -be_define_const_str(_X21_X3D, "!=", 2428715011u, 0, 2, NULL); -be_define_const_str(_X21_X3D_X3D, "!==", 559817114u, 0, 3, &be_const_str_round_start); -be_define_const_str(_X23, "#", 638357778u, 0, 1, &be_const_str_display_X2Eini); -be_define_const_str(_X23autoexec_X2Ebat, "#autoexec.bat", 3382890497u, 0, 13, &be_const_str__X2E); -be_define_const_str(_X23autoexec_X2Ebe, "#autoexec.be", 1181757091u, 0, 12, &be_const_str_ceil); -be_define_const_str(_X23display_X2Eini, "#display.ini", 182218220u, 0, 12, &be_const_str_do); -be_define_const_str(_X23init_X2Ebat, "#init.bat", 3297595077u, 0, 9, &be_const_str_AES_GCM); -be_define_const_str(_X23preinit_X2Ebe, "#preinit.be", 687035716u, 0, 11, &be_const_str_arg_X20must_X20be_X20a_X20subclass_X20of_X20lv_obj); -be_define_const_str(_X2502d_X25s_X2502d, "%02d%s%02d", 1587999717u, 0, 10, &be_const_str_geti); -be_define_const_str(_X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d, "%04d-%02d-%02dT%02d:%02d:%02d", 3425528601u, 0, 29, &be_const_str__ptr); -be_define_const_str(_X2508x_X2D_X2504x_X2D_X2504x_X2D_X2504x_X2D_X2504x_X2508x, "%08x-%04x-%04x-%04x-%04x%08x", 1670063141u, 0, 28, &be_const_str_day); -be_define_const_str(_X25s_X2Eautoconf, "%s.autoconf", 3560383524u, 0, 11, NULL); -be_define_const_str(_X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B, "<Error: apply new or remove>", 2855507949u, 0, 34, &be_const_str__X2F); -be_define_const_str(_X26lt_X3BNone_X26gt_X3B, "<None>", 2602165498u, 0, 12, &be_const_str__X3C_X3D); -be_define_const_str(_X28_X29, "()", 685372826u, 0, 2, &be_const_str_super); -be_define_const_str(_X2B, "+", 772578730u, 0, 1, &be_const_str_get_bri); -be_define_const_str(_X2C, ",", 688690635u, 0, 1, &be_const_str_create_custom_widget); -be_define_const_str(_X2C_X22AXP192_X22_X3A_X7B_X22VBusVoltage_X22_X3A_X25_X2E3f_X2C_X22VBusCurrent_X22_X3A_X25_X2E1f_X2C_X22BattVoltage_X22_X3A_X25_X2E3f_X2C_X22BattCurrent_X22_X3A_X25_X2E1f_X2C_X22Temperature_X22_X3A_X25_X2E1f_X7D, ",\"AXP192\":{\"VBusVoltage\":%.3f,\"VBusCurrent\":%.1f,\"BattVoltage\":%.3f,\"BattCurrent\":%.1f,\"Temperature\":%.1f}", 2598755376u, 0, 106, &be_const_str_get_warning_level); +be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_rtc); +be_define_const_str(_X0A, "\n", 252472541u, 0, 1, &be_const_str__X3Cp_X3ECurrent_X20configuration_X3A_X20_X3C_X2Fp_X3E_X3Cp_X3E_X3Cb_X3E_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E); +be_define_const_str(_X20, " ", 621580159u, 0, 1, &be_const_str__X2Ep); +be_define_const_str(_X21_X3D, "!=", 2428715011u, 0, 2, &be_const_str_CT); +be_define_const_str(_X21_X3D_X3D, "!==", 559817114u, 0, 3, &be_const_str_publish); +be_define_const_str(_X23, "#", 638357778u, 0, 1, &be_const_str_asstring); +be_define_const_str(_X23autoexec_X2Ebat, "#autoexec.bat", 3382890497u, 0, 13, &be_const_str_lvgl_event_dispatch); +be_define_const_str(_X23autoexec_X2Ebe, "#autoexec.be", 1181757091u, 0, 12, &be_const_str__X5B); +be_define_const_str(_X23display_X2Eini, "#display.ini", 182218220u, 0, 12, &be_const_str_begin_multicast); +be_define_const_str(_X23init_X2Ebat, "#init.bat", 3297595077u, 0, 9, &be_const_str_CFG_X3A_X20_X27init_X2Ebat_X27_X20done_X2C_X20restarting); +be_define_const_str(_X23preinit_X2Ebe, "#preinit.be", 687035716u, 0, 11, &be_const_str__error); +be_define_const_str(_X2502d_X25s_X2502d, "%02d%s%02d", 1587999717u, 0, 10, &be_const_str__X3D_X3C_X3E_X21); +be_define_const_str(_X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d, "%04d-%02d-%02dT%02d:%02d:%02d", 3425528601u, 0, 29, &be_const_str_BUTTON_CONFIGURATION); +be_define_const_str(_X2508x_X2D_X2504x_X2D_X2504x_X2D_X2504x_X2D_X2504x_X2508x, "%08x-%04x-%04x-%04x-%04x%08x", 1670063141u, 0, 28, &be_const_str_lv_coord_arr); +be_define_const_str(_X25s_X2Eautoconf, "%s.autoconf", 3560383524u, 0, 11, &be_const_str_RES_OK); +be_define_const_str(_X26lt_X3BError_X3A_X20apply_X20new_X20or_X20remove_X26gt_X3B, "<Error: apply new or remove>", 2855507949u, 0, 34, &be_const_str_gamma); +be_define_const_str(_X26lt_X3BNone_X26gt_X3B, "<None>", 2602165498u, 0, 12, &be_const_str__X2Fac); +be_define_const_str(_X28_X29, "()", 685372826u, 0, 2, &be_const_str_read24); +be_define_const_str(_X2B, "+", 772578730u, 0, 1, &be_const_str_make_cb); +be_define_const_str(_X2C, ",", 688690635u, 0, 1, &be_const_str_https_X3A_X2F_X2Fraw_X2Egithubusercontent_X2Ecom_X2Ftasmota_X2Fautoconf_X2Fmain_X2F_X25s_manifest_X2Ejson); +be_define_const_str(_X2C_X22AXP192_X22_X3A_X7B_X22VBusVoltage_X22_X3A_X25_X2E3f_X2C_X22VBusCurrent_X22_X3A_X25_X2E1f_X2C_X22BattVoltage_X22_X3A_X25_X2E3f_X2C_X22BattCurrent_X22_X3A_X25_X2E1f_X2C_X22Temperature_X22_X3A_X25_X2E1f_X7D, ",\"AXP192\":{\"VBusVoltage\":%.3f,\"VBusCurrent\":%.1f,\"BattVoltage\":%.3f,\"BattCurrent\":%.1f,\"Temperature\":%.1f}", 2598755376u, 0, 106, &be_const_str_bus); be_define_const_str(_X2D_X2D_X3A_X2D_X2D, "--:--", 1370615441u, 0, 5, NULL); -be_define_const_str(_X2E, ".", 722245873u, 0, 1, &be_const_str_bool); -be_define_const_str(_X2E_X2E, "..", 2748622605u, 0, 2, &be_const_str_lv_solidified); -be_define_const_str(_X2Eautoconf, ".autoconf", 2524679088u, 0, 9, &be_const_str_BRY_X3A_X20could_X20not_X20save_X20compiled_X20file_X20_X25s_X20_X28_X25s_X29); -be_define_const_str(_X2Ebe, ".be", 1325797348u, 0, 3, &be_const_str_LVG_X3A_X20call_X20to_X20unsupported_X20callback); -be_define_const_str(_X2Ebec, ".bec", 3985273221u, 0, 4, &be_const_str__X3Clambda_X3E); -be_define_const_str(_X2Elen, ".len", 850842136u, 0, 4, &be_const_str_lv_signal_bars); -be_define_const_str(_X2Ep, ".p", 1171526419u, 0, 2, &be_const_str_pow); -be_define_const_str(_X2Ep1, ".p1", 249175686u, 0, 3, NULL); -be_define_const_str(_X2Ep2, ".p2", 232398067u, 0, 3, &be_const_str_introspect); -be_define_const_str(_X2Esize, ".size", 1965188224u, 0, 5, &be_const_str_read32); -be_define_const_str(_X2Etapp, ".tapp", 1363391594u, 0, 5, &be_const_str_set_height); -be_define_const_str(_X2Ew, ".w", 1255414514u, 0, 2, &be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20); -be_define_const_str(_X2F, "/", 705468254u, 0, 1, &be_const_str__X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E); -be_define_const_str(_X2F_X2Eautoconf, "/.autoconf", 2212074393u, 0, 10, &be_const_str_codedump); -be_define_const_str(_X2F_X3Frst_X3D, "/?rst=", 580074707u, 0, 6, NULL); -be_define_const_str(_X2Fac, "/ac", 3904651978u, 0, 3, &be_const_str_compile); -be_define_const_str(_X3A, ":", 1057798253u, 0, 1, &be_const_str_strptime); -be_define_const_str(_X3C, "<", 957132539u, 0, 1, &be_const_str__anonymous_); -be_define_const_str(_X3C_X2Fform_X3E_X3C_X2Fp_X3E, "

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

", 1863865923u, 0, 16, &be_const_str_AudioOutput); -be_define_const_str(_X3C_X3D, "<=", 2499223986u, 0, 2, &be_const_str__X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3EAuto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E); -be_define_const_str(_X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, "", 3147934216u, 0, 82, &be_const_str_b); -be_define_const_str(_X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, "", 1205771629u, 0, 72, &be_const_str_gpio); -be_define_const_str(_X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, "
", 842307168u, 0, 77, &be_const_str__begin_transmission); -be_define_const_str(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29, "Choose a device configuration:
", 1336654704u, 0, 49, &be_const_str_lv); -be_define_const_str(_X3Clambda_X3E, "", 607256038u, 0, 8, &be_const_str_energy_struct); -be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Current auto-configuration", 4212500780u, 0, 82, &be_const_str_set_rate); -be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Select new auto-configuration", 1926223891u, 0, 80, &be_const_str_get_percentage); -be_define_const_str(_X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, "", 510303524u, 0, 30, &be_const_str_false); -be_define_const_str(_X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E, "", 3994619755u, 0, 54, &be_const_str_set_timer); -be_define_const_str(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E, "

Exception:
'%s'
%s

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

", 2052843416u, 0, 25, NULL); -be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3EAuto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E, "

", 2058443583u, 0, 110, &be_const_str_HTTP_GET); -be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, "

 (This feature requires an internet connection)

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

Current configuration:

%s

", 4115655761u, 0, 46, &be_const_str_None); -be_define_const_str(_X3Cselect_X20name_X3D_X27zip_X27_X3E, "

", 1863865923u, 0, 16, NULL); +be_define_const_str(_X3C_X3D, "<=", 2499223986u, 0, 2, NULL); +be_define_const_str(_X3Cbutton_X20name_X3D_X27reapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3ERe_X2Dapply_X20current_X20configuration_X3C_X2Fbutton_X3E, "", 3147934216u, 0, 82, &be_const_str_assert); +be_define_const_str(_X3Cbutton_X20name_X3D_X27zipapply_X27_X20class_X3D_X27button_X20bgrn_X27_X3EApply_X20configuration_X3C_X2Fbutton_X3E, "", 1205771629u, 0, 72, &be_const_str_set_useragent); +be_define_const_str(_X3Cfieldset_X3E_X3Cstyle_X3E_X2Ebdis_X7Bbackground_X3A_X23888_X3B_X7D_X2Ebdis_X3Ahover_X7Bbackground_X3A_X23888_X3B_X7D_X3C_X2Fstyle_X3E, "
", 842307168u, 0, 77, NULL); +be_define_const_str(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29, "Choose a device configuration:
", 1336654704u, 0, 49, &be_const_str_lv_obj_class); +be_define_const_str(_X3Clambda_X3E, "", 607256038u, 0, 8, NULL); +be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27Autoconfiguration_X27_X3E_X26nbsp_X3BCurrent_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Current auto-configuration", 4212500780u, 0, 82, &be_const_str_COLOR_BLACK); +be_define_const_str(_X3Clegend_X3E_X3Cb_X20title_X3D_X27New_X20autoconf_X27_X3E_X26nbsp_X3BSelect_X20new_X20auto_X2Dconfiguration_X3C_X2Fb_X3E_X3C_X2Flegend_X3E, " Select new auto-configuration", 1926223891u, 0, 80, &be_const_str_SERIAL_6E1); +be_define_const_str(_X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, "", 510303524u, 0, 30, &be_const_str_SERIAL_7O2); +be_define_const_str(_X3Coption_X20value_X3D_X27reset_X27_X3E_X26lt_X3BRemove_X20autoconf_X26gt_X3B_X3C_X2Foption_X3E, "", 3994619755u, 0, 54, NULL); +be_define_const_str(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E, "

Exception:
'%s'
%s

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

", 2052843416u, 0, 25, &be_const_str_EC_C25519); +be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dac_X20action_X3D_X27ac_X27_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20method_X3D_X27get_X27_X3E_X3Cbutton_X3EAuto_X2Dconfiguration_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E, "

", 2058443583u, 0, 110, NULL); +be_define_const_str(_X3Cp_X3E_X3Cform_X20id_X3Dreapply_X20style_X3D_X27display_X3A_X20block_X3B_X27_X20action_X3D_X27_X2Fac_X27_X20method_X3D_X27post_X27_X20, "

 (This feature requires an internet connection)

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

Current configuration:

%s

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