mirror of https://github.com/arendst/Tasmota.git
LVGL add support for lv_timer
This commit is contained in:
parent
278b9dfe23
commit
011feb7e67
|
@ -572,11 +572,13 @@ extern const bcstring be_const_str_lv_point_arr;
|
|||
extern const bcstring be_const_str_lv_signal_arcs;
|
||||
extern const bcstring be_const_str_lv_signal_bars;
|
||||
extern const bcstring be_const_str_lv_solidified;
|
||||
extern const bcstring be_const_str_lv_timer_cb;
|
||||
extern const bcstring be_const_str_lv_wifi_arcs;
|
||||
extern const bcstring be_const_str_lv_wifi_arcs_icon;
|
||||
extern const bcstring be_const_str_lv_wifi_bars;
|
||||
extern const bcstring be_const_str_lv_wifi_bars_icon;
|
||||
extern const bcstring be_const_str_lvgl_event_dispatch;
|
||||
extern const bcstring be_const_str_lvgl_timer_dispatch;
|
||||
extern const bcstring be_const_str_make_cb;
|
||||
extern const bcstring be_const_str_manuf;
|
||||
extern const bcstring be_const_str_map;
|
||||
|
@ -824,6 +826,7 @@ extern const bcstring be_const_str_the_X20second_X20argument_X20is_X20not_X20a_X
|
|||
extern const bcstring be_const_str_time_dump;
|
||||
extern const bcstring be_const_str_time_reached;
|
||||
extern const bcstring be_const_str_time_str;
|
||||
extern const bcstring be_const_str_timer_cb;
|
||||
extern const bcstring be_const_str_to_gamma;
|
||||
extern const bcstring be_const_str_tob64;
|
||||
extern const bcstring be_const_str_tolower;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -379,7 +379,7 @@ const be_ntv_func_def_t lv_obj_func[] = {
|
|||
{ "move_foreground", { (const void*) &lv_obj_move_foreground, "", "(lv.lv_obj)" } },
|
||||
{ "move_to", { (const void*) &lv_obj_move_to, "", "(lv.lv_obj)ii" } },
|
||||
{ "move_to_index", { (const void*) &lv_obj_move_to_index, "", "(lv.lv_obj)i" } },
|
||||
{ "readjust_scroll", { (const void*) &lv_obj_readjust_scroll, "", "(lv.lv_obj)(lv.lv_anim_enable)" } },
|
||||
{ "readjust_scroll", { (const void*) &lv_obj_readjust_scroll, "", "(lv.lv_obj)i" } },
|
||||
{ "refr_pos", { (const void*) &lv_obj_refr_pos, "", "(lv.lv_obj)" } },
|
||||
{ "refr_size", { (const void*) &lv_obj_refr_size, "b", "(lv.lv_obj)" } },
|
||||
{ "refresh_ext_draw_size", { (const void*) &lv_obj_refresh_ext_draw_size, "", "(lv.lv_obj)" } },
|
||||
|
@ -391,13 +391,13 @@ const be_ntv_func_def_t lv_obj_func[] = {
|
|||
{ "remove_local_style_prop", { (const void*) &lv_obj_remove_local_style_prop, "b", "(lv.lv_obj)ii" } },
|
||||
{ "remove_style", { (const void*) &lv_obj_remove_style, "", "(lv.lv_obj)(lv.lv_style)i" } },
|
||||
{ "remove_style_all", { (const void*) &lv_obj_remove_style_all, "", "(lv.lv_obj)" } },
|
||||
{ "scroll_by", { (const void*) &lv_obj_scroll_by, "", "(lv.lv_obj)ii(lv.lv_anim_enable)" } },
|
||||
{ "scroll_by_bounded", { (const void*) &lv_obj_scroll_by_bounded, "", "(lv.lv_obj)ii(lv.lv_anim_enable)" } },
|
||||
{ "scroll_to", { (const void*) &lv_obj_scroll_to, "", "(lv.lv_obj)ii(lv.lv_anim_enable)" } },
|
||||
{ "scroll_to_view", { (const void*) &lv_obj_scroll_to_view, "", "(lv.lv_obj)(lv.lv_anim_enable)" } },
|
||||
{ "scroll_to_view_recursive", { (const void*) &lv_obj_scroll_to_view_recursive, "", "(lv.lv_obj)(lv.lv_anim_enable)" } },
|
||||
{ "scroll_to_x", { (const void*) &lv_obj_scroll_to_x, "", "(lv.lv_obj)i(lv.lv_anim_enable)" } },
|
||||
{ "scroll_to_y", { (const void*) &lv_obj_scroll_to_y, "", "(lv.lv_obj)i(lv.lv_anim_enable)" } },
|
||||
{ "scroll_by", { (const void*) &lv_obj_scroll_by, "", "(lv.lv_obj)iii" } },
|
||||
{ "scroll_by_bounded", { (const void*) &lv_obj_scroll_by_bounded, "", "(lv.lv_obj)iii" } },
|
||||
{ "scroll_to", { (const void*) &lv_obj_scroll_to, "", "(lv.lv_obj)iii" } },
|
||||
{ "scroll_to_view", { (const void*) &lv_obj_scroll_to_view, "", "(lv.lv_obj)i" } },
|
||||
{ "scroll_to_view_recursive", { (const void*) &lv_obj_scroll_to_view_recursive, "", "(lv.lv_obj)i" } },
|
||||
{ "scroll_to_x", { (const void*) &lv_obj_scroll_to_x, "", "(lv.lv_obj)ii" } },
|
||||
{ "scroll_to_y", { (const void*) &lv_obj_scroll_to_y, "", "(lv.lv_obj)ii" } },
|
||||
{ "scrollbar_invalidate", { (const void*) &lv_obj_scrollbar_invalidate, "", "(lv.lv_obj)" } },
|
||||
{ "set_align", { (const void*) &lv_obj_set_align, "", "(lv.lv_obj)i" } },
|
||||
{ "set_content_height", { (const void*) &lv_obj_set_content_height, "", "(lv.lv_obj)i" } },
|
||||
|
@ -537,7 +537,7 @@ const be_ntv_func_def_t lv_obj_func[] = {
|
|||
{ "swap", { (const void*) &lv_obj_swap, "", "(lv.lv_obj)(lv.lv_obj)" } },
|
||||
{ "tree_walk", { (const void*) &lv_obj_tree_walk, "", "(lv.lv_obj)^lv_obj_tree_walk_cb^." } },
|
||||
{ "update_layout", { (const void*) &lv_obj_update_layout, "", "(lv.lv_obj)" } },
|
||||
{ "update_snap", { (const void*) &lv_obj_update_snap, "", "(lv.lv_obj)(lv.lv_anim_enable)" } },
|
||||
{ "update_snap", { (const void*) &lv_obj_update_snap, "", "(lv.lv_obj)i" } },
|
||||
};
|
||||
|
||||
/* `lv_group` methods */
|
||||
|
@ -716,6 +716,19 @@ const be_ntv_func_def_t lv_spinner_func[] = {
|
|||
};
|
||||
#endif // BE_LV_WIDGET_SPINNER
|
||||
|
||||
/* `lv_timer` methods */
|
||||
const be_ntv_func_def_t lv_timer_func[] = {
|
||||
{ "del", { (const void*) &lv_timer_del, "", "(lv.lv_timer)" } },
|
||||
{ "get_next", { (const void*) &lv_timer_get_next, "lv.lv_timer", "(lv.lv_timer)" } },
|
||||
{ "pause", { (const void*) &lv_timer_pause, "", "(lv.lv_timer)" } },
|
||||
{ "ready", { (const void*) &lv_timer_ready, "", "(lv.lv_timer)" } },
|
||||
{ "reset", { (const void*) &lv_timer_reset, "", "(lv.lv_timer)" } },
|
||||
{ "resume", { (const void*) &lv_timer_resume, "", "(lv.lv_timer)" } },
|
||||
{ "set_cb", { (const void*) &lv_timer_set_cb, "", "(lv.lv_timer)^lv_timer_cb^" } },
|
||||
{ "set_period", { (const void*) &lv_timer_set_period, "", "(lv.lv_timer)i" } },
|
||||
{ "set_repeat_count", { (const void*) &lv_timer_set_repeat_count, "", "(lv.lv_timer)i" } },
|
||||
};
|
||||
|
||||
/* `lv_arc` methods */
|
||||
#ifdef BE_LV_WIDGET_ARC
|
||||
const be_ntv_func_def_t lv_arc_func[] = {
|
||||
|
@ -751,8 +764,8 @@ const be_ntv_func_def_t lv_bar_func[] = {
|
|||
{ "get_value", { (const void*) &lv_bar_get_value, "i", "(lv.lv_obj)" } },
|
||||
{ "set_mode", { (const void*) &lv_bar_set_mode, "", "(lv.lv_obj)i" } },
|
||||
{ "set_range", { (const void*) &lv_bar_set_range, "", "(lv.lv_obj)ii" } },
|
||||
{ "set_start_value", { (const void*) &lv_bar_set_start_value, "", "(lv.lv_obj)i(lv.lv_anim_enable)" } },
|
||||
{ "set_value", { (const void*) &lv_bar_set_value, "", "(lv.lv_obj)i(lv.lv_anim_enable)" } },
|
||||
{ "set_start_value", { (const void*) &lv_bar_set_start_value, "", "(lv.lv_obj)ii" } },
|
||||
{ "set_value", { (const void*) &lv_bar_set_value, "", "(lv.lv_obj)ii" } },
|
||||
};
|
||||
#endif // BE_LV_WIDGET_BAR
|
||||
|
||||
|
@ -882,7 +895,7 @@ const be_ntv_func_def_t lv_roller_func[] = {
|
|||
{ "get_selected", { (const void*) &lv_roller_get_selected, "i", "(lv.lv_obj)" } },
|
||||
{ "get_selected_str", { (const void*) &lv_roller_get_selected_str, "", "(lv.lv_obj)si" } },
|
||||
{ "set_options", { (const void*) &lv_roller_set_options, "", "(lv.lv_obj)s(lv.lv_roller_mode)" } },
|
||||
{ "set_selected", { (const void*) &lv_roller_set_selected, "", "(lv.lv_obj)i(lv.lv_anim_enable)" } },
|
||||
{ "set_selected", { (const void*) &lv_roller_set_selected, "", "(lv.lv_obj)ii" } },
|
||||
{ "set_visible_row_count", { (const void*) &lv_roller_set_visible_row_count, "", "(lv.lv_obj)i" } },
|
||||
};
|
||||
#endif // BE_LV_WIDGET_ROLLER
|
||||
|
@ -896,10 +909,10 @@ const be_ntv_func_def_t lv_slider_func[] = {
|
|||
{ "get_mode", { (const void*) &lv_slider_get_mode, "i", "(lv.lv_obj)" } },
|
||||
{ "get_value", { (const void*) &lv_slider_get_value, "i", "(lv.lv_obj)" } },
|
||||
{ "is_dragged", { (const void*) &lv_slider_is_dragged, "b", "(lv.lv_obj)" } },
|
||||
{ "set_left_value", { (const void*) &lv_slider_set_left_value, "", "(lv.lv_obj)i(lv.lv_anim_enable)" } },
|
||||
{ "set_left_value", { (const void*) &lv_slider_set_left_value, "", "(lv.lv_obj)ii" } },
|
||||
{ "set_mode", { (const void*) &lv_slider_set_mode, "", "(lv.lv_obj)i" } },
|
||||
{ "set_range", { (const void*) &lv_slider_set_range, "", "(lv.lv_obj)ii" } },
|
||||
{ "set_value", { (const void*) &lv_slider_set_value, "", "(lv.lv_obj)i(lv.lv_anim_enable)" } },
|
||||
{ "set_value", { (const void*) &lv_slider_set_value, "", "(lv.lv_obj)ii" } },
|
||||
};
|
||||
#endif // BE_LV_WIDGET_SLIDER
|
||||
|
||||
|
@ -998,6 +1011,7 @@ extern const bclass be_class_lv_switch;
|
|||
extern const bclass be_class_lv_table;
|
||||
extern const bclass be_class_lv_textarea;
|
||||
extern const bclass be_class_lv_theme;
|
||||
extern const bclass be_class_lv_timer;
|
||||
|
||||
|
||||
// map of clases
|
||||
|
@ -1079,6 +1093,7 @@ const be_ntv_class_def_t lv_classes[] = {
|
|||
{ "lv_textarea", &be_class_lv_textarea, lv_textarea_func, sizeof(lv_textarea_func) / sizeof(lv_textarea_func[0]) },
|
||||
#endif // BE_LV_WIDGET_TEXTAREA
|
||||
{ "lv_theme", &be_class_lv_theme, lv_theme_func, sizeof(lv_theme_func) / sizeof(lv_theme_func[0]) },
|
||||
{ "lv_timer", &be_class_lv_timer, lv_timer_func, sizeof(lv_timer_func) / sizeof(lv_timer_func[0]) },
|
||||
};
|
||||
const size_t lv_classes_size = sizeof(lv_classes) / sizeof(lv_classes[0]);
|
||||
|
||||
|
@ -1128,6 +1143,7 @@ const size_t lv_classes_size = sizeof(lv_classes) / sizeof(lv_classes[0]);
|
|||
#ifdef BE_LV_WIDGET_SPINNER
|
||||
int be_ntv_lv_spinner_init(bvm *vm) { return be_call_c_func(vm, (void*) &lv_spinner_create, "+_p", "(lv.lv_obj)ii"); }
|
||||
#endif // BE_LV_WIDGET_SPINNER
|
||||
/* `lv_timer` methods */
|
||||
/* `lv_arc` methods */
|
||||
#ifdef BE_LV_WIDGET_ARC
|
||||
int be_ntv_lv_arc_init(bvm *vm) { return be_call_c_func(vm, (void*) &lv_arc_create, "+_p", "(lv.lv_obj)"); }
|
||||
|
|
|
@ -161,6 +161,11 @@ const be_ntv_func_def_t lv_func[] = {
|
|||
{ "theme_openhasp_is_inited", { (const void*) &lv_theme_openhasp_is_inited, "b", "" } },
|
||||
{ "theme_set_apply_cb", { (const void*) &lv_theme_set_apply_cb, "", "(lv.lv_theme)^lv_theme_apply_cb^" } },
|
||||
{ "theme_set_parent", { (const void*) &lv_theme_set_parent, "", "(lv.lv_theme)(lv.lv_theme)" } },
|
||||
{ "timer_create", { (const void*) &lv_timer_create, "lv.lv_timer", "^lv_timer_cb^i." } },
|
||||
{ "timer_create_basic", { (const void*) &lv_timer_create_basic, "lv.lv_timer", "" } },
|
||||
{ "timer_enable", { (const void*) &lv_timer_enable, "", "b" } },
|
||||
{ "timer_get_idle", { (const void*) &lv_timer_get_idle, "i", "" } },
|
||||
{ "timer_handler", { (const void*) &lv_timer_handler, "i", "" } },
|
||||
{ "trigo_cos", { (const void*) &lv_trigo_cos, "i", "i" } },
|
||||
{ "trigo_sin", { (const void*) &lv_trigo_sin, "i", "i" } },
|
||||
|
||||
|
|
|
@ -693,6 +693,17 @@ extern int lvbe_spinbox_decrement(bvm *vm);
|
|||
/* `lv_spinner` external functions definitions */
|
||||
extern int lvbe_spinner_create(bvm *vm);
|
||||
|
||||
/* `lv_timer` external functions definitions */
|
||||
extern int lvbe_timer_del(bvm *vm);
|
||||
extern int lvbe_timer_pause(bvm *vm);
|
||||
extern int lvbe_timer_resume(bvm *vm);
|
||||
extern int lvbe_timer_set_cb(bvm *vm);
|
||||
extern int lvbe_timer_set_period(bvm *vm);
|
||||
extern int lvbe_timer_ready(bvm *vm);
|
||||
extern int lvbe_timer_set_repeat_count(bvm *vm);
|
||||
extern int lvbe_timer_reset(bvm *vm);
|
||||
extern int lvbe_timer_get_next(bvm *vm);
|
||||
|
||||
/* `lv_arc` external functions definitions */
|
||||
extern int lvbe_arc_create(bvm *vm);
|
||||
extern int lvbe_arc_set_start_angle(bvm *vm);
|
||||
|
@ -919,6 +930,7 @@ extern int be_ntv_lv_meter_init(bvm *vm);
|
|||
extern int be_ntv_lv_msgbox_init(bvm *vm);
|
||||
extern int be_ntv_lv_spinbox_init(bvm *vm);
|
||||
extern int be_ntv_lv_spinner_init(bvm *vm);
|
||||
extern int be_ntv_lv_timer_init(bvm *vm);
|
||||
extern int be_ntv_lv_arc_init(bvm *vm);
|
||||
extern int be_ntv_lv_bar_init(bvm *vm);
|
||||
extern int be_ntv_lv_btn_init(bvm *vm);
|
||||
|
@ -965,6 +977,7 @@ extern const bclass be_class_lv_switch;
|
|||
extern const bclass be_class_lv_table;
|
||||
extern const bclass be_class_lv_textarea;
|
||||
extern const bclass be_class_lv_theme;
|
||||
extern const bclass be_class_lv_timer;
|
||||
|
||||
|
||||
/********************************************************************
|
||||
|
@ -1053,6 +1066,23 @@ be_local_class(lv_disp,
|
|||
);
|
||||
/*******************************************************************/
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: lv_timer
|
||||
********************************************************************/
|
||||
be_local_class(lv_timer,
|
||||
1,
|
||||
NULL,
|
||||
be_nested_map(4,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_nested_key("init", 380752755, 4, -1), be_const_func(lv0_init) },
|
||||
{ be_nested_key("tostring", -1995258651, 8, -1), be_const_func(lv_x_tostring) },
|
||||
{ be_nested_key("_p", 1594591802, 2, -1), be_const_var(0) },
|
||||
{ be_nested_key("member", 719708611, 6, 0), be_const_func(lv_x_member) },
|
||||
})),
|
||||
be_str_literal("lv_timer")
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: lv_font
|
||||
********************************************************************/
|
||||
|
@ -1348,6 +1378,12 @@ void be_load_lv_spinner_class(bvm *vm) {
|
|||
be_pop(vm, 1);
|
||||
}
|
||||
|
||||
void be_load_lv_timer_class(bvm *vm) {
|
||||
be_pushntvclass(vm, &be_class_lv_timer);
|
||||
be_setglobal(vm, "lv_timer");
|
||||
be_pop(vm, 1);
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: lv_arc
|
||||
********************************************************************/
|
||||
|
|
|
@ -868,6 +868,22 @@ void lv_style_set_blend_mode(lv_style_t * style, lv_blend_mode_t value)
|
|||
void lv_style_set_layout(lv_style_t * style, uint16_t value)
|
||||
void lv_style_set_base_dir(lv_style_t * style, lv_base_dir_t value)
|
||||
|
||||
// ../../lvgl/src/misc/lv_timer.h
|
||||
uint32_t lv_timer_handler(void)
|
||||
lv_timer_t * lv_timer_create_basic(void)
|
||||
lv_timer_t * lv_timer_create(lv_timer_cb_t timer_xcb, uint32_t period, void * user_data)
|
||||
void lv_timer_del(lv_timer_t * timer)
|
||||
void lv_timer_pause(lv_timer_t * timer)
|
||||
void lv_timer_resume(lv_timer_t * timer)
|
||||
void lv_timer_set_cb(lv_timer_t * timer, lv_timer_cb_t timer_cb)
|
||||
void lv_timer_set_period(lv_timer_t * timer, uint32_t period)
|
||||
void lv_timer_ready(lv_timer_t * timer)
|
||||
void lv_timer_set_repeat_count(lv_timer_t * timer, int32_t repeat_count)
|
||||
void lv_timer_reset(lv_timer_t * timer)
|
||||
void lv_timer_enable(bool en)
|
||||
uint8_t lv_timer_get_idle(void)
|
||||
lv_timer_t * lv_timer_get_next(lv_timer_t * timer)
|
||||
|
||||
// ../../lvgl/src/widgets/lv_arc.h
|
||||
lv_obj_t * lv_arc_create(lv_obj_t * parent)
|
||||
void lv_arc_set_start_angle(lv_obj_t * arc, uint16_t start)
|
||||
|
|
|
@ -3,104 +3,6 @@
|
|||
*******************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: get_object_from_ptr
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_get_object_from_ptr, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
2, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str(cb_obj),
|
||||
/* K1 */ be_nested_str(find),
|
||||
}),
|
||||
&be_const_str_get_object_from_ptr,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x4C0C0000, // 0001 LDNIL R3
|
||||
0x20080403, // 0002 NE R2 R2 R3
|
||||
0x780A0004, // 0003 JMPF R2 #0009
|
||||
0x88080100, // 0004 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0005 GETMET R2 R2 K1
|
||||
0x5C100200, // 0006 MOVE R4 R1
|
||||
0x7C080400, // 0007 CALL R2 2
|
||||
0x80040400, // 0008 RET 1 R2
|
||||
0x80000000, // 0009 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: widget_ctor_impl
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_widget_ctor_impl, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
3, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str(introspect),
|
||||
/* K1 */ be_nested_str(lv),
|
||||
/* K2 */ be_nested_str(lv_obj_class),
|
||||
/* K3 */ be_nested_str(get_object_from_ptr),
|
||||
/* K4 */ be_nested_str(cb_obj),
|
||||
/* K5 */ be_nested_str(find),
|
||||
/* K6 */ be_nested_str(instance),
|
||||
/* K7 */ be_nested_str(get),
|
||||
/* K8 */ be_nested_str(widget_constructor),
|
||||
}),
|
||||
&be_const_str_widget_ctor_impl,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[29]) { /* code */
|
||||
0xA40E0000, // 0000 IMPORT R3 K0
|
||||
0xB8120200, // 0001 GETNGBL R4 K1
|
||||
0x8C100902, // 0002 GETMET R4 R4 K2
|
||||
0x5C180200, // 0003 MOVE R6 R1
|
||||
0x7C100400, // 0004 CALL R4 2
|
||||
0x8C140103, // 0005 GETMET R5 R0 K3
|
||||
0x5C1C0400, // 0006 MOVE R7 R2
|
||||
0x7C140400, // 0007 CALL R5 2
|
||||
0x88180104, // 0008 GETMBR R6 R0 K4
|
||||
0x8C180D05, // 0009 GETMET R6 R6 K5
|
||||
0x5C200A00, // 000A MOVE R8 R5
|
||||
0x7C180400, // 000B CALL R6 2
|
||||
0x781A0001, // 000C JMPF R6 #000F
|
||||
0x88180104, // 000D GETMBR R6 R0 K4
|
||||
0x94140C05, // 000E GETIDX R5 R6 R5
|
||||
0x60180004, // 000F GETGBL R6 G4
|
||||
0x5C1C0A00, // 0010 MOVE R7 R5
|
||||
0x7C180200, // 0011 CALL R6 1
|
||||
0x1C180D06, // 0012 EQ R6 R6 K6
|
||||
0x781A0007, // 0013 JMPF R6 #001C
|
||||
0x8C180707, // 0014 GETMET R6 R3 K7
|
||||
0x5C200A00, // 0015 MOVE R8 R5
|
||||
0x58240008, // 0016 LDCONST R9 K8
|
||||
0x7C180600, // 0017 CALL R6 3
|
||||
0x781A0002, // 0018 JMPF R6 #001C
|
||||
0x8C180B08, // 0019 GETMET R6 R5 K8
|
||||
0x5C200800, // 001A MOVE R8 R4
|
||||
0x7C180400, // 001B CALL R6 2
|
||||
0x80000000, // 001C RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: widget_cb
|
||||
********************************************************************/
|
||||
|
@ -108,7 +10,7 @@ be_local_closure(LVGL_glob_widget_cb, /* name */
|
|||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
1, /* has sup protos */
|
||||
|
@ -299,6 +201,236 @@ be_local_closure(LVGL_glob__anonymous_, /* name */
|
|||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: make_cb
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_make_cb, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
1, /* has sup protos */
|
||||
( &(const struct bproto*[ 2]) {
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
1, /* has upvals */
|
||||
( &(const bupvaldesc[ 1]) { /* upvals */
|
||||
be_local_const_upval(1, 0),
|
||||
}),
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str(lvgl_event_dispatch),
|
||||
}),
|
||||
&be_const_str__X3Clambda_X3E,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x68040000, // 0000 GETUPV R1 U0
|
||||
0x8C040300, // 0001 GETMET R1 R1 K0
|
||||
0x5C0C0000, // 0002 MOVE R3 R0
|
||||
0x7C040400, // 0003 CALL R1 2
|
||||
0x80040200, // 0004 RET 1 R1
|
||||
})
|
||||
),
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
1, /* has upvals */
|
||||
( &(const bupvaldesc[ 1]) { /* upvals */
|
||||
be_local_const_upval(1, 0),
|
||||
}),
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str(lvgl_timer_dispatch),
|
||||
}),
|
||||
&be_const_str__X3Clambda_X3E,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x68040000, // 0000 GETUPV R1 U0
|
||||
0x8C040300, // 0001 GETMET R1 R1 K0
|
||||
0x5C0C0000, // 0002 MOVE R3 R0
|
||||
0x7C040400, // 0003 CALL R1 2
|
||||
0x80040200, // 0004 RET 1 R1
|
||||
})
|
||||
),
|
||||
}),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[19]) { /* constants */
|
||||
/* K0 */ be_nested_str(cb),
|
||||
/* K1 */ be_nested_str(lv_event_cb),
|
||||
/* K2 */ be_nested_str(cb_event_closure),
|
||||
/* K3 */ be_nested_str(event_cb),
|
||||
/* K4 */ be_nested_str(gen_cb),
|
||||
/* K5 */ be_nested_str(register_obj),
|
||||
/* K6 */ be_nested_str(contains),
|
||||
/* K7 */ be_nested_str(_p),
|
||||
/* K8 */ be_nested_str(tasmota),
|
||||
/* K9 */ be_nested_str(log),
|
||||
/* K10 */ be_nested_str(LVG_X3A_X20object_X3A),
|
||||
/* K11 */ be_nested_str(has_X20already_X20an_X20event_X20callback),
|
||||
/* K12 */ be_const_int(2),
|
||||
/* K13 */ be_nested_str(lv_timer_cb),
|
||||
/* K14 */ be_nested_str(timer_cb),
|
||||
/* K15 */ be_const_int(0),
|
||||
/* K16 */ be_nested_str(lv_),
|
||||
/* K17 */ be_nested_str(null_cb),
|
||||
/* K18 */ be_nested_str(cb_do_nothing),
|
||||
}),
|
||||
&be_const_str_make_cb,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[101]) { /* code */
|
||||
0xA4120000, // 0000 IMPORT R4 K0
|
||||
0x1C140701, // 0001 EQ R5 R3 K1
|
||||
0x78160026, // 0002 JMPF R5 #002A
|
||||
0x88140102, // 0003 GETMBR R5 R0 K2
|
||||
0x4C180000, // 0004 LDNIL R6
|
||||
0x1C140A06, // 0005 EQ R5 R5 R6
|
||||
0x78160002, // 0006 JMPF R5 #000A
|
||||
0x60140013, // 0007 GETGBL R5 G19
|
||||
0x7C140000, // 0008 CALL R5 0
|
||||
0x90020405, // 0009 SETMBR R0 K2 R5
|
||||
0x88140103, // 000A GETMBR R5 R0 K3
|
||||
0x4C180000, // 000B LDNIL R6
|
||||
0x1C140A06, // 000C EQ R5 R5 R6
|
||||
0x78160003, // 000D JMPF R5 #0012
|
||||
0x8C140904, // 000E GETMET R5 R4 K4
|
||||
0x841C0000, // 000F CLOSURE R7 P0
|
||||
0x7C140400, // 0010 CALL R5 2
|
||||
0x90020605, // 0011 SETMBR R0 K3 R5
|
||||
0x8C140105, // 0012 GETMET R5 R0 K5
|
||||
0x5C1C0400, // 0013 MOVE R7 R2
|
||||
0x7C140400, // 0014 CALL R5 2
|
||||
0x88140102, // 0015 GETMBR R5 R0 K2
|
||||
0x8C140B06, // 0016 GETMET R5 R5 K6
|
||||
0x881C0507, // 0017 GETMBR R7 R2 K7
|
||||
0x7C140400, // 0018 CALL R5 2
|
||||
0x78160008, // 0019 JMPF R5 #0023
|
||||
0xB8161000, // 001A GETNGBL R5 K8
|
||||
0x8C140B09, // 001B GETMET R5 R5 K9
|
||||
0x601C0008, // 001C GETGBL R7 G8
|
||||
0x5C200400, // 001D MOVE R8 R2
|
||||
0x7C1C0200, // 001E CALL R7 1
|
||||
0x001E1407, // 001F ADD R7 K10 R7
|
||||
0x001C0F0B, // 0020 ADD R7 R7 K11
|
||||
0x5820000C, // 0021 LDCONST R8 K12
|
||||
0x7C140600, // 0022 CALL R5 3
|
||||
0x88140507, // 0023 GETMBR R5 R2 K7
|
||||
0x88180102, // 0024 GETMBR R6 R0 K2
|
||||
0x98180A01, // 0025 SETIDX R6 R5 R1
|
||||
0x88140103, // 0026 GETMBR R5 R0 K3
|
||||
0xA0000000, // 0027 CLOSE R0
|
||||
0x80040A00, // 0028 RET 1 R5
|
||||
0x70020038, // 0029 JMP #0063
|
||||
0x1C14070D, // 002A EQ R5 R3 K13
|
||||
0x78160023, // 002B JMPF R5 #0050
|
||||
0x88140102, // 002C GETMBR R5 R0 K2
|
||||
0x4C180000, // 002D LDNIL R6
|
||||
0x1C140A06, // 002E EQ R5 R5 R6
|
||||
0x78160002, // 002F JMPF R5 #0033
|
||||
0x60140013, // 0030 GETGBL R5 G19
|
||||
0x7C140000, // 0031 CALL R5 0
|
||||
0x90020405, // 0032 SETMBR R0 K2 R5
|
||||
0x8814010E, // 0033 GETMBR R5 R0 K14
|
||||
0x4C180000, // 0034 LDNIL R6
|
||||
0x1C140A06, // 0035 EQ R5 R5 R6
|
||||
0x78160003, // 0036 JMPF R5 #003B
|
||||
0x8C140904, // 0037 GETMET R5 R4 K4
|
||||
0x841C0001, // 0038 CLOSURE R7 P1
|
||||
0x7C140400, // 0039 CALL R5 2
|
||||
0x90021C05, // 003A SETMBR R0 K14 R5
|
||||
0x88140102, // 003B GETMBR R5 R0 K2
|
||||
0x8C140B06, // 003C GETMET R5 R5 K6
|
||||
0x881C0507, // 003D GETMBR R7 R2 K7
|
||||
0x7C140400, // 003E CALL R5 2
|
||||
0x78160008, // 003F JMPF R5 #0049
|
||||
0xB8161000, // 0040 GETNGBL R5 K8
|
||||
0x8C140B09, // 0041 GETMET R5 R5 K9
|
||||
0x601C0008, // 0042 GETGBL R7 G8
|
||||
0x5C200400, // 0043 MOVE R8 R2
|
||||
0x7C1C0200, // 0044 CALL R7 1
|
||||
0x001E1407, // 0045 ADD R7 K10 R7
|
||||
0x001C0F0B, // 0046 ADD R7 R7 K11
|
||||
0x5820000C, // 0047 LDCONST R8 K12
|
||||
0x7C140600, // 0048 CALL R5 3
|
||||
0x88140507, // 0049 GETMBR R5 R2 K7
|
||||
0x88180102, // 004A GETMBR R6 R0 K2
|
||||
0x98180A01, // 004B SETIDX R6 R5 R1
|
||||
0x8814010E, // 004C GETMBR R5 R0 K14
|
||||
0xA0000000, // 004D CLOSE R0
|
||||
0x80040A00, // 004E RET 1 R5
|
||||
0x70020012, // 004F JMP #0063
|
||||
0x40161F0C, // 0050 CONNECT R5 K15 K12
|
||||
0x94140605, // 0051 GETIDX R5 R3 R5
|
||||
0x1C140B10, // 0052 EQ R5 R5 K16
|
||||
0x7816000B, // 0053 JMPF R5 #0060
|
||||
0x88140111, // 0054 GETMBR R5 R0 K17
|
||||
0x4C180000, // 0055 LDNIL R6
|
||||
0x1C140A06, // 0056 EQ R5 R5 R6
|
||||
0x78160003, // 0057 JMPF R5 #005C
|
||||
0x8C140904, // 0058 GETMET R5 R4 K4
|
||||
0x881C0112, // 0059 GETMBR R7 R0 K18
|
||||
0x7C140400, // 005A CALL R5 2
|
||||
0x90022205, // 005B SETMBR R0 K17 R5
|
||||
0x88140111, // 005C GETMBR R5 R0 K17
|
||||
0xA0000000, // 005D CLOSE R0
|
||||
0x80040A00, // 005E RET 1 R5
|
||||
0x70020002, // 005F JMP #0063
|
||||
0x4C140000, // 0060 LDNIL R5
|
||||
0xA0000000, // 0061 CLOSE R0
|
||||
0x80040A00, // 0062 RET 1 R5
|
||||
0xA0000000, // 0063 CLOSE R0
|
||||
0x80000000, // 0064 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: register_obj
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_register_obj, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str(cb_obj),
|
||||
/* K1 */ be_nested_str(_p),
|
||||
}),
|
||||
&be_const_str_register_obj,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x4C0C0000, // 0001 LDNIL R3
|
||||
0x1C080403, // 0002 EQ R2 R2 R3
|
||||
0x780A0002, // 0003 JMPF R2 #0007
|
||||
0x60080013, // 0004 GETGBL R2 G19
|
||||
0x7C080000, // 0005 CALL R2 0
|
||||
0x90020002, // 0006 SETMBR R0 K0 R2
|
||||
0x88080301, // 0007 GETMBR R2 R1 K1
|
||||
0x880C0100, // 0008 GETMBR R3 R0 K0
|
||||
0x980C0401, // 0009 SETIDX R3 R2 R1
|
||||
0x80000000, // 000A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: create_custom_widget
|
||||
********************************************************************/
|
||||
|
@ -306,7 +438,7 @@ be_local_closure(LVGL_glob_create_custom_widget, /* name */
|
|||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
3, /* argc */
|
||||
0, /* varg */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
|
@ -437,194 +569,36 @@ be_local_closure(LVGL_glob_create_custom_widget, /* name */
|
|||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: register_obj
|
||||
** Solidified function: lvgl_timer_dispatch
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_register_obj, /* name */
|
||||
be_local_closure(LVGL_glob_lvgl_timer_dispatch, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
7, /* nstack */
|
||||
2, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str(cb_obj),
|
||||
/* K1 */ be_nested_str(_p),
|
||||
}),
|
||||
&be_const_str_register_obj,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x4C0C0000, // 0001 LDNIL R3
|
||||
0x1C080403, // 0002 EQ R2 R2 R3
|
||||
0x780A0002, // 0003 JMPF R2 #0007
|
||||
0x60080013, // 0004 GETGBL R2 G19
|
||||
0x7C080000, // 0005 CALL R2 0
|
||||
0x90020002, // 0006 SETMBR R0 K0 R2
|
||||
0x88080301, // 0007 GETMBR R2 R1 K1
|
||||
0x880C0100, // 0008 GETMBR R3 R0 K0
|
||||
0x980C0401, // 0009 SETIDX R3 R2 R1
|
||||
0x80000000, // 000A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: deregister_obj
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_deregister_obj, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
2, /* argc */
|
||||
0, /* varg */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 3]) { /* constants */
|
||||
/* K0 */ be_nested_str(cb_obj),
|
||||
/* K1 */ be_nested_str(remove),
|
||||
/* K0 */ be_nested_str(introspect),
|
||||
/* K1 */ be_nested_str(toptr),
|
||||
/* K2 */ be_nested_str(cb_event_closure),
|
||||
}),
|
||||
&be_const_str_deregister_obj,
|
||||
&be_const_str_lvgl_timer_dispatch,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[17]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x4C0C0000, // 0001 LDNIL R3
|
||||
0x20080403, // 0002 NE R2 R2 R3
|
||||
0x780A0003, // 0003 JMPF R2 #0008
|
||||
0x88080100, // 0004 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0005 GETMET R2 R2 K1
|
||||
0x5C100200, // 0006 MOVE R4 R1
|
||||
0x7C080400, // 0007 CALL R2 2
|
||||
0x88080102, // 0008 GETMBR R2 R0 K2
|
||||
0x4C0C0000, // 0009 LDNIL R3
|
||||
0x20080403, // 000A NE R2 R2 R3
|
||||
0x780A0003, // 000B JMPF R2 #0010
|
||||
0x88080102, // 000C GETMBR R2 R0 K2
|
||||
0x8C080501, // 000D GETMET R2 R2 K1
|
||||
0x5C100200, // 000E MOVE R4 R1
|
||||
0x7C080400, // 000F CALL R2 2
|
||||
0x80000000, // 0010 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: widget_dtor_impl
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_widget_dtor_impl, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
3, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str(introspect),
|
||||
/* K1 */ be_nested_str(lv),
|
||||
/* K2 */ be_nested_str(lv_obj_class),
|
||||
/* K3 */ be_nested_str(get_object_from_ptr),
|
||||
/* K4 */ be_nested_str(instance),
|
||||
/* K5 */ be_nested_str(get),
|
||||
/* K6 */ be_nested_str(widget_destructor),
|
||||
}),
|
||||
&be_const_str_widget_dtor_impl,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[22]) { /* code */
|
||||
0xA40E0000, // 0000 IMPORT R3 K0
|
||||
0xB8120200, // 0001 GETNGBL R4 K1
|
||||
0x8C100902, // 0002 GETMET R4 R4 K2
|
||||
0x5C180200, // 0003 MOVE R6 R1
|
||||
0x7C100400, // 0004 CALL R4 2
|
||||
0x8C140103, // 0005 GETMET R5 R0 K3
|
||||
0x5C1C0400, // 0006 MOVE R7 R2
|
||||
0x7C140400, // 0007 CALL R5 2
|
||||
0x60180004, // 0008 GETGBL R6 G4
|
||||
0x5C1C0A00, // 0009 MOVE R7 R5
|
||||
0x7C180200, // 000A CALL R6 1
|
||||
0x1C180D04, // 000B EQ R6 R6 K4
|
||||
0x781A0007, // 000C JMPF R6 #0015
|
||||
0x8C180705, // 000D GETMET R6 R3 K5
|
||||
0x5C200A00, // 000E MOVE R8 R5
|
||||
0x58240006, // 000F LDCONST R9 K6
|
||||
0x7C180600, // 0010 CALL R6 3
|
||||
0x781A0002, // 0011 JMPF R6 #0015
|
||||
0x8C180B06, // 0012 GETMET R6 R5 K6
|
||||
0x5C200800, // 0013 MOVE R8 R4
|
||||
0x7C180400, // 0014 CALL R6 2
|
||||
0x80000000, // 0015 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_init, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
1, /* has sup protos */
|
||||
( &(const struct bproto*[ 1]) {
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
3, /* argc */
|
||||
0, /* varg */
|
||||
1, /* has upvals */
|
||||
( &(const bupvaldesc[ 1]) { /* upvals */
|
||||
be_local_const_upval(1, 0),
|
||||
}),
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str(make_cb),
|
||||
}),
|
||||
&be_const_str__X3Clambda_X3E,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0x680C0000, // 0000 GETUPV R3 U0
|
||||
0x8C0C0700, // 0001 GETMET R3 R3 K0
|
||||
0x5C140000, // 0002 MOVE R5 R0
|
||||
0x5C180200, // 0003 MOVE R6 R1
|
||||
0x5C1C0400, // 0004 MOVE R7 R2
|
||||
0x7C0C0800, // 0005 CALL R3 4
|
||||
0x80040600, // 0006 RET 1 R3
|
||||
})
|
||||
),
|
||||
}),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 3]) { /* constants */
|
||||
/* K0 */ be_nested_str(cb),
|
||||
/* K1 */ be_nested_str(add_handler),
|
||||
/* K2 */ be_nested_str(lv_extra),
|
||||
}),
|
||||
&be_const_str_init,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0x8C080301, // 0001 GETMET R2 R1 K1
|
||||
0x84100000, // 0002 CLOSURE R4 P0
|
||||
0x7C080400, // 0003 CALL R2 2
|
||||
0xA40A0400, // 0004 IMPORT R2 K2
|
||||
0xA0000000, // 0005 CLOSE R0
|
||||
0x80000000, // 0006 RET 0
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0xA40A0000, // 0000 IMPORT R2 K0
|
||||
0x8C0C0501, // 0001 GETMET R3 R2 K1
|
||||
0x5C140200, // 0002 MOVE R5 R1
|
||||
0x7C0C0400, // 0003 CALL R3 2
|
||||
0x88100102, // 0004 GETMBR R4 R0 K2
|
||||
0x94100803, // 0005 GETIDX R4 R4 R3
|
||||
0x5C140800, // 0006 MOVE R5 R4
|
||||
0x5C180600, // 0007 MOVE R6 R3
|
||||
0x7C140200, // 0008 CALL R5 1
|
||||
0x80000000, // 0009 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -711,20 +685,56 @@ be_local_closure(LVGL_glob_widget_event_impl, /* name */
|
|||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: make_cb
|
||||
** Solidified function: get_object_from_ptr
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_make_cb, /* name */
|
||||
be_local_closure(LVGL_glob_get_object_from_ptr, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
5, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str(cb_obj),
|
||||
/* K1 */ be_nested_str(find),
|
||||
}),
|
||||
&be_const_str_get_object_from_ptr,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x4C0C0000, // 0001 LDNIL R3
|
||||
0x20080403, // 0002 NE R2 R2 R3
|
||||
0x780A0004, // 0003 JMPF R2 #0009
|
||||
0x88080100, // 0004 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0005 GETMET R2 R2 K1
|
||||
0x5C100200, // 0006 MOVE R4 R1
|
||||
0x7C080400, // 0007 CALL R2 2
|
||||
0x80040400, // 0008 RET 1 R2
|
||||
0x80000000, // 0009 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_init, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
1, /* has sup protos */
|
||||
( &(const struct bproto*[ 1]) {
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
1, /* argc */
|
||||
8, /* nstack */
|
||||
3, /* argc */
|
||||
0, /* varg */
|
||||
1, /* has upvals */
|
||||
( &(const bupvaldesc[ 1]) { /* upvals */
|
||||
|
@ -734,105 +744,37 @@ be_local_closure(LVGL_glob_make_cb, /* name */
|
|||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str(lvgl_event_dispatch),
|
||||
/* K0 */ be_nested_str(make_cb),
|
||||
}),
|
||||
&be_const_str__X3Clambda_X3E,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x68040000, // 0000 GETUPV R1 U0
|
||||
0x8C040300, // 0001 GETMET R1 R1 K0
|
||||
0x5C0C0000, // 0002 MOVE R3 R0
|
||||
0x7C040400, // 0003 CALL R1 2
|
||||
0x80040200, // 0004 RET 1 R1
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0x680C0000, // 0000 GETUPV R3 U0
|
||||
0x8C0C0700, // 0001 GETMET R3 R3 K0
|
||||
0x5C140000, // 0002 MOVE R5 R0
|
||||
0x5C180200, // 0003 MOVE R6 R1
|
||||
0x5C1C0400, // 0004 MOVE R7 R2
|
||||
0x7C0C0800, // 0005 CALL R3 4
|
||||
0x80040600, // 0006 RET 1 R3
|
||||
})
|
||||
),
|
||||
}),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[17]) { /* constants */
|
||||
( &(const bvalue[ 3]) { /* constants */
|
||||
/* K0 */ be_nested_str(cb),
|
||||
/* K1 */ be_nested_str(lv_event_cb),
|
||||
/* K2 */ be_nested_str(cb_event_closure),
|
||||
/* K3 */ be_nested_str(event_cb),
|
||||
/* K4 */ be_nested_str(gen_cb),
|
||||
/* K5 */ be_nested_str(register_obj),
|
||||
/* K6 */ be_nested_str(contains),
|
||||
/* K7 */ be_nested_str(_p),
|
||||
/* K8 */ be_nested_str(tasmota),
|
||||
/* K9 */ be_nested_str(log),
|
||||
/* K10 */ be_nested_str(LVG_X3A_X20object_X3A),
|
||||
/* K11 */ be_nested_str(has_X20already_X20an_X20event_X20callback),
|
||||
/* K12 */ be_const_int(2),
|
||||
/* K13 */ be_const_int(0),
|
||||
/* K14 */ be_nested_str(lv_),
|
||||
/* K15 */ be_nested_str(null_cb),
|
||||
/* K16 */ be_nested_str(cb_do_nothing),
|
||||
/* K1 */ be_nested_str(add_handler),
|
||||
/* K2 */ be_nested_str(lv_extra),
|
||||
}),
|
||||
&be_const_str_make_cb,
|
||||
&be_const_str_init,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[63]) { /* code */
|
||||
0xA4120000, // 0000 IMPORT R4 K0
|
||||
0x1C140701, // 0001 EQ R5 R3 K1
|
||||
0x78160026, // 0002 JMPF R5 #002A
|
||||
0x88140102, // 0003 GETMBR R5 R0 K2
|
||||
0x4C180000, // 0004 LDNIL R6
|
||||
0x1C140A06, // 0005 EQ R5 R5 R6
|
||||
0x78160002, // 0006 JMPF R5 #000A
|
||||
0x60140013, // 0007 GETGBL R5 G19
|
||||
0x7C140000, // 0008 CALL R5 0
|
||||
0x90020405, // 0009 SETMBR R0 K2 R5
|
||||
0x88140103, // 000A GETMBR R5 R0 K3
|
||||
0x4C180000, // 000B LDNIL R6
|
||||
0x1C140A06, // 000C EQ R5 R5 R6
|
||||
0x78160003, // 000D JMPF R5 #0012
|
||||
0x8C140904, // 000E GETMET R5 R4 K4
|
||||
0x841C0000, // 000F CLOSURE R7 P0
|
||||
0x7C140400, // 0010 CALL R5 2
|
||||
0x90020605, // 0011 SETMBR R0 K3 R5
|
||||
0x8C140105, // 0012 GETMET R5 R0 K5
|
||||
0x5C1C0400, // 0013 MOVE R7 R2
|
||||
0x7C140400, // 0014 CALL R5 2
|
||||
0x88140102, // 0015 GETMBR R5 R0 K2
|
||||
0x8C140B06, // 0016 GETMET R5 R5 K6
|
||||
0x881C0507, // 0017 GETMBR R7 R2 K7
|
||||
0x7C140400, // 0018 CALL R5 2
|
||||
0x78160008, // 0019 JMPF R5 #0023
|
||||
0xB8161000, // 001A GETNGBL R5 K8
|
||||
0x8C140B09, // 001B GETMET R5 R5 K9
|
||||
0x601C0008, // 001C GETGBL R7 G8
|
||||
0x5C200400, // 001D MOVE R8 R2
|
||||
0x7C1C0200, // 001E CALL R7 1
|
||||
0x001E1407, // 001F ADD R7 K10 R7
|
||||
0x001C0F0B, // 0020 ADD R7 R7 K11
|
||||
0x5820000C, // 0021 LDCONST R8 K12
|
||||
0x7C140600, // 0022 CALL R5 3
|
||||
0x88140507, // 0023 GETMBR R5 R2 K7
|
||||
0x88180102, // 0024 GETMBR R6 R0 K2
|
||||
0x98180A01, // 0025 SETIDX R6 R5 R1
|
||||
0x88140103, // 0026 GETMBR R5 R0 K3
|
||||
0xA0000000, // 0027 CLOSE R0
|
||||
0x80040A00, // 0028 RET 1 R5
|
||||
0x70020012, // 0029 JMP #003D
|
||||
0x40161B0C, // 002A CONNECT R5 K13 K12
|
||||
0x94140605, // 002B GETIDX R5 R3 R5
|
||||
0x1C140B0E, // 002C EQ R5 R5 K14
|
||||
0x7816000B, // 002D JMPF R5 #003A
|
||||
0x8814010F, // 002E GETMBR R5 R0 K15
|
||||
0x4C180000, // 002F LDNIL R6
|
||||
0x1C140A06, // 0030 EQ R5 R5 R6
|
||||
0x78160003, // 0031 JMPF R5 #0036
|
||||
0x8C140904, // 0032 GETMET R5 R4 K4
|
||||
0x881C0110, // 0033 GETMBR R7 R0 K16
|
||||
0x7C140400, // 0034 CALL R5 2
|
||||
0x90021E05, // 0035 SETMBR R0 K15 R5
|
||||
0x8814010F, // 0036 GETMBR R5 R0 K15
|
||||
0xA0000000, // 0037 CLOSE R0
|
||||
0x80040A00, // 0038 RET 1 R5
|
||||
0x70020002, // 0039 JMP #003D
|
||||
0x4C140000, // 003A LDNIL R5
|
||||
0xA0000000, // 003B CLOSE R0
|
||||
0x80040A00, // 003C RET 1 R5
|
||||
0xA0000000, // 003D CLOSE R0
|
||||
0x80000000, // 003E RET 0
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0x8C080301, // 0001 GETMET R2 R1 K1
|
||||
0x84100000, // 0002 CLOSURE R4 P0
|
||||
0x7C080400, // 0003 CALL R2 2
|
||||
0xA40A0400, // 0004 IMPORT R2 K2
|
||||
0xA0000000, // 0005 CLOSE R0
|
||||
0x80000000, // 0006 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -846,7 +788,7 @@ be_local_closure(LVGL_glob_lvgl_event_dispatch, /* name */
|
|||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
2, /* argc */
|
||||
0, /* varg */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
|
@ -888,35 +830,196 @@ be_local_closure(LVGL_glob_lvgl_event_dispatch, /* name */
|
|||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: widget_dtor_impl
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_widget_dtor_impl, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
3, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str(introspect),
|
||||
/* K1 */ be_nested_str(lv),
|
||||
/* K2 */ be_nested_str(lv_obj_class),
|
||||
/* K3 */ be_nested_str(get_object_from_ptr),
|
||||
/* K4 */ be_nested_str(instance),
|
||||
/* K5 */ be_nested_str(get),
|
||||
/* K6 */ be_nested_str(widget_destructor),
|
||||
}),
|
||||
&be_const_str_widget_dtor_impl,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[22]) { /* code */
|
||||
0xA40E0000, // 0000 IMPORT R3 K0
|
||||
0xB8120200, // 0001 GETNGBL R4 K1
|
||||
0x8C100902, // 0002 GETMET R4 R4 K2
|
||||
0x5C180200, // 0003 MOVE R6 R1
|
||||
0x7C100400, // 0004 CALL R4 2
|
||||
0x8C140103, // 0005 GETMET R5 R0 K3
|
||||
0x5C1C0400, // 0006 MOVE R7 R2
|
||||
0x7C140400, // 0007 CALL R5 2
|
||||
0x60180004, // 0008 GETGBL R6 G4
|
||||
0x5C1C0A00, // 0009 MOVE R7 R5
|
||||
0x7C180200, // 000A CALL R6 1
|
||||
0x1C180D04, // 000B EQ R6 R6 K4
|
||||
0x781A0007, // 000C JMPF R6 #0015
|
||||
0x8C180705, // 000D GETMET R6 R3 K5
|
||||
0x5C200A00, // 000E MOVE R8 R5
|
||||
0x58240006, // 000F LDCONST R9 K6
|
||||
0x7C180600, // 0010 CALL R6 3
|
||||
0x781A0002, // 0011 JMPF R6 #0015
|
||||
0x8C180B06, // 0012 GETMET R6 R5 K6
|
||||
0x5C200800, // 0013 MOVE R8 R4
|
||||
0x7C180400, // 0014 CALL R6 2
|
||||
0x80000000, // 0015 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: deregister_obj
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_deregister_obj, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 3]) { /* constants */
|
||||
/* K0 */ be_nested_str(cb_obj),
|
||||
/* K1 */ be_nested_str(remove),
|
||||
/* K2 */ be_nested_str(cb_event_closure),
|
||||
}),
|
||||
&be_const_str_deregister_obj,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[17]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x4C0C0000, // 0001 LDNIL R3
|
||||
0x20080403, // 0002 NE R2 R2 R3
|
||||
0x780A0003, // 0003 JMPF R2 #0008
|
||||
0x88080100, // 0004 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0005 GETMET R2 R2 K1
|
||||
0x5C100200, // 0006 MOVE R4 R1
|
||||
0x7C080400, // 0007 CALL R2 2
|
||||
0x88080102, // 0008 GETMBR R2 R0 K2
|
||||
0x4C0C0000, // 0009 LDNIL R3
|
||||
0x20080403, // 000A NE R2 R2 R3
|
||||
0x780A0003, // 000B JMPF R2 #0010
|
||||
0x88080102, // 000C GETMBR R2 R0 K2
|
||||
0x8C080501, // 000D GETMET R2 R2 K1
|
||||
0x5C100200, // 000E MOVE R4 R1
|
||||
0x7C080400, // 000F CALL R2 2
|
||||
0x80000000, // 0010 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: widget_ctor_impl
|
||||
********************************************************************/
|
||||
be_local_closure(LVGL_glob_widget_ctor_impl, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
3, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str(introspect),
|
||||
/* K1 */ be_nested_str(lv),
|
||||
/* K2 */ be_nested_str(lv_obj_class),
|
||||
/* K3 */ be_nested_str(get_object_from_ptr),
|
||||
/* K4 */ be_nested_str(cb_obj),
|
||||
/* K5 */ be_nested_str(find),
|
||||
/* K6 */ be_nested_str(instance),
|
||||
/* K7 */ be_nested_str(get),
|
||||
/* K8 */ be_nested_str(widget_constructor),
|
||||
}),
|
||||
&be_const_str_widget_ctor_impl,
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[29]) { /* code */
|
||||
0xA40E0000, // 0000 IMPORT R3 K0
|
||||
0xB8120200, // 0001 GETNGBL R4 K1
|
||||
0x8C100902, // 0002 GETMET R4 R4 K2
|
||||
0x5C180200, // 0003 MOVE R6 R1
|
||||
0x7C100400, // 0004 CALL R4 2
|
||||
0x8C140103, // 0005 GETMET R5 R0 K3
|
||||
0x5C1C0400, // 0006 MOVE R7 R2
|
||||
0x7C140400, // 0007 CALL R5 2
|
||||
0x88180104, // 0008 GETMBR R6 R0 K4
|
||||
0x8C180D05, // 0009 GETMET R6 R6 K5
|
||||
0x5C200A00, // 000A MOVE R8 R5
|
||||
0x7C180400, // 000B CALL R6 2
|
||||
0x781A0001, // 000C JMPF R6 #000F
|
||||
0x88180104, // 000D GETMBR R6 R0 K4
|
||||
0x94140C05, // 000E GETIDX R5 R6 R5
|
||||
0x60180004, // 000F GETGBL R6 G4
|
||||
0x5C1C0A00, // 0010 MOVE R7 R5
|
||||
0x7C180200, // 0011 CALL R6 1
|
||||
0x1C180D06, // 0012 EQ R6 R6 K6
|
||||
0x781A0007, // 0013 JMPF R6 #001C
|
||||
0x8C180707, // 0014 GETMET R6 R3 K7
|
||||
0x5C200A00, // 0015 MOVE R8 R5
|
||||
0x58240008, // 0016 LDCONST R9 K8
|
||||
0x7C180600, // 0017 CALL R6 3
|
||||
0x781A0002, // 0018 JMPF R6 #001C
|
||||
0x8C180B08, // 0019 GETMET R6 R5 K8
|
||||
0x5C200800, // 001A MOVE R8 R4
|
||||
0x7C180400, // 001B CALL R6 2
|
||||
0x80000000, // 001C RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: LVGL_glob
|
||||
********************************************************************/
|
||||
be_local_class(LVGL_glob,
|
||||
9,
|
||||
10,
|
||||
NULL,
|
||||
be_nested_map(21,
|
||||
be_nested_map(23,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key(get_object_from_ptr, 7), be_const_closure(LVGL_glob_get_object_from_ptr_closure) },
|
||||
{ be_const_key(widget_ctor_impl, 6), be_const_closure(LVGL_glob_widget_ctor_impl_closure) },
|
||||
{ be_const_key(widget_cb, -1), be_const_closure(LVGL_glob_widget_cb_closure) },
|
||||
{ be_const_key(lvgl_event_dispatch, -1), be_const_closure(LVGL_glob_lvgl_event_dispatch_closure) },
|
||||
{ be_const_key(cb_do_nothing, 10), be_const_static_closure(LVGL_glob__anonymous__closure) },
|
||||
{ be_const_key(widget_struct_by_class, -1), be_const_var(8) },
|
||||
{ be_const_key(cb_event_closure, 19), be_const_var(1) },
|
||||
{ be_const_key(widget_dtor_impl, -1), be_const_closure(LVGL_glob_widget_dtor_impl_closure) },
|
||||
{ be_const_key(register_obj, -1), be_const_closure(LVGL_glob_register_obj_closure) },
|
||||
{ be_const_key(deregister_obj, -1), be_const_closure(LVGL_glob_deregister_obj_closure) },
|
||||
{ be_const_key(widget_event_cb, -1), be_const_var(6) },
|
||||
{ be_const_key(widget_ctor_cb, -1), be_const_var(4) },
|
||||
{ be_const_key(init, -1), be_const_closure(LVGL_glob_init_closure) },
|
||||
{ be_const_key(widget_event_impl, -1), be_const_closure(LVGL_glob_widget_event_impl_closure) },
|
||||
{ be_const_key(widget_dtor_cb, -1), be_const_var(5) },
|
||||
{ be_const_key(cb_obj, 11), be_const_var(0) },
|
||||
{ be_const_key(widget_event_cb, -1), be_const_var(7) },
|
||||
{ be_const_key(widget_ctor_impl, -1), be_const_closure(LVGL_glob_widget_ctor_impl_closure) },
|
||||
{ be_const_key(widget_struct_default, -1), be_const_var(8) },
|
||||
{ be_const_key(make_cb, -1), be_const_closure(LVGL_glob_make_cb_closure) },
|
||||
{ be_const_key(null_cb, -1), be_const_var(3) },
|
||||
{ be_const_key(event_cb, -1), be_const_var(2) },
|
||||
{ be_const_key(create_custom_widget, -1), be_const_closure(LVGL_glob_create_custom_widget_closure) },
|
||||
{ be_const_key(widget_struct_default, 3), be_const_var(7) },
|
||||
{ be_const_key(widget_ctor_cb, 8), be_const_var(5) },
|
||||
{ be_const_key(deregister_obj, -1), be_const_closure(LVGL_glob_deregister_obj_closure) },
|
||||
{ be_const_key(create_custom_widget, 16), be_const_closure(LVGL_glob_create_custom_widget_closure) },
|
||||
{ be_const_key(widget_event_impl, -1), be_const_closure(LVGL_glob_widget_event_impl_closure) },
|
||||
{ be_const_key(widget_dtor_cb, -1), be_const_var(6) },
|
||||
{ be_const_key(cb_event_closure, -1), be_const_var(1) },
|
||||
{ be_const_key(lvgl_timer_dispatch, -1), be_const_closure(LVGL_glob_lvgl_timer_dispatch_closure) },
|
||||
{ be_const_key(widget_dtor_impl, -1), be_const_closure(LVGL_glob_widget_dtor_impl_closure) },
|
||||
{ be_const_key(get_object_from_ptr, 17), be_const_closure(LVGL_glob_get_object_from_ptr_closure) },
|
||||
{ be_const_key(init, -1), be_const_closure(LVGL_glob_init_closure) },
|
||||
{ be_const_key(cb_obj, -1), be_const_var(0) },
|
||||
{ be_const_key(lvgl_event_dispatch, -1), be_const_closure(LVGL_glob_lvgl_event_dispatch_closure) },
|
||||
{ be_const_key(event_cb, 15), be_const_var(2) },
|
||||
{ be_const_key(timer_cb, -1), be_const_var(3) },
|
||||
{ be_const_key(cb_do_nothing, 12), be_const_static_closure(LVGL_glob__anonymous__closure) },
|
||||
{ be_const_key(widget_struct_by_class, -1), be_const_var(9) },
|
||||
{ be_const_key(register_obj, 6), be_const_closure(LVGL_glob_register_obj_closure) },
|
||||
{ be_const_key(null_cb, 2), be_const_var(4) },
|
||||
})),
|
||||
be_str_literal("LVGL_glob")
|
||||
);
|
||||
|
|
|
@ -7,6 +7,7 @@ class LVGL_glob
|
|||
var cb_obj # map between a native C pointer (as int) and the corresponding lv.lv_* berry object, also helps marking the objects as non-gc-able
|
||||
var cb_event_closure # mapping for event closures per LVGL native pointer (int)
|
||||
var event_cb # native callback for lv.lv_event
|
||||
var timer_cb # native callback for lv.lv_timer
|
||||
|
||||
#- below are native callbacks mapped to a closure to a method of this instance -#
|
||||
var null_cb # cb called if type is not supported
|
||||
|
@ -52,6 +53,15 @@ class LVGL_glob
|
|||
f(obj, event)
|
||||
end
|
||||
|
||||
def lvgl_timer_dispatch(timer_int)
|
||||
import introspect
|
||||
|
||||
var timer_ptr = introspect.toptr(timer_int)
|
||||
var f = self.cb_event_closure[timer_ptr]
|
||||
#print('>> lvgl_timer_dispatch', f, obj, event)
|
||||
f(timer_ptr)
|
||||
end
|
||||
|
||||
def make_cb(f, obj, name)
|
||||
import cb
|
||||
# print('>> make_cb', f, name, obj)
|
||||
|
@ -67,6 +77,17 @@ class LVGL_glob
|
|||
end
|
||||
self.cb_event_closure[obj._p] = f # keep a mapping of the closure to call, indexed by internal lvgl native pointer
|
||||
return self.event_cb
|
||||
elif name == "lv_timer_cb"
|
||||
if self.cb_event_closure == nil self.cb_event_closure = {} end # lazy instanciation
|
||||
if self.timer_cb == nil self.timer_cb = cb.gen_cb(/ timer_ptr -> self.lvgl_timer_dispatch(timer_ptr)) end # encapsulate 'self' in closure
|
||||
|
||||
# no need to register the object since it's only a pointer to a timer
|
||||
if self.cb_event_closure.contains(obj._p)
|
||||
tasmota.log("LVG: object:" + str(obj) + "has already an event callback", 2)
|
||||
end
|
||||
self.cb_event_closure[obj._p] = f # keep a mapping of the closure to call, indexed by internal lvgl native pointer
|
||||
return self.timer_cb
|
||||
|
||||
# elif name == "<other_cb>"
|
||||
elif name[0..2] == "lv_"
|
||||
if self.null_cb == nil self.null_cb = cb.gen_cb(self.cb_do_nothing) end
|
||||
|
|
|
@ -110,6 +110,7 @@ return_types = {
|
|||
"lv_grid_align_t": "i",
|
||||
|
||||
"_lv_event_dsc_t *": "i",
|
||||
"lv_anim_enable_t": "i",
|
||||
|
||||
# arrays
|
||||
"char * []": "str_arr",
|
||||
|
@ -155,16 +156,14 @@ return_types = {
|
|||
# callbacks
|
||||
"lv_group_focus_cb_t": "lv_group_focus_cb",
|
||||
"lv_event_cb_t": "lv_event_cb",
|
||||
# "lv_signal_cb_t": "lv_signal_cb", # removed in LVGL8
|
||||
# "lv_design_cb_t": "lv_design_cb", # removed in LVGL8
|
||||
# "lv_gauge_format_cb_t": "lv_gauge_format_cb", # removed in LVGL8
|
||||
"lv_timer_cb_t": "lv_timer_cb",
|
||||
}
|
||||
|
||||
lv = {}
|
||||
lvs = [] # special case for case for lv_style
|
||||
lv0 = [] # function in lvlg module
|
||||
lv_module = []
|
||||
lv_cb_types = ['lv_group_focus_cb', 'lv_event_cb',
|
||||
lv_cb_types = ['lv_group_focus_cb', 'lv_event_cb', 'lv_timer_cb',
|
||||
'lv_constructor_cb', # 'constructor_cb', addition to LVGL8, also works for 'destructor_cb'
|
||||
]
|
||||
# list of callback types that will need each a separate C callback
|
||||
|
@ -182,7 +181,7 @@ lv_widgets = ['arc', 'bar', 'btn', 'btnmatrix', 'canvas', 'checkbox',
|
|||
# extra widgets
|
||||
|
||||
lv_widgets = lv_widgets + [ 'chart', 'colorwheel', 'imgbtn', 'led', 'meter', 'msgbox', 'spinbox', 'spinner' ]
|
||||
lv_prefix = ['obj', 'group', 'style', 'indev', 'disp'] + lv_widgets
|
||||
lv_prefix = ['obj', 'group', 'style', 'indev', 'disp', 'timer'] + lv_widgets
|
||||
|
||||
# define here widget inheritance because it's hard to deduce from source
|
||||
lv_widget_inheritance = {
|
||||
|
@ -602,6 +601,23 @@ be_local_class(lv_disp,
|
|||
);
|
||||
/*******************************************************************/
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: lv_timer
|
||||
********************************************************************/
|
||||
be_local_class(lv_timer,
|
||||
1,
|
||||
NULL,
|
||||
be_nested_map(4,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_nested_key("init", 380752755, 4, -1), be_const_func(lv0_init) },
|
||||
{ be_nested_key("tostring", -1995258651, 8, -1), be_const_func(lv_x_tostring) },
|
||||
{ be_nested_key("_p", 1594591802, 2, -1), be_const_var(0) },
|
||||
{ be_nested_key("member", 719708611, 6, 0), be_const_func(lv_x_member) },
|
||||
})),
|
||||
be_str_literal("lv_timer")
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: lv_font
|
||||
********************************************************************/
|
||||
|
|
|
@ -72,6 +72,7 @@ lv_fun_globs = [
|
|||
"misc/lv_style.h",
|
||||
"misc/lv_math.h",
|
||||
"misc/lv_area.h",
|
||||
"misc/lv_timer.h",
|
||||
#"**/*.h",
|
||||
]
|
||||
headers_names = list_files(lv_src_prefix, lv_fun_globs)
|
||||
|
|
Loading…
Reference in New Issue