diff --git a/lib/libesp32/berry_tasmota/src/be_lv_tasmota_lib.c b/lib/libesp32/berry_tasmota/src/be_lv_tasmota_lib.c index 12d6c3cce..5fa0d4d58 100644 --- a/lib/libesp32/berry_tasmota/src/be_lv_tasmota_lib.c +++ b/lib/libesp32/berry_tasmota/src/be_lv_tasmota_lib.c @@ -17,516 +17,7 @@ extern int lv0_load_font_embedded(bvm *vm); extern int lv0_screenshot(bvm *vm); extern int lv0_load_freetype_font(bvm *vm); - - -/******************************************************************** -** Solidified function: splash_remove -********************************************************************/ -be_local_closure(lv_tasmota_splash_remove, /* name */ - be_nested_proto( - 3, /* nstack */ - 0, /* argc */ - 0, /* 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_weak(lv), - /* K1 */ be_nested_str_weak(_splash), - /* K2 */ be_nested_str_weak(del), - }), - be_str_weak(splash_remove), - &be_const_str_solidified, - ( &(const binstruction[ 9]) { /* code */ - 0xB8020000, // 0000 GETNGBL R0 K0 - 0x88000101, // 0001 GETMBR R0 R0 K1 - 0x78020004, // 0002 JMPF R0 #0008 - 0xB8060000, // 0003 GETNGBL R1 K0 - 0x4C080000, // 0004 LDNIL R2 - 0x90060202, // 0005 SETMBR R1 K1 R2 - 0x8C040102, // 0006 GETMET R1 R0 K2 - 0x7C040200, // 0007 CALL R1 1 - 0x80000000, // 0008 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(splash_runner_init, /* name */ - be_nested_proto( - 4, /* nstack */ - 1, /* 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_weak(tasmota), - /* K1 */ be_nested_str_weak(add_driver), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[ 5]) { /* code */ - 0xB8060000, // 0000 GETNGBL R1 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0x5C0C0000, // 0002 MOVE R3 R0 - 0x7C040400, // 0003 CALL R1 2 - 0x80000000, // 0004 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: display -********************************************************************/ -be_local_closure(splash_runner_display, /* name */ - be_nested_proto( - 9, /* nstack */ - 5, /* 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_weak(display), - /* K1 */ be_nested_str_weak(dim), - /* K2 */ be_nested_str_weak(started), - /* K3 */ be_nested_str_weak(tasmota), - /* K4 */ be_nested_str_weak(remove_driver), - /* K5 */ be_nested_str_weak(lv), - /* K6 */ be_nested_str_weak(splash), - }), - be_str_weak(display), - &be_const_str_solidified, - ( &(const binstruction[14]) { /* code */ - 0xA4160000, // 0000 IMPORT R5 K0 - 0x1C180301, // 0001 EQ R6 R1 K1 - 0x781A0009, // 0002 JMPF R6 #000D - 0x8C180B02, // 0003 GETMET R6 R5 K2 - 0x7C180200, // 0004 CALL R6 1 - 0x781A0006, // 0005 JMPF R6 #000D - 0xB81A0600, // 0006 GETNGBL R6 K3 - 0x8C180D04, // 0007 GETMET R6 R6 K4 - 0x5C200000, // 0008 MOVE R8 R0 - 0x7C180400, // 0009 CALL R6 2 - 0xB81A0A00, // 000A GETNGBL R6 K5 - 0x8C180D06, // 000B GETMET R6 R6 K6 - 0x7C180200, // 000C CALL R6 1 - 0x80000000, // 000D RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified class: splash_runner -********************************************************************/ -be_local_class(splash_runner, - 0, - NULL, - be_nested_map(2, - ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(display, -1), be_const_closure(splash_runner_display_closure) }, - { be_const_key_weak(init, 0), be_const_closure(splash_runner_init_closure) }, - })), - be_str_weak(splash_runner) -); - -/******************************************************************** -** Solidified function: splash_init -********************************************************************/ -be_local_closure(lv_tasmota_splash_init, /* name */ - be_nested_proto( - 3, /* nstack */ - 0, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str_weak(display), - /* K1 */ be_nested_str_weak(started), - /* K2 */ be_nested_str_weak(lv), - /* K3 */ be_nested_str_weak(splash), - /* K4 */ be_const_class(be_class_splash_runner), - }), - be_str_weak(splash_init), - &be_const_str_solidified, - ( &(const binstruction[13]) { /* code */ - 0xA4020000, // 0000 IMPORT R0 K0 - 0x8C040101, // 0001 GETMET R1 R0 K1 - 0x7C040200, // 0002 CALL R1 1 - 0x78060003, // 0003 JMPF R1 #0008 - 0xB8060400, // 0004 GETNGBL R1 K2 - 0x8C040303, // 0005 GETMET R1 R1 K3 - 0x7C040200, // 0006 CALL R1 1 - 0x70020003, // 0007 JMP #000C - 0x58040004, // 0008 LDCONST R1 K4 - 0xB4000004, // 0009 CLASS K4 - 0x5C080200, // 000A MOVE R2 R1 - 0x7C080000, // 000B CALL R2 0 - 0x80000000, // 000C RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: splash -********************************************************************/ -be_local_closure(lv_tasmota_splash, /* name */ - be_nested_proto( - 14, /* nstack */ - 0, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[42]) { /* constants */ - /* K0 */ be_nested_str_weak(display), - /* K1 */ be_nested_str_weak(started), - /* K2 */ be_nested_str_weak(lv), - /* K3 */ be_nested_str_weak(start), - /* K4 */ be_nested_str_weak(obj), - /* K5 */ be_nested_str_weak(scr_act), - /* K6 */ be_nested_str_weak(montserrat_font), - /* K7 */ be_nested_str_weak(color), - /* K8 */ be_nested_str_weak(COLOR_WHITE), - /* K9 */ be_nested_str_weak(set_style_bg_color), - /* K10 */ be_const_int(0), - /* K11 */ be_nested_str_weak(set_style_radius), - /* K12 */ be_nested_str_weak(set_style_pad_all), - /* K13 */ be_nested_str_weak(set_style_border_width), - /* K14 */ be_nested_str_weak(set_size), - /* K15 */ be_nested_str_weak(pct), - /* K16 */ be_nested_str_weak(refr_pos), - /* K17 */ be_nested_str_weak(refr_size), - /* K18 */ be_nested_str_weak(set_user_data), - /* K19 */ be_const_int(1399876712), - /* K20 */ be_nested_str_weak(img), - /* K21 */ be_nested_str_weak(set_tasmota_logo), - /* K22 */ be_nested_str_weak(set_zoom), - /* K23 */ be_nested_str_weak(set_style_img_recolor_opa), - /* K24 */ be_nested_str_weak(set_style_img_recolor), - /* K25 */ be_nested_str_weak(set_align), - /* K26 */ be_nested_str_weak(ALIGN_LEFT_MID), - /* K27 */ be_nested_str_weak(set_x), - /* K28 */ be_nested_str_weak(label), - /* K29 */ be_nested_str_weak(set_style_text_color), - /* K30 */ be_nested_str_weak(set_text), - /* K31 */ be_nested_str_weak(TASMOTA), - /* K32 */ be_nested_str_weak(get_hor_res), - /* K33 */ be_nested_str_weak(set_style_text_font), - /* K34 */ be_nested_str_weak(driver_name), - /* K35 */ be_nested_str_weak(ALIGN_BOTTOM_MID), - /* K36 */ be_const_int(16777215), - /* K37 */ be_nested_str_weak(refr_now), - /* K38 */ be_nested_str_weak(_splash), - /* K39 */ be_nested_str_weak(tasmota), - /* K40 */ be_nested_str_weak(set_timer), - /* K41 */ be_nested_str_weak(splash_remove), - }), - be_str_weak(splash), - &be_const_str_solidified, - ( &(const binstruction[166]) { /* code */ - 0xA4020000, // 0000 IMPORT R0 K0 - 0x8C040101, // 0001 GETMET R1 R0 K1 - 0x7C040200, // 0002 CALL R1 1 - 0x74060000, // 0003 JMPT R1 #0005 - 0x80000200, // 0004 RET 0 - 0xB8060400, // 0005 GETNGBL R1 K2 - 0x8C040303, // 0006 GETMET R1 R1 K3 - 0x7C040200, // 0007 CALL R1 1 - 0xB8060400, // 0008 GETNGBL R1 K2 - 0x8C040304, // 0009 GETMET R1 R1 K4 - 0xB80E0400, // 000A GETNGBL R3 K2 - 0x8C0C0705, // 000B GETMET R3 R3 K5 - 0x7C0C0200, // 000C CALL R3 1 - 0x7C040400, // 000D CALL R1 2 - 0xB80A0400, // 000E GETNGBL R2 K2 - 0x8C080506, // 000F GETMET R2 R2 K6 - 0x5412001B, // 0010 LDINT R4 28 - 0x7C080400, // 0011 CALL R2 2 - 0xB80E0400, // 0012 GETNGBL R3 K2 - 0x8C0C0706, // 0013 GETMET R3 R3 K6 - 0x54160013, // 0014 LDINT R5 20 - 0x7C0C0400, // 0015 CALL R3 2 - 0xB8120400, // 0016 GETNGBL R4 K2 - 0x8C100907, // 0017 GETMET R4 R4 K7 - 0xB81A0400, // 0018 GETNGBL R6 K2 - 0x88180D08, // 0019 GETMBR R6 R6 K8 - 0x7C100400, // 001A CALL R4 2 - 0x8C140309, // 001B GETMET R5 R1 K9 - 0xB81E0400, // 001C GETNGBL R7 K2 - 0x8C1C0F07, // 001D GETMET R7 R7 K7 - 0x54260065, // 001E LDINT R9 102 - 0x7C1C0400, // 001F CALL R7 2 - 0x5820000A, // 0020 LDCONST R8 K10 - 0x7C140600, // 0021 CALL R5 3 - 0x8C14030B, // 0022 GETMET R5 R1 K11 - 0x581C000A, // 0023 LDCONST R7 K10 - 0x5820000A, // 0024 LDCONST R8 K10 - 0x7C140600, // 0025 CALL R5 3 - 0x8C14030C, // 0026 GETMET R5 R1 K12 - 0x581C000A, // 0027 LDCONST R7 K10 - 0x5820000A, // 0028 LDCONST R8 K10 - 0x7C140600, // 0029 CALL R5 3 - 0x8C14030D, // 002A GETMET R5 R1 K13 - 0x581C000A, // 002B LDCONST R7 K10 - 0x5820000A, // 002C LDCONST R8 K10 - 0x7C140600, // 002D CALL R5 3 - 0x8C14030E, // 002E GETMET R5 R1 K14 - 0xB81E0400, // 002F GETNGBL R7 K2 - 0x8C1C0F0F, // 0030 GETMET R7 R7 K15 - 0x54260063, // 0031 LDINT R9 100 - 0x7C1C0400, // 0032 CALL R7 2 - 0xB8220400, // 0033 GETNGBL R8 K2 - 0x8C20110F, // 0034 GETMET R8 R8 K15 - 0x542A0063, // 0035 LDINT R10 100 - 0x7C200400, // 0036 CALL R8 2 - 0x7C140600, // 0037 CALL R5 3 - 0x8C140310, // 0038 GETMET R5 R1 K16 - 0x7C140200, // 0039 CALL R5 1 - 0x8C140311, // 003A GETMET R5 R1 K17 - 0x7C140200, // 003B CALL R5 1 - 0x8C140312, // 003C GETMET R5 R1 K18 - 0x581C0013, // 003D LDCONST R7 K19 - 0x7C140400, // 003E CALL R5 2 - 0xB8160400, // 003F GETNGBL R5 K2 - 0x8C140B14, // 0040 GETMET R5 R5 K20 - 0x5C1C0200, // 0041 MOVE R7 R1 - 0x7C140400, // 0042 CALL R5 2 - 0x8C180B15, // 0043 GETMET R6 R5 K21 - 0x7C180200, // 0044 CALL R6 1 - 0x8C180B16, // 0045 GETMET R6 R5 K22 - 0x54220095, // 0046 LDINT R8 150 - 0x7C180400, // 0047 CALL R6 2 - 0x8C180B17, // 0048 GETMET R6 R5 K23 - 0x542200FE, // 0049 LDINT R8 255 - 0x5824000A, // 004A LDCONST R9 K10 - 0x7C180600, // 004B CALL R6 3 - 0x8C180B18, // 004C GETMET R6 R5 K24 - 0x5C200800, // 004D MOVE R8 R4 - 0x5824000A, // 004E LDCONST R9 K10 - 0x7C180600, // 004F CALL R6 3 - 0x8C180B19, // 0050 GETMET R6 R5 K25 - 0xB8220400, // 0051 GETNGBL R8 K2 - 0x8820111A, // 0052 GETMBR R8 R8 K26 - 0x7C180400, // 0053 CALL R6 2 - 0x8C180B1B, // 0054 GETMET R6 R5 K27 - 0x5421FFF3, // 0055 LDINT R8 -12 - 0x7C180400, // 0056 CALL R6 2 - 0xB81A0400, // 0057 GETNGBL R6 K2 - 0x8C180D1C, // 0058 GETMET R6 R6 K28 - 0x5C200200, // 0059 MOVE R8 R1 - 0x7C180400, // 005A CALL R6 2 - 0x8C1C0D1D, // 005B GETMET R7 R6 K29 - 0x5C240800, // 005C MOVE R9 R4 - 0x5828000A, // 005D LDCONST R10 K10 - 0x7C1C0600, // 005E CALL R7 3 - 0x8C1C0D1E, // 005F GETMET R7 R6 K30 - 0x5824001F, // 0060 LDCONST R9 K31 - 0x7C1C0400, // 0061 CALL R7 2 - 0xB81E0400, // 0062 GETNGBL R7 K2 - 0x8C1C0F20, // 0063 GETMET R7 R7 K32 - 0x7C1C0200, // 0064 CALL R7 1 - 0x542200C7, // 0065 LDINT R8 200 - 0x281C0E08, // 0066 GE R7 R7 R8 - 0x781E0007, // 0067 JMPF R7 #0070 - 0x4C1C0000, // 0068 LDNIL R7 - 0x201C0407, // 0069 NE R7 R2 R7 - 0x781E0003, // 006A JMPF R7 #006F - 0x8C1C0D21, // 006B GETMET R7 R6 K33 - 0x5C240400, // 006C MOVE R9 R2 - 0x5828000A, // 006D LDCONST R10 K10 - 0x7C1C0600, // 006E CALL R7 3 - 0x70020006, // 006F JMP #0077 - 0x4C1C0000, // 0070 LDNIL R7 - 0x201C0607, // 0071 NE R7 R3 R7 - 0x781E0003, // 0072 JMPF R7 #0077 - 0x8C1C0D21, // 0073 GETMET R7 R6 K33 - 0x5C240600, // 0074 MOVE R9 R3 - 0x5828000A, // 0075 LDCONST R10 K10 - 0x7C1C0600, // 0076 CALL R7 3 - 0x8C1C0D19, // 0077 GETMET R7 R6 K25 - 0xB8260400, // 0078 GETNGBL R9 K2 - 0x8824131A, // 0079 GETMBR R9 R9 K26 - 0x7C1C0400, // 007A CALL R7 2 - 0x8C1C0D1B, // 007B GETMET R7 R6 K27 - 0x54260029, // 007C LDINT R9 42 - 0x7C1C0400, // 007D CALL R7 2 - 0x8C1C0122, // 007E GETMET R7 R0 K34 - 0x7C1C0200, // 007F CALL R7 1 - 0x4C200000, // 0080 LDNIL R8 - 0x6024000C, // 0081 GETGBL R9 G12 - 0x5C280E00, // 0082 MOVE R10 R7 - 0x7C240200, // 0083 CALL R9 1 - 0x2424130A, // 0084 GT R9 R9 K10 - 0x78260012, // 0085 JMPF R9 #0099 - 0xB8260400, // 0086 GETNGBL R9 K2 - 0x8C24131C, // 0087 GETMET R9 R9 K28 - 0x5C2C0200, // 0088 MOVE R11 R1 - 0x7C240400, // 0089 CALL R9 2 - 0x5C201200, // 008A MOVE R8 R9 - 0x8C241119, // 008B GETMET R9 R8 K25 - 0xB82E0400, // 008C GETNGBL R11 K2 - 0x882C1723, // 008D GETMBR R11 R11 K35 - 0x7C240400, // 008E CALL R9 2 - 0x8C24111D, // 008F GETMET R9 R8 K29 - 0xB82E0400, // 0090 GETNGBL R11 K2 - 0x8C2C1707, // 0091 GETMET R11 R11 K7 - 0x58340024, // 0092 LDCONST R13 K36 - 0x7C2C0400, // 0093 CALL R11 2 - 0x5830000A, // 0094 LDCONST R12 K10 - 0x7C240600, // 0095 CALL R9 3 - 0x8C24111E, // 0096 GETMET R9 R8 K30 - 0x5C2C0E00, // 0097 MOVE R11 R7 - 0x7C240400, // 0098 CALL R9 2 - 0xB8260400, // 0099 GETNGBL R9 K2 - 0x8C241325, // 009A GETMET R9 R9 K37 - 0x582C000A, // 009B LDCONST R11 K10 - 0x7C240400, // 009C CALL R9 2 - 0xB8260400, // 009D GETNGBL R9 K2 - 0x90264C01, // 009E SETMBR R9 K38 R1 - 0xB8264E00, // 009F GETNGBL R9 K39 - 0x8C241328, // 00A0 GETMET R9 R9 K40 - 0x542E1387, // 00A1 LDINT R11 5000 - 0xB8320400, // 00A2 GETNGBL R12 K2 - 0x88301929, // 00A3 GETMBR R12 R12 K41 - 0x7C240600, // 00A4 CALL R9 3 - 0x80000000, // 00A5 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(lv_tasmota_init, /* name */ - be_nested_proto( - 5, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[33]) { /* constants */ - /* K0 */ be_nested_str_weak(lv), - /* K1 */ be_nested_str_weak(start), - /* K2 */ be_nested_str_weak(splash_init), - /* K3 */ be_nested_str_weak(splash_remove), - /* K4 */ be_nested_str_weak(splash), - /* K5 */ be_nested_str_weak(_splash), - /* K6 */ be_nested_str_weak(font_montserrat), - /* K7 */ be_nested_str_weak(montserrat_font), - /* K8 */ be_nested_str_weak(font_seg7), - /* K9 */ be_nested_str_weak(seg7_font), - /* K10 */ be_nested_str_weak(font_embedded), - /* K11 */ be_nested_str_weak(load_freetype_font), - /* K12 */ be_nested_str_weak(register_button_encoder), - /* K13 */ be_nested_str_weak(screenshot), - /* K14 */ be_nested_str_weak(clock), - /* K15 */ be_nested_str_weak(lv_clock), - /* K16 */ be_nested_str_weak(clock_icon), - /* K17 */ be_nested_str_weak(lv_clock_icon), - /* K18 */ be_nested_str_weak(signal_arcs), - /* K19 */ be_nested_str_weak(lv_signal_arcs), - /* K20 */ be_nested_str_weak(signal_bars), - /* K21 */ be_nested_str_weak(lv_signal_bars), - /* K22 */ be_nested_str_weak(wifi_arcs_icon), - /* K23 */ be_nested_str_weak(lv_wifi_arcs_icon), - /* K24 */ be_nested_str_weak(wifi_arcs), - /* K25 */ be_nested_str_weak(lv_wifi_arcs), - /* K26 */ be_nested_str_weak(wifi_bars_icon), - /* K27 */ be_nested_str_weak(lv_wifi_bars_icon), - /* K28 */ be_nested_str_weak(wifi_bars), - /* K29 */ be_nested_str_weak(lv_wifi_bars), - /* K30 */ be_nested_str_weak(tasmota), - /* K31 */ be_nested_str_weak(get_option), - /* K32 */ be_const_int(0), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[53]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x88080101, // 0001 GETMBR R2 R0 K1 - 0x90060202, // 0002 SETMBR R1 K1 R2 - 0x88080102, // 0003 GETMBR R2 R0 K2 - 0x90060402, // 0004 SETMBR R1 K2 R2 - 0x88080103, // 0005 GETMBR R2 R0 K3 - 0x90060602, // 0006 SETMBR R1 K3 R2 - 0x88080104, // 0007 GETMBR R2 R0 K4 - 0x90060802, // 0008 SETMBR R1 K4 R2 - 0x4C080000, // 0009 LDNIL R2 - 0x90060A02, // 000A SETMBR R1 K5 R2 - 0x88080106, // 000B GETMBR R2 R0 K6 - 0x90060C02, // 000C SETMBR R1 K6 R2 - 0x88080106, // 000D GETMBR R2 R0 K6 - 0x90060E02, // 000E SETMBR R1 K7 R2 - 0x88080108, // 000F GETMBR R2 R0 K8 - 0x90061002, // 0010 SETMBR R1 K8 R2 - 0x88080108, // 0011 GETMBR R2 R0 K8 - 0x90061202, // 0012 SETMBR R1 K9 R2 - 0x8808010A, // 0013 GETMBR R2 R0 K10 - 0x90061402, // 0014 SETMBR R1 K10 R2 - 0x8808010B, // 0015 GETMBR R2 R0 K11 - 0x90061602, // 0016 SETMBR R1 K11 R2 - 0x8808010C, // 0017 GETMBR R2 R0 K12 - 0x90061802, // 0018 SETMBR R1 K12 R2 - 0x8808010D, // 0019 GETMBR R2 R0 K13 - 0x90061A02, // 001A SETMBR R1 K13 R2 - 0xB80A1E00, // 001B GETNGBL R2 K15 - 0x90061C02, // 001C SETMBR R1 K14 R2 - 0xB80A2200, // 001D GETNGBL R2 K17 - 0x90062002, // 001E SETMBR R1 K16 R2 - 0xB80A2600, // 001F GETNGBL R2 K19 - 0x90062402, // 0020 SETMBR R1 K18 R2 - 0xB80A2A00, // 0021 GETNGBL R2 K21 - 0x90062802, // 0022 SETMBR R1 K20 R2 - 0xB80A2E00, // 0023 GETNGBL R2 K23 - 0x90062C02, // 0024 SETMBR R1 K22 R2 - 0xB80A3200, // 0025 GETNGBL R2 K25 - 0x90063002, // 0026 SETMBR R1 K24 R2 - 0xB80A3600, // 0027 GETNGBL R2 K27 - 0x90063402, // 0028 SETMBR R1 K26 R2 - 0xB80A3A00, // 0029 GETNGBL R2 K29 - 0x90063802, // 002A SETMBR R1 K28 R2 - 0xB80A3C00, // 002B GETNGBL R2 K30 - 0x8C08051F, // 002C GETMET R2 R2 K31 - 0x54120086, // 002D LDINT R4 135 - 0x7C080400, // 002E CALL R2 2 - 0x1C080520, // 002F EQ R2 R2 K32 - 0x780A0001, // 0030 JMPF R2 #0033 - 0x8C080302, // 0031 GETMET R2 R1 K2 - 0x7C080200, // 0032 CALL R2 1 - 0x4C080000, // 0033 LDNIL R2 - 0x80040400, // 0034 RET 1 R2 - }) - ) -); -/*******************************************************************/ +#include "solidify/solidified_lv_tasmota.h" /* @const_object_info_begin module lv_tasmota (scope: global, strings: weak) { diff --git a/lib/libesp32/berry_tasmota/src/be_lv_tasmota_widgets_lib.c b/lib/libesp32/berry_tasmota/src/be_lv_tasmota_widgets_lib.c index 9c22c80d1..a8470def3 100644 --- a/lib/libesp32/berry_tasmota/src/be_lv_tasmota_widgets_lib.c +++ b/lib/libesp32/berry_tasmota/src/be_lv_tasmota_widgets_lib.c @@ -1,1751 +1,8 @@ /******************************************************************** * Tasmota LVGL lv_signal_bars widget *******************************************************************/ -#include "be_constobj.h" - #ifdef USE_LVGL -#include "lvgl.h" +#include "solidify/solidified_lv_tasmota_widgets.h" -/******************************************************************** -** Solidified function: set_time -********************************************************************/ -be_local_closure(lv_clock_set_time, /* name */ - be_nested_proto( - 11, /* nstack */ - 4, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str_weak(string), - /* K1 */ be_nested_str_weak(hour), - /* K2 */ be_nested_str_weak(minute), - /* K3 */ be_nested_str_weak(sec), - /* K4 */ be_nested_str_weak(format), - /* K5 */ be_nested_str_weak(_X2502d_X25s_X2502d), - /* K6 */ be_const_int(2), - /* K7 */ be_nested_str_weak(_X3A), - /* K8 */ be_nested_str_weak(_X20), - /* K9 */ be_nested_str_weak(set_text), - }), - be_str_weak(set_time), - &be_const_str_solidified, - ( &(const binstruction[27]) { /* code */ - 0xA4120000, // 0000 IMPORT R4 K0 - 0x88140101, // 0001 GETMBR R5 R0 K1 - 0x20140205, // 0002 NE R5 R1 R5 - 0x74160005, // 0003 JMPT R5 #000A - 0x88140102, // 0004 GETMBR R5 R0 K2 - 0x20140405, // 0005 NE R5 R2 R5 - 0x74160002, // 0006 JMPT R5 #000A - 0x88140103, // 0007 GETMBR R5 R0 K3 - 0x20140605, // 0008 NE R5 R3 R5 - 0x7816000F, // 0009 JMPF R5 #001A - 0x8C140904, // 000A GETMET R5 R4 K4 - 0x581C0005, // 000B LDCONST R7 K5 - 0x5C200200, // 000C MOVE R8 R1 - 0x10240706, // 000D MOD R9 R3 K6 - 0x78260001, // 000E JMPF R9 #0011 - 0x58240007, // 000F LDCONST R9 K7 - 0x70020000, // 0010 JMP #0012 - 0x58240008, // 0011 LDCONST R9 K8 - 0x5C280400, // 0012 MOVE R10 R2 - 0x7C140A00, // 0013 CALL R5 5 - 0x90020201, // 0014 SETMBR R0 K1 R1 - 0x90020402, // 0015 SETMBR R0 K2 R2 - 0x90020603, // 0016 SETMBR R0 K3 R3 - 0x8C180109, // 0017 GETMET R6 R0 K9 - 0x5C200A00, // 0018 MOVE R8 R5 - 0x7C180400, // 0019 CALL R6 2 - 0x80000000, // 001A RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: every_second -********************************************************************/ -be_local_closure(lv_clock_every_second, /* name */ - be_nested_proto( - 7, /* nstack */ - 1, /* 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_weak(tasmota), - /* K1 */ be_nested_str_weak(time_dump), - /* K2 */ be_nested_str_weak(rtc), - /* K3 */ be_nested_str_weak(local), - /* K4 */ be_nested_str_weak(year), - /* K5 */ be_nested_str_weak(set_time), - /* K6 */ be_nested_str_weak(hour), - /* K7 */ be_nested_str_weak(min), - /* K8 */ be_nested_str_weak(sec), - }), - be_str_weak(every_second), - &be_const_str_solidified, - ( &(const binstruction[17]) { /* code */ - 0xB8060000, // 0000 GETNGBL R1 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0xB80E0000, // 0002 GETNGBL R3 K0 - 0x8C0C0702, // 0003 GETMET R3 R3 K2 - 0x7C0C0200, // 0004 CALL R3 1 - 0x940C0703, // 0005 GETIDX R3 R3 K3 - 0x7C040400, // 0006 CALL R1 2 - 0x94080304, // 0007 GETIDX R2 R1 K4 - 0x540E07B1, // 0008 LDINT R3 1970 - 0x20080403, // 0009 NE R2 R2 R3 - 0x780A0004, // 000A JMPF R2 #0010 - 0x8C080105, // 000B GETMET R2 R0 K5 - 0x94100306, // 000C GETIDX R4 R1 K6 - 0x94140307, // 000D GETIDX R5 R1 K7 - 0x94180308, // 000E GETIDX R6 R1 K8 - 0x7C080800, // 000F CALL R2 4 - 0x80000000, // 0010 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(lv_clock_init, /* name */ - be_nested_proto( - 8, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { - be_nested_proto( - 2, /* nstack */ - 0, /* 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_weak(before_del), - }), - be_str_weak(_X3Clambda_X3E), - &be_const_str_solidified, - ( &(const binstruction[ 4]) { /* code */ - 0x68000000, // 0000 GETUPV R0 U0 - 0x8C000100, // 0001 GETMET R0 R0 K0 - 0x7C000200, // 0002 CALL R0 1 - 0x80040000, // 0003 RET 1 R0 - }) - ), - }), - 1, /* has constants */ - ( &(const bvalue[13]) { /* constants */ - /* K0 */ be_nested_str_weak(init), - /* K1 */ be_nested_str_weak(lv), - /* K2 */ be_nested_str_weak(seg7_font), - /* K3 */ be_nested_str_weak(set_style_text_font), - /* K4 */ be_nested_str_weak(PART_MAIN), - /* K5 */ be_nested_str_weak(STATE_DEFAULT), - /* K6 */ be_nested_str_weak(set_text), - /* K7 */ be_nested_str_weak(_X2D_X2D_X3A_X2D_X2D), - /* K8 */ be_nested_str_weak(add_event_cb), - /* K9 */ be_nested_str_weak(EVENT_DELETE), - /* K10 */ be_const_int(0), - /* K11 */ be_nested_str_weak(tasmota), - /* K12 */ be_nested_str_weak(add_driver), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[36]) { /* code */ - 0x60080003, // 0000 GETGBL R2 G3 - 0x5C0C0000, // 0001 MOVE R3 R0 - 0x7C080200, // 0002 CALL R2 1 - 0x8C080500, // 0003 GETMET R2 R2 K0 - 0x5C100200, // 0004 MOVE R4 R1 - 0x7C080400, // 0005 CALL R2 2 - 0xB80A0200, // 0006 GETNGBL R2 K1 - 0x8C080502, // 0007 GETMET R2 R2 K2 - 0x5412000F, // 0008 LDINT R4 16 - 0x7C080400, // 0009 CALL R2 2 - 0x4C0C0000, // 000A LDNIL R3 - 0x200C0403, // 000B NE R3 R2 R3 - 0x780E0007, // 000C JMPF R3 #0015 - 0x8C0C0103, // 000D GETMET R3 R0 K3 - 0x5C140400, // 000E MOVE R5 R2 - 0xB81A0200, // 000F GETNGBL R6 K1 - 0x88180D04, // 0010 GETMBR R6 R6 K4 - 0xB81E0200, // 0011 GETNGBL R7 K1 - 0x881C0F05, // 0012 GETMBR R7 R7 K5 - 0x30180C07, // 0013 OR R6 R6 R7 - 0x7C0C0600, // 0014 CALL R3 3 - 0x8C0C0106, // 0015 GETMET R3 R0 K6 - 0x58140007, // 0016 LDCONST R5 K7 - 0x7C0C0400, // 0017 CALL R3 2 - 0x8C0C0108, // 0018 GETMET R3 R0 K8 - 0x84140000, // 0019 CLOSURE R5 P0 - 0xB81A0200, // 001A GETNGBL R6 K1 - 0x88180D09, // 001B GETMBR R6 R6 K9 - 0x581C000A, // 001C LDCONST R7 K10 - 0x7C0C0800, // 001D CALL R3 4 - 0xB80E1600, // 001E GETNGBL R3 K11 - 0x8C0C070C, // 001F GETMET R3 R3 K12 - 0x5C140000, // 0020 MOVE R5 R0 - 0x7C0C0400, // 0021 CALL R3 2 - 0xA0000000, // 0022 CLOSE R0 - 0x80000000, // 0023 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: before_del -********************************************************************/ -be_local_closure(lv_clock_before_del, /* name */ - be_nested_proto( - 4, /* nstack */ - 1, /* 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_weak(tasmota), - /* K1 */ be_nested_str_weak(remove_driver), - }), - be_str_weak(before_del), - &be_const_str_solidified, - ( &(const binstruction[ 5]) { /* code */ - 0xB8060000, // 0000 GETNGBL R1 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0x5C0C0000, // 0002 MOVE R3 R0 - 0x7C040400, // 0003 CALL R1 2 - 0x80000000, // 0004 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified class: lv_clock -********************************************************************/ -extern const bclass be_class_lv_label; -be_local_class(lv_clock, - 3, - &be_class_lv_label, - be_nested_map(7, - ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(sec, -1), be_const_var(2) }, - { be_const_key_weak(hour, -1), be_const_var(0) }, - { be_const_key_weak(before_del, 6), be_const_closure(lv_clock_before_del_closure) }, - { be_const_key_weak(every_second, -1), be_const_closure(lv_clock_every_second_closure) }, - { be_const_key_weak(minute, -1), be_const_var(1) }, - { be_const_key_weak(set_time, 2), be_const_closure(lv_clock_set_time_closure) }, - { be_const_key_weak(init, -1), be_const_closure(lv_clock_init_closure) }, - })), - be_str_weak(lv_clock) -); -/*******************************************************************/ - -void be_load_lv_clock_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_clock); - be_setglobal(vm, "lv_clock"); - be_pop(vm, 1); -} - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(lv_clock_icon_init, /* name */ - be_nested_proto( - 10, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[16]) { /* constants */ - /* K0 */ be_nested_str_weak(init), - /* K1 */ be_nested_str_weak(get_height), - /* K2 */ be_nested_str_weak(refr_size), - /* K3 */ be_nested_str_weak(get_width), - /* K4 */ be_nested_str_weak(set_y), - /* K5 */ be_const_int(2), - /* K6 */ be_nested_str_weak(get_style_pad_right), - /* K7 */ be_nested_str_weak(lv), - /* K8 */ be_nested_str_weak(PART_MAIN), - /* K9 */ be_nested_str_weak(STATE_DEFAULT), - /* K10 */ be_nested_str_weak(set_x), - /* K11 */ be_const_int(3), - /* K12 */ be_nested_str_weak(set_style_pad_right), - /* K13 */ be_nested_str_weak(set_style_bg_color), - /* K14 */ be_nested_str_weak(color), - /* K15 */ be_nested_str_weak(COLOR_BLACK), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[60]) { /* code */ - 0x60080003, // 0000 GETGBL R2 G3 - 0x5C0C0000, // 0001 MOVE R3 R0 - 0x7C080200, // 0002 CALL R2 1 - 0x8C080500, // 0003 GETMET R2 R2 K0 - 0x5C100200, // 0004 MOVE R4 R1 - 0x7C080400, // 0005 CALL R2 2 - 0x4C080000, // 0006 LDNIL R2 - 0x20080202, // 0007 NE R2 R1 R2 - 0x780A0031, // 0008 JMPF R2 #003B - 0x8C080301, // 0009 GETMET R2 R1 K1 - 0x7C080200, // 000A CALL R2 1 - 0x8C0C0102, // 000B GETMET R3 R0 K2 - 0x7C0C0200, // 000C CALL R3 1 - 0x8C0C0103, // 000D GETMET R3 R0 K3 - 0x7C0C0200, // 000E CALL R3 1 - 0x8C100104, // 000F GETMET R4 R0 K4 - 0x8C180301, // 0010 GETMET R6 R1 K1 - 0x7C180200, // 0011 CALL R6 1 - 0x8C1C0101, // 0012 GETMET R7 R0 K1 - 0x7C1C0200, // 0013 CALL R7 1 - 0x04180C07, // 0014 SUB R6 R6 R7 - 0x0C180D05, // 0015 DIV R6 R6 K5 - 0x7C100400, // 0016 CALL R4 2 - 0x8C100306, // 0017 GETMET R4 R1 K6 - 0xB81A0E00, // 0018 GETNGBL R6 K7 - 0x88180D08, // 0019 GETMBR R6 R6 K8 - 0xB81E0E00, // 001A GETNGBL R7 K7 - 0x881C0F09, // 001B GETMBR R7 R7 K9 - 0x30180C07, // 001C OR R6 R6 R7 - 0x7C100400, // 001D CALL R4 2 - 0x8C14010A, // 001E GETMET R5 R0 K10 - 0x8C1C0303, // 001F GETMET R7 R1 K3 - 0x7C1C0200, // 0020 CALL R7 1 - 0x041C0E03, // 0021 SUB R7 R7 R3 - 0x041C0E04, // 0022 SUB R7 R7 R4 - 0x041C0F0B, // 0023 SUB R7 R7 K11 - 0x7C140400, // 0024 CALL R5 2 - 0x8C14030C, // 0025 GETMET R5 R1 K12 - 0x001C0803, // 0026 ADD R7 R4 R3 - 0x54220005, // 0027 LDINT R8 6 - 0x001C0E08, // 0028 ADD R7 R7 R8 - 0xB8220E00, // 0029 GETNGBL R8 K7 - 0x88201108, // 002A GETMBR R8 R8 K8 - 0xB8260E00, // 002B GETNGBL R9 K7 - 0x88241309, // 002C GETMBR R9 R9 K9 - 0x30201009, // 002D OR R8 R8 R9 - 0x7C140600, // 002E CALL R5 3 - 0x8C14010D, // 002F GETMET R5 R0 K13 - 0xB81E0E00, // 0030 GETNGBL R7 K7 - 0x8C1C0F0E, // 0031 GETMET R7 R7 K14 - 0xB8260E00, // 0032 GETNGBL R9 K7 - 0x8824130F, // 0033 GETMBR R9 R9 K15 - 0x7C1C0400, // 0034 CALL R7 2 - 0xB8220E00, // 0035 GETNGBL R8 K7 - 0x88201108, // 0036 GETMBR R8 R8 K8 - 0xB8260E00, // 0037 GETNGBL R9 K7 - 0x88241309, // 0038 GETMBR R9 R9 K9 - 0x30201009, // 0039 OR R8 R8 R9 - 0x7C140600, // 003A CALL R5 3 - 0x80000000, // 003B RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified class: lv_clock_icon -********************************************************************/ -extern const bclass be_class_lv_clock; -be_local_class(lv_clock_icon, - 0, - &be_class_lv_clock, - be_nested_map(1, - ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lv_clock_icon_init_closure) }, - })), - be_str_weak(lv_clock_icon) -); -/*******************************************************************/ - -void be_load_lv_clock_icon_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_clock_icon); - be_setglobal(vm, "lv_clock_icon"); - be_pop(vm, 1); -} - -/******************************************************************** -** Solidified function: set_percentage -********************************************************************/ -be_local_closure(lv_signal_arcs_set_percentage, /* 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_weak(percentage), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_str_weak(invalidate), - }), - be_str_weak(set_percentage), - &be_const_str_solidified, - ( &(const binstruction[18]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x540E0018, // 0001 LDINT R3 25 - 0x0C080403, // 0002 DIV R2 R2 R3 - 0x540E0063, // 0003 LDINT R3 100 - 0x240C0203, // 0004 GT R3 R1 R3 - 0x780E0000, // 0005 JMPF R3 #0007 - 0x54060063, // 0006 LDINT R1 100 - 0x140C0301, // 0007 LT R3 R1 K1 - 0x780E0000, // 0008 JMPF R3 #000A - 0x58040001, // 0009 LDCONST R1 K1 - 0x90020001, // 000A SETMBR R0 K0 R1 - 0x540E0018, // 000B LDINT R3 25 - 0x0C0C0203, // 000C DIV R3 R1 R3 - 0x200C0403, // 000D NE R3 R2 R3 - 0x780E0001, // 000E JMPF R3 #0011 - 0x8C0C0102, // 000F GETMET R3 R0 K2 - 0x7C0C0200, // 0010 CALL R3 1 - 0x80000000, // 0011 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(lv_signal_arcs_init, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str_weak(_lvgl), - /* K1 */ be_nested_str_weak(create_custom_widget), - /* K2 */ be_nested_str_weak(percentage), - /* K3 */ be_nested_str_weak(p1), - /* K4 */ be_nested_str_weak(lv), - /* K5 */ be_nested_str_weak(point), - /* K6 */ be_nested_str_weak(p2), - /* K7 */ be_nested_str_weak(area), - /* K8 */ be_nested_str_weak(arc_dsc), - /* K9 */ be_nested_str_weak(draw_arc_dsc), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[24]) { /* code */ - 0xB80A0000, // 0000 GETNGBL R2 K0 - 0x8C080501, // 0001 GETMET R2 R2 K1 - 0x5C100000, // 0002 MOVE R4 R0 - 0x5C140200, // 0003 MOVE R5 R1 - 0x7C080600, // 0004 CALL R2 3 - 0x540A0063, // 0005 LDINT R2 100 - 0x90020402, // 0006 SETMBR R0 K2 R2 - 0xB80A0800, // 0007 GETNGBL R2 K4 - 0x8C080505, // 0008 GETMET R2 R2 K5 - 0x7C080200, // 0009 CALL R2 1 - 0x90020602, // 000A SETMBR R0 K3 R2 - 0xB80A0800, // 000B GETNGBL R2 K4 - 0x8C080505, // 000C GETMET R2 R2 K5 - 0x7C080200, // 000D CALL R2 1 - 0x90020C02, // 000E SETMBR R0 K6 R2 - 0xB80A0800, // 000F GETNGBL R2 K4 - 0x8C080507, // 0010 GETMET R2 R2 K7 - 0x7C080200, // 0011 CALL R2 1 - 0x90020E02, // 0012 SETMBR R0 K7 R2 - 0xB80A0800, // 0013 GETNGBL R2 K4 - 0x8C080509, // 0014 GETMET R2 R2 K9 - 0x7C080200, // 0015 CALL R2 1 - 0x90021002, // 0016 SETMBR R0 K8 R2 - 0x80000000, // 0017 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: widget_event -********************************************************************/ -be_local_closure(lv_signal_arcs_widget_event, /* name */ - be_nested_proto( - 27, /* nstack */ - 3, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { - be_nested_proto( - 2, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_const_int(1), - }), - be_str_weak(atleast1), - &be_const_str_solidified, - ( &(const binstruction[ 6]) { /* code */ - 0x28040100, // 0000 GE R1 R0 K0 - 0x78060001, // 0001 JMPF R1 #0004 - 0x80040000, // 0002 RET 1 R0 - 0x70020000, // 0003 JMP #0005 - 0x80060000, // 0004 RET 1 K0 - 0x80000000, // 0005 RET 0 - }) - ), - }), - 1, /* has constants */ - ( &(const bvalue[35]) { /* constants */ - /* K0 */ be_nested_str_weak(lv), - /* K1 */ be_nested_str_weak(obj_event_base), - /* K2 */ be_nested_str_weak(RES_OK), - /* K3 */ be_nested_str_weak(code), - /* K4 */ be_nested_str_weak(math), - /* K5 */ be_nested_str_weak(get_height), - /* K6 */ be_nested_str_weak(get_width), - /* K7 */ be_const_int(2), - /* K8 */ be_const_int(3), - /* K9 */ be_nested_str_weak(EVENT_DRAW_MAIN), - /* K10 */ be_nested_str_weak(draw_ctx), - /* K11 */ be_nested_str_weak(param), - /* K12 */ be_nested_str_weak(get_coords), - /* K13 */ be_nested_str_weak(area), - /* K14 */ be_nested_str_weak(x1), - /* K15 */ be_nested_str_weak(y1), - /* K16 */ be_nested_str_weak(draw_arc_dsc_init), - /* K17 */ be_nested_str_weak(arc_dsc), - /* K18 */ be_nested_str_weak(init_draw_arc_dsc), - /* K19 */ be_nested_str_weak(PART_MAIN), - /* K20 */ be_nested_str_weak(rounded), - /* K21 */ be_const_int(1), - /* K22 */ be_nested_str_weak(width), - /* K23 */ be_nested_str_weak(get_style_line_color), - /* K24 */ be_nested_str_weak(STATE_DEFAULT), - /* K25 */ be_nested_str_weak(get_style_bg_color), - /* K26 */ be_nested_str_weak(deg), - /* K27 */ be_nested_str_weak(acos), - /* K28 */ be_nested_str_weak(p1), - /* K29 */ be_nested_str_weak(x), - /* K30 */ be_nested_str_weak(y), - /* K31 */ be_nested_str_weak(color), - /* K32 */ be_nested_str_weak(percentage), - /* K33 */ be_nested_str_weak(draw_arc), - /* K34 */ be_const_int(0), - }), - be_str_weak(widget_event), - &be_const_str_solidified, - ( &(const binstruction[171]) { /* code */ - 0xB80E0000, // 0000 GETNGBL R3 K0 - 0x8C0C0701, // 0001 GETMET R3 R3 K1 - 0x5C140200, // 0002 MOVE R5 R1 - 0x5C180400, // 0003 MOVE R6 R2 - 0x7C0C0600, // 0004 CALL R3 3 - 0xB8120000, // 0005 GETNGBL R4 K0 - 0x88100902, // 0006 GETMBR R4 R4 K2 - 0x200C0604, // 0007 NE R3 R3 R4 - 0x780E0000, // 0008 JMPF R3 #000A - 0x80000600, // 0009 RET 0 - 0x880C0503, // 000A GETMBR R3 R2 K3 - 0xA4120800, // 000B IMPORT R4 K4 - 0x84140000, // 000C CLOSURE R5 P0 - 0x8C180105, // 000D GETMET R6 R0 K5 - 0x7C180200, // 000E CALL R6 1 - 0x8C1C0106, // 000F GETMET R7 R0 K6 - 0x7C1C0200, // 0010 CALL R7 1 - 0x5C200A00, // 0011 MOVE R8 R5 - 0x54260007, // 0012 LDINT R9 8 - 0x0C240C09, // 0013 DIV R9 R6 R9 - 0x7C200200, // 0014 CALL R8 1 - 0x5C240A00, // 0015 MOVE R9 R5 - 0x08281107, // 0016 MUL R10 R8 K7 - 0x04280C0A, // 0017 SUB R10 R6 R10 - 0x0C281508, // 0018 DIV R10 R10 K8 - 0x7C240200, // 0019 CALL R9 1 - 0x0C281307, // 001A DIV R10 R9 K7 - 0xB82E0000, // 001B GETNGBL R11 K0 - 0x882C1709, // 001C GETMBR R11 R11 K9 - 0x1C2C060B, // 001D EQ R11 R3 R11 - 0x782E008A, // 001E JMPF R11 #00AA - 0xB82E0000, // 001F GETNGBL R11 K0 - 0x8C2C170A, // 0020 GETMET R11 R11 K10 - 0x8834050B, // 0021 GETMBR R13 R2 K11 - 0x7C2C0400, // 0022 CALL R11 2 - 0x8C30010C, // 0023 GETMET R12 R0 K12 - 0x8838010D, // 0024 GETMBR R14 R0 K13 - 0x7C300400, // 0025 CALL R12 2 - 0x8830010D, // 0026 GETMBR R12 R0 K13 - 0x8830190E, // 0027 GETMBR R12 R12 K14 - 0x8834010D, // 0028 GETMBR R13 R0 K13 - 0x88341B0F, // 0029 GETMBR R13 R13 K15 - 0xB83A0000, // 002A GETNGBL R14 K0 - 0x8C381D10, // 002B GETMET R14 R14 K16 - 0x88400111, // 002C GETMBR R16 R0 K17 - 0x7C380400, // 002D CALL R14 2 - 0x8C380112, // 002E GETMET R14 R0 K18 - 0xB8420000, // 002F GETNGBL R16 K0 - 0x88402113, // 0030 GETMBR R16 R16 K19 - 0x88440111, // 0031 GETMBR R17 R0 K17 - 0x7C380600, // 0032 CALL R14 3 - 0x88380111, // 0033 GETMBR R14 R0 K17 - 0x903A2915, // 0034 SETMBR R14 K20 K21 - 0x88380111, // 0035 GETMBR R14 R0 K17 - 0x083C1308, // 0036 MUL R15 R9 K8 - 0x003C1F15, // 0037 ADD R15 R15 K21 - 0x54420003, // 0038 LDINT R16 4 - 0x0C3C1E10, // 0039 DIV R15 R15 R16 - 0x903A2C0F, // 003A SETMBR R14 K22 R15 - 0x8C380117, // 003B GETMET R14 R0 K23 - 0xB8420000, // 003C GETNGBL R16 K0 - 0x88402113, // 003D GETMBR R16 R16 K19 - 0xB8460000, // 003E GETNGBL R17 K0 - 0x88442318, // 003F GETMBR R17 R17 K24 - 0x30402011, // 0040 OR R16 R16 R17 - 0x7C380400, // 0041 CALL R14 2 - 0x8C3C0119, // 0042 GETMET R15 R0 K25 - 0xB8460000, // 0043 GETNGBL R17 K0 - 0x88442313, // 0044 GETMBR R17 R17 K19 - 0xB84A0000, // 0045 GETNGBL R18 K0 - 0x88482518, // 0046 GETMBR R18 R18 K24 - 0x30442212, // 0047 OR R17 R17 R18 - 0x7C3C0400, // 0048 CALL R15 2 - 0x04400C09, // 0049 SUB R16 R6 R9 - 0x0C440F07, // 004A DIV R17 R7 K7 - 0x0444220A, // 004B SUB R17 R17 R10 - 0x60480009, // 004C GETGBL R18 G9 - 0x544E0059, // 004D LDINT R19 90 - 0x8C50091A, // 004E GETMET R20 R4 K26 - 0x8C58091B, // 004F GETMET R22 R4 K27 - 0x6060000A, // 0050 GETGBL R24 G10 - 0x5C642200, // 0051 MOVE R25 R17 - 0x7C600200, // 0052 CALL R24 1 - 0x6064000A, // 0053 GETGBL R25 G10 - 0x5C682000, // 0054 MOVE R26 R16 - 0x7C640200, // 0055 CALL R25 1 - 0x0C603019, // 0056 DIV R24 R24 R25 - 0x7C580400, // 0057 CALL R22 2 - 0x7C500400, // 0058 CALL R20 2 - 0x044C2614, // 0059 SUB R19 R19 R20 - 0x7C480200, // 005A CALL R18 1 - 0x544E002C, // 005B LDINT R19 45 - 0x244C2413, // 005C GT R19 R18 R19 - 0x784E0000, // 005D JMPF R19 #005F - 0x544A002C, // 005E LDINT R18 45 - 0x884C011C, // 005F GETMBR R19 R0 K28 - 0x0C500F07, // 0060 DIV R20 R7 K7 - 0x00501814, // 0061 ADD R20 R12 R20 - 0x904E3A14, // 0062 SETMBR R19 K29 R20 - 0x884C011C, // 0063 GETMBR R19 R0 K28 - 0x00501A06, // 0064 ADD R20 R13 R6 - 0x04502915, // 0065 SUB R20 R20 K21 - 0x0450280A, // 0066 SUB R20 R20 R10 - 0x904E3C14, // 0067 SETMBR R19 K30 R20 - 0x884C0111, // 0068 GETMBR R19 R0 K17 - 0x88500120, // 0069 GETMBR R20 R0 K32 - 0x54560018, // 006A LDINT R21 25 - 0x28502815, // 006B GE R20 R20 R21 - 0x78520001, // 006C JMPF R20 #006F - 0x5C501C00, // 006D MOVE R20 R14 - 0x70020000, // 006E JMP #0070 - 0x5C501E00, // 006F MOVE R20 R15 - 0x904E3E14, // 0070 SETMBR R19 K31 R20 - 0xB84E0000, // 0071 GETNGBL R19 K0 - 0x8C4C2721, // 0072 GETMET R19 R19 K33 - 0x5C541600, // 0073 MOVE R21 R11 - 0x88580111, // 0074 GETMBR R22 R0 K17 - 0x885C011C, // 0075 GETMBR R23 R0 K28 - 0x00601208, // 0076 ADD R24 R9 R8 - 0x08624418, // 0077 MUL R24 K34 R24 - 0x0060300A, // 0078 ADD R24 R24 R10 - 0x58640022, // 0079 LDCONST R25 K34 - 0x546A0167, // 007A LDINT R26 360 - 0x7C4C0E00, // 007B CALL R19 7 - 0x884C0111, // 007C GETMBR R19 R0 K17 - 0x88500120, // 007D GETMBR R20 R0 K32 - 0x54560031, // 007E LDINT R21 50 - 0x28502815, // 007F GE R20 R20 R21 - 0x78520001, // 0080 JMPF R20 #0083 - 0x5C501C00, // 0081 MOVE R20 R14 - 0x70020000, // 0082 JMP #0084 - 0x5C501E00, // 0083 MOVE R20 R15 - 0x904E3E14, // 0084 SETMBR R19 K31 R20 - 0xB84E0000, // 0085 GETNGBL R19 K0 - 0x8C4C2721, // 0086 GETMET R19 R19 K33 - 0x5C541600, // 0087 MOVE R21 R11 - 0x88580111, // 0088 GETMBR R22 R0 K17 - 0x885C011C, // 0089 GETMBR R23 R0 K28 - 0x00601208, // 008A ADD R24 R9 R8 - 0x08622A18, // 008B MUL R24 K21 R24 - 0x0060300A, // 008C ADD R24 R24 R10 - 0x04603115, // 008D SUB R24 R24 K21 - 0x5466010D, // 008E LDINT R25 270 - 0x04643212, // 008F SUB R25 R25 R18 - 0x546A010D, // 0090 LDINT R26 270 - 0x00683412, // 0091 ADD R26 R26 R18 - 0x7C4C0E00, // 0092 CALL R19 7 - 0x884C0111, // 0093 GETMBR R19 R0 K17 - 0x88500120, // 0094 GETMBR R20 R0 K32 - 0x5456004A, // 0095 LDINT R21 75 - 0x28502815, // 0096 GE R20 R20 R21 - 0x78520001, // 0097 JMPF R20 #009A - 0x5C501C00, // 0098 MOVE R20 R14 - 0x70020000, // 0099 JMP #009B - 0x5C501E00, // 009A MOVE R20 R15 - 0x904E3E14, // 009B SETMBR R19 K31 R20 - 0xB84E0000, // 009C GETNGBL R19 K0 - 0x8C4C2721, // 009D GETMET R19 R19 K33 - 0x5C541600, // 009E MOVE R21 R11 - 0x88580111, // 009F GETMBR R22 R0 K17 - 0x885C011C, // 00A0 GETMBR R23 R0 K28 - 0x00601208, // 00A1 ADD R24 R9 R8 - 0x08620E18, // 00A2 MUL R24 K7 R24 - 0x0060300A, // 00A3 ADD R24 R24 R10 - 0x04603107, // 00A4 SUB R24 R24 K7 - 0x5466010D, // 00A5 LDINT R25 270 - 0x04643212, // 00A6 SUB R25 R25 R18 - 0x546A010D, // 00A7 LDINT R26 270 - 0x00683412, // 00A8 ADD R26 R26 R18 - 0x7C4C0E00, // 00A9 CALL R19 7 - 0x80000000, // 00AA RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: get_percentage -********************************************************************/ -be_local_closure(lv_signal_arcs_get_percentage, /* name */ - be_nested_proto( - 2, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_weak(percentage), - }), - be_str_weak(get_percentage), - &be_const_str_solidified, - ( &(const binstruction[ 2]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x80040200, // 0001 RET 1 R1 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified class: lv_signal_arcs -********************************************************************/ -extern const bclass be_class_lv_obj; -be_local_class(lv_signal_arcs, - 5, - &be_class_lv_obj, - be_nested_map(9, - ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(percentage, -1), be_const_var(0) }, - { be_const_key_weak(area, 4), be_const_var(3) }, - { be_const_key_weak(p2, -1), be_const_var(2) }, - { be_const_key_weak(get_percentage, -1), be_const_closure(lv_signal_arcs_get_percentage_closure) }, - { be_const_key_weak(p1, -1), be_const_var(1) }, - { be_const_key_weak(arc_dsc, -1), be_const_var(4) }, - { be_const_key_weak(init, 5), be_const_closure(lv_signal_arcs_init_closure) }, - { be_const_key_weak(widget_event, -1), be_const_closure(lv_signal_arcs_widget_event_closure) }, - { be_const_key_weak(set_percentage, 3), be_const_closure(lv_signal_arcs_set_percentage_closure) }, - })), - be_str_weak(lv_signal_arcs) -); -/*******************************************************************/ - -void be_load_lv_signal_arcs_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_signal_arcs); - be_setglobal(vm, "lv_signal_arcs"); - be_pop(vm, 1); -} - -/******************************************************************** -** Solidified function: before_del -********************************************************************/ -be_local_closure(lv_wifi_arcs_before_del, /* name */ - be_nested_proto( - 4, /* nstack */ - 1, /* 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_weak(tasmota), - /* K1 */ be_nested_str_weak(remove_driver), - }), - be_str_weak(before_del), - &be_const_str_solidified, - ( &(const binstruction[ 5]) { /* code */ - 0xB8060000, // 0000 GETNGBL R1 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0x5C0C0000, // 0002 MOVE R3 R0 - 0x7C040400, // 0003 CALL R1 2 - 0x80000000, // 0004 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(lv_wifi_arcs_init, /* 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[ 5]) { /* constants */ - /* K0 */ be_nested_str_weak(init), - /* K1 */ be_nested_str_weak(tasmota), - /* K2 */ be_nested_str_weak(add_driver), - /* K3 */ be_nested_str_weak(set_percentage), - /* K4 */ be_const_int(0), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[14]) { /* code */ - 0x60080003, // 0000 GETGBL R2 G3 - 0x5C0C0000, // 0001 MOVE R3 R0 - 0x7C080200, // 0002 CALL R2 1 - 0x8C080500, // 0003 GETMET R2 R2 K0 - 0x5C100200, // 0004 MOVE R4 R1 - 0x7C080400, // 0005 CALL R2 2 - 0xB80A0200, // 0006 GETNGBL R2 K1 - 0x8C080502, // 0007 GETMET R2 R2 K2 - 0x5C100000, // 0008 MOVE R4 R0 - 0x7C080400, // 0009 CALL R2 2 - 0x8C080103, // 000A GETMET R2 R0 K3 - 0x58100004, // 000B LDCONST R4 K4 - 0x7C080400, // 000C CALL R2 2 - 0x80000000, // 000D RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: every_second -********************************************************************/ -be_local_closure(lv_wifi_arcs_every_second, /* name */ - be_nested_proto( - 7, /* nstack */ - 1, /* 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_weak(tasmota), - /* K1 */ be_nested_str_weak(wifi), - /* K2 */ be_nested_str_weak(find), - /* K3 */ be_nested_str_weak(quality), - /* K4 */ be_nested_str_weak(ip), - /* K5 */ be_nested_str_weak(set_percentage), - /* K6 */ be_const_int(0), - }), - be_str_weak(every_second), - &be_const_str_solidified, - ( &(const binstruction[23]) { /* code */ - 0xB8060000, // 0000 GETNGBL R1 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0x7C040200, // 0002 CALL R1 1 - 0x8C080302, // 0003 GETMET R2 R1 K2 - 0x58100003, // 0004 LDCONST R4 K3 - 0x7C080400, // 0005 CALL R2 2 - 0x8C0C0302, // 0006 GETMET R3 R1 K2 - 0x58140004, // 0007 LDCONST R5 K4 - 0x7C0C0400, // 0008 CALL R3 2 - 0x4C100000, // 0009 LDNIL R4 - 0x1C100604, // 000A EQ R4 R3 R4 - 0x78120003, // 000B JMPF R4 #0010 - 0x8C100105, // 000C GETMET R4 R0 K5 - 0x58180006, // 000D LDCONST R6 K6 - 0x7C100400, // 000E CALL R4 2 - 0x70020005, // 000F JMP #0016 - 0x4C100000, // 0010 LDNIL R4 - 0x20100404, // 0011 NE R4 R2 R4 - 0x78120002, // 0012 JMPF R4 #0016 - 0x8C100105, // 0013 GETMET R4 R0 K5 - 0x5C180400, // 0014 MOVE R6 R2 - 0x7C100400, // 0015 CALL R4 2 - 0x80000000, // 0016 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified class: lv_wifi_arcs -********************************************************************/ -extern const bclass be_class_lv_signal_arcs; -be_local_class(lv_wifi_arcs, - 0, - &be_class_lv_signal_arcs, - be_nested_map(3, - ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(before_del, 1), be_const_closure(lv_wifi_arcs_before_del_closure) }, - { be_const_key_weak(every_second, 2), be_const_closure(lv_wifi_arcs_every_second_closure) }, - { be_const_key_weak(init, -1), be_const_closure(lv_wifi_arcs_init_closure) }, - })), - be_str_weak(lv_wifi_arcs) -); -/*******************************************************************/ - -void be_load_lv_wifi_arcs_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_wifi_arcs); - be_setglobal(vm, "lv_wifi_arcs"); - be_pop(vm, 1); -} - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(lv_wifi_arcs_icon_init, /* name */ - be_nested_proto( - 10, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[18]) { /* constants */ - /* K0 */ be_nested_str_weak(init), - /* K1 */ be_nested_str_weak(set_style_line_color), - /* K2 */ be_nested_str_weak(lv), - /* K3 */ be_nested_str_weak(color), - /* K4 */ be_nested_str_weak(COLOR_WHITE), - /* K5 */ be_nested_str_weak(PART_MAIN), - /* K6 */ be_nested_str_weak(STATE_DEFAULT), - /* K7 */ be_nested_str_weak(set_style_bg_color), - /* K8 */ be_nested_str_weak(COLOR_BLACK), - /* K9 */ be_nested_str_weak(get_height), - /* K10 */ be_nested_str_weak(get_style_pad_right), - /* K11 */ be_nested_str_weak(set_height), - /* K12 */ be_const_int(3), - /* K13 */ be_nested_str_weak(set_width), - /* K14 */ be_nested_str_weak(set_x), - /* K15 */ be_nested_str_weak(get_width), - /* K16 */ be_nested_str_weak(set_style_pad_right), - /* K17 */ be_const_int(1), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[67]) { /* code */ - 0x60080003, // 0000 GETGBL R2 G3 - 0x5C0C0000, // 0001 MOVE R3 R0 - 0x7C080200, // 0002 CALL R2 1 - 0x8C080500, // 0003 GETMET R2 R2 K0 - 0x5C100200, // 0004 MOVE R4 R1 - 0x7C080400, // 0005 CALL R2 2 - 0x8C080101, // 0006 GETMET R2 R0 K1 - 0xB8120400, // 0007 GETNGBL R4 K2 - 0x8C100903, // 0008 GETMET R4 R4 K3 - 0xB81A0400, // 0009 GETNGBL R6 K2 - 0x88180D04, // 000A GETMBR R6 R6 K4 - 0x7C100400, // 000B CALL R4 2 - 0xB8160400, // 000C GETNGBL R5 K2 - 0x88140B05, // 000D GETMBR R5 R5 K5 - 0xB81A0400, // 000E GETNGBL R6 K2 - 0x88180D06, // 000F GETMBR R6 R6 K6 - 0x30140A06, // 0010 OR R5 R5 R6 - 0x7C080600, // 0011 CALL R2 3 - 0x8C080107, // 0012 GETMET R2 R0 K7 - 0xB8120400, // 0013 GETNGBL R4 K2 - 0x8C100903, // 0014 GETMET R4 R4 K3 - 0xB81A0400, // 0015 GETNGBL R6 K2 - 0x88180D08, // 0016 GETMBR R6 R6 K8 - 0x7C100400, // 0017 CALL R4 2 - 0xB8160400, // 0018 GETNGBL R5 K2 - 0x88140B05, // 0019 GETMBR R5 R5 K5 - 0xB81A0400, // 001A GETNGBL R6 K2 - 0x88180D06, // 001B GETMBR R6 R6 K6 - 0x30140A06, // 001C OR R5 R5 R6 - 0x7C080600, // 001D CALL R2 3 - 0x4C080000, // 001E LDNIL R2 - 0x20080202, // 001F NE R2 R1 R2 - 0x780A0020, // 0020 JMPF R2 #0042 - 0x8C080309, // 0021 GETMET R2 R1 K9 - 0x7C080200, // 0022 CALL R2 1 - 0x8C0C030A, // 0023 GETMET R3 R1 K10 - 0xB8160400, // 0024 GETNGBL R5 K2 - 0x88140B05, // 0025 GETMBR R5 R5 K5 - 0xB81A0400, // 0026 GETNGBL R6 K2 - 0x88180D06, // 0027 GETMBR R6 R6 K6 - 0x30140A06, // 0028 OR R5 R5 R6 - 0x7C0C0400, // 0029 CALL R3 2 - 0x8C10010B, // 002A GETMET R4 R0 K11 - 0x5C180400, // 002B MOVE R6 R2 - 0x7C100400, // 002C CALL R4 2 - 0x54120003, // 002D LDINT R4 4 - 0x08100404, // 002E MUL R4 R2 R4 - 0x0C10090C, // 002F DIV R4 R4 K12 - 0x8C14010D, // 0030 GETMET R5 R0 K13 - 0x5C1C0800, // 0031 MOVE R7 R4 - 0x7C140400, // 0032 CALL R5 2 - 0x8C14010E, // 0033 GETMET R5 R0 K14 - 0x8C1C030F, // 0034 GETMET R7 R1 K15 - 0x7C1C0200, // 0035 CALL R7 1 - 0x041C0E04, // 0036 SUB R7 R7 R4 - 0x041C0E03, // 0037 SUB R7 R7 R3 - 0x7C140400, // 0038 CALL R5 2 - 0x8C140310, // 0039 GETMET R5 R1 K16 - 0x001C0604, // 003A ADD R7 R3 R4 - 0x001C0F11, // 003B ADD R7 R7 K17 - 0xB8220400, // 003C GETNGBL R8 K2 - 0x88201105, // 003D GETMBR R8 R8 K5 - 0xB8260400, // 003E GETNGBL R9 K2 - 0x88241306, // 003F GETMBR R9 R9 K6 - 0x30201009, // 0040 OR R8 R8 R9 - 0x7C140600, // 0041 CALL R5 3 - 0x80000000, // 0042 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified class: lv_wifi_arcs_icon -********************************************************************/ -extern const bclass be_class_lv_wifi_arcs; -be_local_class(lv_wifi_arcs_icon, - 0, - &be_class_lv_wifi_arcs, - be_nested_map(1, - ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lv_wifi_arcs_icon_init_closure) }, - })), - be_str_weak(lv_wifi_arcs_icon) -); -/*******************************************************************/ - -void be_load_lv_wifi_arcs_icon_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_wifi_arcs_icon); - be_setglobal(vm, "lv_wifi_arcs_icon"); - be_pop(vm, 1); -} - -/******************************************************************** -** Solidified function: set_percentage -********************************************************************/ -be_local_closure(lv_signal_bars_set_percentage, /* 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_weak(percentage), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_str_weak(invalidate), - }), - be_str_weak(set_percentage), - &be_const_str_solidified, - ( &(const binstruction[18]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x540E0013, // 0001 LDINT R3 20 - 0x0C080403, // 0002 DIV R2 R2 R3 - 0x540E0063, // 0003 LDINT R3 100 - 0x240C0203, // 0004 GT R3 R1 R3 - 0x780E0000, // 0005 JMPF R3 #0007 - 0x54060063, // 0006 LDINT R1 100 - 0x140C0301, // 0007 LT R3 R1 K1 - 0x780E0000, // 0008 JMPF R3 #000A - 0x58040001, // 0009 LDCONST R1 K1 - 0x90020001, // 000A SETMBR R0 K0 R1 - 0x540E0013, // 000B LDINT R3 20 - 0x0C0C0203, // 000C DIV R3 R1 R3 - 0x200C0403, // 000D NE R3 R2 R3 - 0x780E0001, // 000E JMPF R3 #0011 - 0x8C0C0102, // 000F GETMET R3 R0 K2 - 0x7C0C0200, // 0010 CALL R3 1 - 0x80000000, // 0011 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(lv_signal_bars_init, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str_weak(_lvgl), - /* K1 */ be_nested_str_weak(create_custom_widget), - /* K2 */ be_nested_str_weak(percentage), - /* K3 */ be_nested_str_weak(p1), - /* K4 */ be_nested_str_weak(lv), - /* K5 */ be_nested_str_weak(point), - /* K6 */ be_nested_str_weak(p2), - /* K7 */ be_nested_str_weak(area), - /* K8 */ be_nested_str_weak(line_dsc), - /* K9 */ be_nested_str_weak(draw_line_dsc), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[24]) { /* code */ - 0xB80A0000, // 0000 GETNGBL R2 K0 - 0x8C080501, // 0001 GETMET R2 R2 K1 - 0x5C100000, // 0002 MOVE R4 R0 - 0x5C140200, // 0003 MOVE R5 R1 - 0x7C080600, // 0004 CALL R2 3 - 0x540A0063, // 0005 LDINT R2 100 - 0x90020402, // 0006 SETMBR R0 K2 R2 - 0xB80A0800, // 0007 GETNGBL R2 K4 - 0x8C080505, // 0008 GETMET R2 R2 K5 - 0x7C080200, // 0009 CALL R2 1 - 0x90020602, // 000A SETMBR R0 K3 R2 - 0xB80A0800, // 000B GETNGBL R2 K4 - 0x8C080505, // 000C GETMET R2 R2 K5 - 0x7C080200, // 000D CALL R2 1 - 0x90020C02, // 000E SETMBR R0 K6 R2 - 0xB80A0800, // 000F GETNGBL R2 K4 - 0x8C080507, // 0010 GETMET R2 R2 K7 - 0x7C080200, // 0011 CALL R2 1 - 0x90020E02, // 0012 SETMBR R0 K7 R2 - 0xB80A0800, // 0013 GETNGBL R2 K4 - 0x8C080509, // 0014 GETMET R2 R2 K9 - 0x7C080200, // 0015 CALL R2 1 - 0x90021002, // 0016 SETMBR R0 K8 R2 - 0x80000000, // 0017 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: widget_event -********************************************************************/ -be_local_closure(lv_signal_bars_widget_event, /* name */ - be_nested_proto( - 23, /* nstack */ - 3, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { - be_nested_proto( - 2, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_const_int(1), - }), - be_str_weak(atleast1), - &be_const_str_solidified, - ( &(const binstruction[ 6]) { /* code */ - 0x28040100, // 0000 GE R1 R0 K0 - 0x78060001, // 0001 JMPF R1 #0004 - 0x80040000, // 0002 RET 1 R0 - 0x70020000, // 0003 JMP #0005 - 0x80060000, // 0004 RET 1 K0 - 0x80000000, // 0005 RET 0 - }) - ), - }), - 1, /* has constants */ - ( &(const bvalue[38]) { /* constants */ - /* K0 */ be_nested_str_weak(lv), - /* K1 */ be_nested_str_weak(obj_event_base), - /* K2 */ be_nested_str_weak(RES_OK), - /* K3 */ be_nested_str_weak(code), - /* K4 */ be_nested_str_weak(get_height), - /* K5 */ be_nested_str_weak(get_width), - /* K6 */ be_const_int(3), - /* K7 */ be_const_int(2), - /* K8 */ be_nested_str_weak(EVENT_DRAW_MAIN), - /* K9 */ be_nested_str_weak(draw_ctx), - /* K10 */ be_nested_str_weak(param), - /* K11 */ be_nested_str_weak(get_coords), - /* K12 */ be_nested_str_weak(area), - /* K13 */ be_nested_str_weak(x1), - /* K14 */ be_nested_str_weak(y1), - /* K15 */ be_nested_str_weak(draw_line_dsc_init), - /* K16 */ be_nested_str_weak(line_dsc), - /* K17 */ be_nested_str_weak(init_draw_line_dsc), - /* K18 */ be_nested_str_weak(PART_MAIN), - /* K19 */ be_nested_str_weak(round_start), - /* K20 */ be_const_int(1), - /* K21 */ be_nested_str_weak(round_end), - /* K22 */ be_nested_str_weak(width), - /* K23 */ be_nested_str_weak(get_style_line_color), - /* K24 */ be_nested_str_weak(STATE_DEFAULT), - /* K25 */ be_nested_str_weak(get_style_bg_color), - /* K26 */ be_nested_str_weak(event_send), - /* K27 */ be_nested_str_weak(EVENT_DRAW_PART_BEGIN), - /* K28 */ be_const_int(0), - /* K29 */ be_nested_str_weak(color), - /* K30 */ be_nested_str_weak(percentage), - /* K31 */ be_nested_str_weak(p1), - /* K32 */ be_nested_str_weak(y), - /* K33 */ be_nested_str_weak(x), - /* K34 */ be_nested_str_weak(p2), - /* K35 */ be_nested_str_weak(draw_line), - /* K36 */ be_nested_str_weak(stop_iteration), - /* K37 */ be_nested_str_weak(EVENT_DRAW_PART_END), - }), - be_str_weak(widget_event), - &be_const_str_solidified, - ( &(const binstruction[138]) { /* code */ - 0xB80E0000, // 0000 GETNGBL R3 K0 - 0x8C0C0701, // 0001 GETMET R3 R3 K1 - 0x5C140200, // 0002 MOVE R5 R1 - 0x5C180400, // 0003 MOVE R6 R2 - 0x7C0C0600, // 0004 CALL R3 3 - 0xB8120000, // 0005 GETNGBL R4 K0 - 0x88100902, // 0006 GETMBR R4 R4 K2 - 0x200C0604, // 0007 NE R3 R3 R4 - 0x780E0000, // 0008 JMPF R3 #000A - 0x80000600, // 0009 RET 0 - 0x880C0503, // 000A GETMBR R3 R2 K3 - 0x84100000, // 000B CLOSURE R4 P0 - 0x8C140104, // 000C GETMET R5 R0 K4 - 0x7C140200, // 000D CALL R5 1 - 0x8C180105, // 000E GETMET R6 R0 K5 - 0x7C180200, // 000F CALL R6 1 - 0x5C1C0800, // 0010 MOVE R7 R4 - 0x5422000E, // 0011 LDINT R8 15 - 0x0C200C08, // 0012 DIV R8 R6 R8 - 0x7C1C0200, // 0013 CALL R7 1 - 0x5C200800, // 0014 MOVE R8 R4 - 0x08240F06, // 0015 MUL R9 R7 K6 - 0x04240C09, // 0016 SUB R9 R6 R9 - 0x542A0003, // 0017 LDINT R10 4 - 0x0C24120A, // 0018 DIV R9 R9 R10 - 0x7C200200, // 0019 CALL R8 1 - 0x0C241107, // 001A DIV R9 R8 K7 - 0xB82A0000, // 001B GETNGBL R10 K0 - 0x88281508, // 001C GETMBR R10 R10 K8 - 0x1C28060A, // 001D EQ R10 R3 R10 - 0x782A0069, // 001E JMPF R10 #0089 - 0xB82A0000, // 001F GETNGBL R10 K0 - 0x8C281509, // 0020 GETMET R10 R10 K9 - 0x8830050A, // 0021 GETMBR R12 R2 K10 - 0x7C280400, // 0022 CALL R10 2 - 0x8C2C010B, // 0023 GETMET R11 R0 K11 - 0x8834010C, // 0024 GETMBR R13 R0 K12 - 0x7C2C0400, // 0025 CALL R11 2 - 0x882C010C, // 0026 GETMBR R11 R0 K12 - 0x882C170D, // 0027 GETMBR R11 R11 K13 - 0x8830010C, // 0028 GETMBR R12 R0 K12 - 0x8830190E, // 0029 GETMBR R12 R12 K14 - 0xB8360000, // 002A GETNGBL R13 K0 - 0x8C341B0F, // 002B GETMET R13 R13 K15 - 0x883C0110, // 002C GETMBR R15 R0 K16 - 0x7C340400, // 002D CALL R13 2 - 0x8C340111, // 002E GETMET R13 R0 K17 - 0xB83E0000, // 002F GETNGBL R15 K0 - 0x883C1F12, // 0030 GETMBR R15 R15 K18 - 0x88400110, // 0031 GETMBR R16 R0 K16 - 0x7C340600, // 0032 CALL R13 3 - 0x88340110, // 0033 GETMBR R13 R0 K16 - 0x90362714, // 0034 SETMBR R13 K19 K20 - 0x88340110, // 0035 GETMBR R13 R0 K16 - 0x90362B14, // 0036 SETMBR R13 K21 K20 - 0x88340110, // 0037 GETMBR R13 R0 K16 - 0x90362C08, // 0038 SETMBR R13 K22 R8 - 0x8C340117, // 0039 GETMET R13 R0 K23 - 0xB83E0000, // 003A GETNGBL R15 K0 - 0x883C1F12, // 003B GETMBR R15 R15 K18 - 0xB8420000, // 003C GETNGBL R16 K0 - 0x88402118, // 003D GETMBR R16 R16 K24 - 0x303C1E10, // 003E OR R15 R15 R16 - 0x7C340400, // 003F CALL R13 2 - 0x8C380119, // 0040 GETMET R14 R0 K25 - 0xB8420000, // 0041 GETNGBL R16 K0 - 0x88402112, // 0042 GETMBR R16 R16 K18 - 0xB8460000, // 0043 GETNGBL R17 K0 - 0x88442318, // 0044 GETMBR R17 R17 K24 - 0x30402011, // 0045 OR R16 R16 R17 - 0x7C380400, // 0046 CALL R14 2 - 0xB83E0000, // 0047 GETNGBL R15 K0 - 0x8C3C1F1A, // 0048 GETMET R15 R15 K26 - 0x5C440000, // 0049 MOVE R17 R0 - 0xB84A0000, // 004A GETNGBL R18 K0 - 0x8848251B, // 004B GETMBR R18 R18 K27 - 0x884C0110, // 004C GETMBR R19 R0 K16 - 0x7C3C0800, // 004D CALL R15 4 - 0x603C0010, // 004E GETGBL R15 G16 - 0x40423906, // 004F CONNECT R16 K28 K6 - 0x7C3C0200, // 0050 CALL R15 1 - 0xA802002C, // 0051 EXBLK 0 #007F - 0x5C401E00, // 0052 MOVE R16 R15 - 0x7C400000, // 0053 CALL R16 0 - 0x88440110, // 0054 GETMBR R17 R0 K16 - 0x8848011E, // 0055 GETMBR R18 R0 K30 - 0x004C2114, // 0056 ADD R19 R16 K20 - 0x54520013, // 0057 LDINT R20 20 - 0x084C2614, // 0058 MUL R19 R19 R20 - 0x28482413, // 0059 GE R18 R18 R19 - 0x784A0001, // 005A JMPF R18 #005D - 0x5C481A00, // 005B MOVE R18 R13 - 0x70020000, // 005C JMP #005E - 0x5C481C00, // 005D MOVE R18 R14 - 0x90463A12, // 005E SETMBR R17 K29 R18 - 0x8844011F, // 005F GETMBR R17 R0 K31 - 0x00481805, // 0060 ADD R18 R12 R5 - 0x04482514, // 0061 SUB R18 R18 K20 - 0x04482409, // 0062 SUB R18 R18 R9 - 0x90464012, // 0063 SETMBR R17 K32 R18 - 0x8844011F, // 0064 GETMBR R17 R0 K31 - 0x00481007, // 0065 ADD R18 R8 R7 - 0x08482012, // 0066 MUL R18 R16 R18 - 0x00481612, // 0067 ADD R18 R11 R18 - 0x00482409, // 0068 ADD R18 R18 R9 - 0x90464212, // 0069 SETMBR R17 K33 R18 - 0x88440122, // 006A GETMBR R17 R0 K34 - 0x044A0C10, // 006B SUB R18 K6 R16 - 0x044C0A08, // 006C SUB R19 R5 R8 - 0x08482413, // 006D MUL R18 R18 R19 - 0x544E0003, // 006E LDINT R19 4 - 0x0C482413, // 006F DIV R18 R18 R19 - 0x00481812, // 0070 ADD R18 R12 R18 - 0x00482409, // 0071 ADD R18 R18 R9 - 0x90464012, // 0072 SETMBR R17 K32 R18 - 0x88440122, // 0073 GETMBR R17 R0 K34 - 0x8848011F, // 0074 GETMBR R18 R0 K31 - 0x88482521, // 0075 GETMBR R18 R18 K33 - 0x90464212, // 0076 SETMBR R17 K33 R18 - 0xB8460000, // 0077 GETNGBL R17 K0 - 0x8C442323, // 0078 GETMET R17 R17 K35 - 0x5C4C1400, // 0079 MOVE R19 R10 - 0x88500110, // 007A GETMBR R20 R0 K16 - 0x8854011F, // 007B GETMBR R21 R0 K31 - 0x88580122, // 007C GETMBR R22 R0 K34 - 0x7C440A00, // 007D CALL R17 5 - 0x7001FFD2, // 007E JMP #0052 - 0x583C0024, // 007F LDCONST R15 K36 - 0xAC3C0200, // 0080 CATCH R15 1 0 - 0xB0080000, // 0081 RAISE 2 R0 R0 - 0xB83E0000, // 0082 GETNGBL R15 K0 - 0x8C3C1F1A, // 0083 GETMET R15 R15 K26 - 0x5C440000, // 0084 MOVE R17 R0 - 0xB84A0000, // 0085 GETNGBL R18 K0 - 0x88482525, // 0086 GETMBR R18 R18 K37 - 0x884C0110, // 0087 GETMBR R19 R0 K16 - 0x7C3C0800, // 0088 CALL R15 4 - 0x80000000, // 0089 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: get_percentage -********************************************************************/ -be_local_closure(lv_signal_bars_get_percentage, /* name */ - be_nested_proto( - 2, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_weak(percentage), - }), - be_str_weak(get_percentage), - &be_const_str_solidified, - ( &(const binstruction[ 2]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x80040200, // 0001 RET 1 R1 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified class: lv_signal_bars -********************************************************************/ -extern const bclass be_class_lv_obj; -be_local_class(lv_signal_bars, - 5, - &be_class_lv_obj, - be_nested_map(9, - ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(percentage, 4), be_const_var(0) }, - { be_const_key_weak(p1, 5), be_const_var(1) }, - { be_const_key_weak(p2, -1), be_const_var(2) }, - { be_const_key_weak(get_percentage, -1), be_const_closure(lv_signal_bars_get_percentage_closure) }, - { be_const_key_weak(line_dsc, -1), be_const_var(4) }, - { be_const_key_weak(area, -1), be_const_var(3) }, - { be_const_key_weak(init, -1), be_const_closure(lv_signal_bars_init_closure) }, - { be_const_key_weak(widget_event, -1), be_const_closure(lv_signal_bars_widget_event_closure) }, - { be_const_key_weak(set_percentage, 3), be_const_closure(lv_signal_bars_set_percentage_closure) }, - })), - be_str_weak(lv_signal_bars) -); -/*******************************************************************/ - -void be_load_lv_signal_bars_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_signal_bars); - be_setglobal(vm, "lv_signal_bars"); - be_pop(vm, 1); -} - -/******************************************************************** -** Solidified function: before_del -********************************************************************/ -be_local_closure(lv_wifi_bars_before_del, /* name */ - be_nested_proto( - 4, /* nstack */ - 1, /* 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_weak(tasmota), - /* K1 */ be_nested_str_weak(remove_driver), - }), - be_str_weak(before_del), - &be_const_str_solidified, - ( &(const binstruction[ 5]) { /* code */ - 0xB8060000, // 0000 GETNGBL R1 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0x5C0C0000, // 0002 MOVE R3 R0 - 0x7C040400, // 0003 CALL R1 2 - 0x80000000, // 0004 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(lv_wifi_bars_init, /* 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[ 5]) { /* constants */ - /* K0 */ be_nested_str_weak(init), - /* K1 */ be_nested_str_weak(tasmota), - /* K2 */ be_nested_str_weak(add_driver), - /* K3 */ be_nested_str_weak(set_percentage), - /* K4 */ be_const_int(0), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[14]) { /* code */ - 0x60080003, // 0000 GETGBL R2 G3 - 0x5C0C0000, // 0001 MOVE R3 R0 - 0x7C080200, // 0002 CALL R2 1 - 0x8C080500, // 0003 GETMET R2 R2 K0 - 0x5C100200, // 0004 MOVE R4 R1 - 0x7C080400, // 0005 CALL R2 2 - 0xB80A0200, // 0006 GETNGBL R2 K1 - 0x8C080502, // 0007 GETMET R2 R2 K2 - 0x5C100000, // 0008 MOVE R4 R0 - 0x7C080400, // 0009 CALL R2 2 - 0x8C080103, // 000A GETMET R2 R0 K3 - 0x58100004, // 000B LDCONST R4 K4 - 0x7C080400, // 000C CALL R2 2 - 0x80000000, // 000D RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: every_second -********************************************************************/ -be_local_closure(lv_wifi_bars_every_second, /* name */ - be_nested_proto( - 7, /* nstack */ - 1, /* 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_weak(tasmota), - /* K1 */ be_nested_str_weak(wifi), - /* K2 */ be_nested_str_weak(find), - /* K3 */ be_nested_str_weak(quality), - /* K4 */ be_nested_str_weak(ip), - /* K5 */ be_nested_str_weak(set_percentage), - /* K6 */ be_const_int(0), - }), - be_str_weak(every_second), - &be_const_str_solidified, - ( &(const binstruction[23]) { /* code */ - 0xB8060000, // 0000 GETNGBL R1 K0 - 0x8C040301, // 0001 GETMET R1 R1 K1 - 0x7C040200, // 0002 CALL R1 1 - 0x8C080302, // 0003 GETMET R2 R1 K2 - 0x58100003, // 0004 LDCONST R4 K3 - 0x7C080400, // 0005 CALL R2 2 - 0x8C0C0302, // 0006 GETMET R3 R1 K2 - 0x58140004, // 0007 LDCONST R5 K4 - 0x7C0C0400, // 0008 CALL R3 2 - 0x4C100000, // 0009 LDNIL R4 - 0x1C100604, // 000A EQ R4 R3 R4 - 0x78120003, // 000B JMPF R4 #0010 - 0x8C100105, // 000C GETMET R4 R0 K5 - 0x58180006, // 000D LDCONST R6 K6 - 0x7C100400, // 000E CALL R4 2 - 0x70020005, // 000F JMP #0016 - 0x4C100000, // 0010 LDNIL R4 - 0x20100404, // 0011 NE R4 R2 R4 - 0x78120002, // 0012 JMPF R4 #0016 - 0x8C100105, // 0013 GETMET R4 R0 K5 - 0x5C180400, // 0014 MOVE R6 R2 - 0x7C100400, // 0015 CALL R4 2 - 0x80000000, // 0016 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified class: lv_wifi_bars -********************************************************************/ -extern const bclass be_class_lv_signal_bars; -be_local_class(lv_wifi_bars, - 0, - &be_class_lv_signal_bars, - be_nested_map(3, - ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(before_del, 1), be_const_closure(lv_wifi_bars_before_del_closure) }, - { be_const_key_weak(every_second, 2), be_const_closure(lv_wifi_bars_every_second_closure) }, - { be_const_key_weak(init, -1), be_const_closure(lv_wifi_bars_init_closure) }, - })), - be_str_weak(lv_wifi_bars) -); -/*******************************************************************/ - -void be_load_lv_wifi_bars_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_wifi_bars); - be_setglobal(vm, "lv_wifi_bars"); - be_pop(vm, 1); -} - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(lv_wifi_bars_icon_init, /* name */ - be_nested_proto( - 9, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[17]) { /* constants */ - /* K0 */ be_nested_str_weak(init), - /* K1 */ be_nested_str_weak(set_style_line_color), - /* K2 */ be_nested_str_weak(lv), - /* K3 */ be_nested_str_weak(color), - /* K4 */ be_nested_str_weak(COLOR_WHITE), - /* K5 */ be_nested_str_weak(PART_MAIN), - /* K6 */ be_nested_str_weak(STATE_DEFAULT), - /* K7 */ be_nested_str_weak(set_style_bg_color), - /* K8 */ be_nested_str_weak(COLOR_BLACK), - /* K9 */ be_nested_str_weak(get_height), - /* K10 */ be_nested_str_weak(get_style_pad_right), - /* K11 */ be_nested_str_weak(set_height), - /* K12 */ be_nested_str_weak(set_width), - /* K13 */ be_nested_str_weak(set_x), - /* K14 */ be_nested_str_weak(get_width), - /* K15 */ be_nested_str_weak(set_style_pad_right), - /* K16 */ be_const_int(1), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[64]) { /* code */ - 0x60080003, // 0000 GETGBL R2 G3 - 0x5C0C0000, // 0001 MOVE R3 R0 - 0x7C080200, // 0002 CALL R2 1 - 0x8C080500, // 0003 GETMET R2 R2 K0 - 0x5C100200, // 0004 MOVE R4 R1 - 0x7C080400, // 0005 CALL R2 2 - 0x8C080101, // 0006 GETMET R2 R0 K1 - 0xB8120400, // 0007 GETNGBL R4 K2 - 0x8C100903, // 0008 GETMET R4 R4 K3 - 0xB81A0400, // 0009 GETNGBL R6 K2 - 0x88180D04, // 000A GETMBR R6 R6 K4 - 0x7C100400, // 000B CALL R4 2 - 0xB8160400, // 000C GETNGBL R5 K2 - 0x88140B05, // 000D GETMBR R5 R5 K5 - 0xB81A0400, // 000E GETNGBL R6 K2 - 0x88180D06, // 000F GETMBR R6 R6 K6 - 0x30140A06, // 0010 OR R5 R5 R6 - 0x7C080600, // 0011 CALL R2 3 - 0x8C080107, // 0012 GETMET R2 R0 K7 - 0xB8120400, // 0013 GETNGBL R4 K2 - 0x8C100903, // 0014 GETMET R4 R4 K3 - 0xB81A0400, // 0015 GETNGBL R6 K2 - 0x88180D08, // 0016 GETMBR R6 R6 K8 - 0x7C100400, // 0017 CALL R4 2 - 0xB8160400, // 0018 GETNGBL R5 K2 - 0x88140B05, // 0019 GETMBR R5 R5 K5 - 0xB81A0400, // 001A GETNGBL R6 K2 - 0x88180D06, // 001B GETMBR R6 R6 K6 - 0x30140A06, // 001C OR R5 R5 R6 - 0x7C080600, // 001D CALL R2 3 - 0x4C080000, // 001E LDNIL R2 - 0x20080202, // 001F NE R2 R1 R2 - 0x780A001D, // 0020 JMPF R2 #003F - 0x8C080309, // 0021 GETMET R2 R1 K9 - 0x7C080200, // 0022 CALL R2 1 - 0x8C0C030A, // 0023 GETMET R3 R1 K10 - 0xB8160400, // 0024 GETNGBL R5 K2 - 0x88140B05, // 0025 GETMBR R5 R5 K5 - 0xB81A0400, // 0026 GETNGBL R6 K2 - 0x88180D06, // 0027 GETMBR R6 R6 K6 - 0x30140A06, // 0028 OR R5 R5 R6 - 0x7C0C0400, // 0029 CALL R3 2 - 0x8C10010B, // 002A GETMET R4 R0 K11 - 0x5C180400, // 002B MOVE R6 R2 - 0x7C100400, // 002C CALL R4 2 - 0x8C10010C, // 002D GETMET R4 R0 K12 - 0x5C180400, // 002E MOVE R6 R2 - 0x7C100400, // 002F CALL R4 2 - 0x8C10010D, // 0030 GETMET R4 R0 K13 - 0x8C18030E, // 0031 GETMET R6 R1 K14 - 0x7C180200, // 0032 CALL R6 1 - 0x04180C02, // 0033 SUB R6 R6 R2 - 0x04180C03, // 0034 SUB R6 R6 R3 - 0x7C100400, // 0035 CALL R4 2 - 0x8C10030F, // 0036 GETMET R4 R1 K15 - 0x00180602, // 0037 ADD R6 R3 R2 - 0x00180D10, // 0038 ADD R6 R6 K16 - 0xB81E0400, // 0039 GETNGBL R7 K2 - 0x881C0F05, // 003A GETMBR R7 R7 K5 - 0xB8220400, // 003B GETNGBL R8 K2 - 0x88201106, // 003C GETMBR R8 R8 K6 - 0x301C0E08, // 003D OR R7 R7 R8 - 0x7C100600, // 003E CALL R4 3 - 0x80000000, // 003F RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified class: lv_wifi_bars_icon -********************************************************************/ -extern const bclass be_class_lv_wifi_bars; -be_local_class(lv_wifi_bars_icon, - 0, - &be_class_lv_wifi_bars, - be_nested_map(1, - ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lv_wifi_bars_icon_init_closure) }, - })), - be_str_weak(lv_wifi_bars_icon) -); -/*******************************************************************/ - -void be_load_lv_wifi_bars_icon_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_wifi_bars_icon); - be_setglobal(vm, "lv_wifi_bars_icon"); - be_pop(vm, 1); -} - -#endif // USE_LVGL \ No newline at end of file +#endif // USE_LVGL diff --git a/lib/libesp32/berry_tasmota/src/be_tasmota_lib.c b/lib/libesp32/berry_tasmota/src/be_tasmota_lib.c index 8542bde76..c958552d0 100644 --- a/lib/libesp32/berry_tasmota/src/be_tasmota_lib.c +++ b/lib/libesp32/berry_tasmota/src/be_tasmota_lib.c @@ -56,2483 +56,7 @@ extern int l_getswitch(bvm *vm); extern int l_i2cenabled(bvm *vm); extern int tasm_find_op(bvm *vm); -/******************************************************************** -** Solidified function: add_driver -********************************************************************/ -be_local_closure(Tasmota_add_driver, /* 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[ 5]) { /* constants */ - /* K0 */ be_nested_str(instance), - /* K1 */ be_nested_str(value_error), - /* K2 */ be_nested_str(instance_X20required), - /* K3 */ be_nested_str(_drivers), - /* K4 */ be_nested_str(push), - }), - &be_const_str_add_driver, - &be_const_str_solidified, - ( &(const binstruction[18]) { /* code */ - 0x60080004, // 0000 GETGBL R2 G4 - 0x5C0C0200, // 0001 MOVE R3 R1 - 0x7C080200, // 0002 CALL R2 1 - 0x20080500, // 0003 NE R2 R2 K0 - 0x780A0000, // 0004 JMPF R2 #0006 - 0xB0060302, // 0005 RAISE 1 K1 K2 - 0x88080103, // 0006 GETMBR R2 R0 K3 - 0x780A0004, // 0007 JMPF R2 #000D - 0x88080103, // 0008 GETMBR R2 R0 K3 - 0x8C080504, // 0009 GETMET R2 R2 K4 - 0x5C100200, // 000A MOVE R4 R1 - 0x7C080400, // 000B CALL R2 2 - 0x70020003, // 000C JMP #0011 - 0x60080012, // 000D GETGBL R2 G18 - 0x7C080000, // 000E CALL R2 0 - 0x400C0401, // 000F CONNECT R3 R2 R1 - 0x90020602, // 0010 SETMBR R0 K3 R2 - 0x80000000, // 0011 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: gc -********************************************************************/ -be_local_closure(Tasmota_gc, /* name */ - be_nested_proto( - 4, /* nstack */ - 1, /* 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(gc), - /* K1 */ be_nested_str(collect), - /* K2 */ be_nested_str(allocated), - }), - &be_const_str_gc, - &be_const_str_solidified, - ( &(const binstruction[ 6]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x8C080301, // 0001 GETMET R2 R1 K1 - 0x7C080200, // 0002 CALL R2 1 - 0x8C080302, // 0003 GETMET R2 R1 K2 - 0x7C080200, // 0004 CALL R2 1 - 0x80040400, // 0005 RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: find_op -********************************************************************/ -be_local_closure(Tasmota_find_op, /* name */ - be_nested_proto( - 13, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_str(string), - /* K1 */ be_nested_str(_X3D_X3C_X3E_X21), - /* K2 */ be_nested_str(_find_op), - /* K3 */ be_const_int(0), - /* K4 */ be_nested_str(split), - /* K5 */ be_const_int(1), - }), - &be_const_str_find_op, - &be_const_str_solidified, - ( &(const binstruction[41]) { /* code */ - 0xA40A0000, // 0000 IMPORT R2 K0 - 0x580C0001, // 0001 LDCONST R3 K1 - 0x8C100102, // 0002 GETMET R4 R0 K2 - 0x5C180200, // 0003 MOVE R6 R1 - 0x501C0000, // 0004 LDBOOL R7 0 0 - 0x7C100600, // 0005 CALL R4 3 - 0x28140903, // 0006 GE R5 R4 K3 - 0x78160018, // 0007 JMPF R5 #0021 - 0x8C140504, // 0008 GETMET R5 R2 K4 - 0x5C1C0200, // 0009 MOVE R7 R1 - 0x5C200800, // 000A MOVE R8 R4 - 0x7C140600, // 000B CALL R5 3 - 0x94180B03, // 000C GETIDX R6 R5 K3 - 0x941C0B05, // 000D GETIDX R7 R5 K5 - 0x8C200102, // 000E GETMET R8 R0 K2 - 0x5C280E00, // 000F MOVE R10 R7 - 0x502C0200, // 0010 LDBOOL R11 1 0 - 0x7C200600, // 0011 CALL R8 3 - 0x5C101000, // 0012 MOVE R4 R8 - 0x28200903, // 0013 GE R8 R4 K3 - 0x7822000B, // 0014 JMPF R8 #0021 - 0x8C200504, // 0015 GETMET R8 R2 K4 - 0x5C280E00, // 0016 MOVE R10 R7 - 0x5C2C0800, // 0017 MOVE R11 R4 - 0x7C200600, // 0018 CALL R8 3 - 0x94241103, // 0019 GETIDX R9 R8 K3 - 0x94281105, // 001A GETIDX R10 R8 K5 - 0x602C0012, // 001B GETGBL R11 G18 - 0x7C2C0000, // 001C CALL R11 0 - 0x40301606, // 001D CONNECT R12 R11 R6 - 0x40301609, // 001E CONNECT R12 R11 R9 - 0x4030160A, // 001F CONNECT R12 R11 R10 - 0x80041600, // 0020 RET 1 R11 - 0x60140012, // 0021 GETGBL R5 G18 - 0x7C140000, // 0022 CALL R5 0 - 0x40180A01, // 0023 CONNECT R6 R5 R1 - 0x4C180000, // 0024 LDNIL R6 - 0x40180A06, // 0025 CONNECT R6 R5 R6 - 0x4C180000, // 0026 LDNIL R6 - 0x40180A06, // 0027 CONNECT R6 R5 R6 - 0x80040A00, // 0028 RET 1 R5 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: try_rule -********************************************************************/ -be_local_closure(Tasmota_try_rule, /* name */ - be_nested_proto( - 15, /* nstack */ - 4, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[16]) { /* constants */ - /* K0 */ be_nested_str(string), - /* K1 */ be_nested_str(find_op), - /* K2 */ be_nested_str(split), - /* K3 */ be_const_int(0), - /* K4 */ be_nested_str(_X23), - /* K5 */ be_nested_str(find_key_i), - /* K6 */ be_const_int(1), - /* K7 */ be_const_int(2), - /* K8 */ be_nested_str(_X3D_X3D), - /* K9 */ be_nested_str(_X21_X3D_X3D), - /* K10 */ be_nested_str(_X3D), - /* K11 */ be_nested_str(_X21_X3D), - /* K12 */ be_nested_str(_X3E), - /* K13 */ be_nested_str(_X3E_X3D), - /* K14 */ be_nested_str(_X3C), - /* K15 */ be_nested_str(_X3C_X3D), - }), - &be_const_str_try_rule, - &be_const_str_solidified, - ( &(const binstruction[141]) { /* code */ - 0xA4120000, // 0000 IMPORT R4 K0 - 0x8C140101, // 0001 GETMET R5 R0 K1 - 0x5C1C0400, // 0002 MOVE R7 R2 - 0x7C140400, // 0003 CALL R5 2 - 0x5C180200, // 0004 MOVE R6 R1 - 0x8C1C0902, // 0005 GETMET R7 R4 K2 - 0x94240B03, // 0006 GETIDX R9 R5 K3 - 0x58280004, // 0007 LDCONST R10 K4 - 0x7C1C0600, // 0008 CALL R7 3 - 0x58200003, // 0009 LDCONST R8 K3 - 0x6024000C, // 000A GETGBL R9 G12 - 0x5C280E00, // 000B MOVE R10 R7 - 0x7C240200, // 000C CALL R9 1 - 0x14241009, // 000D LT R9 R8 R9 - 0x7826000C, // 000E JMPF R9 #001C - 0x94240E08, // 000F GETIDX R9 R7 R8 - 0x8C280105, // 0010 GETMET R10 R0 K5 - 0x5C300C00, // 0011 MOVE R12 R6 - 0x5C341200, // 0012 MOVE R13 R9 - 0x7C280600, // 0013 CALL R10 3 - 0x4C2C0000, // 0014 LDNIL R11 - 0x1C2C140B, // 0015 EQ R11 R10 R11 - 0x782E0001, // 0016 JMPF R11 #0019 - 0x502C0000, // 0017 LDBOOL R11 0 0 - 0x80041600, // 0018 RET 1 R11 - 0x94180C0A, // 0019 GETIDX R6 R6 R10 - 0x00201106, // 001A ADD R8 R8 K6 - 0x7001FFED, // 001B JMP #000A - 0x94240B06, // 001C GETIDX R9 R5 K6 - 0x94280B07, // 001D GETIDX R10 R5 K7 - 0x78260066, // 001E JMPF R9 #0086 - 0x1C2C1308, // 001F EQ R11 R9 K8 - 0x782E000A, // 0020 JMPF R11 #002C - 0x602C0008, // 0021 GETGBL R11 G8 - 0x5C300C00, // 0022 MOVE R12 R6 - 0x7C2C0200, // 0023 CALL R11 1 - 0x60300008, // 0024 GETGBL R12 G8 - 0x5C341400, // 0025 MOVE R13 R10 - 0x7C300200, // 0026 CALL R12 1 - 0x202C160C, // 0027 NE R11 R11 R12 - 0x782E0001, // 0028 JMPF R11 #002B - 0x502C0000, // 0029 LDBOOL R11 0 0 - 0x80041600, // 002A RET 1 R11 - 0x70020059, // 002B JMP #0086 - 0x1C2C1309, // 002C EQ R11 R9 K9 - 0x782E000A, // 002D JMPF R11 #0039 - 0x602C0008, // 002E GETGBL R11 G8 - 0x5C300C00, // 002F MOVE R12 R6 - 0x7C2C0200, // 0030 CALL R11 1 - 0x60300008, // 0031 GETGBL R12 G8 - 0x5C341400, // 0032 MOVE R13 R10 - 0x7C300200, // 0033 CALL R12 1 - 0x1C2C160C, // 0034 EQ R11 R11 R12 - 0x782E0001, // 0035 JMPF R11 #0038 - 0x502C0000, // 0036 LDBOOL R11 0 0 - 0x80041600, // 0037 RET 1 R11 - 0x7002004C, // 0038 JMP #0086 - 0x1C2C130A, // 0039 EQ R11 R9 K10 - 0x782E000A, // 003A JMPF R11 #0046 - 0x602C000A, // 003B GETGBL R11 G10 - 0x5C300C00, // 003C MOVE R12 R6 - 0x7C2C0200, // 003D CALL R11 1 - 0x6030000A, // 003E GETGBL R12 G10 - 0x5C341400, // 003F MOVE R13 R10 - 0x7C300200, // 0040 CALL R12 1 - 0x202C160C, // 0041 NE R11 R11 R12 - 0x782E0001, // 0042 JMPF R11 #0045 - 0x502C0000, // 0043 LDBOOL R11 0 0 - 0x80041600, // 0044 RET 1 R11 - 0x7002003F, // 0045 JMP #0086 - 0x1C2C130B, // 0046 EQ R11 R9 K11 - 0x782E000A, // 0047 JMPF R11 #0053 - 0x602C000A, // 0048 GETGBL R11 G10 - 0x5C300C00, // 0049 MOVE R12 R6 - 0x7C2C0200, // 004A CALL R11 1 - 0x6030000A, // 004B GETGBL R12 G10 - 0x5C341400, // 004C MOVE R13 R10 - 0x7C300200, // 004D CALL R12 1 - 0x1C2C160C, // 004E EQ R11 R11 R12 - 0x782E0001, // 004F JMPF R11 #0052 - 0x502C0000, // 0050 LDBOOL R11 0 0 - 0x80041600, // 0051 RET 1 R11 - 0x70020032, // 0052 JMP #0086 - 0x1C2C130C, // 0053 EQ R11 R9 K12 - 0x782E000A, // 0054 JMPF R11 #0060 - 0x602C000A, // 0055 GETGBL R11 G10 - 0x5C300C00, // 0056 MOVE R12 R6 - 0x7C2C0200, // 0057 CALL R11 1 - 0x6030000A, // 0058 GETGBL R12 G10 - 0x5C341400, // 0059 MOVE R13 R10 - 0x7C300200, // 005A CALL R12 1 - 0x182C160C, // 005B LE R11 R11 R12 - 0x782E0001, // 005C JMPF R11 #005F - 0x502C0000, // 005D LDBOOL R11 0 0 - 0x80041600, // 005E RET 1 R11 - 0x70020025, // 005F JMP #0086 - 0x1C2C130D, // 0060 EQ R11 R9 K13 - 0x782E000A, // 0061 JMPF R11 #006D - 0x602C000A, // 0062 GETGBL R11 G10 - 0x5C300C00, // 0063 MOVE R12 R6 - 0x7C2C0200, // 0064 CALL R11 1 - 0x6030000A, // 0065 GETGBL R12 G10 - 0x5C341400, // 0066 MOVE R13 R10 - 0x7C300200, // 0067 CALL R12 1 - 0x142C160C, // 0068 LT R11 R11 R12 - 0x782E0001, // 0069 JMPF R11 #006C - 0x502C0000, // 006A LDBOOL R11 0 0 - 0x80041600, // 006B RET 1 R11 - 0x70020018, // 006C JMP #0086 - 0x1C2C130E, // 006D EQ R11 R9 K14 - 0x782E000A, // 006E JMPF R11 #007A - 0x602C000A, // 006F GETGBL R11 G10 - 0x5C300C00, // 0070 MOVE R12 R6 - 0x7C2C0200, // 0071 CALL R11 1 - 0x6030000A, // 0072 GETGBL R12 G10 - 0x5C341400, // 0073 MOVE R13 R10 - 0x7C300200, // 0074 CALL R12 1 - 0x282C160C, // 0075 GE R11 R11 R12 - 0x782E0001, // 0076 JMPF R11 #0079 - 0x502C0000, // 0077 LDBOOL R11 0 0 - 0x80041600, // 0078 RET 1 R11 - 0x7002000B, // 0079 JMP #0086 - 0x1C2C130F, // 007A EQ R11 R9 K15 - 0x782E0009, // 007B JMPF R11 #0086 - 0x602C000A, // 007C GETGBL R11 G10 - 0x5C300C00, // 007D MOVE R12 R6 - 0x7C2C0200, // 007E CALL R11 1 - 0x6030000A, // 007F GETGBL R12 G10 - 0x5C341400, // 0080 MOVE R13 R10 - 0x7C300200, // 0081 CALL R12 1 - 0x242C160C, // 0082 GT R11 R11 R12 - 0x782E0001, // 0083 JMPF R11 #0086 - 0x502C0000, // 0084 LDBOOL R11 0 0 - 0x80041600, // 0085 RET 1 R11 - 0x5C2C0600, // 0086 MOVE R11 R3 - 0x5C300C00, // 0087 MOVE R12 R6 - 0x94340B03, // 0088 GETIDX R13 R5 K3 - 0x5C380200, // 0089 MOVE R14 R1 - 0x7C2C0600, // 008A CALL R11 3 - 0x502C0200, // 008B LDBOOL R11 1 0 - 0x80041600, // 008C RET 1 R11 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: gen_cb -********************************************************************/ -be_local_closure(Tasmota_gen_cb, /* name */ - be_nested_proto( - 6, /* 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), - /* K1 */ be_nested_str(gen_cb), - }), - &be_const_str_gen_cb, - &be_const_str_solidified, - ( &(const binstruction[ 5]) { /* code */ - 0xA40A0000, // 0000 IMPORT R2 K0 - 0x8C0C0501, // 0001 GETMET R3 R2 K1 - 0x5C140200, // 0002 MOVE R5 R1 - 0x7C0C0400, // 0003 CALL R3 2 - 0x80040600, // 0004 RET 1 R3 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: set_light -********************************************************************/ -be_local_closure(Tasmota_set_light, /* name */ - be_nested_proto( - 8, /* nstack */ - 3, /* 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(tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29), - /* K1 */ be_nested_str(light), - /* K2 */ be_nested_str(set), - }), - &be_const_str_set_light, - &be_const_str_solidified, - ( &(const binstruction[18]) { /* code */ - 0x600C0001, // 0000 GETGBL R3 G1 - 0x58100000, // 0001 LDCONST R4 K0 - 0x7C0C0200, // 0002 CALL R3 1 - 0xA40E0200, // 0003 IMPORT R3 K1 - 0x4C100000, // 0004 LDNIL R4 - 0x20100404, // 0005 NE R4 R2 R4 - 0x78120005, // 0006 JMPF R4 #000D - 0x8C100702, // 0007 GETMET R4 R3 K2 - 0x5C180200, // 0008 MOVE R6 R1 - 0x5C1C0400, // 0009 MOVE R7 R2 - 0x7C100600, // 000A CALL R4 3 - 0x80040800, // 000B RET 1 R4 - 0x70020003, // 000C JMP #0011 - 0x8C100702, // 000D GETMET R4 R3 K2 - 0x5C180200, // 000E MOVE R6 R1 - 0x7C100400, // 000F CALL R4 2 - 0x80040800, // 0010 RET 1 R4 - 0x80000000, // 0011 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: exec_tele -********************************************************************/ -be_local_closure(Tasmota_exec_tele, /* name */ - be_nested_proto( - 12, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[12]) { /* constants */ - /* K0 */ be_nested_str(_rules), - /* K1 */ be_nested_str(json), - /* K2 */ be_nested_str(load), - /* K3 */ be_nested_str(log), - /* K4 */ be_nested_str(BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20), - /* K5 */ be_const_int(3), - /* K6 */ be_nested_str(Tele), - /* K7 */ be_const_int(0), - /* K8 */ be_nested_str(try_rule), - /* K9 */ be_nested_str(trig), - /* K10 */ be_nested_str(f), - /* K11 */ be_const_int(1), - }), - &be_const_str_exec_tele, - &be_const_str_solidified, - ( &(const binstruction[41]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x780A0024, // 0001 JMPF R2 #0027 - 0xA40A0200, // 0002 IMPORT R2 K1 - 0x8C0C0502, // 0003 GETMET R3 R2 K2 - 0x5C140200, // 0004 MOVE R5 R1 - 0x7C0C0400, // 0005 CALL R3 2 - 0x50100000, // 0006 LDBOOL R4 0 0 - 0x4C140000, // 0007 LDNIL R5 - 0x1C140605, // 0008 EQ R5 R3 R5 - 0x78160004, // 0009 JMPF R5 #000F - 0x8C140103, // 000A GETMET R5 R0 K3 - 0x001E0801, // 000B ADD R7 K4 R1 - 0x58200005, // 000C LDCONST R8 K5 - 0x7C140600, // 000D CALL R5 3 - 0x5C0C0200, // 000E MOVE R3 R1 - 0x60140013, // 000F GETGBL R5 G19 - 0x7C140000, // 0010 CALL R5 0 - 0x98160C03, // 0011 SETIDX R5 K6 R3 - 0x5C0C0A00, // 0012 MOVE R3 R5 - 0x58140007, // 0013 LDCONST R5 K7 - 0x6018000C, // 0014 GETGBL R6 G12 - 0x881C0100, // 0015 GETMBR R7 R0 K0 - 0x7C180200, // 0016 CALL R6 1 - 0x14180A06, // 0017 LT R6 R5 R6 - 0x781A000C, // 0018 JMPF R6 #0026 - 0x88180100, // 0019 GETMBR R6 R0 K0 - 0x94180C05, // 001A GETIDX R6 R6 R5 - 0x8C1C0108, // 001B GETMET R7 R0 K8 - 0x5C240600, // 001C MOVE R9 R3 - 0x88280D09, // 001D GETMBR R10 R6 K9 - 0x882C0D0A, // 001E GETMBR R11 R6 K10 - 0x7C1C0800, // 001F CALL R7 4 - 0x741E0001, // 0020 JMPT R7 #0023 - 0x74120000, // 0021 JMPT R4 #0023 - 0x50100001, // 0022 LDBOOL R4 0 1 - 0x50100200, // 0023 LDBOOL R4 1 0 - 0x00140B0B, // 0024 ADD R5 R5 K11 - 0x7001FFED, // 0025 JMP #0014 - 0x80040800, // 0026 RET 1 R4 - 0x50080000, // 0027 LDBOOL R2 0 0 - 0x80040400, // 0028 RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: run_deferred -********************************************************************/ -be_local_closure(Tasmota_run_deferred, /* name */ - be_nested_proto( - 7, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 8]) { /* constants */ - /* K0 */ be_nested_str(_timers), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_str(size), - /* K3 */ be_nested_str(time_reached), - /* K4 */ be_nested_str(trig), - /* K5 */ be_nested_str(f), - /* K6 */ be_nested_str(remove), - /* K7 */ be_const_int(1), - }), - &be_const_str_run_deferred, - &be_const_str_solidified, - ( &(const binstruction[25]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x78060015, // 0001 JMPF R1 #0018 - 0x58040001, // 0002 LDCONST R1 K1 - 0x88080100, // 0003 GETMBR R2 R0 K0 - 0x8C080502, // 0004 GETMET R2 R2 K2 - 0x7C080200, // 0005 CALL R2 1 - 0x14080202, // 0006 LT R2 R1 R2 - 0x780A000F, // 0007 JMPF R2 #0018 - 0x88080100, // 0008 GETMBR R2 R0 K0 - 0x94080401, // 0009 GETIDX R2 R2 R1 - 0x8C0C0103, // 000A GETMET R3 R0 K3 - 0x88140504, // 000B GETMBR R5 R2 K4 - 0x7C0C0400, // 000C CALL R3 2 - 0x780E0007, // 000D JMPF R3 #0016 - 0x880C0505, // 000E GETMBR R3 R2 K5 - 0x88100100, // 000F GETMBR R4 R0 K0 - 0x8C100906, // 0010 GETMET R4 R4 K6 - 0x5C180200, // 0011 MOVE R6 R1 - 0x7C100400, // 0012 CALL R4 2 - 0x5C100600, // 0013 MOVE R4 R3 - 0x7C100000, // 0014 CALL R4 0 - 0x70020000, // 0015 JMP #0017 - 0x00040307, // 0016 ADD R1 R1 K7 - 0x7001FFEA, // 0017 JMP #0003 - 0x80000000, // 0018 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: remove_driver -********************************************************************/ -be_local_closure(Tasmota_remove_driver, /* name */ - be_nested_proto( - 6, /* 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(_drivers), - /* K1 */ be_nested_str(find), - /* K2 */ be_nested_str(pop), - }), - &be_const_str_remove_driver, - &be_const_str_solidified, - ( &(const binstruction[14]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x780A000A, // 0001 JMPF R2 #000D - 0x88080100, // 0002 GETMBR R2 R0 K0 - 0x8C080501, // 0003 GETMET R2 R2 K1 - 0x5C100200, // 0004 MOVE R4 R1 - 0x7C080400, // 0005 CALL R2 2 - 0x4C0C0000, // 0006 LDNIL R3 - 0x200C0403, // 0007 NE R3 R2 R3 - 0x780E0003, // 0008 JMPF R3 #000D - 0x880C0100, // 0009 GETMBR R3 R0 K0 - 0x8C0C0702, // 000A GETMET R3 R3 K2 - 0x5C140400, // 000B MOVE R5 R2 - 0x7C0C0400, // 000C CALL R3 2 - 0x80000000, // 000D RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: fast_loop -********************************************************************/ -be_local_closure(Tasmota_fast_loop, /* name */ - be_nested_proto( - 5, /* nstack */ - 1, /* 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(_fl), - /* K1 */ be_const_int(0), - /* K2 */ be_const_int(1), - }), - &be_const_str_fast_loop, - &be_const_str_solidified, - ( &(const binstruction[15]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x5C080200, // 0001 MOVE R2 R1 - 0x740A0000, // 0002 JMPT R2 #0004 - 0x80000400, // 0003 RET 0 - 0x58080001, // 0004 LDCONST R2 K1 - 0x600C000C, // 0005 GETGBL R3 G12 - 0x5C100200, // 0006 MOVE R4 R1 - 0x7C0C0200, // 0007 CALL R3 1 - 0x140C0403, // 0008 LT R3 R2 R3 - 0x780E0003, // 0009 JMPF R3 #000E - 0x940C0202, // 000A GETIDX R3 R1 R2 - 0x7C0C0000, // 000B CALL R3 0 - 0x00080502, // 000C ADD R2 R2 K2 - 0x7001FFF6, // 000D JMP #0005 - 0x80000000, // 000E RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: add_fast_loop -********************************************************************/ -be_local_closure(Tasmota_add_fast_loop, /* 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[ 9]) { /* constants */ - /* K0 */ be_nested_str(check_not_method), - /* K1 */ be_nested_str(_fl), - /* K2 */ be_nested_str(function), - /* K3 */ be_nested_str(value_error), - /* K4 */ be_nested_str(argument_X20must_X20be_X20a_X20function), - /* K5 */ be_nested_str(global), - /* K6 */ be_nested_str(fast_loop_enabled), - /* K7 */ be_const_int(1), - /* K8 */ be_nested_str(push), - }), - &be_const_str_add_fast_loop, - &be_const_str_solidified, - ( &(const binstruction[21]) { /* code */ - 0x8C080100, // 0000 GETMET R2 R0 K0 - 0x5C100200, // 0001 MOVE R4 R1 - 0x7C080400, // 0002 CALL R2 2 - 0x88080101, // 0003 GETMBR R2 R0 K1 - 0x740A0002, // 0004 JMPT R2 #0008 - 0x60080012, // 0005 GETGBL R2 G18 - 0x7C080000, // 0006 CALL R2 0 - 0x90020202, // 0007 SETMBR R0 K1 R2 - 0x60080004, // 0008 GETGBL R2 G4 - 0x5C0C0200, // 0009 MOVE R3 R1 - 0x7C080200, // 000A CALL R2 1 - 0x20080502, // 000B NE R2 R2 K2 - 0x780A0000, // 000C JMPF R2 #000E - 0xB0060704, // 000D RAISE 1 K3 K4 - 0x88080105, // 000E GETMBR R2 R0 K5 - 0x900A0D07, // 000F SETMBR R2 K6 K7 - 0x88080101, // 0010 GETMBR R2 R0 K1 - 0x8C080508, // 0011 GETMET R2 R2 K8 - 0x5C100200, // 0012 MOVE R4 R1 - 0x7C080400, // 0013 CALL R2 2 - 0x80000000, // 0014 RET 0 - }) - ) -); -/*******************************************************************/ - -/******************************************************************** -** Solidified function: remove_fast_loop -********************************************************************/ -be_local_closure(Tasmota_remove_fast_loop, /* name */ - be_nested_proto( - 6, /* 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(_fl), - /* K1 */ be_nested_str(find), - /* K2 */ be_nested_str(remove), - }), - &be_const_str_remove_fast_loop, - &be_const_str_solidified, - ( &(const binstruction[15]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x740A0000, // 0001 JMPT R2 #0003 - 0x80000400, // 0002 RET 0 - 0x88080100, // 0003 GETMBR R2 R0 K0 - 0x8C080501, // 0004 GETMET R2 R2 K1 - 0x5C100200, // 0005 MOVE R4 R1 - 0x7C080400, // 0006 CALL R2 2 - 0x4C0C0000, // 0007 LDNIL R3 - 0x200C0403, // 0008 NE R3 R2 R3 - 0x780E0003, // 0009 JMPF R3 #000E - 0x880C0100, // 000A GETMBR R3 R0 K0 - 0x8C0C0702, // 000B GETMET R3 R3 K2 - 0x5C140400, // 000C MOVE R5 R2 - 0x7C0C0400, // 000D CALL R3 2 - 0x80000000, // 000E RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: event -********************************************************************/ -be_local_closure(Tasmota_event, /* name */ - be_nested_proto( - 21, /* nstack */ - 6, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[27]) { /* constants */ - /* K0 */ be_nested_str(introspect), - /* K1 */ be_nested_str(string), - /* K2 */ be_nested_str(every_50ms), - /* K3 */ be_nested_str(run_deferred), - /* K4 */ be_nested_str(every_250ms), - /* K5 */ be_nested_str(run_cron), - /* K6 */ be_nested_str(mqtt_data), - /* K7 */ be_nested_str(cmd), - /* K8 */ be_nested_str(exec_cmd), - /* K9 */ be_nested_str(tele), - /* K10 */ be_nested_str(exec_tele), - /* K11 */ be_nested_str(rule), - /* K12 */ be_nested_str(exec_rules), - /* K13 */ be_nested_str(gc), - /* K14 */ be_nested_str(_drivers), - /* K15 */ be_const_int(0), - /* K16 */ be_nested_str(get), - /* K17 */ be_nested_str(function), - /* K18 */ be_nested_str(format), - /* K19 */ be_nested_str(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s), - /* K20 */ be_nested_str(_debug_present), - /* K21 */ be_nested_str(debug), - /* K22 */ be_nested_str(traceback), - /* K23 */ be_const_int(1), - /* K24 */ be_nested_str(save_before_restart), - /* K25 */ be_nested_str(persist), - /* K26 */ be_nested_str(save), - }), - &be_const_str_event, - &be_const_str_solidified, - ( &(const binstruction[109]) { /* code */ - 0xA41A0000, // 0000 IMPORT R6 K0 - 0xA41E0200, // 0001 IMPORT R7 K1 - 0x1C200302, // 0002 EQ R8 R1 K2 - 0x78220001, // 0003 JMPF R8 #0006 - 0x8C200103, // 0004 GETMET R8 R0 K3 - 0x7C200200, // 0005 CALL R8 1 - 0x1C200304, // 0006 EQ R8 R1 K4 - 0x78220001, // 0007 JMPF R8 #000A - 0x8C200105, // 0008 GETMET R8 R0 K5 - 0x7C200200, // 0009 CALL R8 1 - 0x50200000, // 000A LDBOOL R8 0 0 - 0x50240000, // 000B LDBOOL R9 0 0 - 0x1C280306, // 000C EQ R10 R1 K6 - 0x782A0000, // 000D JMPF R10 #000F - 0x50240200, // 000E LDBOOL R9 1 0 - 0x1C280307, // 000F EQ R10 R1 K7 - 0x782A0006, // 0010 JMPF R10 #0018 - 0x8C280108, // 0011 GETMET R10 R0 K8 - 0x5C300400, // 0012 MOVE R12 R2 - 0x5C340600, // 0013 MOVE R13 R3 - 0x5C380800, // 0014 MOVE R14 R4 - 0x7C280800, // 0015 CALL R10 4 - 0x80041400, // 0016 RET 1 R10 - 0x7002004E, // 0017 JMP #0067 - 0x1C280309, // 0018 EQ R10 R1 K9 - 0x782A0004, // 0019 JMPF R10 #001F - 0x8C28010A, // 001A GETMET R10 R0 K10 - 0x5C300800, // 001B MOVE R12 R4 - 0x7C280400, // 001C CALL R10 2 - 0x80041400, // 001D RET 1 R10 - 0x70020047, // 001E JMP #0067 - 0x1C28030B, // 001F EQ R10 R1 K11 - 0x782A0007, // 0020 JMPF R10 #0029 - 0x8C28010C, // 0021 GETMET R10 R0 K12 - 0x5C300800, // 0022 MOVE R12 R4 - 0x60340017, // 0023 GETGBL R13 G23 - 0x5C380600, // 0024 MOVE R14 R3 - 0x7C340200, // 0025 CALL R13 1 - 0x7C280600, // 0026 CALL R10 3 - 0x80041400, // 0027 RET 1 R10 - 0x7002003D, // 0028 JMP #0067 - 0x1C28030D, // 0029 EQ R10 R1 K13 - 0x782A0003, // 002A JMPF R10 #002F - 0x8C28010D, // 002B GETMET R10 R0 K13 - 0x7C280200, // 002C CALL R10 1 - 0x80041400, // 002D RET 1 R10 - 0x70020037, // 002E JMP #0067 - 0x8828010E, // 002F GETMBR R10 R0 K14 - 0x782A0035, // 0030 JMPF R10 #0067 - 0x5828000F, // 0031 LDCONST R10 K15 - 0x602C000C, // 0032 GETGBL R11 G12 - 0x8830010E, // 0033 GETMBR R12 R0 K14 - 0x7C2C0200, // 0034 CALL R11 1 - 0x142C140B, // 0035 LT R11 R10 R11 - 0x782E002F, // 0036 JMPF R11 #0067 - 0x882C010E, // 0037 GETMBR R11 R0 K14 - 0x942C160A, // 0038 GETIDX R11 R11 R10 - 0x8C300D10, // 0039 GETMET R12 R6 K16 - 0x5C381600, // 003A MOVE R14 R11 - 0x5C3C0200, // 003B MOVE R15 R1 - 0x7C300600, // 003C CALL R12 3 - 0x60340004, // 003D GETGBL R13 G4 - 0x5C381800, // 003E MOVE R14 R12 - 0x7C340200, // 003F CALL R13 1 - 0x1C341B11, // 0040 EQ R13 R13 K17 - 0x78360022, // 0041 JMPF R13 #0065 - 0xA8020011, // 0042 EXBLK 0 #0055 - 0x5C341800, // 0043 MOVE R13 R12 - 0x5C381600, // 0044 MOVE R14 R11 - 0x5C3C0400, // 0045 MOVE R15 R2 - 0x5C400600, // 0046 MOVE R16 R3 - 0x5C440800, // 0047 MOVE R17 R4 - 0x5C480A00, // 0048 MOVE R18 R5 - 0x7C340A00, // 0049 CALL R13 5 - 0x74360001, // 004A JMPT R13 #004D - 0x74220000, // 004B JMPT R8 #004D - 0x50200001, // 004C LDBOOL R8 0 1 - 0x50200200, // 004D LDBOOL R8 1 0 - 0x78220003, // 004E JMPF R8 #0053 - 0x5C341200, // 004F MOVE R13 R9 - 0x74360001, // 0050 JMPT R13 #0053 - 0xA8040001, // 0051 EXBLK 1 1 - 0x70020013, // 0052 JMP #0067 - 0xA8040001, // 0053 EXBLK 1 1 - 0x7002000F, // 0054 JMP #0065 - 0xAC340002, // 0055 CATCH R13 0 2 - 0x7002000C, // 0056 JMP #0064 - 0x603C0001, // 0057 GETGBL R15 G1 - 0x8C400F12, // 0058 GETMET R16 R7 K18 - 0x58480013, // 0059 LDCONST R18 K19 - 0x5C4C1A00, // 005A MOVE R19 R13 - 0x5C501C00, // 005B MOVE R20 R14 - 0x7C400800, // 005C CALL R16 4 - 0x7C3C0200, // 005D CALL R15 1 - 0x883C0114, // 005E GETMBR R15 R0 K20 - 0x783E0002, // 005F JMPF R15 #0063 - 0xA43E2A00, // 0060 IMPORT R15 K21 - 0x8C401F16, // 0061 GETMET R16 R15 K22 - 0x7C400200, // 0062 CALL R16 1 - 0x70020000, // 0063 JMP #0065 - 0xB0080000, // 0064 RAISE 2 R0 R0 - 0x00281517, // 0065 ADD R10 R10 K23 - 0x7001FFCA, // 0066 JMP #0032 - 0x1C280318, // 0067 EQ R10 R1 K24 - 0x782A0002, // 0068 JMPF R10 #006C - 0xA42A3200, // 0069 IMPORT R10 K25 - 0x8C2C151A, // 006A GETMET R11 R10 K26 - 0x7C2C0200, // 006B CALL R11 1 - 0x80041000, // 006C RET 1 R8 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: find_key_i -********************************************************************/ -be_local_closure(Tasmota_find_key_i, /* 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[ 5]) { /* constants */ - /* K0 */ be_nested_str(string), - /* K1 */ be_nested_str(toupper), - /* K2 */ be_nested_str(keys), - /* K3 */ be_nested_str(_X3F), - /* K4 */ be_nested_str(stop_iteration), - }), - &be_const_str_find_key_i, - &be_const_str_solidified, - ( &(const binstruction[30]) { /* code */ - 0xA40E0000, // 0000 IMPORT R3 K0 - 0x8C100701, // 0001 GETMET R4 R3 K1 - 0x5C180400, // 0002 MOVE R6 R2 - 0x7C100400, // 0003 CALL R4 2 - 0x6014000F, // 0004 GETGBL R5 G15 - 0x5C180200, // 0005 MOVE R6 R1 - 0x601C0013, // 0006 GETGBL R7 G19 - 0x7C140400, // 0007 CALL R5 2 - 0x78160013, // 0008 JMPF R5 #001D - 0x60140010, // 0009 GETGBL R5 G16 - 0x8C180302, // 000A GETMET R6 R1 K2 - 0x7C180200, // 000B CALL R6 1 - 0x7C140200, // 000C CALL R5 1 - 0xA802000B, // 000D EXBLK 0 #001A - 0x5C180A00, // 000E MOVE R6 R5 - 0x7C180000, // 000F CALL R6 0 - 0x8C1C0701, // 0010 GETMET R7 R3 K1 - 0x5C240C00, // 0011 MOVE R9 R6 - 0x7C1C0400, // 0012 CALL R7 2 - 0x1C1C0E04, // 0013 EQ R7 R7 R4 - 0x741E0001, // 0014 JMPT R7 #0017 - 0x1C1C0503, // 0015 EQ R7 R2 K3 - 0x781E0001, // 0016 JMPF R7 #0019 - 0xA8040001, // 0017 EXBLK 1 1 - 0x80040C00, // 0018 RET 1 R6 - 0x7001FFF3, // 0019 JMP #000E - 0x58140004, // 001A LDCONST R5 K4 - 0xAC140200, // 001B CATCH R5 1 0 - 0xB0080000, // 001C RAISE 2 R0 R0 - 0x80000000, // 001D RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: wire_scan -********************************************************************/ -be_local_closure(Tasmota_wire_scan, /* name */ - be_nested_proto( - 6, /* nstack */ - 3, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str(i2c_enabled), - /* K1 */ be_nested_str(wire1), - /* K2 */ be_nested_str(enabled), - /* K3 */ be_nested_str(detect), - /* K4 */ be_nested_str(wire2), - }), - &be_const_str_wire_scan, - &be_const_str_solidified, - ( &(const binstruction[33]) { /* code */ - 0x4C0C0000, // 0000 LDNIL R3 - 0x200C0403, // 0001 NE R3 R2 R3 - 0x780E0005, // 0002 JMPF R3 #0009 - 0x8C0C0100, // 0003 GETMET R3 R0 K0 - 0x5C140400, // 0004 MOVE R5 R2 - 0x7C0C0400, // 0005 CALL R3 2 - 0x740E0001, // 0006 JMPT R3 #0009 - 0x4C0C0000, // 0007 LDNIL R3 - 0x80040600, // 0008 RET 1 R3 - 0x880C0101, // 0009 GETMBR R3 R0 K1 - 0x8C0C0702, // 000A GETMET R3 R3 K2 - 0x7C0C0200, // 000B CALL R3 1 - 0x780E0006, // 000C JMPF R3 #0014 - 0x880C0101, // 000D GETMBR R3 R0 K1 - 0x8C0C0703, // 000E GETMET R3 R3 K3 - 0x5C140200, // 000F MOVE R5 R1 - 0x7C0C0400, // 0010 CALL R3 2 - 0x780E0001, // 0011 JMPF R3 #0014 - 0x880C0101, // 0012 GETMBR R3 R0 K1 - 0x80040600, // 0013 RET 1 R3 - 0x880C0104, // 0014 GETMBR R3 R0 K4 - 0x8C0C0702, // 0015 GETMET R3 R3 K2 - 0x7C0C0200, // 0016 CALL R3 1 - 0x780E0006, // 0017 JMPF R3 #001F - 0x880C0104, // 0018 GETMBR R3 R0 K4 - 0x8C0C0703, // 0019 GETMET R3 R3 K3 - 0x5C140200, // 001A MOVE R5 R1 - 0x7C0C0400, // 001B CALL R3 2 - 0x780E0001, // 001C JMPF R3 #001F - 0x880C0104, // 001D GETMBR R3 R0 K4 - 0x80040600, // 001E RET 1 R3 - 0x4C0C0000, // 001F LDNIL R3 - 0x80040600, // 0020 RET 1 R3 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(Tasmota_init, /* name */ - be_nested_proto( - 7, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[15]) { /* constants */ - /* K0 */ be_nested_str(global), - /* K1 */ be_nested_str(ctypes_bytes_dyn), - /* K2 */ be_nested_str(_global_addr), - /* K3 */ be_nested_str(_global_def), - /* K4 */ be_nested_str(introspect), - /* K5 */ be_nested_str(_settings_ptr), - /* K6 */ be_nested_str(get), - /* K7 */ be_const_int(0), - /* K8 */ be_nested_str(settings), - /* K9 */ be_nested_str(toptr), - /* K10 */ be_nested_str(_settings_def), - /* K11 */ be_nested_str(wd), - /* K12 */ be_nested_str(), - /* K13 */ be_nested_str(_debug_present), - /* K14 */ be_nested_str(debug), - }), - &be_const_str_init, - &be_const_str_solidified, - ( &(const binstruction[36]) { /* code */ - 0xB8060200, // 0000 GETNGBL R1 K1 - 0x88080102, // 0001 GETMBR R2 R0 K2 - 0x880C0103, // 0002 GETMBR R3 R0 K3 - 0x7C040400, // 0003 CALL R1 2 - 0x90020001, // 0004 SETMBR R0 K0 R1 - 0xA4060800, // 0005 IMPORT R1 K4 - 0x60080015, // 0006 GETGBL R2 G21 - 0x880C0105, // 0007 GETMBR R3 R0 K5 - 0x54120003, // 0008 LDINT R4 4 - 0x7C080400, // 0009 CALL R2 2 - 0x8C080506, // 000A GETMET R2 R2 K6 - 0x58100007, // 000B LDCONST R4 K7 - 0x54160003, // 000C LDINT R5 4 - 0x7C080600, // 000D CALL R2 3 - 0x780A0006, // 000E JMPF R2 #0016 - 0xB80E0200, // 000F GETNGBL R3 K1 - 0x8C100309, // 0010 GETMET R4 R1 K9 - 0x5C180400, // 0011 MOVE R6 R2 - 0x7C100400, // 0012 CALL R4 2 - 0x8814010A, // 0013 GETMBR R5 R0 K10 - 0x7C0C0400, // 0014 CALL R3 2 - 0x90021003, // 0015 SETMBR R0 K8 R3 - 0x9002170C, // 0016 SETMBR R0 K11 K12 - 0x500C0000, // 0017 LDBOOL R3 0 0 - 0x90021A03, // 0018 SETMBR R0 K13 R3 - 0xA8020004, // 0019 EXBLK 0 #001F - 0xA40E1C00, // 001A IMPORT R3 K14 - 0x50100200, // 001B LDBOOL R4 1 0 - 0x90021A04, // 001C SETMBR R0 K13 R4 - 0xA8040001, // 001D EXBLK 1 1 - 0x70020003, // 001E JMP #0023 - 0xAC0C0000, // 001F CATCH R3 0 0 - 0x70020000, // 0020 JMP #0022 - 0x70020000, // 0021 JMP #0023 - 0xB0080000, // 0022 RAISE 2 R0 R0 - 0x80000000, // 0023 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: time_str -********************************************************************/ -be_local_closure(Tasmota_time_str, /* name */ - be_nested_proto( - 13, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str(string), - /* K1 */ be_nested_str(time_dump), - /* K2 */ be_nested_str(format), - /* K3 */ be_nested_str(_X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d), - /* K4 */ be_nested_str(year), - /* K5 */ be_nested_str(month), - /* K6 */ be_nested_str(day), - /* K7 */ be_nested_str(hour), - /* K8 */ be_nested_str(min), - /* K9 */ be_nested_str(sec), - }), - &be_const_str_time_str, - &be_const_str_solidified, - ( &(const binstruction[14]) { /* code */ - 0xA40A0000, // 0000 IMPORT R2 K0 - 0x8C0C0101, // 0001 GETMET R3 R0 K1 - 0x5C140200, // 0002 MOVE R5 R1 - 0x7C0C0400, // 0003 CALL R3 2 - 0x8C100502, // 0004 GETMET R4 R2 K2 - 0x58180003, // 0005 LDCONST R6 K3 - 0x941C0704, // 0006 GETIDX R7 R3 K4 - 0x94200705, // 0007 GETIDX R8 R3 K5 - 0x94240706, // 0008 GETIDX R9 R3 K6 - 0x94280707, // 0009 GETIDX R10 R3 K7 - 0x942C0708, // 000A GETIDX R11 R3 K8 - 0x94300709, // 000B GETIDX R12 R3 K9 - 0x7C101000, // 000C CALL R4 8 - 0x80040800, // 000D RET 1 R4 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: remove_rule -********************************************************************/ -be_local_closure(Tasmota_remove_rule, /* name */ - be_nested_proto( - 7, /* nstack */ - 3, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_str(_rules), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_str(trig), - /* K3 */ be_nested_str(id), - /* K4 */ be_nested_str(remove), - /* K5 */ be_const_int(1), - }), - &be_const_str_remove_rule, - &be_const_str_solidified, - ( &(const binstruction[26]) { /* code */ - 0x880C0100, // 0000 GETMBR R3 R0 K0 - 0x780E0016, // 0001 JMPF R3 #0019 - 0x580C0001, // 0002 LDCONST R3 K1 - 0x6010000C, // 0003 GETGBL R4 G12 - 0x88140100, // 0004 GETMBR R5 R0 K0 - 0x7C100200, // 0005 CALL R4 1 - 0x14100604, // 0006 LT R4 R3 R4 - 0x78120010, // 0007 JMPF R4 #0019 - 0x88100100, // 0008 GETMBR R4 R0 K0 - 0x94100803, // 0009 GETIDX R4 R4 R3 - 0x88100902, // 000A GETMBR R4 R4 K2 - 0x1C100801, // 000B EQ R4 R4 R1 - 0x78120009, // 000C JMPF R4 #0017 - 0x88100100, // 000D GETMBR R4 R0 K0 - 0x94100803, // 000E GETIDX R4 R4 R3 - 0x88100903, // 000F GETMBR R4 R4 K3 - 0x1C100802, // 0010 EQ R4 R4 R2 - 0x78120004, // 0011 JMPF R4 #0017 - 0x88100100, // 0012 GETMBR R4 R0 K0 - 0x8C100904, // 0013 GETMET R4 R4 K4 - 0x5C180600, // 0014 MOVE R6 R3 - 0x7C100400, // 0015 CALL R4 2 - 0x70020000, // 0016 JMP #0018 - 0x000C0705, // 0017 ADD R3 R3 K5 - 0x7001FFE9, // 0018 JMP #0003 - 0x80000000, // 0019 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: load -********************************************************************/ -be_local_closure(Tasmota_load, /* name */ - be_nested_proto( - 27, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 1, /* has sup protos */ - ( &(const struct bproto*[ 6]) { - be_nested_proto( - 6, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_str(sys), - /* K1 */ be_nested_str(path), - /* K2 */ be_nested_str(find), - /* K3 */ be_nested_str(push), - }), - &be_const_str_push_path, - &be_const_str_solidified, - ( &(const binstruction[13]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x8C080301, // 0001 GETMET R2 R1 K1 - 0x7C080200, // 0002 CALL R2 1 - 0x8C0C0502, // 0003 GETMET R3 R2 K2 - 0x5C140000, // 0004 MOVE R5 R0 - 0x7C0C0400, // 0005 CALL R3 2 - 0x4C100000, // 0006 LDNIL R4 - 0x1C0C0604, // 0007 EQ R3 R3 R4 - 0x780E0002, // 0008 JMPF R3 #000C - 0x8C0C0503, // 0009 GETMET R3 R2 K3 - 0x5C140000, // 000A MOVE R5 R0 - 0x7C0C0400, // 000B CALL R3 2 - 0x80000000, // 000C RET 0 - }) - ), - be_nested_proto( - 7, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_str(sys), - /* K1 */ be_nested_str(path), - /* K2 */ be_nested_str(find), - /* K3 */ be_nested_str(remove), - }), - &be_const_str_pop_path, - &be_const_str_solidified, - ( &(const binstruction[13]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x8C080301, // 0001 GETMET R2 R1 K1 - 0x7C080200, // 0002 CALL R2 1 - 0x8C0C0502, // 0003 GETMET R3 R2 K2 - 0x5C140000, // 0004 MOVE R5 R0 - 0x7C0C0400, // 0005 CALL R3 2 - 0x4C100000, // 0006 LDNIL R4 - 0x20100604, // 0007 NE R4 R3 R4 - 0x78120002, // 0008 JMPF R4 #000C - 0x8C100503, // 0009 GETMET R4 R2 K3 - 0x5C180600, // 000A MOVE R6 R3 - 0x7C100400, // 000B CALL R4 2 - 0x80000000, // 000C RET 0 - }) - ), - be_nested_proto( - 10, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str(r), - /* K1 */ be_nested_str(readbytes), - /* K2 */ be_const_int(3), - /* K3 */ be_const_int(1), - /* K4 */ be_nested_str(BECDFE), - /* K5 */ be_const_int(0), - /* K6 */ be_nested_str(close), - /* K7 */ be_nested_str(string), - /* K8 */ be_nested_str(format), - /* K9 */ be_nested_str(BRY_X3A_X20failed_X20to_X20load_X20compiled_X20_X27_X25s_X27_X20_X28_X25s_X29), - }), - &be_const_str_try_get_bec_version, - &be_const_str_solidified, - ( &(const binstruction[44]) { /* code */ - 0x4C040000, // 0000 LDNIL R1 - 0xA8020016, // 0001 EXBLK 0 #0019 - 0x60080011, // 0002 GETGBL R2 G17 - 0x5C0C0000, // 0003 MOVE R3 R0 - 0x58100000, // 0004 LDCONST R4 K0 - 0x7C080400, // 0005 CALL R2 2 - 0x5C040400, // 0006 MOVE R1 R2 - 0x8C080301, // 0007 GETMET R2 R1 K1 - 0x58100002, // 0008 LDCONST R4 K2 - 0x7C080400, // 0009 CALL R2 2 - 0x8C0C0301, // 000A GETMET R3 R1 K1 - 0x58140003, // 000B LDCONST R5 K3 - 0x7C0C0400, // 000C CALL R3 2 - 0x60100015, // 000D GETGBL R4 G21 - 0x58140004, // 000E LDCONST R5 K4 - 0x7C100200, // 000F CALL R4 1 - 0x1C100404, // 0010 EQ R4 R2 R4 - 0x78120002, // 0011 JMPF R4 #0015 - 0x94100705, // 0012 GETIDX R4 R3 K5 - 0xA8040001, // 0013 EXBLK 1 1 - 0x80040800, // 0014 RET 1 R4 - 0x8C100306, // 0015 GETMET R4 R1 K6 - 0x7C100200, // 0016 CALL R4 1 - 0xA8040001, // 0017 EXBLK 1 1 - 0x70020010, // 0018 JMP #002A - 0xAC080001, // 0019 CATCH R2 0 1 - 0x7002000D, // 001A JMP #0029 - 0x4C0C0000, // 001B LDNIL R3 - 0x200C0203, // 001C NE R3 R1 R3 - 0x780E0001, // 001D JMPF R3 #0020 - 0x8C0C0306, // 001E GETMET R3 R1 K6 - 0x7C0C0200, // 001F CALL R3 1 - 0xA40E0E00, // 0020 IMPORT R3 K7 - 0x60100001, // 0021 GETGBL R4 G1 - 0x8C140708, // 0022 GETMET R5 R3 K8 - 0x581C0009, // 0023 LDCONST R7 K9 - 0x5C200000, // 0024 MOVE R8 R0 - 0x5C240400, // 0025 MOVE R9 R2 - 0x7C140800, // 0026 CALL R5 4 - 0x7C100200, // 0027 CALL R4 1 - 0x70020000, // 0028 JMP #002A - 0xB0080000, // 0029 RAISE 2 R0 R0 - 0x4C080000, // 002A LDNIL R2 - 0x80040400, // 002B RET 1 R2 - }) - ), - be_nested_proto( - 5, /* nstack */ - 1, /* 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(path), - /* K1 */ be_nested_str(remove), - }), - &be_const_str_try_remove_file, - &be_const_str_solidified, - ( &(const binstruction[15]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0xA8020006, // 0001 EXBLK 0 #0009 - 0x8C080301, // 0002 GETMET R2 R1 K1 - 0x5C100000, // 0003 MOVE R4 R0 - 0x7C080400, // 0004 CALL R2 2 - 0xA8040001, // 0005 EXBLK 1 1 - 0x80040400, // 0006 RET 1 R2 - 0xA8040001, // 0007 EXBLK 1 1 - 0x70020003, // 0008 JMP #000D - 0xAC080000, // 0009 CATCH R2 0 0 - 0x70020000, // 000A JMP #000C - 0x70020000, // 000B JMP #000D - 0xB0080000, // 000C RAISE 2 R0 R0 - 0x50080000, // 000D LDBOOL R2 0 0 - 0x80040400, // 000E RET 1 R2 - }) - ), - be_nested_proto( - 11, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_str(file), - /* K1 */ be_nested_str(string), - /* K2 */ be_nested_str(format), - /* K3 */ be_nested_str(BRY_X3A_X20failed_X20to_X20load_X20_X27_X25s_X27_X20_X28_X25s_X20_X2D_X20_X25s_X29), - }), - &be_const_str_try_compile, - &be_const_str_solidified, - ( &(const binstruction[24]) { /* code */ - 0xA8020007, // 0000 EXBLK 0 #0009 - 0x6004000D, // 0001 GETGBL R1 G13 - 0x5C080000, // 0002 MOVE R2 R0 - 0x580C0000, // 0003 LDCONST R3 K0 - 0x7C040400, // 0004 CALL R1 2 - 0xA8040001, // 0005 EXBLK 1 1 - 0x80040200, // 0006 RET 1 R1 - 0xA8040001, // 0007 EXBLK 1 1 - 0x7002000C, // 0008 JMP #0016 - 0xAC040002, // 0009 CATCH R1 0 2 - 0x70020009, // 000A JMP #0015 - 0xA40E0200, // 000B IMPORT R3 K1 - 0x60100001, // 000C GETGBL R4 G1 - 0x8C140702, // 000D GETMET R5 R3 K2 - 0x581C0003, // 000E LDCONST R7 K3 - 0x5C200000, // 000F MOVE R8 R0 - 0x5C240200, // 0010 MOVE R9 R1 - 0x5C280400, // 0011 MOVE R10 R2 - 0x7C140A00, // 0012 CALL R5 5 - 0x7C100200, // 0013 CALL R4 1 - 0x70020000, // 0014 JMP #0016 - 0xB0080000, // 0015 RAISE 2 R0 R0 - 0x4C040000, // 0016 LDNIL R1 - 0x80040200, // 0017 RET 1 R1 - }) - ), - be_nested_proto( - 10, /* nstack */ - 1, /* argc */ - 0, /* 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(string), - /* K1 */ be_nested_str(format), - /* K2 */ be_nested_str(BRY_X3A_X20failed_X20to_X20run_X20compiled_X20code_X20_X27_X25s_X27_X20_X2D_X20_X25s), - }), - &be_const_str_try_run_compiled, - &be_const_str_solidified, - ( &(const binstruction[25]) { /* code */ - 0x4C040000, // 0000 LDNIL R1 - 0x20040001, // 0001 NE R1 R0 R1 - 0x78060013, // 0002 JMPF R1 #0017 - 0xA8020006, // 0003 EXBLK 0 #000B - 0x5C040000, // 0004 MOVE R1 R0 - 0x7C040000, // 0005 CALL R1 0 - 0x50040200, // 0006 LDBOOL R1 1 0 - 0xA8040001, // 0007 EXBLK 1 1 - 0x80040200, // 0008 RET 1 R1 - 0xA8040001, // 0009 EXBLK 1 1 - 0x7002000B, // 000A JMP #0017 - 0xAC040002, // 000B CATCH R1 0 2 - 0x70020008, // 000C JMP #0016 - 0xA40E0000, // 000D IMPORT R3 K0 - 0x60100001, // 000E GETGBL R4 G1 - 0x8C140701, // 000F GETMET R5 R3 K1 - 0x581C0002, // 0010 LDCONST R7 K2 - 0x5C200200, // 0011 MOVE R8 R1 - 0x5C240400, // 0012 MOVE R9 R2 - 0x7C140800, // 0013 CALL R5 4 - 0x7C100200, // 0014 CALL R4 1 - 0x70020000, // 0015 JMP #0017 - 0xB0080000, // 0016 RAISE 2 R0 R0 - 0x50040000, // 0017 LDBOOL R1 0 0 - 0x80040200, // 0018 RET 1 R1 - }) - ), - }), - 1, /* has constants */ - ( &(const bvalue[22]) { /* constants */ - /* K0 */ be_nested_str(string), - /* K1 */ be_nested_str(path), - /* K2 */ be_const_int(0), - /* K3 */ be_nested_str(_X2F), - /* K4 */ be_nested_str(split), - /* K5 */ be_nested_str(_X23), - /* K6 */ be_const_int(1), - /* K7 */ be_nested_str(find), - /* K8 */ be_nested_str(_X2E), - /* K9 */ be_nested_str(_X2Ebe), - /* K10 */ be_nested_str(_X2Ebec), - /* K11 */ be_nested_str(io_error), - /* K12 */ be_nested_str(file_X20extension_X20is_X20not_X20_X27_X2Ebe_X27_X20or_X20_X27_X2Ebec_X27), - /* K13 */ be_nested_str(last_modified), - /* K14 */ be_nested_str(c), - /* K15 */ be_nested_str(wd), - /* K16 */ be_nested_str(), - /* K17 */ be_nested_str(format), - /* K18 */ be_nested_str(BRY_X3A_X20corrupt_X20bytecode_X20_X27_X25s_X27), - /* K19 */ be_nested_str(BRY_X3A_X20bytecode_X20has_X20wrong_X20version_X20_X27_X25s_X27_X20_X28_X25i_X29), - /* K20 */ be_nested_str(save), - /* K21 */ be_nested_str(BRY_X3A_X20could_X20not_X20save_X20compiled_X20file_X20_X25s_X20_X28_X25s_X29), - }), - &be_const_str_load, - &be_const_str_solidified, - ( &(const binstruction[176]) { /* code */ - 0x84080000, // 0000 CLOSURE R2 P0 - 0x840C0001, // 0001 CLOSURE R3 P1 - 0x84100002, // 0002 CLOSURE R4 P2 - 0x84140003, // 0003 CLOSURE R5 P3 - 0x84180004, // 0004 CLOSURE R6 P4 - 0x841C0005, // 0005 CLOSURE R7 P5 - 0xA4220000, // 0006 IMPORT R8 K0 - 0xA4260200, // 0007 IMPORT R9 K1 - 0x6028000C, // 0008 GETGBL R10 G12 - 0x5C2C0200, // 0009 MOVE R11 R1 - 0x7C280200, // 000A CALL R10 1 - 0x1C281502, // 000B EQ R10 R10 K2 - 0x782A0001, // 000C JMPF R10 #000F - 0x50280000, // 000D LDBOOL R10 0 0 - 0x80041400, // 000E RET 1 R10 - 0x94280302, // 000F GETIDX R10 R1 K2 - 0x20281503, // 0010 NE R10 R10 K3 - 0x782A0000, // 0011 JMPF R10 #0013 - 0x00060601, // 0012 ADD R1 K3 R1 - 0x8C281104, // 0013 GETMET R10 R8 K4 - 0x5C300200, // 0014 MOVE R12 R1 - 0x58340005, // 0015 LDCONST R13 K5 - 0x7C280600, // 0016 CALL R10 3 - 0x942C1502, // 0017 GETIDX R11 R10 K2 - 0x5431FFFE, // 0018 LDINT R12 -1 - 0x9430140C, // 0019 GETIDX R12 R10 R12 - 0x6034000C, // 001A GETGBL R13 G12 - 0x5C381400, // 001B MOVE R14 R10 - 0x7C340200, // 001C CALL R13 1 - 0x24341B06, // 001D GT R13 R13 K6 - 0x8C381107, // 001E GETMET R14 R8 K7 - 0x5C401800, // 001F MOVE R16 R12 - 0x58440008, // 0020 LDCONST R17 K8 - 0x7C380600, // 0021 CALL R14 3 - 0x14381D02, // 0022 LT R14 R14 K2 - 0x783A0001, // 0023 JMPF R14 #0026 - 0x00040309, // 0024 ADD R1 R1 K9 - 0x00301909, // 0025 ADD R12 R12 K9 - 0x5439FFFC, // 0026 LDINT R14 -3 - 0x543DFFFE, // 0027 LDINT R15 -1 - 0x40381C0F, // 0028 CONNECT R14 R14 R15 - 0x9438180E, // 0029 GETIDX R14 R12 R14 - 0x1C381D09, // 002A EQ R14 R14 K9 - 0x543DFFFB, // 002B LDINT R15 -4 - 0x5441FFFE, // 002C LDINT R16 -1 - 0x403C1E10, // 002D CONNECT R15 R15 R16 - 0x943C180F, // 002E GETIDX R15 R12 R15 - 0x1C3C1F0A, // 002F EQ R15 R15 K10 - 0x5C401C00, // 0030 MOVE R16 R14 - 0x74420002, // 0031 JMPT R16 #0035 - 0x5C401E00, // 0032 MOVE R16 R15 - 0x74420000, // 0033 JMPT R16 #0035 - 0xB006170C, // 0034 RAISE 1 K11 K12 - 0x8C40130D, // 0035 GETMET R16 R9 K13 - 0x5C480200, // 0036 MOVE R18 R1 - 0x7C400400, // 0037 CALL R16 2 - 0x783E0001, // 0038 JMPF R15 #003B - 0x5C440200, // 0039 MOVE R17 R1 - 0x70020000, // 003A JMP #003C - 0x0044030E, // 003B ADD R17 R1 K14 - 0x783E0005, // 003C JMPF R15 #0043 - 0x4C480000, // 003D LDNIL R18 - 0x1C482012, // 003E EQ R18 R16 R18 - 0x784A0001, // 003F JMPF R18 #0042 - 0x50480000, // 0040 LDBOOL R18 0 0 - 0x80042400, // 0041 RET 1 R18 - 0x70020013, // 0042 JMP #0057 - 0x8C48130D, // 0043 GETMET R18 R9 K13 - 0x5C502200, // 0044 MOVE R20 R17 - 0x7C480400, // 0045 CALL R18 2 - 0x4C4C0000, // 0046 LDNIL R19 - 0x1C4C2013, // 0047 EQ R19 R16 R19 - 0x784E0004, // 0048 JMPF R19 #004E - 0x4C4C0000, // 0049 LDNIL R19 - 0x1C4C2413, // 004A EQ R19 R18 R19 - 0x784E0001, // 004B JMPF R19 #004E - 0x504C0000, // 004C LDBOOL R19 0 0 - 0x80042600, // 004D RET 1 R19 - 0x4C4C0000, // 004E LDNIL R19 - 0x204C2413, // 004F NE R19 R18 R19 - 0x784E0005, // 0050 JMPF R19 #0057 - 0x4C4C0000, // 0051 LDNIL R19 - 0x1C4C2013, // 0052 EQ R19 R16 R19 - 0x744E0001, // 0053 JMPT R19 #0056 - 0x284C2410, // 0054 GE R19 R18 R16 - 0x784E0000, // 0055 JMPF R19 #0057 - 0x503C0200, // 0056 LDBOOL R15 1 0 - 0x78360005, // 0057 JMPF R13 #005E - 0x00481705, // 0058 ADD R18 R11 K5 - 0x90021E12, // 0059 SETMBR R0 K15 R18 - 0x5C480400, // 005A MOVE R18 R2 - 0x884C010F, // 005B GETMBR R19 R0 K15 - 0x7C480200, // 005C CALL R18 1 - 0x70020000, // 005D JMP #005F - 0x90021F10, // 005E SETMBR R0 K15 K16 - 0x4C480000, // 005F LDNIL R18 - 0x783E0025, // 0060 JMPF R15 #0087 - 0x5C4C0800, // 0061 MOVE R19 R4 - 0x5C502200, // 0062 MOVE R20 R17 - 0x7C4C0200, // 0063 CALL R19 1 - 0x50500200, // 0064 LDBOOL R20 1 0 - 0x4C540000, // 0065 LDNIL R21 - 0x1C542615, // 0066 EQ R21 R19 R21 - 0x78560007, // 0067 JMPF R21 #0070 - 0x60540001, // 0068 GETGBL R21 G1 - 0x8C581111, // 0069 GETMET R22 R8 K17 - 0x58600012, // 006A LDCONST R24 K18 - 0x5C642200, // 006B MOVE R25 R17 - 0x7C580600, // 006C CALL R22 3 - 0x7C540200, // 006D CALL R21 1 - 0x50500000, // 006E LDBOOL R20 0 0 - 0x7002000A, // 006F JMP #007B - 0x54560003, // 0070 LDINT R21 4 - 0x20542615, // 0071 NE R21 R19 R21 - 0x78560007, // 0072 JMPF R21 #007B - 0x60540001, // 0073 GETGBL R21 G1 - 0x8C581111, // 0074 GETMET R22 R8 K17 - 0x58600013, // 0075 LDCONST R24 K19 - 0x5C642200, // 0076 MOVE R25 R17 - 0x5C682600, // 0077 MOVE R26 R19 - 0x7C580800, // 0078 CALL R22 4 - 0x7C540200, // 0079 CALL R21 1 - 0x50500000, // 007A LDBOOL R20 0 0 - 0x78520003, // 007B JMPF R20 #0080 - 0x5C540C00, // 007C MOVE R21 R6 - 0x5C582200, // 007D MOVE R22 R17 - 0x7C540200, // 007E CALL R21 1 - 0x5C482A00, // 007F MOVE R18 R21 - 0x4C540000, // 0080 LDNIL R21 - 0x1C542415, // 0081 EQ R21 R18 R21 - 0x78560003, // 0082 JMPF R21 #0087 - 0x5C540A00, // 0083 MOVE R21 R5 - 0x5C582200, // 0084 MOVE R22 R17 - 0x7C540200, // 0085 CALL R21 1 - 0x503C0000, // 0086 LDBOOL R15 0 0 - 0x783A0006, // 0087 JMPF R14 #008F - 0x4C4C0000, // 0088 LDNIL R19 - 0x1C4C2413, // 0089 EQ R19 R18 R19 - 0x784E0003, // 008A JMPF R19 #008F - 0x5C4C0C00, // 008B MOVE R19 R6 - 0x5C500200, // 008C MOVE R20 R1 - 0x7C4C0200, // 008D CALL R19 1 - 0x5C482600, // 008E MOVE R18 R19 - 0x4C4C0000, // 008F LDNIL R19 - 0x204C2413, // 0090 NE R19 R18 R19 - 0x784E0015, // 0091 JMPF R19 #00A8 - 0x5C4C1E00, // 0092 MOVE R19 R15 - 0x744E0013, // 0093 JMPT R19 #00A8 - 0x5C4C1A00, // 0094 MOVE R19 R13 - 0x744E0011, // 0095 JMPT R19 #00A8 - 0xA8020005, // 0096 EXBLK 0 #009D - 0x8C4C0114, // 0097 GETMET R19 R0 K20 - 0x5C542200, // 0098 MOVE R21 R17 - 0x5C582400, // 0099 MOVE R22 R18 - 0x7C4C0600, // 009A CALL R19 3 - 0xA8040001, // 009B EXBLK 1 1 - 0x7002000A, // 009C JMP #00A8 - 0xAC4C0001, // 009D CATCH R19 0 1 - 0x70020007, // 009E JMP #00A7 - 0x60500001, // 009F GETGBL R20 G1 - 0x8C541111, // 00A0 GETMET R21 R8 K17 - 0x585C0015, // 00A1 LDCONST R23 K21 - 0x5C602200, // 00A2 MOVE R24 R17 - 0x5C642600, // 00A3 MOVE R25 R19 - 0x7C540800, // 00A4 CALL R21 4 - 0x7C500200, // 00A5 CALL R20 1 - 0x70020000, // 00A6 JMP #00A8 - 0xB0080000, // 00A7 RAISE 2 R0 R0 - 0x5C4C0E00, // 00A8 MOVE R19 R7 - 0x5C502400, // 00A9 MOVE R20 R18 - 0x7C4C0200, // 00AA CALL R19 1 - 0x78360002, // 00AB JMPF R13 #00AF - 0x5C500600, // 00AC MOVE R20 R3 - 0x00541705, // 00AD ADD R21 R11 K5 - 0x7C500200, // 00AE CALL R20 1 - 0x80042600, // 00AF RET 1 R19 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: cmd -********************************************************************/ -be_local_closure(Tasmota_cmd, /* name */ - be_nested_proto( - 6, /* 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(cmd_res), - /* K1 */ be_nested_str(_cmd), - }), - &be_const_str_cmd, - &be_const_str_solidified, - ( &(const binstruction[14]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x500C0200, // 0001 LDBOOL R3 1 0 - 0x90020003, // 0002 SETMBR R0 K0 R3 - 0x8C0C0101, // 0003 GETMET R3 R0 K1 - 0x5C140200, // 0004 MOVE R5 R1 - 0x7C0C0400, // 0005 CALL R3 2 - 0x4C0C0000, // 0006 LDNIL R3 - 0x88100100, // 0007 GETMBR R4 R0 K0 - 0x50140200, // 0008 LDBOOL R5 1 0 - 0x20100805, // 0009 NE R4 R4 R5 - 0x78120000, // 000A JMPF R4 #000C - 0x880C0100, // 000B GETMBR R3 R0 K0 - 0x90020002, // 000C SETMBR R0 K0 R2 - 0x80040600, // 000D RET 1 R3 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: add_cmd -********************************************************************/ -be_local_closure(Tasmota_add_cmd, /* name */ - be_nested_proto( - 6, /* nstack */ - 3, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str(check_not_method), - /* K1 */ be_nested_str(_ccmd), - /* K2 */ be_nested_str(function), - /* K3 */ be_nested_str(value_error), - /* K4 */ be_nested_str(the_X20second_X20argument_X20is_X20not_X20a_X20function), - }), - &be_const_str_add_cmd, - &be_const_str_solidified, - ( &(const binstruction[18]) { /* code */ - 0x8C0C0100, // 0000 GETMET R3 R0 K0 - 0x5C140400, // 0001 MOVE R5 R2 - 0x7C0C0400, // 0002 CALL R3 2 - 0x880C0101, // 0003 GETMBR R3 R0 K1 - 0x740E0002, // 0004 JMPT R3 #0008 - 0x600C0013, // 0005 GETGBL R3 G19 - 0x7C0C0000, // 0006 CALL R3 0 - 0x90020203, // 0007 SETMBR R0 K1 R3 - 0x600C0004, // 0008 GETGBL R3 G4 - 0x5C100400, // 0009 MOVE R4 R2 - 0x7C0C0200, // 000A CALL R3 1 - 0x1C0C0702, // 000B EQ R3 R3 K2 - 0x780E0002, // 000C JMPF R3 #0010 - 0x880C0101, // 000D GETMBR R3 R0 K1 - 0x980C0202, // 000E SETIDX R3 R1 R2 - 0x70020000, // 000F JMP #0011 - 0xB0060704, // 0010 RAISE 1 K3 K4 - 0x80000000, // 0011 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: add_rule -********************************************************************/ -be_local_closure(Tasmota_add_rule, /* name */ - be_nested_proto( - 10, /* nstack */ - 4, /* 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(check_not_method), - /* K1 */ be_nested_str(_rules), - /* K2 */ be_nested_str(function), - /* K3 */ be_nested_str(push), - /* K4 */ be_nested_str(Trigger), - /* K5 */ be_nested_str(value_error), - /* K6 */ be_nested_str(the_X20second_X20argument_X20is_X20not_X20a_X20function), - }), - &be_const_str_add_rule, - &be_const_str_solidified, - ( &(const binstruction[24]) { /* code */ - 0x8C100100, // 0000 GETMET R4 R0 K0 - 0x5C180400, // 0001 MOVE R6 R2 - 0x7C100400, // 0002 CALL R4 2 - 0x88100101, // 0003 GETMBR R4 R0 K1 - 0x74120002, // 0004 JMPT R4 #0008 - 0x60100012, // 0005 GETGBL R4 G18 - 0x7C100000, // 0006 CALL R4 0 - 0x90020204, // 0007 SETMBR R0 K1 R4 - 0x60100004, // 0008 GETGBL R4 G4 - 0x5C140400, // 0009 MOVE R5 R2 - 0x7C100200, // 000A CALL R4 1 - 0x1C100902, // 000B EQ R4 R4 K2 - 0x78120008, // 000C JMPF R4 #0016 - 0x88100101, // 000D GETMBR R4 R0 K1 - 0x8C100903, // 000E GETMET R4 R4 K3 - 0xB81A0800, // 000F GETNGBL R6 K4 - 0x5C1C0200, // 0010 MOVE R7 R1 - 0x5C200400, // 0011 MOVE R8 R2 - 0x5C240600, // 0012 MOVE R9 R3 - 0x7C180600, // 0013 CALL R6 3 - 0x7C100400, // 0014 CALL R4 2 - 0x70020000, // 0015 JMP #0017 - 0xB0060B06, // 0016 RAISE 1 K5 K6 - 0x80000000, // 0017 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: exec_rules -********************************************************************/ -be_local_closure(Tasmota_exec_rules, /* name */ - be_nested_proto( - 14, /* nstack */ - 3, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[12]) { /* constants */ - /* K0 */ be_nested_str(cmd_res), - /* K1 */ be_nested_str(_rules), - /* K2 */ be_nested_str(json), - /* K3 */ be_nested_str(load), - /* K4 */ be_nested_str(log), - /* K5 */ be_nested_str(BRY_X3A_X20ERROR_X2C_X20bad_X20json_X3A_X20), - /* K6 */ be_const_int(3), - /* K7 */ be_const_int(0), - /* K8 */ be_nested_str(try_rule), - /* K9 */ be_nested_str(trig), - /* K10 */ be_nested_str(f), - /* K11 */ be_const_int(1), - }), - &be_const_str_exec_rules, - &be_const_str_solidified, - ( &(const binstruction[50]) { /* code */ - 0x880C0100, // 0000 GETMBR R3 R0 K0 - 0x88100101, // 0001 GETMBR R4 R0 K1 - 0x74120002, // 0002 JMPT R4 #0006 - 0x4C100000, // 0003 LDNIL R4 - 0x20100604, // 0004 NE R4 R3 R4 - 0x78120029, // 0005 JMPF R4 #0030 - 0xA4120400, // 0006 IMPORT R4 K2 - 0x4C140000, // 0007 LDNIL R5 - 0x90020005, // 0008 SETMBR R0 K0 R5 - 0x50140000, // 0009 LDBOOL R5 0 0 - 0x8C180903, // 000A GETMET R6 R4 K3 - 0x5C200200, // 000B MOVE R8 R1 - 0x7C180400, // 000C CALL R6 2 - 0x4C1C0000, // 000D LDNIL R7 - 0x1C1C0C07, // 000E EQ R7 R6 R7 - 0x781E0004, // 000F JMPF R7 #0015 - 0x8C1C0104, // 0010 GETMET R7 R0 K4 - 0x00260A01, // 0011 ADD R9 K5 R1 - 0x58280006, // 0012 LDCONST R10 K6 - 0x7C1C0600, // 0013 CALL R7 3 - 0x5C180200, // 0014 MOVE R6 R1 - 0x780A0014, // 0015 JMPF R2 #002B - 0x881C0101, // 0016 GETMBR R7 R0 K1 - 0x781E0012, // 0017 JMPF R7 #002B - 0x581C0007, // 0018 LDCONST R7 K7 - 0x6020000C, // 0019 GETGBL R8 G12 - 0x88240101, // 001A GETMBR R9 R0 K1 - 0x7C200200, // 001B CALL R8 1 - 0x14200E08, // 001C LT R8 R7 R8 - 0x7822000C, // 001D JMPF R8 #002B - 0x88200101, // 001E GETMBR R8 R0 K1 - 0x94201007, // 001F GETIDX R8 R8 R7 - 0x8C240108, // 0020 GETMET R9 R0 K8 - 0x5C2C0C00, // 0021 MOVE R11 R6 - 0x88301109, // 0022 GETMBR R12 R8 K9 - 0x8834110A, // 0023 GETMBR R13 R8 K10 - 0x7C240800, // 0024 CALL R9 4 - 0x74260001, // 0025 JMPT R9 #0028 - 0x74160000, // 0026 JMPT R5 #0028 - 0x50140001, // 0027 LDBOOL R5 0 1 - 0x50140200, // 0028 LDBOOL R5 1 0 - 0x001C0F0B, // 0029 ADD R7 R7 K11 - 0x7001FFED, // 002A JMP #0019 - 0x4C1C0000, // 002B LDNIL R7 - 0x201C0607, // 002C NE R7 R3 R7 - 0x781E0000, // 002D JMPF R7 #002F - 0x90020006, // 002E SETMBR R0 K0 R6 - 0x80040A00, // 002F RET 1 R5 - 0x50100000, // 0030 LDBOOL R4 0 0 - 0x80040800, // 0031 RET 1 R4 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: hs2rgb -********************************************************************/ -be_local_closure(Tasmota_hs2rgb, /* name */ - be_nested_proto( - 17, /* nstack */ - 3, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_const_int(0), - /* K1 */ be_nested_str(tasmota), - /* K2 */ be_nested_str(scale_uint), - /* K3 */ be_const_int(1), - /* K4 */ be_const_int(2), - /* K5 */ be_const_int(3), - }), - &be_const_str_hs2rgb, - &be_const_str_solidified, - ( &(const binstruction[68]) { /* code */ - 0x4C0C0000, // 0000 LDNIL R3 - 0x1C0C0403, // 0001 EQ R3 R2 R3 - 0x780E0000, // 0002 JMPF R3 #0004 - 0x540A00FE, // 0003 LDINT R2 255 - 0x540E00FE, // 0004 LDINT R3 255 - 0x541200FE, // 0005 LDINT R4 255 - 0x541600FE, // 0006 LDINT R5 255 - 0x541A0167, // 0007 LDINT R6 360 - 0x10040206, // 0008 MOD R1 R1 R6 - 0x24180500, // 0009 GT R6 R2 K0 - 0x781A0031, // 000A JMPF R6 #003D - 0x541A003B, // 000B LDINT R6 60 - 0x0C180206, // 000C DIV R6 R1 R6 - 0x541E003B, // 000D LDINT R7 60 - 0x101C0207, // 000E MOD R7 R1 R7 - 0x542200FE, // 000F LDINT R8 255 - 0x04201002, // 0010 SUB R8 R8 R2 - 0xB8260200, // 0011 GETNGBL R9 K1 - 0x8C241302, // 0012 GETMET R9 R9 K2 - 0x5C2C0E00, // 0013 MOVE R11 R7 - 0x58300000, // 0014 LDCONST R12 K0 - 0x5436003B, // 0015 LDINT R13 60 - 0x543A00FE, // 0016 LDINT R14 255 - 0x5C3C1000, // 0017 MOVE R15 R8 - 0x7C240C00, // 0018 CALL R9 6 - 0xB82A0200, // 0019 GETNGBL R10 K1 - 0x8C281502, // 001A GETMET R10 R10 K2 - 0x5C300E00, // 001B MOVE R12 R7 - 0x58340000, // 001C LDCONST R13 K0 - 0x543A003B, // 001D LDINT R14 60 - 0x5C3C1000, // 001E MOVE R15 R8 - 0x544200FE, // 001F LDINT R16 255 - 0x7C280C00, // 0020 CALL R10 6 - 0x1C2C0D00, // 0021 EQ R11 R6 K0 - 0x782E0002, // 0022 JMPF R11 #0026 - 0x5C141400, // 0023 MOVE R5 R10 - 0x5C101000, // 0024 MOVE R4 R8 - 0x70020016, // 0025 JMP #003D - 0x1C2C0D03, // 0026 EQ R11 R6 K3 - 0x782E0002, // 0027 JMPF R11 #002B - 0x5C0C1200, // 0028 MOVE R3 R9 - 0x5C101000, // 0029 MOVE R4 R8 - 0x70020011, // 002A JMP #003D - 0x1C2C0D04, // 002B EQ R11 R6 K4 - 0x782E0002, // 002C JMPF R11 #0030 - 0x5C0C1000, // 002D MOVE R3 R8 - 0x5C101400, // 002E MOVE R4 R10 - 0x7002000C, // 002F JMP #003D - 0x1C2C0D05, // 0030 EQ R11 R6 K5 - 0x782E0002, // 0031 JMPF R11 #0035 - 0x5C0C1000, // 0032 MOVE R3 R8 - 0x5C141200, // 0033 MOVE R5 R9 - 0x70020007, // 0034 JMP #003D - 0x542E0003, // 0035 LDINT R11 4 - 0x1C2C0C0B, // 0036 EQ R11 R6 R11 - 0x782E0002, // 0037 JMPF R11 #003B - 0x5C0C1400, // 0038 MOVE R3 R10 - 0x5C141000, // 0039 MOVE R5 R8 - 0x70020001, // 003A JMP #003D - 0x5C141000, // 003B MOVE R5 R8 - 0x5C101200, // 003C MOVE R4 R9 - 0x541A000F, // 003D LDINT R6 16 - 0x38180606, // 003E SHL R6 R3 R6 - 0x541E0007, // 003F LDINT R7 8 - 0x381C0A07, // 0040 SHL R7 R5 R7 - 0x30180C07, // 0041 OR R6 R6 R7 - 0x30180C04, // 0042 OR R6 R6 R4 - 0x80040C00, // 0043 RET 1 R6 - }) - ) -); -/*******************************************************************/ - - - - -/******************************************************************** -** Solidified function: remove_cmd -********************************************************************/ -be_local_closure(Tasmota_remove_cmd, /* 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[ 2]) { /* constants */ - /* K0 */ be_nested_str(_ccmd), - /* K1 */ be_nested_str(remove), - }), - &be_const_str_remove_cmd, - &be_const_str_solidified, - ( &(const binstruction[ 7]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x780A0003, // 0001 JMPF R2 #0006 - 0x88080100, // 0002 GETMBR R2 R0 K0 - 0x8C080501, // 0003 GETMET R2 R2 K1 - 0x5C100200, // 0004 MOVE R4 R1 - 0x7C080400, // 0005 CALL R2 2 - 0x80000000, // 0006 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: set_timer -********************************************************************/ -be_local_closure(Tasmota_set_timer, /* name */ - be_nested_proto( - 10, /* nstack */ - 4, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str(check_not_method), - /* K1 */ be_nested_str(_timers), - /* K2 */ be_nested_str(push), - /* K3 */ be_nested_str(Trigger), - /* K4 */ be_nested_str(millis), - }), - &be_const_str_set_timer, - &be_const_str_solidified, - ( &(const binstruction[19]) { /* code */ - 0x8C100100, // 0000 GETMET R4 R0 K0 - 0x5C180400, // 0001 MOVE R6 R2 - 0x7C100400, // 0002 CALL R4 2 - 0x88100101, // 0003 GETMBR R4 R0 K1 - 0x74120002, // 0004 JMPT R4 #0008 - 0x60100012, // 0005 GETGBL R4 G18 - 0x7C100000, // 0006 CALL R4 0 - 0x90020204, // 0007 SETMBR R0 K1 R4 - 0x88100101, // 0008 GETMBR R4 R0 K1 - 0x8C100902, // 0009 GETMET R4 R4 K2 - 0xB81A0600, // 000A GETNGBL R6 K3 - 0x8C1C0104, // 000B GETMET R7 R0 K4 - 0x5C240200, // 000C MOVE R9 R1 - 0x7C1C0400, // 000D CALL R7 2 - 0x5C200400, // 000E MOVE R8 R2 - 0x5C240600, // 000F MOVE R9 R3 - 0x7C180600, // 0010 CALL R6 3 - 0x7C100400, // 0011 CALL R4 2 - 0x80000000, // 0012 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: remove_timer -********************************************************************/ -be_local_closure(Tasmota_remove_timer, /* name */ - be_nested_proto( - 7, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_str(_timers), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_str(size), - /* K3 */ be_nested_str(id), - /* K4 */ be_nested_str(remove), - /* K5 */ be_const_int(1), - }), - &be_const_str_remove_timer, - &be_const_str_solidified, - ( &(const binstruction[18]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x780A000E, // 0001 JMPF R2 #0011 - 0x580C0001, // 0002 LDCONST R3 K1 - 0x8C100502, // 0003 GETMET R4 R2 K2 - 0x7C100200, // 0004 CALL R4 1 - 0x14100604, // 0005 LT R4 R3 R4 - 0x78120009, // 0006 JMPF R4 #0011 - 0x94100403, // 0007 GETIDX R4 R2 R3 - 0x88100903, // 0008 GETMBR R4 R4 K3 - 0x1C100801, // 0009 EQ R4 R4 R1 - 0x78120003, // 000A JMPF R4 #000F - 0x8C100504, // 000B GETMET R4 R2 K4 - 0x5C180600, // 000C MOVE R6 R3 - 0x7C100400, // 000D CALL R4 2 - 0x70020000, // 000E JMP #0010 - 0x000C0705, // 000F ADD R3 R3 K5 - 0x7001FFF1, // 0010 JMP #0003 - 0x80000000, // 0011 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: add_cron -********************************************************************/ -be_local_closure(Tasmota_add_cron, /* name */ - be_nested_proto( - 13, /* nstack */ - 4, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_str(check_not_method), - /* K1 */ be_nested_str(_crons), - /* K2 */ be_nested_str(ccronexpr), - /* K3 */ be_nested_str(next), - /* K4 */ be_nested_str(push), - /* K5 */ be_nested_str(Trigger), - }), - &be_const_str_add_cron, - &be_const_str_solidified, - ( &(const binstruction[25]) { /* code */ - 0x8C100100, // 0000 GETMET R4 R0 K0 - 0x5C180400, // 0001 MOVE R6 R2 - 0x7C100400, // 0002 CALL R4 2 - 0x88100101, // 0003 GETMBR R4 R0 K1 - 0x74120002, // 0004 JMPT R4 #0008 - 0x60100012, // 0005 GETGBL R4 G18 - 0x7C100000, // 0006 CALL R4 0 - 0x90020204, // 0007 SETMBR R0 K1 R4 - 0xB8120400, // 0008 GETNGBL R4 K2 - 0x60140008, // 0009 GETGBL R5 G8 - 0x5C180200, // 000A MOVE R6 R1 - 0x7C140200, // 000B CALL R5 1 - 0x7C100200, // 000C CALL R4 1 - 0x8C140903, // 000D GETMET R5 R4 K3 - 0x7C140200, // 000E CALL R5 1 - 0x88180101, // 000F GETMBR R6 R0 K1 - 0x8C180D04, // 0010 GETMET R6 R6 K4 - 0xB8220A00, // 0011 GETNGBL R8 K5 - 0x5C240A00, // 0012 MOVE R9 R5 - 0x5C280400, // 0013 MOVE R10 R2 - 0x5C2C0600, // 0014 MOVE R11 R3 - 0x5C300800, // 0015 MOVE R12 R4 - 0x7C200800, // 0016 CALL R8 4 - 0x7C180400, // 0017 CALL R6 2 - 0x80000000, // 0018 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: run_cron -********************************************************************/ -be_local_closure(Tasmota_run_cron, /* name */ - be_nested_proto( - 9, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str(_crons), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_str(ccronexpr), - /* K3 */ be_nested_str(now), - /* K4 */ be_nested_str(size), - /* K5 */ be_nested_str(trig), - /* K6 */ be_nested_str(next), - /* K7 */ be_nested_str(time_reached), - /* K8 */ be_nested_str(f), - /* K9 */ be_const_int(1), - }), - &be_const_str_run_cron, - &be_const_str_solidified, - ( &(const binstruction[34]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x7806001E, // 0001 JMPF R1 #0021 - 0x58040001, // 0002 LDCONST R1 K1 - 0xB80A0400, // 0003 GETNGBL R2 K2 - 0x8C080503, // 0004 GETMET R2 R2 K3 - 0x7C080200, // 0005 CALL R2 1 - 0x880C0100, // 0006 GETMBR R3 R0 K0 - 0x8C0C0704, // 0007 GETMET R3 R3 K4 - 0x7C0C0200, // 0008 CALL R3 1 - 0x140C0203, // 0009 LT R3 R1 R3 - 0x780E0015, // 000A JMPF R3 #0021 - 0x880C0100, // 000B GETMBR R3 R0 K0 - 0x940C0601, // 000C GETIDX R3 R3 R1 - 0x88100705, // 000D GETMBR R4 R3 K5 - 0x1C100901, // 000E EQ R4 R4 K1 - 0x78120003, // 000F JMPF R4 #0014 - 0x8C100706, // 0010 GETMET R4 R3 K6 - 0x7C100200, // 0011 CALL R4 1 - 0x900E0A04, // 0012 SETMBR R3 K5 R4 - 0x7002000A, // 0013 JMP #001F - 0x8C100707, // 0014 GETMET R4 R3 K7 - 0x7C100200, // 0015 CALL R4 1 - 0x78120007, // 0016 JMPF R4 #001F - 0x88100708, // 0017 GETMBR R4 R3 K8 - 0x8C140706, // 0018 GETMET R5 R3 K6 - 0x7C140200, // 0019 CALL R5 1 - 0x900E0A05, // 001A SETMBR R3 K5 R5 - 0x5C180800, // 001B MOVE R6 R4 - 0x5C1C0400, // 001C MOVE R7 R2 - 0x5C200A00, // 001D MOVE R8 R5 - 0x7C180400, // 001E CALL R6 2 - 0x00040309, // 001F ADD R1 R1 K9 - 0x7001FFE4, // 0020 JMP #0006 - 0x80000000, // 0021 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: next_cron -********************************************************************/ -be_local_closure(Tasmota_next_cron, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_str(_crons), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_str(size), - /* K3 */ be_nested_str(id), - /* K4 */ be_nested_str(trig), - /* K5 */ be_const_int(1), - }), - &be_const_str_next_cron, - &be_const_str_solidified, - ( &(const binstruction[17]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x780A000D, // 0001 JMPF R2 #0010 - 0x580C0001, // 0002 LDCONST R3 K1 - 0x8C100502, // 0003 GETMET R4 R2 K2 - 0x7C100200, // 0004 CALL R4 1 - 0x14100604, // 0005 LT R4 R3 R4 - 0x78120008, // 0006 JMPF R4 #0010 - 0x94100403, // 0007 GETIDX R4 R2 R3 - 0x88100903, // 0008 GETMBR R4 R4 K3 - 0x1C100801, // 0009 EQ R4 R4 R1 - 0x78120002, // 000A JMPF R4 #000E - 0x94100403, // 000B GETIDX R4 R2 R3 - 0x88100904, // 000C GETMBR R4 R4 K4 - 0x80040800, // 000D RET 1 R4 - 0x000C0705, // 000E ADD R3 R3 K5 - 0x7001FFF2, // 000F JMP #0003 - 0x80000000, // 0010 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: remove_cron -********************************************************************/ -be_local_closure(Tasmota_remove_cron, /* name */ - be_nested_proto( - 7, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_str(_crons), - /* K1 */ be_const_int(0), - /* K2 */ be_nested_str(size), - /* K3 */ be_nested_str(id), - /* K4 */ be_nested_str(remove), - /* K5 */ be_const_int(1), - }), - &be_const_str_remove_cron, - &be_const_str_solidified, - ( &(const binstruction[18]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x780A000E, // 0001 JMPF R2 #0011 - 0x580C0001, // 0002 LDCONST R3 K1 - 0x8C100502, // 0003 GETMET R4 R2 K2 - 0x7C100200, // 0004 CALL R4 1 - 0x14100604, // 0005 LT R4 R3 R4 - 0x78120009, // 0006 JMPF R4 #0011 - 0x94100403, // 0007 GETIDX R4 R2 R3 - 0x88100903, // 0008 GETMBR R4 R4 K3 - 0x1C100801, // 0009 EQ R4 R4 R1 - 0x78120003, // 000A JMPF R4 #000F - 0x8C100504, // 000B GETMET R4 R2 K4 - 0x5C180600, // 000C MOVE R6 R3 - 0x7C100400, // 000D CALL R4 2 - 0x70020000, // 000E JMP #0010 - 0x000C0705, // 000F ADD R3 R3 K5 - 0x7001FFF1, // 0010 JMP #0003 - 0x80000000, // 0011 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: exec_cmd -********************************************************************/ -be_local_closure(Tasmota_exec_cmd, /* name */ - be_nested_proto( - 12, /* nstack */ - 4, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str(_ccmd), - /* K1 */ be_nested_str(json), - /* K2 */ be_nested_str(load), - /* K3 */ be_nested_str(find_key_i), - /* K4 */ be_nested_str(resolvecmnd), - }), - &be_const_str_exec_cmd, - &be_const_str_solidified, - ( &(const binstruction[27]) { /* code */ - 0x88100100, // 0000 GETMBR R4 R0 K0 - 0x78120016, // 0001 JMPF R4 #0019 - 0xA4120200, // 0002 IMPORT R4 K1 - 0x8C140902, // 0003 GETMET R5 R4 K2 - 0x5C1C0600, // 0004 MOVE R7 R3 - 0x7C140400, // 0005 CALL R5 2 - 0x8C180103, // 0006 GETMET R6 R0 K3 - 0x88200100, // 0007 GETMBR R8 R0 K0 - 0x5C240200, // 0008 MOVE R9 R1 - 0x7C180600, // 0009 CALL R6 3 - 0x4C1C0000, // 000A LDNIL R7 - 0x201C0C07, // 000B NE R7 R6 R7 - 0x781E000B, // 000C JMPF R7 #0019 - 0x8C1C0104, // 000D GETMET R7 R0 K4 - 0x5C240C00, // 000E MOVE R9 R6 - 0x7C1C0400, // 000F CALL R7 2 - 0x881C0100, // 0010 GETMBR R7 R0 K0 - 0x941C0E06, // 0011 GETIDX R7 R7 R6 - 0x5C200C00, // 0012 MOVE R8 R6 - 0x5C240400, // 0013 MOVE R9 R2 - 0x5C280600, // 0014 MOVE R10 R3 - 0x5C2C0A00, // 0015 MOVE R11 R5 - 0x7C1C0800, // 0016 CALL R7 4 - 0x501C0200, // 0017 LDBOOL R7 1 0 - 0x80040E00, // 0018 RET 1 R7 - 0x50100000, // 0019 LDBOOL R4 0 0 - 0x80040800, // 001A RET 1 R4 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: get_light -********************************************************************/ -be_local_closure(Tasmota_get_light, /* name */ - be_nested_proto( - 6, /* 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(tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29), - /* K1 */ be_nested_str(light), - /* K2 */ be_nested_str(get), - }), - &be_const_str_get_light, - &be_const_str_solidified, - ( &(const binstruction[16]) { /* code */ - 0x60080001, // 0000 GETGBL R2 G1 - 0x580C0000, // 0001 LDCONST R3 K0 - 0x7C080200, // 0002 CALL R2 1 - 0xA40A0200, // 0003 IMPORT R2 K1 - 0x4C0C0000, // 0004 LDNIL R3 - 0x200C0203, // 0005 NE R3 R1 R3 - 0x780E0004, // 0006 JMPF R3 #000C - 0x8C0C0502, // 0007 GETMET R3 R2 K2 - 0x5C140200, // 0008 MOVE R5 R1 - 0x7C0C0400, // 0009 CALL R3 2 - 0x80040600, // 000A RET 1 R3 - 0x70020002, // 000B JMP #000F - 0x8C0C0502, // 000C GETMET R3 R2 K2 - 0x7C0C0200, // 000D CALL R3 1 - 0x80040600, // 000E RET 1 R3 - 0x80000000, // 000F RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: check_not_method -********************************************************************/ -be_local_closure(Tasmota_check_not_method, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 6]) { /* constants */ - /* K0 */ be_nested_str(introspect), - /* K1 */ be_nested_str(function), - /* K2 */ be_nested_str(type_error), - /* K3 */ be_nested_str(BRY_X3A_X20argument_X20must_X20be_X20a_X20function), - /* K4 */ be_nested_str(ismethod), - /* K5 */ be_nested_str(BRY_X3A_X20method_X20not_X20allowed_X2C_X20use_X20a_X20closure_X20like_X20_X27_X2F_X20args_X20_X2D_X3E_X20obj_X2Efunc_X28args_X29_X27), - }), - &be_const_str_check_not_method, - &be_const_str_solidified, - ( &(const binstruction[15]) { /* code */ - 0xA40A0000, // 0000 IMPORT R2 K0 - 0x600C0004, // 0001 GETGBL R3 G4 - 0x5C100200, // 0002 MOVE R4 R1 - 0x7C0C0200, // 0003 CALL R3 1 - 0x200C0701, // 0004 NE R3 R3 K1 - 0x780E0000, // 0005 JMPF R3 #0007 - 0xB0060503, // 0006 RAISE 1 K2 K3 - 0x8C0C0504, // 0007 GETMET R3 R2 K4 - 0x5C140200, // 0008 MOVE R5 R1 - 0x7C0C0400, // 0009 CALL R3 2 - 0x50100200, // 000A LDBOOL R4 1 0 - 0x1C0C0604, // 000B EQ R3 R3 R4 - 0x780E0000, // 000C JMPF R3 #000E - 0xB0060505, // 000D RAISE 1 K2 K5 - 0x80000000, // 000E RET 0 - }) - ) -); -/*******************************************************************/ +#include "solidify/solidified_tasmota_class.h" #include "be_fixed_be_class_tasmota.h" diff --git a/lib/libesp32/berry_tasmota/src/embedded/lv_tasmota.be b/lib/libesp32/berry_tasmota/src/embedded/lv_tasmota.be index fb4c9c42d..8e90ccf1b 100644 --- a/lib/libesp32/berry_tasmota/src/embedded/lv_tasmota.be +++ b/lib/libesp32/berry_tasmota/src/embedded/lv_tasmota.be @@ -3,8 +3,8 @@ #- ------------------------------------------------------------ -# lv_tasmota = module("lv_tasmota") -#@ solidify:lv_tasmota # rename `lv` to `lv_ntv` and replace `lv` with `lv_tasmota` +#@ solidify:lv_tasmota.init,weak def init(lv_tasmota) import lv lv.start = lv_tasmota.start @@ -45,6 +45,7 @@ end lv_tasmota.init = init # run splash now or schedlue later +#@ solidify:lv_tasmota.splash_init,weak def splash_init() import display if display.started() @@ -73,6 +74,7 @@ end lv_tasmota.splash_init = splash_init # remove splash +#@ solidify:lv_tasmota.splash_remove,weak def splash_remove() var _splash = lv._splash if _splash @@ -82,6 +84,7 @@ def splash_remove() end lv_tasmota.splash_remove = splash_remove +#@ solidify:lv_tasmota.splash,weak def splash() import display diff --git a/lib/libesp32/berry_tasmota/src/embedded/lv_tasmota_widgets.be b/lib/libesp32/berry_tasmota/src/embedded/lv_tasmota_widgets.be index 8b45423e7..d4bd2d51e 100644 --- a/lib/libesp32/berry_tasmota/src/embedded/lv_tasmota_widgets.be +++ b/lib/libesp32/berry_tasmota/src/embedded/lv_tasmota_widgets.be @@ -21,7 +21,7 @@ solidify.dump(lv_wifi_bars_icon, true) class lv_label end # for solidification -#@ solidify:lv_clock +#@ solidify:lv_clock,weak class lv_clock: lv_label var hour, minute, sec @@ -60,7 +60,7 @@ class lv_clock: lv_label end end -#@ solidify:lv_clock_icon +#@ solidify:lv_clock_icon,weak class lv_clock_icon: lv_clock def init(parent) @@ -86,7 +86,7 @@ end # ########################################################################################## class lv_obj end # for solidification -#@ solidify:lv_signal_arcs +#@ solidify:lv_signal_arcs,weak class lv_signal_arcs : lv_obj var percentage # value to display, range 0..100 var p1, p2, area, arc_dsc # instances of objects kept to avoid re-instanciating at each call @@ -175,7 +175,7 @@ class lv_signal_arcs : lv_obj end end -#@ solidify:lv_wifi_arcs +#@ solidify:lv_wifi_arcs,weak class lv_wifi_arcs: lv_signal_arcs def init(parent) super(self).init(parent) @@ -199,7 +199,7 @@ class lv_wifi_arcs: lv_signal_arcs end end -#@ solidify:lv_wifi_arcs_icon +#@ solidify:lv_wifi_arcs_icon,weak class lv_wifi_arcs_icon: lv_wifi_arcs def init(parent) super(self).init(parent) @@ -219,7 +219,7 @@ end # ########################################################################################## -#@ solidify:lv_signal_bars +#@ solidify:lv_signal_bars,weak class lv_signal_bars : lv_obj var percentage # value to display, range 0..100 var p1, p2, area, line_dsc # instances of objects kept to avoid re-instanciating at each call @@ -295,7 +295,7 @@ class lv_signal_bars : lv_obj end end -#@ solidify:lv_wifi_bars +#@ solidify:lv_wifi_bars,weak class lv_wifi_bars: lv_signal_bars def init(parent) super(self).init(parent) @@ -319,7 +319,7 @@ class lv_wifi_bars: lv_signal_bars end end -#@ solidify:lv_wifi_bars_icon +#@ solidify:lv_wifi_bars_icon,weak class lv_wifi_bars_icon: lv_wifi_bars def init(parent) super(self).init(parent) diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota.h index ef165ab11..37b7046f2 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota.h @@ -5,35 +5,109 @@ #include "be_constobj.h" /******************************************************************** -** Solidified function: splash_remove +** Solidified function: init ********************************************************************/ -be_local_closure(lv_tasmota_splash_remove, /* name */ +be_local_closure(lv_tasmota_init, /* name */ be_nested_proto( - 3, /* nstack */ - 0, /* argc */ + 5, /* nstack */ + 1, /* argc */ 0, /* 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(lv), - /* K1 */ be_nested_str(_splash), - /* K2 */ be_nested_str(del), + ( &(const bvalue[33]) { /* constants */ + /* K0 */ be_nested_str_weak(lv), + /* K1 */ be_nested_str_weak(start), + /* K2 */ be_nested_str_weak(splash_init), + /* K3 */ be_nested_str_weak(splash_remove), + /* K4 */ be_nested_str_weak(splash), + /* K5 */ be_nested_str_weak(_splash), + /* K6 */ be_nested_str_weak(font_montserrat), + /* K7 */ be_nested_str_weak(montserrat_font), + /* K8 */ be_nested_str_weak(font_seg7), + /* K9 */ be_nested_str_weak(seg7_font), + /* K10 */ be_nested_str_weak(font_embedded), + /* K11 */ be_nested_str_weak(load_freetype_font), + /* K12 */ be_nested_str_weak(register_button_encoder), + /* K13 */ be_nested_str_weak(screenshot), + /* K14 */ be_nested_str_weak(clock), + /* K15 */ be_nested_str_weak(lv_clock), + /* K16 */ be_nested_str_weak(clock_icon), + /* K17 */ be_nested_str_weak(lv_clock_icon), + /* K18 */ be_nested_str_weak(signal_arcs), + /* K19 */ be_nested_str_weak(lv_signal_arcs), + /* K20 */ be_nested_str_weak(signal_bars), + /* K21 */ be_nested_str_weak(lv_signal_bars), + /* K22 */ be_nested_str_weak(wifi_arcs_icon), + /* K23 */ be_nested_str_weak(lv_wifi_arcs_icon), + /* K24 */ be_nested_str_weak(wifi_arcs), + /* K25 */ be_nested_str_weak(lv_wifi_arcs), + /* K26 */ be_nested_str_weak(wifi_bars_icon), + /* K27 */ be_nested_str_weak(lv_wifi_bars_icon), + /* K28 */ be_nested_str_weak(wifi_bars), + /* K29 */ be_nested_str_weak(lv_wifi_bars), + /* K30 */ be_nested_str_weak(tasmota), + /* K31 */ be_nested_str_weak(get_option), + /* K32 */ be_const_int(0), }), - &be_const_str_splash_remove, + be_str_weak(init), &be_const_str_solidified, - ( &(const binstruction[ 9]) { /* code */ - 0xB8020000, // 0000 GETNGBL R0 K0 - 0x88000101, // 0001 GETMBR R0 R0 K1 - 0x78020004, // 0002 JMPF R0 #0008 - 0xB8060000, // 0003 GETNGBL R1 K0 - 0x4C080000, // 0004 LDNIL R2 - 0x90060202, // 0005 SETMBR R1 K1 R2 - 0x8C040102, // 0006 GETMET R1 R0 K2 - 0x7C040200, // 0007 CALL R1 1 - 0x80000000, // 0008 RET 0 + ( &(const binstruction[53]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x90060202, // 0002 SETMBR R1 K1 R2 + 0x88080102, // 0003 GETMBR R2 R0 K2 + 0x90060402, // 0004 SETMBR R1 K2 R2 + 0x88080103, // 0005 GETMBR R2 R0 K3 + 0x90060602, // 0006 SETMBR R1 K3 R2 + 0x88080104, // 0007 GETMBR R2 R0 K4 + 0x90060802, // 0008 SETMBR R1 K4 R2 + 0x4C080000, // 0009 LDNIL R2 + 0x90060A02, // 000A SETMBR R1 K5 R2 + 0x88080106, // 000B GETMBR R2 R0 K6 + 0x90060C02, // 000C SETMBR R1 K6 R2 + 0x88080106, // 000D GETMBR R2 R0 K6 + 0x90060E02, // 000E SETMBR R1 K7 R2 + 0x88080108, // 000F GETMBR R2 R0 K8 + 0x90061002, // 0010 SETMBR R1 K8 R2 + 0x88080108, // 0011 GETMBR R2 R0 K8 + 0x90061202, // 0012 SETMBR R1 K9 R2 + 0x8808010A, // 0013 GETMBR R2 R0 K10 + 0x90061402, // 0014 SETMBR R1 K10 R2 + 0x8808010B, // 0015 GETMBR R2 R0 K11 + 0x90061602, // 0016 SETMBR R1 K11 R2 + 0x8808010C, // 0017 GETMBR R2 R0 K12 + 0x90061802, // 0018 SETMBR R1 K12 R2 + 0x8808010D, // 0019 GETMBR R2 R0 K13 + 0x90061A02, // 001A SETMBR R1 K13 R2 + 0xB80A1E00, // 001B GETNGBL R2 K15 + 0x90061C02, // 001C SETMBR R1 K14 R2 + 0xB80A2200, // 001D GETNGBL R2 K17 + 0x90062002, // 001E SETMBR R1 K16 R2 + 0xB80A2600, // 001F GETNGBL R2 K19 + 0x90062402, // 0020 SETMBR R1 K18 R2 + 0xB80A2A00, // 0021 GETNGBL R2 K21 + 0x90062802, // 0022 SETMBR R1 K20 R2 + 0xB80A2E00, // 0023 GETNGBL R2 K23 + 0x90062C02, // 0024 SETMBR R1 K22 R2 + 0xB80A3200, // 0025 GETNGBL R2 K25 + 0x90063002, // 0026 SETMBR R1 K24 R2 + 0xB80A3600, // 0027 GETNGBL R2 K27 + 0x90063402, // 0028 SETMBR R1 K26 R2 + 0xB80A3A00, // 0029 GETNGBL R2 K29 + 0x90063802, // 002A SETMBR R1 K28 R2 + 0xB80A3C00, // 002B GETNGBL R2 K30 + 0x8C08051F, // 002C GETMET R2 R2 K31 + 0x54120086, // 002D LDINT R4 135 + 0x7C080400, // 002E CALL R2 2 + 0x1C080520, // 002F EQ R2 R2 K32 + 0x780A0001, // 0030 JMPF R2 #0033 + 0x8C080302, // 0031 GETMET R2 R1 K2 + 0x7C080200, // 0032 CALL R2 1 + 0x4C080000, // 0033 LDNIL R2 + 0x80040400, // 0034 RET 1 R2 }) ) ); @@ -54,10 +128,10 @@ be_local_closure(splash_runner_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str(tasmota), - /* K1 */ be_nested_str(add_driver), + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(add_driver), }), - &be_const_str_init, + be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 @@ -85,15 +159,15 @@ be_local_closure(splash_runner_display, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_str(display), - /* K1 */ be_nested_str(dim), - /* K2 */ be_nested_str(started), - /* K3 */ be_nested_str(tasmota), - /* K4 */ be_nested_str(remove_driver), - /* K5 */ be_nested_str(lv), - /* K6 */ be_nested_str(splash), + /* K0 */ be_nested_str_weak(display), + /* K1 */ be_nested_str_weak(dim), + /* K2 */ be_nested_str_weak(started), + /* K3 */ be_nested_str_weak(tasmota), + /* K4 */ be_nested_str_weak(remove_driver), + /* K5 */ be_nested_str_weak(lv), + /* K6 */ be_nested_str_weak(splash), }), - &be_const_str_display, + be_str_weak(display), &be_const_str_solidified, ( &(const binstruction[14]) { /* code */ 0xA4160000, // 0000 IMPORT R5 K0 @@ -124,10 +198,10 @@ be_local_class(splash_runner, NULL, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(display, -1), be_const_closure(splash_runner_display_closure) }, - { be_const_key(init, 0), be_const_closure(splash_runner_init_closure) }, + { be_const_key_weak(display, -1), be_const_closure(splash_runner_display_closure) }, + { be_const_key_weak(init, 0), be_const_closure(splash_runner_init_closure) }, })), - (bstring*) &be_const_str_splash_runner + be_str_weak(splash_runner) ); /******************************************************************** @@ -144,13 +218,13 @@ be_local_closure(lv_tasmota_splash_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str(display), - /* K1 */ be_nested_str(started), - /* K2 */ be_nested_str(lv), - /* K3 */ be_nested_str(splash), + /* K0 */ be_nested_str_weak(display), + /* K1 */ be_nested_str_weak(started), + /* K2 */ be_nested_str_weak(lv), + /* K3 */ be_nested_str_weak(splash), /* K4 */ be_const_class(be_class_splash_runner), }), - &be_const_str_splash_init, + be_str_weak(splash_init), &be_const_str_solidified, ( &(const binstruction[13]) { /* code */ 0xA4020000, // 0000 IMPORT R0 K0 @@ -172,6 +246,42 @@ be_local_closure(lv_tasmota_splash_init, /* name */ /*******************************************************************/ +/******************************************************************** +** Solidified function: splash_remove +********************************************************************/ +be_local_closure(lv_tasmota_splash_remove, /* name */ + be_nested_proto( + 3, /* nstack */ + 0, /* argc */ + 0, /* 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_weak(lv), + /* K1 */ be_nested_str_weak(_splash), + /* K2 */ be_nested_str_weak(del), + }), + be_str_weak(splash_remove), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0xB8020000, // 0000 GETNGBL R0 K0 + 0x88000101, // 0001 GETMBR R0 R0 K1 + 0x78020004, // 0002 JMPF R0 #0008 + 0xB8060000, // 0003 GETNGBL R1 K0 + 0x4C080000, // 0004 LDNIL R2 + 0x90060202, // 0005 SETMBR R1 K1 R2 + 0x8C040102, // 0006 GETMET R1 R0 K2 + 0x7C040200, // 0007 CALL R1 1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + /******************************************************************** ** Solidified function: splash ********************************************************************/ @@ -186,50 +296,50 @@ be_local_closure(lv_tasmota_splash, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[42]) { /* constants */ - /* K0 */ be_nested_str(display), - /* K1 */ be_nested_str(started), - /* K2 */ be_nested_str(lv), - /* K3 */ be_nested_str(start), - /* K4 */ be_nested_str(obj), - /* K5 */ be_nested_str(scr_act), - /* K6 */ be_nested_str(montserrat_font), - /* K7 */ be_nested_str(color), - /* K8 */ be_nested_str(COLOR_WHITE), - /* K9 */ be_nested_str(set_style_bg_color), + /* K0 */ be_nested_str_weak(display), + /* K1 */ be_nested_str_weak(started), + /* K2 */ be_nested_str_weak(lv), + /* K3 */ be_nested_str_weak(start), + /* K4 */ be_nested_str_weak(obj), + /* K5 */ be_nested_str_weak(scr_act), + /* K6 */ be_nested_str_weak(montserrat_font), + /* K7 */ be_nested_str_weak(color), + /* K8 */ be_nested_str_weak(COLOR_WHITE), + /* K9 */ be_nested_str_weak(set_style_bg_color), /* K10 */ be_const_int(0), - /* K11 */ be_nested_str(set_style_radius), - /* K12 */ be_nested_str(set_style_pad_all), - /* K13 */ be_nested_str(set_style_border_width), - /* K14 */ be_nested_str(set_size), - /* K15 */ be_nested_str(pct), - /* K16 */ be_nested_str(refr_pos), - /* K17 */ be_nested_str(refr_size), - /* K18 */ be_nested_str(set_user_data), + /* K11 */ be_nested_str_weak(set_style_radius), + /* K12 */ be_nested_str_weak(set_style_pad_all), + /* K13 */ be_nested_str_weak(set_style_border_width), + /* K14 */ be_nested_str_weak(set_size), + /* K15 */ be_nested_str_weak(pct), + /* K16 */ be_nested_str_weak(refr_pos), + /* K17 */ be_nested_str_weak(refr_size), + /* K18 */ be_nested_str_weak(set_user_data), /* K19 */ be_const_int(1399876712), - /* K20 */ be_nested_str(img), - /* K21 */ be_nested_str(set_tasmota_logo), - /* K22 */ be_nested_str(set_zoom), - /* K23 */ be_nested_str(set_style_img_recolor_opa), - /* K24 */ be_nested_str(set_style_img_recolor), - /* K25 */ be_nested_str(set_align), - /* K26 */ be_nested_str(ALIGN_LEFT_MID), - /* K27 */ be_nested_str(set_x), - /* K28 */ be_nested_str(label), - /* K29 */ be_nested_str(set_style_text_color), - /* K30 */ be_nested_str(set_text), - /* K31 */ be_nested_str(TASMOTA), - /* K32 */ be_nested_str(get_hor_res), - /* K33 */ be_nested_str(set_style_text_font), - /* K34 */ be_nested_str(driver_name), - /* K35 */ be_nested_str(ALIGN_BOTTOM_MID), + /* K20 */ be_nested_str_weak(img), + /* K21 */ be_nested_str_weak(set_tasmota_logo), + /* K22 */ be_nested_str_weak(set_zoom), + /* K23 */ be_nested_str_weak(set_style_img_recolor_opa), + /* K24 */ be_nested_str_weak(set_style_img_recolor), + /* K25 */ be_nested_str_weak(set_align), + /* K26 */ be_nested_str_weak(ALIGN_LEFT_MID), + /* K27 */ be_nested_str_weak(set_x), + /* K28 */ be_nested_str_weak(label), + /* K29 */ be_nested_str_weak(set_style_text_color), + /* K30 */ be_nested_str_weak(set_text), + /* K31 */ be_nested_str_weak(TASMOTA), + /* K32 */ be_nested_str_weak(get_hor_res), + /* K33 */ be_nested_str_weak(set_style_text_font), + /* K34 */ be_nested_str_weak(driver_name), + /* K35 */ be_nested_str_weak(ALIGN_BOTTOM_MID), /* K36 */ be_const_int(16777215), - /* K37 */ be_nested_str(refr_now), - /* K38 */ be_nested_str(_splash), - /* K39 */ be_nested_str(tasmota), - /* K40 */ be_nested_str(set_timer), - /* K41 */ be_nested_str(splash_remove), + /* K37 */ be_nested_str_weak(refr_now), + /* K38 */ be_nested_str_weak(_splash), + /* K39 */ be_nested_str_weak(tasmota), + /* K40 */ be_nested_str_weak(set_timer), + /* K41 */ be_nested_str_weak(splash_remove), }), - &be_const_str_splash, + be_str_weak(splash), &be_const_str_solidified, ( &(const binstruction[166]) { /* code */ 0xA4020000, // 0000 IMPORT R0 K0 @@ -403,131 +513,5 @@ be_local_closure(lv_tasmota_splash, /* name */ ); /*******************************************************************/ - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(lv_tasmota_init, /* name */ - be_nested_proto( - 5, /* nstack */ - 1, /* argc */ - 0, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[33]) { /* constants */ - /* K0 */ be_nested_str(lv), - /* K1 */ be_nested_str(start), - /* K2 */ be_nested_str(splash_init), - /* K3 */ be_nested_str(splash_remove), - /* K4 */ be_nested_str(splash), - /* K5 */ be_nested_str(_splash), - /* K6 */ be_nested_str(font_montserrat), - /* K7 */ be_nested_str(montserrat_font), - /* K8 */ be_nested_str(font_seg7), - /* K9 */ be_nested_str(seg7_font), - /* K10 */ be_nested_str(font_embedded), - /* K11 */ be_nested_str(load_freetype_font), - /* K12 */ be_nested_str(register_button_encoder), - /* K13 */ be_nested_str(screenshot), - /* K14 */ be_nested_str(clock), - /* K15 */ be_nested_str(lv_clock), - /* K16 */ be_nested_str(clock_icon), - /* K17 */ be_nested_str(lv_clock_icon), - /* K18 */ be_nested_str(signal_arcs), - /* K19 */ be_nested_str(lv_signal_arcs), - /* K20 */ be_nested_str(signal_bars), - /* K21 */ be_nested_str(lv_signal_bars), - /* K22 */ be_nested_str(wifi_arcs_icon), - /* K23 */ be_nested_str(lv_wifi_arcs_icon), - /* K24 */ be_nested_str(wifi_arcs), - /* K25 */ be_nested_str(lv_wifi_arcs), - /* K26 */ be_nested_str(wifi_bars_icon), - /* K27 */ be_nested_str(lv_wifi_bars_icon), - /* K28 */ be_nested_str(wifi_bars), - /* K29 */ be_nested_str(lv_wifi_bars), - /* K30 */ be_nested_str(tasmota), - /* K31 */ be_nested_str(get_option), - /* K32 */ be_const_int(0), - }), - &be_const_str_init, - &be_const_str_solidified, - ( &(const binstruction[53]) { /* code */ - 0xA4060000, // 0000 IMPORT R1 K0 - 0x88080101, // 0001 GETMBR R2 R0 K1 - 0x90060202, // 0002 SETMBR R1 K1 R2 - 0x88080102, // 0003 GETMBR R2 R0 K2 - 0x90060402, // 0004 SETMBR R1 K2 R2 - 0x88080103, // 0005 GETMBR R2 R0 K3 - 0x90060602, // 0006 SETMBR R1 K3 R2 - 0x88080104, // 0007 GETMBR R2 R0 K4 - 0x90060802, // 0008 SETMBR R1 K4 R2 - 0x4C080000, // 0009 LDNIL R2 - 0x90060A02, // 000A SETMBR R1 K5 R2 - 0x88080106, // 000B GETMBR R2 R0 K6 - 0x90060C02, // 000C SETMBR R1 K6 R2 - 0x88080106, // 000D GETMBR R2 R0 K6 - 0x90060E02, // 000E SETMBR R1 K7 R2 - 0x88080108, // 000F GETMBR R2 R0 K8 - 0x90061002, // 0010 SETMBR R1 K8 R2 - 0x88080108, // 0011 GETMBR R2 R0 K8 - 0x90061202, // 0012 SETMBR R1 K9 R2 - 0x8808010A, // 0013 GETMBR R2 R0 K10 - 0x90061402, // 0014 SETMBR R1 K10 R2 - 0x8808010B, // 0015 GETMBR R2 R0 K11 - 0x90061602, // 0016 SETMBR R1 K11 R2 - 0x8808010C, // 0017 GETMBR R2 R0 K12 - 0x90061802, // 0018 SETMBR R1 K12 R2 - 0x8808010D, // 0019 GETMBR R2 R0 K13 - 0x90061A02, // 001A SETMBR R1 K13 R2 - 0xB80A1E00, // 001B GETNGBL R2 K15 - 0x90061C02, // 001C SETMBR R1 K14 R2 - 0xB80A2200, // 001D GETNGBL R2 K17 - 0x90062002, // 001E SETMBR R1 K16 R2 - 0xB80A2600, // 001F GETNGBL R2 K19 - 0x90062402, // 0020 SETMBR R1 K18 R2 - 0xB80A2A00, // 0021 GETNGBL R2 K21 - 0x90062802, // 0022 SETMBR R1 K20 R2 - 0xB80A2E00, // 0023 GETNGBL R2 K23 - 0x90062C02, // 0024 SETMBR R1 K22 R2 - 0xB80A3200, // 0025 GETNGBL R2 K25 - 0x90063002, // 0026 SETMBR R1 K24 R2 - 0xB80A3600, // 0027 GETNGBL R2 K27 - 0x90063402, // 0028 SETMBR R1 K26 R2 - 0xB80A3A00, // 0029 GETNGBL R2 K29 - 0x90063802, // 002A SETMBR R1 K28 R2 - 0xB80A3C00, // 002B GETNGBL R2 K30 - 0x8C08051F, // 002C GETMET R2 R2 K31 - 0x54120086, // 002D LDINT R4 135 - 0x7C080400, // 002E CALL R2 2 - 0x1C080520, // 002F EQ R2 R2 K32 - 0x780A0001, // 0030 JMPF R2 #0033 - 0x8C080302, // 0031 GETMET R2 R1 K2 - 0x7C080200, // 0032 CALL R2 1 - 0x4C080000, // 0033 LDNIL R2 - 0x80040400, // 0034 RET 1 R2 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified module: lv_tasmota -********************************************************************/ -be_local_module(lv_tasmota, - "lv_tasmota", - be_nested_map(4, - ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(init, -1), be_const_closure(lv_tasmota_init_closure) }, - { be_const_key(splash_init, -1), be_const_closure(lv_tasmota_splash_init_closure) }, - { be_const_key(splash, -1), be_const_closure(lv_tasmota_splash_closure) }, - { be_const_key(splash_remove, 0), be_const_closure(lv_tasmota_splash_remove_closure) }, - })) -); -BE_EXPORT_VARIABLE be_define_const_native_module(lv_tasmota); -/********************************************************************/ /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota_widgets.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota_widgets.h index dcd6247f9..5c2787cc0 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota_widgets.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota_widgets.h @@ -18,18 +18,18 @@ be_local_closure(lv_clock_set_time, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str(string), - /* K1 */ be_nested_str(hour), - /* K2 */ be_nested_str(minute), - /* K3 */ be_nested_str(sec), - /* K4 */ be_nested_str(format), - /* K5 */ be_nested_str(_X2502d_X25s_X2502d), + /* K0 */ be_nested_str_weak(string), + /* K1 */ be_nested_str_weak(hour), + /* K2 */ be_nested_str_weak(minute), + /* K3 */ be_nested_str_weak(sec), + /* K4 */ be_nested_str_weak(format), + /* K5 */ be_nested_str_weak(_X2502d_X25s_X2502d), /* K6 */ be_const_int(2), - /* K7 */ be_nested_str(_X3A), - /* K8 */ be_nested_str(_X20), - /* K9 */ be_nested_str(set_text), + /* K7 */ be_nested_str_weak(_X3A), + /* K8 */ be_nested_str_weak(_X20), + /* K9 */ be_nested_str_weak(set_text), }), - &be_const_str_set_time, + be_str_weak(set_time), &be_const_str_solidified, ( &(const binstruction[27]) { /* code */ 0xA4120000, // 0000 IMPORT R4 K0 @@ -79,17 +79,17 @@ be_local_closure(lv_clock_every_second, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ - /* K0 */ be_nested_str(tasmota), - /* K1 */ be_nested_str(time_dump), - /* K2 */ be_nested_str(rtc), - /* K3 */ be_nested_str(local), - /* K4 */ be_nested_str(year), - /* K5 */ be_nested_str(set_time), - /* K6 */ be_nested_str(hour), - /* K7 */ be_nested_str(min), - /* K8 */ be_nested_str(sec), + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(time_dump), + /* K2 */ be_nested_str_weak(rtc), + /* K3 */ be_nested_str_weak(local), + /* K4 */ be_nested_str_weak(year), + /* K5 */ be_nested_str_weak(set_time), + /* K6 */ be_nested_str_weak(hour), + /* K7 */ be_nested_str_weak(min), + /* K8 */ be_nested_str_weak(sec), }), - &be_const_str_every_second, + be_str_weak(every_second), &be_const_str_solidified, ( &(const binstruction[17]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 @@ -139,9 +139,9 @@ be_local_closure(lv_clock_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str(before_del), + /* K0 */ be_nested_str_weak(before_del), }), - &be_const_str__X3Clambda_X3E, + be_str_weak(_X3Clambda_X3E), &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ 0x68000000, // 0000 GETUPV R0 U0 @@ -153,21 +153,21 @@ be_local_closure(lv_clock_init, /* name */ }), 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ - /* K0 */ be_nested_str(init), - /* K1 */ be_nested_str(lv), - /* K2 */ be_nested_str(seg7_font), - /* K3 */ be_nested_str(set_style_text_font), - /* K4 */ be_nested_str(PART_MAIN), - /* K5 */ be_nested_str(STATE_DEFAULT), - /* K6 */ be_nested_str(set_text), - /* K7 */ be_nested_str(_X2D_X2D_X3A_X2D_X2D), - /* K8 */ be_nested_str(add_event_cb), - /* K9 */ be_nested_str(EVENT_DELETE), + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(lv), + /* K2 */ be_nested_str_weak(seg7_font), + /* K3 */ be_nested_str_weak(set_style_text_font), + /* K4 */ be_nested_str_weak(PART_MAIN), + /* K5 */ be_nested_str_weak(STATE_DEFAULT), + /* K6 */ be_nested_str_weak(set_text), + /* K7 */ be_nested_str_weak(_X2D_X2D_X3A_X2D_X2D), + /* K8 */ be_nested_str_weak(add_event_cb), + /* K9 */ be_nested_str_weak(EVENT_DELETE), /* K10 */ be_const_int(0), - /* K11 */ be_nested_str(tasmota), - /* K12 */ be_nested_str(add_driver), + /* K11 */ be_nested_str_weak(tasmota), + /* K12 */ be_nested_str_weak(add_driver), }), - &be_const_str_init, + be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[36]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 @@ -226,10 +226,10 @@ be_local_closure(lv_clock_before_del, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str(tasmota), - /* K1 */ be_nested_str(remove_driver), + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(remove_driver), }), - &be_const_str_before_del, + be_str_weak(before_del), &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 @@ -252,15 +252,15 @@ be_local_class(lv_clock, &be_class_lv_label, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(sec, -1), be_const_var(2) }, - { be_const_key(hour, -1), be_const_var(0) }, - { be_const_key(before_del, 6), be_const_closure(lv_clock_before_del_closure) }, - { be_const_key(every_second, -1), be_const_closure(lv_clock_every_second_closure) }, - { be_const_key(minute, -1), be_const_var(1) }, - { be_const_key(set_time, 2), be_const_closure(lv_clock_set_time_closure) }, - { be_const_key(init, -1), be_const_closure(lv_clock_init_closure) }, + { be_const_key_weak(sec, -1), be_const_var(2) }, + { be_const_key_weak(hour, -1), be_const_var(0) }, + { be_const_key_weak(before_del, 6), be_const_closure(lv_clock_before_del_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(lv_clock_every_second_closure) }, + { be_const_key_weak(minute, -1), be_const_var(1) }, + { be_const_key_weak(set_time, 2), be_const_closure(lv_clock_set_time_closure) }, + { be_const_key_weak(init, -1), be_const_closure(lv_clock_init_closure) }, })), - (bstring*) &be_const_str_lv_clock + be_str_weak(lv_clock) ); /*******************************************************************/ @@ -284,24 +284,24 @@ be_local_closure(lv_clock_icon_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ - /* K0 */ be_nested_str(init), - /* K1 */ be_nested_str(get_height), - /* K2 */ be_nested_str(refr_size), - /* K3 */ be_nested_str(get_width), - /* K4 */ be_nested_str(set_y), + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(get_height), + /* K2 */ be_nested_str_weak(refr_size), + /* K3 */ be_nested_str_weak(get_width), + /* K4 */ be_nested_str_weak(set_y), /* K5 */ be_const_int(2), - /* K6 */ be_nested_str(get_style_pad_right), - /* K7 */ be_nested_str(lv), - /* K8 */ be_nested_str(PART_MAIN), - /* K9 */ be_nested_str(STATE_DEFAULT), - /* K10 */ be_nested_str(set_x), + /* K6 */ be_nested_str_weak(get_style_pad_right), + /* K7 */ be_nested_str_weak(lv), + /* K8 */ be_nested_str_weak(PART_MAIN), + /* K9 */ be_nested_str_weak(STATE_DEFAULT), + /* K10 */ be_nested_str_weak(set_x), /* K11 */ be_const_int(3), - /* K12 */ be_nested_str(set_style_pad_right), - /* K13 */ be_nested_str(set_style_bg_color), - /* K14 */ be_nested_str(color), - /* K15 */ be_nested_str(COLOR_BLACK), + /* K12 */ be_nested_str_weak(set_style_pad_right), + /* K13 */ be_nested_str_weak(set_style_bg_color), + /* K14 */ be_nested_str_weak(color), + /* K15 */ be_nested_str_weak(COLOR_BLACK), }), - &be_const_str_init, + be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[60]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 @@ -379,9 +379,9 @@ be_local_class(lv_clock_icon, &be_class_lv_clock, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(init, -1), be_const_closure(lv_clock_icon_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(lv_clock_icon_init_closure) }, })), - (bstring*) &be_const_str_lv_clock_icon + be_str_weak(lv_clock_icon) ); /*******************************************************************/ @@ -405,11 +405,11 @@ be_local_closure(lv_signal_arcs_set_percentage, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str(percentage), + /* K0 */ be_nested_str_weak(percentage), /* K1 */ be_const_int(0), - /* K2 */ be_nested_str(invalidate), + /* K2 */ be_nested_str_weak(invalidate), }), - &be_const_str_set_percentage, + be_str_weak(set_percentage), &be_const_str_solidified, ( &(const binstruction[18]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 @@ -450,18 +450,18 @@ be_local_closure(lv_signal_arcs_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str(_lvgl), - /* K1 */ be_nested_str(create_custom_widget), - /* K2 */ be_nested_str(percentage), - /* K3 */ be_nested_str(p1), - /* K4 */ be_nested_str(lv), - /* K5 */ be_nested_str(point), - /* K6 */ be_nested_str(p2), - /* K7 */ be_nested_str(area), - /* K8 */ be_nested_str(arc_dsc), - /* K9 */ be_nested_str(draw_arc_dsc), + /* K0 */ be_nested_str_weak(_lvgl), + /* K1 */ be_nested_str_weak(create_custom_widget), + /* K2 */ be_nested_str_weak(percentage), + /* K3 */ be_nested_str_weak(p1), + /* K4 */ be_nested_str_weak(lv), + /* K5 */ be_nested_str_weak(point), + /* K6 */ be_nested_str_weak(p2), + /* K7 */ be_nested_str_weak(area), + /* K8 */ be_nested_str_weak(arc_dsc), + /* K9 */ be_nested_str_weak(draw_arc_dsc), }), - &be_const_str_init, + be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[24]) { /* code */ 0xB80A0000, // 0000 GETNGBL R2 K0 @@ -518,7 +518,7 @@ be_local_closure(lv_signal_arcs_widget_event, /* name */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_int(1), }), - &be_const_str_atleast1, + be_str_weak(atleast1), &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x28040100, // 0000 GE R1 R0 K0 @@ -532,43 +532,43 @@ be_local_closure(lv_signal_arcs_widget_event, /* name */ }), 1, /* has constants */ ( &(const bvalue[35]) { /* constants */ - /* K0 */ be_nested_str(lv), - /* K1 */ be_nested_str(obj_event_base), - /* K2 */ be_nested_str(RES_OK), - /* K3 */ be_nested_str(code), - /* K4 */ be_nested_str(math), - /* K5 */ be_nested_str(get_height), - /* K6 */ be_nested_str(get_width), + /* K0 */ be_nested_str_weak(lv), + /* K1 */ be_nested_str_weak(obj_event_base), + /* K2 */ be_nested_str_weak(RES_OK), + /* K3 */ be_nested_str_weak(code), + /* K4 */ be_nested_str_weak(math), + /* K5 */ be_nested_str_weak(get_height), + /* K6 */ be_nested_str_weak(get_width), /* K7 */ be_const_int(2), /* K8 */ be_const_int(3), - /* K9 */ be_nested_str(EVENT_DRAW_MAIN), - /* K10 */ be_nested_str(draw_ctx), - /* K11 */ be_nested_str(param), - /* K12 */ be_nested_str(get_coords), - /* K13 */ be_nested_str(area), - /* K14 */ be_nested_str(x1), - /* K15 */ be_nested_str(y1), - /* K16 */ be_nested_str(draw_arc_dsc_init), - /* K17 */ be_nested_str(arc_dsc), - /* K18 */ be_nested_str(init_draw_arc_dsc), - /* K19 */ be_nested_str(PART_MAIN), - /* K20 */ be_nested_str(rounded), + /* K9 */ be_nested_str_weak(EVENT_DRAW_MAIN), + /* K10 */ be_nested_str_weak(draw_ctx), + /* K11 */ be_nested_str_weak(param), + /* K12 */ be_nested_str_weak(get_coords), + /* K13 */ be_nested_str_weak(area), + /* K14 */ be_nested_str_weak(x1), + /* K15 */ be_nested_str_weak(y1), + /* K16 */ be_nested_str_weak(draw_arc_dsc_init), + /* K17 */ be_nested_str_weak(arc_dsc), + /* K18 */ be_nested_str_weak(init_draw_arc_dsc), + /* K19 */ be_nested_str_weak(PART_MAIN), + /* K20 */ be_nested_str_weak(rounded), /* K21 */ be_const_int(1), - /* K22 */ be_nested_str(width), - /* K23 */ be_nested_str(get_style_line_color), - /* K24 */ be_nested_str(STATE_DEFAULT), - /* K25 */ be_nested_str(get_style_bg_color), - /* K26 */ be_nested_str(deg), - /* K27 */ be_nested_str(acos), - /* K28 */ be_nested_str(p1), - /* K29 */ be_nested_str(x), - /* K30 */ be_nested_str(y), - /* K31 */ be_nested_str(color), - /* K32 */ be_nested_str(percentage), - /* K33 */ be_nested_str(draw_arc), + /* K22 */ be_nested_str_weak(width), + /* K23 */ be_nested_str_weak(get_style_line_color), + /* K24 */ be_nested_str_weak(STATE_DEFAULT), + /* K25 */ be_nested_str_weak(get_style_bg_color), + /* K26 */ be_nested_str_weak(deg), + /* K27 */ be_nested_str_weak(acos), + /* K28 */ be_nested_str_weak(p1), + /* K29 */ be_nested_str_weak(x), + /* K30 */ be_nested_str_weak(y), + /* K31 */ be_nested_str_weak(color), + /* K32 */ be_nested_str_weak(percentage), + /* K33 */ be_nested_str_weak(draw_arc), /* K34 */ be_const_int(0), }), - &be_const_str_widget_event, + be_str_weak(widget_event), &be_const_str_solidified, ( &(const binstruction[171]) { /* code */ 0xB80E0000, // 0000 GETNGBL R3 K0 @@ -762,9 +762,9 @@ be_local_closure(lv_signal_arcs_get_percentage, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str(percentage), + /* K0 */ be_nested_str_weak(percentage), }), - &be_const_str_get_percentage, + be_str_weak(get_percentage), &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 @@ -784,17 +784,17 @@ be_local_class(lv_signal_arcs, &be_class_lv_obj, be_nested_map(9, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(percentage, -1), be_const_var(0) }, - { be_const_key(area, 4), be_const_var(3) }, - { be_const_key(p2, -1), be_const_var(2) }, - { be_const_key(get_percentage, -1), be_const_closure(lv_signal_arcs_get_percentage_closure) }, - { be_const_key(p1, -1), be_const_var(1) }, - { be_const_key(arc_dsc, -1), be_const_var(4) }, - { be_const_key(init, 5), be_const_closure(lv_signal_arcs_init_closure) }, - { be_const_key(widget_event, -1), be_const_closure(lv_signal_arcs_widget_event_closure) }, - { be_const_key(set_percentage, 3), be_const_closure(lv_signal_arcs_set_percentage_closure) }, + { be_const_key_weak(percentage, -1), be_const_var(0) }, + { be_const_key_weak(area, 4), be_const_var(3) }, + { be_const_key_weak(p2, -1), be_const_var(2) }, + { be_const_key_weak(get_percentage, -1), be_const_closure(lv_signal_arcs_get_percentage_closure) }, + { be_const_key_weak(p1, -1), be_const_var(1) }, + { be_const_key_weak(arc_dsc, -1), be_const_var(4) }, + { be_const_key_weak(init, 5), be_const_closure(lv_signal_arcs_init_closure) }, + { be_const_key_weak(widget_event, -1), be_const_closure(lv_signal_arcs_widget_event_closure) }, + { be_const_key_weak(set_percentage, 3), be_const_closure(lv_signal_arcs_set_percentage_closure) }, })), - (bstring*) &be_const_str_lv_signal_arcs + be_str_weak(lv_signal_arcs) ); /*******************************************************************/ @@ -818,10 +818,10 @@ be_local_closure(lv_wifi_arcs_before_del, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str(tasmota), - /* K1 */ be_nested_str(remove_driver), + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(remove_driver), }), - &be_const_str_before_del, + be_str_weak(before_del), &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 @@ -849,13 +849,13 @@ be_local_closure(lv_wifi_arcs_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str(init), - /* K1 */ be_nested_str(tasmota), - /* K2 */ be_nested_str(add_driver), - /* K3 */ be_nested_str(set_percentage), + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(tasmota), + /* K2 */ be_nested_str_weak(add_driver), + /* K3 */ be_nested_str_weak(set_percentage), /* K4 */ be_const_int(0), }), - &be_const_str_init, + be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[14]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 @@ -892,15 +892,15 @@ be_local_closure(lv_wifi_arcs_every_second, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_str(tasmota), - /* K1 */ be_nested_str(wifi), - /* K2 */ be_nested_str(find), - /* K3 */ be_nested_str(quality), - /* K4 */ be_nested_str(ip), - /* K5 */ be_nested_str(set_percentage), + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(wifi), + /* K2 */ be_nested_str_weak(find), + /* K3 */ be_nested_str_weak(quality), + /* K4 */ be_nested_str_weak(ip), + /* K5 */ be_nested_str_weak(set_percentage), /* K6 */ be_const_int(0), }), - &be_const_str_every_second, + be_str_weak(every_second), &be_const_str_solidified, ( &(const binstruction[23]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 @@ -941,11 +941,11 @@ be_local_class(lv_wifi_arcs, &be_class_lv_signal_arcs, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(before_del, 1), be_const_closure(lv_wifi_arcs_before_del_closure) }, - { be_const_key(every_second, 2), be_const_closure(lv_wifi_arcs_every_second_closure) }, - { be_const_key(init, -1), be_const_closure(lv_wifi_arcs_init_closure) }, + { be_const_key_weak(before_del, 1), be_const_closure(lv_wifi_arcs_before_del_closure) }, + { be_const_key_weak(every_second, 2), be_const_closure(lv_wifi_arcs_every_second_closure) }, + { be_const_key_weak(init, -1), be_const_closure(lv_wifi_arcs_init_closure) }, })), - (bstring*) &be_const_str_lv_wifi_arcs + be_str_weak(lv_wifi_arcs) ); /*******************************************************************/ @@ -969,26 +969,26 @@ be_local_closure(lv_wifi_arcs_icon_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ - /* K0 */ be_nested_str(init), - /* K1 */ be_nested_str(set_style_line_color), - /* K2 */ be_nested_str(lv), - /* K3 */ be_nested_str(color), - /* K4 */ be_nested_str(COLOR_WHITE), - /* K5 */ be_nested_str(PART_MAIN), - /* K6 */ be_nested_str(STATE_DEFAULT), - /* K7 */ be_nested_str(set_style_bg_color), - /* K8 */ be_nested_str(COLOR_BLACK), - /* K9 */ be_nested_str(get_height), - /* K10 */ be_nested_str(get_style_pad_right), - /* K11 */ be_nested_str(set_height), + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(set_style_line_color), + /* K2 */ be_nested_str_weak(lv), + /* K3 */ be_nested_str_weak(color), + /* K4 */ be_nested_str_weak(COLOR_WHITE), + /* K5 */ be_nested_str_weak(PART_MAIN), + /* K6 */ be_nested_str_weak(STATE_DEFAULT), + /* K7 */ be_nested_str_weak(set_style_bg_color), + /* K8 */ be_nested_str_weak(COLOR_BLACK), + /* K9 */ be_nested_str_weak(get_height), + /* K10 */ be_nested_str_weak(get_style_pad_right), + /* K11 */ be_nested_str_weak(set_height), /* K12 */ be_const_int(3), - /* K13 */ be_nested_str(set_width), - /* K14 */ be_nested_str(set_x), - /* K15 */ be_nested_str(get_width), - /* K16 */ be_nested_str(set_style_pad_right), + /* K13 */ be_nested_str_weak(set_width), + /* K14 */ be_nested_str_weak(set_x), + /* K15 */ be_nested_str_weak(get_width), + /* K16 */ be_nested_str_weak(set_style_pad_right), /* K17 */ be_const_int(1), }), - &be_const_str_init, + be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[67]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 @@ -1073,9 +1073,9 @@ be_local_class(lv_wifi_arcs_icon, &be_class_lv_wifi_arcs, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(init, -1), be_const_closure(lv_wifi_arcs_icon_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(lv_wifi_arcs_icon_init_closure) }, })), - (bstring*) &be_const_str_lv_wifi_arcs_icon + be_str_weak(lv_wifi_arcs_icon) ); /*******************************************************************/ @@ -1099,11 +1099,11 @@ be_local_closure(lv_signal_bars_set_percentage, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str(percentage), + /* K0 */ be_nested_str_weak(percentage), /* K1 */ be_const_int(0), - /* K2 */ be_nested_str(invalidate), + /* K2 */ be_nested_str_weak(invalidate), }), - &be_const_str_set_percentage, + be_str_weak(set_percentage), &be_const_str_solidified, ( &(const binstruction[18]) { /* code */ 0x88080100, // 0000 GETMBR R2 R0 K0 @@ -1144,18 +1144,18 @@ be_local_closure(lv_signal_bars_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str(_lvgl), - /* K1 */ be_nested_str(create_custom_widget), - /* K2 */ be_nested_str(percentage), - /* K3 */ be_nested_str(p1), - /* K4 */ be_nested_str(lv), - /* K5 */ be_nested_str(point), - /* K6 */ be_nested_str(p2), - /* K7 */ be_nested_str(area), - /* K8 */ be_nested_str(line_dsc), - /* K9 */ be_nested_str(draw_line_dsc), + /* K0 */ be_nested_str_weak(_lvgl), + /* K1 */ be_nested_str_weak(create_custom_widget), + /* K2 */ be_nested_str_weak(percentage), + /* K3 */ be_nested_str_weak(p1), + /* K4 */ be_nested_str_weak(lv), + /* K5 */ be_nested_str_weak(point), + /* K6 */ be_nested_str_weak(p2), + /* K7 */ be_nested_str_weak(area), + /* K8 */ be_nested_str_weak(line_dsc), + /* K9 */ be_nested_str_weak(draw_line_dsc), }), - &be_const_str_init, + be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[24]) { /* code */ 0xB80A0000, // 0000 GETNGBL R2 K0 @@ -1212,7 +1212,7 @@ be_local_closure(lv_signal_bars_widget_event, /* name */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_int(1), }), - &be_const_str_atleast1, + be_str_weak(atleast1), &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ 0x28040100, // 0000 GE R1 R0 K0 @@ -1226,46 +1226,46 @@ be_local_closure(lv_signal_bars_widget_event, /* name */ }), 1, /* has constants */ ( &(const bvalue[38]) { /* constants */ - /* K0 */ be_nested_str(lv), - /* K1 */ be_nested_str(obj_event_base), - /* K2 */ be_nested_str(RES_OK), - /* K3 */ be_nested_str(code), - /* K4 */ be_nested_str(get_height), - /* K5 */ be_nested_str(get_width), + /* K0 */ be_nested_str_weak(lv), + /* K1 */ be_nested_str_weak(obj_event_base), + /* K2 */ be_nested_str_weak(RES_OK), + /* K3 */ be_nested_str_weak(code), + /* K4 */ be_nested_str_weak(get_height), + /* K5 */ be_nested_str_weak(get_width), /* K6 */ be_const_int(3), /* K7 */ be_const_int(2), - /* K8 */ be_nested_str(EVENT_DRAW_MAIN), - /* K9 */ be_nested_str(draw_ctx), - /* K10 */ be_nested_str(param), - /* K11 */ be_nested_str(get_coords), - /* K12 */ be_nested_str(area), - /* K13 */ be_nested_str(x1), - /* K14 */ be_nested_str(y1), - /* K15 */ be_nested_str(draw_line_dsc_init), - /* K16 */ be_nested_str(line_dsc), - /* K17 */ be_nested_str(init_draw_line_dsc), - /* K18 */ be_nested_str(PART_MAIN), - /* K19 */ be_nested_str(round_start), + /* K8 */ be_nested_str_weak(EVENT_DRAW_MAIN), + /* K9 */ be_nested_str_weak(draw_ctx), + /* K10 */ be_nested_str_weak(param), + /* K11 */ be_nested_str_weak(get_coords), + /* K12 */ be_nested_str_weak(area), + /* K13 */ be_nested_str_weak(x1), + /* K14 */ be_nested_str_weak(y1), + /* K15 */ be_nested_str_weak(draw_line_dsc_init), + /* K16 */ be_nested_str_weak(line_dsc), + /* K17 */ be_nested_str_weak(init_draw_line_dsc), + /* K18 */ be_nested_str_weak(PART_MAIN), + /* K19 */ be_nested_str_weak(round_start), /* K20 */ be_const_int(1), - /* K21 */ be_nested_str(round_end), - /* K22 */ be_nested_str(width), - /* K23 */ be_nested_str(get_style_line_color), - /* K24 */ be_nested_str(STATE_DEFAULT), - /* K25 */ be_nested_str(get_style_bg_color), - /* K26 */ be_nested_str(event_send), - /* K27 */ be_nested_str(EVENT_DRAW_PART_BEGIN), + /* K21 */ be_nested_str_weak(round_end), + /* K22 */ be_nested_str_weak(width), + /* K23 */ be_nested_str_weak(get_style_line_color), + /* K24 */ be_nested_str_weak(STATE_DEFAULT), + /* K25 */ be_nested_str_weak(get_style_bg_color), + /* K26 */ be_nested_str_weak(event_send), + /* K27 */ be_nested_str_weak(EVENT_DRAW_PART_BEGIN), /* K28 */ be_const_int(0), - /* K29 */ be_nested_str(color), - /* K30 */ be_nested_str(percentage), - /* K31 */ be_nested_str(p1), - /* K32 */ be_nested_str(y), - /* K33 */ be_nested_str(x), - /* K34 */ be_nested_str(p2), - /* K35 */ be_nested_str(draw_line), - /* K36 */ be_nested_str(stop_iteration), - /* K37 */ be_nested_str(EVENT_DRAW_PART_END), + /* K29 */ be_nested_str_weak(color), + /* K30 */ be_nested_str_weak(percentage), + /* K31 */ be_nested_str_weak(p1), + /* K32 */ be_nested_str_weak(y), + /* K33 */ be_nested_str_weak(x), + /* K34 */ be_nested_str_weak(p2), + /* K35 */ be_nested_str_weak(draw_line), + /* K36 */ be_nested_str_weak(stop_iteration), + /* K37 */ be_nested_str_weak(EVENT_DRAW_PART_END), }), - &be_const_str_widget_event, + be_str_weak(widget_event), &be_const_str_solidified, ( &(const binstruction[138]) { /* code */ 0xB80E0000, // 0000 GETNGBL R3 K0 @@ -1426,9 +1426,9 @@ be_local_closure(lv_signal_bars_get_percentage, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str(percentage), + /* K0 */ be_nested_str_weak(percentage), }), - &be_const_str_get_percentage, + be_str_weak(get_percentage), &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 @@ -1448,17 +1448,17 @@ be_local_class(lv_signal_bars, &be_class_lv_obj, be_nested_map(9, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(percentage, 4), be_const_var(0) }, - { be_const_key(p1, 5), be_const_var(1) }, - { be_const_key(p2, -1), be_const_var(2) }, - { be_const_key(get_percentage, -1), be_const_closure(lv_signal_bars_get_percentage_closure) }, - { be_const_key(line_dsc, -1), be_const_var(4) }, - { be_const_key(area, -1), be_const_var(3) }, - { be_const_key(init, -1), be_const_closure(lv_signal_bars_init_closure) }, - { be_const_key(widget_event, -1), be_const_closure(lv_signal_bars_widget_event_closure) }, - { be_const_key(set_percentage, 3), be_const_closure(lv_signal_bars_set_percentage_closure) }, + { be_const_key_weak(percentage, 4), be_const_var(0) }, + { be_const_key_weak(p1, 5), be_const_var(1) }, + { be_const_key_weak(p2, -1), be_const_var(2) }, + { be_const_key_weak(get_percentage, -1), be_const_closure(lv_signal_bars_get_percentage_closure) }, + { be_const_key_weak(line_dsc, -1), be_const_var(4) }, + { be_const_key_weak(area, -1), be_const_var(3) }, + { be_const_key_weak(init, -1), be_const_closure(lv_signal_bars_init_closure) }, + { be_const_key_weak(widget_event, -1), be_const_closure(lv_signal_bars_widget_event_closure) }, + { be_const_key_weak(set_percentage, 3), be_const_closure(lv_signal_bars_set_percentage_closure) }, })), - (bstring*) &be_const_str_lv_signal_bars + be_str_weak(lv_signal_bars) ); /*******************************************************************/ @@ -1482,10 +1482,10 @@ be_local_closure(lv_wifi_bars_before_del, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str(tasmota), - /* K1 */ be_nested_str(remove_driver), + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(remove_driver), }), - &be_const_str_before_del, + be_str_weak(before_del), &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 @@ -1513,13 +1513,13 @@ be_local_closure(lv_wifi_bars_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str(init), - /* K1 */ be_nested_str(tasmota), - /* K2 */ be_nested_str(add_driver), - /* K3 */ be_nested_str(set_percentage), + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(tasmota), + /* K2 */ be_nested_str_weak(add_driver), + /* K3 */ be_nested_str_weak(set_percentage), /* K4 */ be_const_int(0), }), - &be_const_str_init, + be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[14]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 @@ -1556,15 +1556,15 @@ be_local_closure(lv_wifi_bars_every_second, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_str(tasmota), - /* K1 */ be_nested_str(wifi), - /* K2 */ be_nested_str(find), - /* K3 */ be_nested_str(quality), - /* K4 */ be_nested_str(ip), - /* K5 */ be_nested_str(set_percentage), + /* K0 */ be_nested_str_weak(tasmota), + /* K1 */ be_nested_str_weak(wifi), + /* K2 */ be_nested_str_weak(find), + /* K3 */ be_nested_str_weak(quality), + /* K4 */ be_nested_str_weak(ip), + /* K5 */ be_nested_str_weak(set_percentage), /* K6 */ be_const_int(0), }), - &be_const_str_every_second, + be_str_weak(every_second), &be_const_str_solidified, ( &(const binstruction[23]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 @@ -1605,11 +1605,11 @@ be_local_class(lv_wifi_bars, &be_class_lv_signal_bars, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(before_del, 1), be_const_closure(lv_wifi_bars_before_del_closure) }, - { be_const_key(every_second, 2), be_const_closure(lv_wifi_bars_every_second_closure) }, - { be_const_key(init, -1), be_const_closure(lv_wifi_bars_init_closure) }, + { be_const_key_weak(before_del, 1), be_const_closure(lv_wifi_bars_before_del_closure) }, + { be_const_key_weak(every_second, 2), be_const_closure(lv_wifi_bars_every_second_closure) }, + { be_const_key_weak(init, -1), be_const_closure(lv_wifi_bars_init_closure) }, })), - (bstring*) &be_const_str_lv_wifi_bars + be_str_weak(lv_wifi_bars) ); /*******************************************************************/ @@ -1633,25 +1633,25 @@ be_local_closure(lv_wifi_bars_icon_init, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ - /* K0 */ be_nested_str(init), - /* K1 */ be_nested_str(set_style_line_color), - /* K2 */ be_nested_str(lv), - /* K3 */ be_nested_str(color), - /* K4 */ be_nested_str(COLOR_WHITE), - /* K5 */ be_nested_str(PART_MAIN), - /* K6 */ be_nested_str(STATE_DEFAULT), - /* K7 */ be_nested_str(set_style_bg_color), - /* K8 */ be_nested_str(COLOR_BLACK), - /* K9 */ be_nested_str(get_height), - /* K10 */ be_nested_str(get_style_pad_right), - /* K11 */ be_nested_str(set_height), - /* K12 */ be_nested_str(set_width), - /* K13 */ be_nested_str(set_x), - /* K14 */ be_nested_str(get_width), - /* K15 */ be_nested_str(set_style_pad_right), + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(set_style_line_color), + /* K2 */ be_nested_str_weak(lv), + /* K3 */ be_nested_str_weak(color), + /* K4 */ be_nested_str_weak(COLOR_WHITE), + /* K5 */ be_nested_str_weak(PART_MAIN), + /* K6 */ be_nested_str_weak(STATE_DEFAULT), + /* K7 */ be_nested_str_weak(set_style_bg_color), + /* K8 */ be_nested_str_weak(COLOR_BLACK), + /* K9 */ be_nested_str_weak(get_height), + /* K10 */ be_nested_str_weak(get_style_pad_right), + /* K11 */ be_nested_str_weak(set_height), + /* K12 */ be_nested_str_weak(set_width), + /* K13 */ be_nested_str_weak(set_x), + /* K14 */ be_nested_str_weak(get_width), + /* K15 */ be_nested_str_weak(set_style_pad_right), /* K16 */ be_const_int(1), }), - &be_const_str_init, + be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[64]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 @@ -1733,9 +1733,9 @@ be_local_class(lv_wifi_bars_icon, &be_class_lv_wifi_bars, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(init, -1), be_const_closure(lv_wifi_bars_icon_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(lv_wifi_bars_icon_init_closure) }, })), - (bstring*) &be_const_str_lv_wifi_bars_icon + be_str_weak(lv_wifi_bars_icon) ); /*******************************************************************/