xSoQgZpMyQ}~bFFz(!Q4e&qXaIJ9fS=i{}n`=zSqNq)!YJwWxAXyApm5JavgQk^bENgN0R48;NZYi*xyK?NkNtxs&
zD=P=Ys--M9pWs1eSbHMRDAD8=l@i4yibn7@6ij9nlLd*K&<)1#T!9yR
z(u!d+lFZQLqHxCMqZPWyM5QdFrw~M?DKanOz2XndJNYk@;NdS%!ZX|yyWuIQ=D*2M
zbIymXE&mOcoXa5}f?`=C(b#ZwKTWE=C?aFSQW@Nu&=i@U)Xoagsv
zA;{Nb&@TcuaQhUT;rHjDMjSnY%6dM~3T1`cQxLZEp(}Vkk_GJLJ_|Su{|6CmRulh`
zi09Am5cqHT5HoRrk4vHf79V%xPjF8qFV%x1gx9pLFNpD;yp
delta 1620
zcmZWqU1%It6waPBO*WhCCTV_6n!VmlnjM)$(gp%CNfS)|&Dc&d%J)PG@#z
zJ2Tn-;4cV5{Xs=~N>M24lRk)6Tu@ql@wIP0Nvsb(D1s@eE)E#sp;VkCU+zKt#J2Rq4(~!>ilkGHrh`W
z@8Y)SD+PQ~8=P#Vis~DVEzG0%
zb{Dju(*|R$v}kA=t2ck!20d+**`k6LhUbsKAryA(j>2;FTom4o;IHkl*g}1F#SeqX
zEocpc^cXCipo(Q|*>x?FAU3Bvw%=f_DAqO$%wfxK#h??T9T4vi6I91?+`0^$?toJR
zG)!}JFL$Nh`A!EUleAi$<(Q%LB85t(=bs1J$xKonw
z$&;{IeR>k^P2imh9C2B`H#N4ckxC5-Sy$OJ(XYOJAU}c*xY`CsV>N&cjnfYLTfX
zF?8Y=88O*aVtB-~oy#_UvkuZrDWdqkYZSJ9w&w{-h$3cXj-+|2$0O`5i3Av@*PcCH
zmt-p?Mw}4dDO_Z#PbP_GxZ+S!%4MGT2wtAwjy#7WYKm(^@>|T$&6}0QJSj21=xB|2
z_{T7$5Hc`2%X={^WMM&EuNtc8Qxzy;zOaD_FNDmdrF;;DiFKg3w8mjpGceK;8lPW-
zA-u5y3Cw1pL#l(Z72l{Z5=>f~DQs*HEs3)kev8j$;4FTafhoM7fo0UP{8Eo);RK$~
zLbrH*9N$=hboF)?<|FNUsx4ytIT)PYe_y0BQ7y&u1e<9gq9haXn92!xa-2ws*T&B)
z&=<(s!&TfDZeLG)Z3uet?_n4bgbi$oWf2T<;*^?WkH_c!3UAo8(hG2#0emJ@Z7#4EHkzC+`H&^&4
zNvJoKBFysG{w8>3rW(4T{=ZSW>y!dU_xhb42&t*vBz=Kj8a-h73}3ar+KeJb4-}C}
zMH2O8;B5|`f|06s0j?+Umm9EN{ryGwGk@?W@!JC!Yvw-*?D`qV;iVs;sj2Bdi(l!t
diff --git a/tasmota/berry/openhasp_src/openhasp.tapp b/tasmota/berry/openhasp_src/openhasp.tapp
index 9e8e495599f157de92025b41329f09114d40aa15..954fe51268a8a9c92107678059bb27d2be8400b8 100644
GIT binary patch
delta 1776
zcmcIlUuauZ7*DKrHcglGrpa16m*dT{CYq(zP24(bTWy_SYfJ60rlvP1x#uRA+&}5P
zXI;dODZV&i`0yb^5CmTYry>MjySX=gaUer*NCi;@#W&fDPQR0zRHH>i@RECye1Cr5
z@B4k{-23*Gt}9o&K0M*S@8yp!EniAq_(9tC`NZAp+wZe$%&JhgmMyYV%RRoX7}+f1
z-O&6G_4pI;W?;~tXfy&x{rKm*-YHy@!Kt1Ek!gwRwgqE-_rQhVAz`WLs>(dejo<)A
z{uG?R_1?Zm5u(}$0^--blenG;3CEex^kD&H=w(YDCzftx0t7F#aaQMwW?Q_&4%?xb
zyV~B8ZP-qy`*?U3Vb6w#aD6=-PhzO4{}tM#_0Fu%!;Pq*VU-Qm>ABdSMx@LAu@d@g
zR8@*L=eGGkN0jF=n8tUrJ9@dYtAiRwXFO!3B364%igjbP4Qjwwl4#^(X&K@M=7m5!61^J%*BwQrPF2}Ow)x0@98e{)I6TX#tFR4b
zamBP9Mka_XHwRL(&6>eXbWrDcqEb$q=!EDRX~t(oMKUo#jEyX8rDG7D890|99HY5S
z%8V0UVZ>r*2zJ)W6|>%;j<8@Qml;~N)A=_xE_ZaRoYic{q&zi}5i-f+NqrG=k@J;q`I74{n_l1e3K>W
z*0!U_F5`+!HaGulLo~EGjGuNa!Ys9!mJotdjxrQabJUX#n~dl#(Jg|9NQ}(TU7jJd
zXgeJGS0Zrjnber3J1!@s3M*AbK28DyF^dwD@rtb?j>%L~5G7Yq=|TWrT#JMI>>)Un
z8+@{*YKw`M5`*%(6RcXaEIhEgSD>{T&P?nAYC&Ob0Aec#;Z}aQ+rxzexd*Y#BD|B!
z!1dfD#8#hxdLe}0QGXi3C*zIA>a-ueeSZjk{6yN*QX6hPH+b%USN9*pMfNbT5=MRH
zV=WE-t;}NDf5>c5NyxnH$w54QaX+_rv!{F0```7xnNLAHC&RmI5^Swa-ll6Xq$FWV
zIdHoG1x-07NcaQrR_>h7SvO}k9(pG}WZfZbdDfNXC#by?FUiQxJWM*f^
zndzDattkEg@qF={Qo#?Ff-oo|h895!LHyvypr}7U5EU#)iTBQClUdV&%iK9H&pG#b
z&Ye5oq;A|veYTi9_3_P5SO0nU&2RtyIg#M2H!+cLTxvHI-z}>2rPXvIb!2N(9p2gu
z_2hgSKkOL|zw9}i#NT_*W3lf%I(^UM?Y_AWAHeBJ$N!tnuZQpc_!wE$ZkWB5Zfx(^|8wJbE{`R)uIGAlaBAInEFE{Zk0Fr?^Q;-O1?4iIwmn$hsK#OV`Pv=K_-)Kr3W6L(
z;geN@>uZy^DNSIpay%*E?9T8LmQNo9Vk?2sq7WT)??~;wI#_vpPVPlZ%HkW+W&B<$
z;yq~@=PMV}0JIH?k5}@n%B>4?;dZ5zZ0zf`v;;m4I;w#wLQ9BnV-Z9I%~E`yb6eno
z3L;Cg^kS7yL6yiqa^~%14*kZ0Vrvsms-8NeUa6
z8U#+nCa*8@oy~iWOq%0))OQ`b#)QQ`)`t6lqnNEYH;-ULUY>{?!8Ml_%$C44n`zI{
z3`|esO?e7`kO9BAFo5^uGmOX+DF%VxN#`OmA69dCS2-IabXS>*qO&Vm{8t&ki|RR?
z-|1iI7Ln6`Fb=*;HA6SF&Rpr9(~OwxbUQcNb(!=syEi%~7dNDnBT*C&0MH{HxLBB8
m5sv_bZ>yi=!>`^s_3A+P-xmM+^)dc)#S_25(e+;v?D-EC!OndE
diff --git a/tasmota/berry/openhasp_src/openhasp_core/openhasp.be b/tasmota/berry/openhasp_src/openhasp_core/openhasp.be
index 64aaa506b..f9b8b6ef4 100644
--- a/tasmota/berry/openhasp_src/openhasp_core/openhasp.be
+++ b/tasmota/berry/openhasp_src/openhasp_core/openhasp.be
@@ -71,8 +71,8 @@ class lvh_obj
"w": "width",
"h": "height",
# arc
- "asjustable": nil,
- "mode": nil,
+ # "asjustable": nil,
+ # "mode": nil,
"start_angle": "bg_start_angle",
"start_angle1": "start_angle",
"end_angle": "bg_end_angle",
@@ -81,13 +81,13 @@ class lvh_obj
"border_side": "style_border_side",
"border_width": "style_border_width",
"border_color": "style_border_color",
- "line_width": nil, # depends on class
- "line_width1": nil, # depends on class
- "action": nil, # store the action in self.action
- "hidden": nil, # apply to self
- "enabled": nil, # apply to self
- "click": nil, # synonym to enabled
- "toggle": nil,
+ # "line_width": nil, # depends on class
+ # "line_width1": nil, # depends on class
+ # "action": nil, # store the action in self.action
+ # "hidden": nil, # apply to self
+ # "enabled": nil, # apply to self
+ # "click": nil, # synonym to enabled
+ # "toggle": nil,
"bg_color": "style_bg_color",
"bg_opa": "style_bg_opa",
"bg_grad_color": "style_bg_grad_color",
@@ -98,48 +98,50 @@ class lvh_obj
"pad_top": "style_pad_top",
"pad_bottom": "style_pad_bottom",
"pad_all": "style_pad_all", # write-only
- "type": nil,
+ # "type": nil,
# below automatically create a sub-label
- "text": nil, # apply to self
- "value_str": nil, # synonym to 'text'
- "align": nil,
- "text_font": nil,
- "value_font": nil, # synonym to text_font
- "text_color": nil,
- "value_color": nil, # synonym to text_color
- "value_ofs_x": nil,
- "value_ofs_y": nil,
+ # "text": nil, # apply to self
+ # "value_str": nil, # synonym to 'text'
+ # "align": nil,
+ # "text_font": nil,
+ # "value_font": nil, # synonym to text_font
+ # "text_color": nil,
+ # "value_color": nil, # synonym to text_color
+ # "value_ofs_x": nil,
+ # "value_ofs_y": nil,
#
- "min": nil,
- "max": nil,
- "val": nil,
+ # "min": nil,
+ # "max": nil,
+ # "val": nil,
"rotation": "rotation",
# img
"src": "src",
"image_recolor": "style_img_recolor",
"image_recolor_opa": "style_img_recolor_opa",
# spinner
- "angle": nil,
- "speed": nil,
+ # "angle": nil,
+ # "speed": nil,
# padding of knob
- "pad_top2": nil,
- "pad_bottom2": nil,
- "pad_left2": nil,
- "pad_right2": nil,
- "pad_all2": nil,
- "radius2": nil,
+ # "pad_top2": nil,
+ # "pad_bottom2": nil,
+ # "pad_left2": nil,
+ # "pad_right2": nil,
+ # "pad_all2": nil,
+ # "radius2": nil,
# rule based update of attributes
# supporting both `val` and `text`
- "val_rule": nil,
- "val_rule_formula": nil,
- "text_rule": nil,
- "text_rule_formula": nil,
- "text_rule_format": nil,
+ # "val_rule": nil,
+ # "val_rule_formula": nil,
+ # "text_rule": nil,
+ # "text_rule_formula": nil,
+ # "text_rule_format": nil,
+ # roller
+ # "options": nil,
# qrcode
- "qr_size": nil,
- "qr_dark_color": nil,
- "qr_light_color": nil,
- "qr_text": nil,
+ # "qr_size": nil,
+ # "qr_dark_color": nil,
+ # "qr_light_color": nil,
+ # "qr_text": nil,
}
#====================================================================
@@ -317,9 +319,18 @@ class lvh_obj
if event_hasp != nil
import string
- var val = string.format('{"hasp":{"p%ib%i":"%s"}}', self._page._page_id, self.id, event_hasp)
+ var tas_event_more = "" # complementary data
+ if event.code == lv.EVENT_VALUE_CHANGED
+ try
+ # try to get the new val
+ var val = self.val
+ tas_event_more = string.format(',"val":%i', val)
+ except ..
+ end
+ end
+ var tas_event = string.format('{"hasp":{"p%ib%i":{"event":"%s"%s}}}', self._page._page_id, self.id, event_hasp, tas_event_more)
# print("val=",val)
- tasmota.set_timer(0, /-> tasmota.publish_rule(val))
+ tasmota.set_timer(0, /-> tasmota.publish_rule(tas_event))
end
end
@@ -641,37 +652,35 @@ class lvh_obj
#- ------------------------------------------------------------#
def member(k)
import string
- # ignore attributes
- # print("member","self=",self,"k=",k)
+ import introspect
+
+ # print("> getmember", k)
+ var prefix = k[0..3]
+ if prefix == "set_" || prefix == "get_" return end
+ # if attribute name is in ignore list, abort
if self._attr_ignore.find(k) != nil return end
- # check if the key is known
+ # first check if there is a method named `get_X()`
+ var f = introspect.get(self, "get_" + k) # call self method
+ if type(f) == 'function'
+ return f(self)
+ end
+
+ # next check if there is a mapping to an LVGL attribute
if self._attr_map.contains(k)
- # attribute is known
- # kv: (if string) the LVGL attribute name of the object - direct mapping
- # kv: (if `nil`) call `get_` method of the object
- import introspect
var kv = self._attr_map[k]
- if kv == nil
- # call the object's `get_X()`
- var f = introspect.get(self, "get_" + k) # call self method
- if type(f) == 'function'
- return f(self)
- end
- else
- # call the native LVGL object method
- var f = introspect.get(self._lv_obj, "get_" + kv)
- if type(f) == 'function' # found and function, call it
- if string.find(kv, "style_") == 0
- # style function need a selector as second parameter
- return f(self._lv_obj, 0 #- lv.PART_MAIN | lv.STATE_DEFAULT -#)
- else
- return f(self._lv_obj)
- end
+ f = introspect.get(self._lv_obj, "get_" + kv)
+ if type(f) == 'function' # found and function, call it
+ if string.find(kv, "style_") == 0
+ # style function need a selector as second parameter
+ return f(self._lv_obj, 0 #- lv.PART_MAIN | lv.STATE_DEFAULT -#)
+ else
+ return f(self._lv_obj)
end
end
end
+
# fallback to exception if attribute unknown or not a function
raise "value_error", "unknown attribute " + str(k)
end
@@ -680,45 +689,44 @@ class lvh_obj
# `setmember` virtual setter
#- ------------------------------------------------------------#
def setmember(k, v)
- # print(">> setmember", k, v)
- # print(">>", classname(self), self._attr_map)
- # ignore attributes
+ import string
+ import introspect
+
+ # print("> setmember", k, v)
+ var prefix = k[0..3]
+ if prefix == "set_" || prefix == "get_" return end
+ # if attribute name is in ignore list, abort
if self._attr_ignore.find(k) != nil return end
- # is attribute known
+
+ # first check if there is a method named `set_X()`
+ var f = introspect.get(self, "set_" + k)
+ if type(f) == 'function'
+ f(self, v)
+ return
+ end
+
+ # next check if there is a mapping to an LVGL attribute
if self._attr_map.contains(k)
- import string
- import introspect
- var kv = self._attr_map[k]
- # if a string is attached to the name, then set the corresponding LVGL attribute
- if kv
- var f = introspect.get(self._lv_obj, "set_" + kv)
- # if the attribute contains 'color', convert to lv_color
- if type(kv) == 'string' && self.is_color_attribute(kv)
- v = self.parse_color(v)
- end
- # print("f=", f, v, kv, self._lv_obj, self)
- if type(f) == 'function'
- if string.find(kv, "style_") == 0
- # style function need a selector as second parameter
- f(self._lv_obj, v, 0 #- lv.PART_MAIN | lv.STATE_DEFAULT -#)
- else
- f(self._lv_obj, v)
- end
- return
- else
- print("HSP: Could not find function set_"+kv)
- end
- else
- # else call the specific method from self
- var f = introspect.get(self, "set_" + k)
- # print("f==",f)
- if type(f) == 'function'
- f(self, v)
- return
- end
- end
+ var kv = self._attr_map[k]
+ f = introspect.get(self._lv_obj, "set_" + kv)
+ # if the attribute contains 'color', convert to lv_color
+ if self.is_color_attribute(kv)
+ v = self.parse_color(v)
+ end
+ # print("f=", f, v, kv, self._lv_obj, self)
+ if type(f) == 'function'
+ if string.find(kv, "style_") == 0
+ # style function need a selector as second parameter
+ f(self._lv_obj, v, 0 #- lv.PART_MAIN | lv.STATE_DEFAULT -#)
+ else
+ f(self._lv_obj, v)
+ end
+ return
+ else
+ print("HSP: Could not find function set_"+kv)
+ end
else
print("HSP: unknown attribute:", k)
end
@@ -1010,6 +1018,13 @@ class lvh_roller : lvh_obj
def get_val()
return self._lv_obj.get_selected()
end
+
+ def set_options(t)
+ self._lv_obj.set_options(t, lv.ROLLER_MODE_NORMAL)
+ end
+ def get_options()
+ return self._lv_obj.get_options()
+ end
end
#################################################################################
diff --git a/tasmota/berry/openhasp_src/openhasp_demo.tapp b/tasmota/berry/openhasp_src/openhasp_demo.tapp
index 4a1e54df087ce2dd7dd34f09ce180420a230d535..9e69b789593547a6b03942abe5e5a04391f69377 100644
GIT binary patch
delta 1949
zcmcgtT})e59B=<)P+BM-888Itp#^ENHe;LF#4+fgL9_A^Hi~?7m)rJ~Ug^EJ-g}B{
zvarObnfPEfJ=>G765^B2YGR1`=)#jes(Uj_)ZmMWiNW|kw|teMF)^|2?K$WF@%w-L
z{`cN{8?H~jaNYXYUbpRj^TGPnb^qHx)jzV?>K}2>w!N{Uk*p-}DqPsMpR0VzN4&E6
zYTjgWB1^r!L{qXsC&7=eaJwAN+U-96c?AsM@<(y$b-i}1
znppOsq@F_iK9XGuMPiZBt5Pf+os39>FNH^kBSSmZgfQd!-d+IXnJ}F!P)1mWN<^ct
z6J-8?&5~>g3FczbY&uk`d?H_y8H%xSoQgZpMyQ}~bFFz(!Q4e&qXaIJ9fS=i{}n`=zSqNq)!YJwWxAXyApm5JavgQk^bENgN0R48;NZYi*xyK?NkNtxs&
zD=P=Ys--M9pWs1eSbHMRDAD8=l@i4yibn7@6ij9nlLd*K&<)1#T!9yR
z(u!d+lFZQLqHxCMqZPWyM5QdFrw~M?DKanOz2XndJNYk@;NdS%!ZX|yyWuIQ=D*2M
zbIymXE&mOcoXa5}f?`=C(b#ZwKTWE=C?aFSQW@Nu&=i@U)Xoagsv
zA;{Nb&@TcuaQhUT;rHjDMjSnY%6dM~3T1`cQxLZEp(}Vkk_GJLJ_|Su{|6CmRulh`
zi09Am5cqHT5HoRrk4vHf79V%xPjF8qFV%x1gx9pLFNpD;yp
delta 1620
zcmZWqU1%It6waPBO*WhCCTV_6n!VmlnjM)$(gp%CNfS)|&Dc&d%J)PG@#z
zJ2Tn-;4cV5{Xs=~N>M24lRk)6Tu@ql@wIP0Nvsb(D1s@eE)E#sp;VkCU+zKt#J2Rq4(~!>ilkGHrh`W
z@8Y)SD+PQ~8=P#Vis~DVEzG0%
zb{Dju(*|R$v}kA=t2ck!20d+**`k6LhUbsKAryA(j>2;FTom4o;IHkl*g}1F#SeqX
zEocpc^cXCipo(Q|*>x?FAU3Bvw%=f_DAqO$%wfxK#h??T9T4vi6I91?+`0^$?toJR
zG)!}JFL$Nh`A!EUleAi$<(Q%LB85t(=bs1J$xKonw
z$&;{IeR>k^P2imh9C2B`H#N4ckxC5-Sy$OJ(XYOJAU}c*xY`CsV>N&cjnfYLTfX
zF?8Y=88O*aVtB-~oy#_UvkuZrDWdqkYZSJ9w&w{-h$3cXj-+|2$0O`5i3Av@*PcCH
zmt-p?Mw}4dDO_Z#PbP_GxZ+S!%4MGT2wtAwjy#7WYKm(^@>|T$&6}0QJSj21=xB|2
z_{T7$5Hc`2%X={^WMM&EuNtc8Qxzy;zOaD_FNDmdrF;;DiFKg3w8mjpGceK;8lPW-
zA-u5y3Cw1pL#l(Z72l{Z5=>f~DQs*HEs3)kev8j$;4FTafhoM7fo0UP{8Eo);RK$~
zLbrH*9N$=hboF)?<|FNUsx4ytIT)PYe_y0BQ7y&u1e<9gq9haXn92!xa-2ws*T&B)
z&=<(s!&TfDZeLG)Z3uet?_n4bgbi$oWf2T<;*^?WkH_c!3UAo8(hG2#0emJ@Z7#4EHkzC+`H&^&4
zNvJoKBFysG{w8>3rW(4T{=ZSW>y!dU_xhb42&t*vBz=Kj8a-h73}3ar+KeJb4-}C}
zMH2O8;B5|`f|06s0j?+Umm9EN{ryGwGk@?W@!JC!Yvw-*?D`qV;iVs;sj2Bdi(l!t
From ba3a258247fe474d61f2556788d9f89d5fbb0a3b Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Thu, 12 May 2022 10:58:36 +0200
Subject: [PATCH 12/48] Update post_esp32.py
---
pio-tools/post_esp32.py | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/pio-tools/post_esp32.py b/pio-tools/post_esp32.py
index 5b58b0c0a..837187d4f 100644
--- a/pio-tools/post_esp32.py
+++ b/pio-tools/post_esp32.py
@@ -45,11 +45,18 @@ def esp32_build_filesystem(fs_size):
os.makedirs(filesystem_dir)
print("Creating filesystem with content:")
for file in files:
+ if "no_files" in file:
+ continue
shutil.copy(file, filesystem_dir)
+ if not os.listdir(filesystem_dir):
+ print("No files added -> will NOT create littlefs.bin and NOT overwrite fs partition!")
+ return False
env.Replace( MKSPIFFSTOOL=platform.get_package_dir("tool-mklittlefs") + '/mklittlefs' )
tool = env.subst(env["MKSPIFFSTOOL"])
cmd = (tool,"-c",filesystem_dir,"-s",fs_size,join(env.subst("$BUILD_DIR"),"littlefs.bin"))
returncode = subprocess.call(cmd, shell=False)
+ # print(retrncode)
+ return True
def esp32_fetch_safeboot_bin(chip):
safeboot_fw_url = "https://github.com/arendst/Tasmota-firmware/raw/main/firmware/tasmota32/tasmota" + ("32solo1" if "solo1" in env.subst("$BUILD_DIR") else chip[3:]) + "-safeboot.bin"
@@ -74,9 +81,9 @@ def esp32_create_combined_bin(source, target, env):
# The offset from begin of the file where the app0 partition starts
# This is defined in the partition .csv file
- factory_offset = -1 # error code value
+ # factory_offset = -1 # error code value - currently unused
app_offset = 0x10000 # default value for "old" scheme
- fs_offset = -1 # error code value
+ fs_offset = -1 # error code value
with open(env.BoardConfig().get("build.partitions")) as csv_file:
print("Read partitions from ",env.BoardConfig().get("build.partitions"))
csv_reader = csv.reader(csv_file, delimiter=',')
@@ -92,9 +99,9 @@ def esp32_create_combined_bin(source, target, env):
app_offset = int(row[3],base=16)
# elif(row[0] == 'factory'):
# factory_offset = int(row[3],base=16)
- elif(row[0] == 'spiffs'):
- fs_offset = int(row[3],base=16)
- esp32_build_filesystem(row[4])
+ elif(row[0] == 'spiffs'):
+ if esp32_build_filesystem(row[4]):
+ fs_offset = int(row[3],base=16)
new_file_name = env.subst("$BUILD_DIR/${PROGNAME}.factory.bin")
From 1a9ca0d7748a00192aa355ee56ef0c3807f8760f Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Thu, 12 May 2022 10:59:21 +0200
Subject: [PATCH 13/48] Update platformio_tasmota_env32.ini
---
platformio_tasmota_env32.ini | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/platformio_tasmota_env32.ini b/platformio_tasmota_env32.ini
index 18e1fa60a..7977b8394 100644
--- a/platformio_tasmota_env32.ini
+++ b/platformio_tasmota_env32.ini
@@ -34,6 +34,11 @@ lib_ignore =
BluetoothSerial
; Disable next if you want to use ArduinoOTA in Tasmota32 (default disabled)
ArduinoOTA
+; Add files to Filesystem for all env (global). Remove no files entry and add add a line with the file to include
+; Example for adding the Partition Manager
+; custom_files_upload =
+; tasmota/berry/modules/Partition_Manager.tapp
+custom_files_upload = no_files
[env:tasmota32]
extends = env:tasmota32_base
From a610db2e900bb3160270f08361de309888a93957 Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Thu, 12 May 2022 11:02:10 +0200
Subject: [PATCH 14/48] Example for custom Partition file upload
---
platformio_tasmota_cenv_sample.ini | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/platformio_tasmota_cenv_sample.ini b/platformio_tasmota_cenv_sample.ini
index b4b2438aa..3205cde3f 100644
--- a/platformio_tasmota_cenv_sample.ini
+++ b/platformio_tasmota_cenv_sample.ini
@@ -12,6 +12,14 @@ build_flags = ${env:tasmota32_base.build_flags}
-D USE_WIFI_RANGE_EXTENDER
-D USE_WIFI_RANGE_EXTENDER_NAPT
+[env:tasmota32s3]
+extends = env:tasmota32_base
+board = esp32s3
+build_flags = ${env:tasmota32_base.build_flags} -D FIRMWARE_TASMOTA32
+; example for custom file upload in Tasmota Filesystem
+; custom_files_upload = ${env:tasmota32_base.custom_files_upload}
+; tasmota/berry/modules/Partition_wizard.tapp
+
; *** Debug version used for PlatformIO Home Project Inspection
[env:tasmota-debug]
build_type = debug
From 232594153d58fc06f7b008c84d4a566fb9ba0891 Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Thu, 12 May 2022 12:41:48 +0200
Subject: [PATCH 15/48] Update tasmota_lib_changes.md
---
lib/lib_audio/ESP8266Audio/tasmota_lib_changes.md | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/lib/lib_audio/ESP8266Audio/tasmota_lib_changes.md b/lib/lib_audio/ESP8266Audio/tasmota_lib_changes.md
index bea02c652..6177f9d7d 100644
--- a/lib/lib_audio/ESP8266Audio/tasmota_lib_changes.md
+++ b/lib/lib_audio/ESP8266Audio/tasmota_lib_changes.md
@@ -13,6 +13,13 @@ remove in file `lib/lib_audio/ESP8266Audio/src/AudioFileSourceFS.cpp`
#endif
```
+add in file `lib/lib_audio/ESP8266Audio/src/spiram-fast.h`
+```
+#ifndef SPECIAL
+#define SPECIAL 0xF0
+#endif
+```
+
Files to delete:
```
lib/lib_audio/ESP8266Audio/src/AudioFileSourceSPIFFS.h
From e6e1127a1e9ba1934a26fd5852a9fc8fedab12ea Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Thu, 12 May 2022 13:13:39 +0200
Subject: [PATCH 16/48] Support more target build names
---
pio-tools/post_esp32.py | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/pio-tools/post_esp32.py b/pio-tools/post_esp32.py
index 837187d4f..2e919391b 100644
--- a/pio-tools/post_esp32.py
+++ b/pio-tools/post_esp32.py
@@ -38,6 +38,13 @@ import esptool
FRAMEWORK_DIR = platform.get_package_dir("framework-arduinoespressif32")
variants_dir = join(FRAMEWORK_DIR, "variants", "tasmota")
+def esp32_create_chip_string(chip):
+ tasmota_platform = env.subst("$BUILD_DIR").split('/')[-1]
+ tasmota_platform = tasmota_platform.split('-')[0]
+ if 'tasmota' and chip[3:] not in tasmota_platform: # quick check for a valid name like 'tasmota' + '32c3'
+ print('Unexpected naming conventions in this build environment -> Undefined behavior for further build process!!')
+ return tasmota_platform
+
def esp32_build_filesystem(fs_size):
files = env.GetProjectOption("custom_files_upload").splitlines()
filesystem_dir = join(env.subst("$BUILD_DIR"),"littlefs_data")
@@ -55,12 +62,12 @@ def esp32_build_filesystem(fs_size):
tool = env.subst(env["MKSPIFFSTOOL"])
cmd = (tool,"-c",filesystem_dir,"-s",fs_size,join(env.subst("$BUILD_DIR"),"littlefs.bin"))
returncode = subprocess.call(cmd, shell=False)
- # print(retrncode)
+ # print(returncode)
return True
-def esp32_fetch_safeboot_bin(chip):
- safeboot_fw_url = "https://github.com/arendst/Tasmota-firmware/raw/main/firmware/tasmota32/tasmota" + ("32solo1" if "solo1" in env.subst("$BUILD_DIR") else chip[3:]) + "-safeboot.bin"
- safeboot_fw_name = join(variants_dir,"tasmota" + ("32solo1" if "solo1" in env.subst("$BUILD_DIR") else chip[3:]) + "-safeboot.bin")
+def esp32_fetch_safeboot_bin(tasmota_platform):
+ safeboot_fw_url = "https://github.com/arendst/Tasmota-firmware/raw/main/firmware/tasmota32/" + tasmota_platform + "-safeboot.bin"
+ safeboot_fw_name = join(variants_dir, tasmota_platform + "-safeboot.bin")
if(exists(safeboot_fw_name)):
print("safeboot binary already in place.")
return
@@ -70,9 +77,9 @@ def esp32_fetch_safeboot_bin(chip):
open(safeboot_fw_name, "wb").write(response.content)
print("safeboot binary written to variants dir.")
-def esp32_copy_new_safeboot_bin(chip,new_local_safeboot_fw):
+def esp32_copy_new_safeboot_bin(tasmota_platform,new_local_safeboot_fw):
print("Copy new local safeboot firmware to variants dir -> using it for further flashing operations")
- safeboot_fw_name = join(variants_dir,"tasmota" + ("32solo1" if "solo1" in env.subst("$BUILD_DIR") else chip[3:]) + "-safeboot.bin")
+ safeboot_fw_name = join(variants_dir, tasmota_platform + "-safeboot.bin")
if os.path.exists(variants_dir):
shutil.copy(new_local_safeboot_fw, safeboot_fw_name)
@@ -108,12 +115,13 @@ def esp32_create_combined_bin(source, target, env):
sections = env.subst(env.get("FLASH_EXTRA_IMAGES"))
firmware_name = env.subst("$BUILD_DIR/${PROGNAME}.bin")
chip = env.get("BOARD_MCU")
+ tasmota_platform = esp32_create_chip_string(chip)
if not os.path.exists(variants_dir):
os.makedirs(variants_dir)
if("safeboot" in firmware_name):
- esp32_copy_new_safeboot_bin(chip,firmware_name)
+ esp32_copy_new_safeboot_bin(tasmota_platform,firmware_name)
else:
- esp32_fetch_safeboot_bin(chip)
+ esp32_fetch_safeboot_bin(tasmota_platform)
flash_size = env.BoardConfig().get("upload.flash_size", "4MB")
cmd = [
"--chip",
From 2478bb2707a4c758db2756be502be29d6245480f Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Thu, 12 May 2022 13:46:45 +0200
Subject: [PATCH 17/48] Remove duplicate S3 entry
fix formatting of `custom_files_upload`
S3 is not alpha anymore. Considering it as stable like S2/C3
---
platformio_tasmota_cenv_sample.ini | 24 +-----------------------
1 file changed, 1 insertion(+), 23 deletions(-)
diff --git a/platformio_tasmota_cenv_sample.ini b/platformio_tasmota_cenv_sample.ini
index 3205cde3f..d2ac59086 100644
--- a/platformio_tasmota_cenv_sample.ini
+++ b/platformio_tasmota_cenv_sample.ini
@@ -18,7 +18,7 @@ board = esp32s3
build_flags = ${env:tasmota32_base.build_flags} -D FIRMWARE_TASMOTA32
; example for custom file upload in Tasmota Filesystem
; custom_files_upload = ${env:tasmota32_base.custom_files_upload}
-; tasmota/berry/modules/Partition_wizard.tapp
+; tasmota/berry/modules/Partition_wizard.tapp
; *** Debug version used for PlatformIO Home Project Inspection
[env:tasmota-debug]
@@ -60,25 +60,3 @@ debug_init_break = tbreak setup
build_unflags = ${core32solo1.build_unflags}
build_flags = ${core32solo1.build_flags}
monitor_filters = esp32_exception_decoder
-
-; *** alpha S3 Version
-[env:tasmota32s3]
-extends = env:tasmota32_base
-board = esp32s3
-build_flags = ${env:tasmota32_base.build_flags} -D FIRMWARE_BLUETOOTH
-lib_extra_dirs =
- lib/lib_basic
- lib/lib_ssl
- lib/lib_i2c
- lib/lib_rf
- lib/lib_div
- lib/lib_display
- lib/lib_audio
- lib/libesp32
- lib/libesp32_lvgl
- lib/libesp32_div
- lib/libesp32_eink
-lib_ignore =
- TTGO TWatch Library
- Micro-RTSP
- epdiy
From a93db3aa92c57c058a6d82521fe56207f75f307a Mon Sep 17 00:00:00 2001
From: Theo Arends <11044339+arendst@users.noreply.github.com>
Date: Thu, 12 May 2022 14:17:25 +0200
Subject: [PATCH 18/48] Add esp32c3usb.json board file
---
boards/esp32c3usb.json | 43 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 boards/esp32c3usb.json
diff --git a/boards/esp32c3usb.json b/boards/esp32c3usb.json
new file mode 100644
index 000000000..09651ac8b
--- /dev/null
+++ b/boards/esp32c3usb.json
@@ -0,0 +1,43 @@
+{
+ "build": {
+ "arduino":{
+ "ldscript": "esp32c3_out.ld"
+ },
+ "core": "esp32",
+ "extra_flags": "-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DESP32_4M -DESP32C3 -DUSE_USB_SERIAL_CONSOLE",
+ "f_cpu": "160000000L",
+ "f_flash": "80000000L",
+ "flash_mode": "dout",
+ "mcu": "esp32c3",
+ "variant": "esp32c3",
+ "partitions": "esp32_partition_app2880k_fs320k.csv"
+ },
+ "connectivity": [
+ "wifi"
+ ],
+ "debug": {
+ "openocd_target": "esp32c3.cfg"
+ },
+ "frameworks": [
+ "arduino",
+ "espidf"
+ ],
+ "name": "Espressif Generic ESP32-C3 4M Flash, Tasmota 2880k Code/OTA, 320k FS",
+ "upload": {
+ "arduino": {
+ "flash_extra_images": [
+ [
+ "0x10000",
+ "variants/tasmota/tasmota32c3usb-safeboot.bin"
+ ]
+ ]
+ },
+ "flash_size": "4MB",
+ "maximum_ram_size": 327680,
+ "maximum_size": 4194304,
+ "require_upload_port": true,
+ "speed": 460800
+ },
+ "url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/hw-reference/esp32c3/user-guide-devkitm-1.html",
+ "vendor": "Espressif"
+ }
From c401fdd87db30090996c78a442b805d534a42172 Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Thu, 12 May 2022 14:57:48 +0200
Subject: [PATCH 19/48] add tasmota32c3usb-safeboot, tasmota32c3usb
---
platformio_tasmota_env32.ini | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/platformio_tasmota_env32.ini b/platformio_tasmota_env32.ini
index 7977b8394..bb6e9b57a 100644
--- a/platformio_tasmota_env32.ini
+++ b/platformio_tasmota_env32.ini
@@ -110,6 +110,9 @@ lib_ignore =
TTGO TWatch Library
Micro-RTSP
epdiy
+[env:tasmota32c3usb]
+extends = env:tasmota32c3
+board = esp32c3usb
[env:tasmota32s2]
extends = env:tasmota32_base
@@ -181,6 +184,10 @@ lib_ignore =
Micro-RTSP
epdiy
+[env:tasmota32c3usb-safeboot]
+extends = tasmota32c3-safeboot
+board = esp32c3usb
+
[env:tasmota32-AF]
extends = env:tasmota32_base
build_flags = ${env:tasmota32_base.build_flags} -DMY_LANGUAGE=af_AF -DFIRMWARE_TASMOTA32
From 87c5a4cfccaacd6d9ed35764775fd7bd6ea6b9e1 Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Thu, 12 May 2022 15:02:37 +0200
Subject: [PATCH 20/48] add tasmota32c3usb to github actions (#15605)
---
.github/workflows/Tasmota_build_devel.yml | 2 ++
.github/workflows/build_all_the_things.yml | 2 ++
2 files changed, 4 insertions(+)
diff --git a/.github/workflows/Tasmota_build_devel.yml b/.github/workflows/Tasmota_build_devel.yml
index e855f4cb6..3f9fe9e06 100644
--- a/.github/workflows/Tasmota_build_devel.yml
+++ b/.github/workflows/Tasmota_build_devel.yml
@@ -38,10 +38,12 @@ jobs:
- tasmota32-ir
- tasmota32-lvgl
- tasmota32c3
+ - tasmota32c3usb
- tasmota32solo1
- tasmota32solo1-safeboot
- tasmota32-safeboot
- tasmota32c3-safeboot
+ - tasmota32c3usb-safeboot
- tasmota32s2-safeboot
- tasmota32s3-safeboot
steps:
diff --git a/.github/workflows/build_all_the_things.yml b/.github/workflows/build_all_the_things.yml
index f81bae9df..e1d062771 100644
--- a/.github/workflows/build_all_the_things.yml
+++ b/.github/workflows/build_all_the_things.yml
@@ -42,10 +42,12 @@ jobs:
- tasmota32-lvgl
- tasmota32s2
- tasmota32c3
+ - tasmota32c3usb
- tasmota32solo1
- tasmota32solo1-safeboot
- tasmota32-safeboot
- tasmota32c3-safeboot
+ - tasmota32c3usb-safebot
- tasmota32s2-safeboot
- tasmota32s3-safeboot
steps:
From d43e5eb7b9f4d84f1fe07a702954071d158a48f7 Mon Sep 17 00:00:00 2001
From: Stephan Hadinger
Date: Fri, 13 May 2022 09:30:31 +0200
Subject: [PATCH 21/48] Esp32 upload file checked done against OTA
partitionsize
---
tasmota/xdrv_01_webserver.ino | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/tasmota/xdrv_01_webserver.ino b/tasmota/xdrv_01_webserver.ino
index 518b48ef3..ebd73199c 100644
--- a/tasmota/xdrv_01_webserver.ino
+++ b/tasmota/xdrv_01_webserver.ino
@@ -353,18 +353,22 @@ const char HTTP_FORM_UPG[] PROGMEM =
" "
" " D_UPGRADE_BY_FILE_UPLOAD " ";
const char HTTP_FORM_RST_UPG[] PROGMEM =
- ""
+ "" D_START " %s "
" "
""
"" D_UPLOAD_STARTED "...
";
// upload via factory partition
const char HTTP_FORM_RST_UPG_FCT[] PROGMEM =
- ""
+ "" D_START " %s "
""
""
"" D_UPLOAD_FACTORY "...
"
@@ -436,6 +440,7 @@ ESP8266WebServer *Webserver;
struct WEB {
String chunk_buffer = ""; // Could be max 2 * CHUNKED_BUFFER_SIZE
+ uint32_t upload_size = 0;
uint16_t upload_error = 0;
uint8_t state = HTTP_OFF;
uint8_t upload_file_type;
@@ -2775,11 +2780,15 @@ void HandleUploadLoop(void) {
return;
}
if (0xE9 == upload.buf[0]) {
- uint32_t bin_flash_size = ESP.magicFlashChipSize((upload.buf[3] & 0xf0) >> 4);
#ifdef ESP8266
+ uint32_t bin_flash_size = ESP.magicFlashChipSize((upload.buf[3] & 0xf0) >> 4);
if (bin_flash_size > ESP.getFlashChipRealSize()) {
#else
- if (bin_flash_size > ESP.getFlashChipSize()) { // TODO revisit this test
+ char tmp[16];
+ WebGetArg("fsz", tmp, sizeof(tmp)); // filesize
+ uint32_t upload_size = (!strlen(tmp)) ? 0 : atoi(tmp);
+ AddLog(LOG_LEVEL_DEBUG, D_LOG_UPLOAD "freespace=%i filesize=%i", ESP.getFreeSketchSpace(), upload_size);
+ if (upload_size > ESP.getFreeSketchSpace()) { // TODO revisit this test
#endif
Web.upload_error = 4; // Program flash size is larger than real flash size
return;
From 86c2c086980ab4262af90da33b9e5fae7fe84b02 Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Fri, 13 May 2022 10:16:48 +0200
Subject: [PATCH 22/48] fix typo
---
.github/workflows/build_all_the_things.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build_all_the_things.yml b/.github/workflows/build_all_the_things.yml
index e1d062771..3303759f4 100644
--- a/.github/workflows/build_all_the_things.yml
+++ b/.github/workflows/build_all_the_things.yml
@@ -47,7 +47,7 @@ jobs:
- tasmota32solo1-safeboot
- tasmota32-safeboot
- tasmota32c3-safeboot
- - tasmota32c3usb-safebot
+ - tasmota32c3usb-safeboot
- tasmota32s2-safeboot
- tasmota32s3-safeboot
steps:
From 89e2be4efeeb9f73940d184fae542c653826ec08 Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Fri, 13 May 2022 10:36:01 +0200
Subject: [PATCH 23/48] Retrigger Build
---
platformio_override_sample.ini | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini
index 629f03e67..e78d20cdb 100644
--- a/platformio_override_sample.ini
+++ b/platformio_override_sample.ini
@@ -36,6 +36,7 @@ default_envs =
; tasmota32solo1
; tasmota32c3
; tasmota32s2
+; tasmota32s3
; tasmota32-odroidgo
; tasmota32-core2
@@ -90,8 +91,8 @@ lib_extra_dirs = ${library.lib_extra_dirs}
[env:tasmota32_base]
; *** Uncomment next lines ";" to enable development Tasmota Arduino version ESP32
-;platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3rc1/platform-espressif32-2.0.3new.zip
-;platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/825/framework-arduinoespressif32-v4.4_work-c4b83228a5.tar.gz
+;platform = https://github.com/tasmota/platform-espressif32/releases/download/v.2.0.3/platform-espressif32-v.2.0.3.zip
+;platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/837/framework-arduinoespressif32-v4.4_dev-6fa4526c0d.tar.gz
build_unflags = ${esp32_defaults.build_unflags}
build_flags = ${esp32_defaults.build_flags}
From 614a899dd36b99fabba028d7b0b11fc3b83a6491 Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Fri, 13 May 2022 10:48:34 +0200
Subject: [PATCH 24/48] correct env
---
platformio_tasmota_env32.ini | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/platformio_tasmota_env32.ini b/platformio_tasmota_env32.ini
index bb6e9b57a..ee7be6bd1 100644
--- a/platformio_tasmota_env32.ini
+++ b/platformio_tasmota_env32.ini
@@ -185,8 +185,19 @@ lib_ignore =
epdiy
[env:tasmota32c3usb-safeboot]
-extends = tasmota32c3-safeboot
+extends = env:tasmota32_base
board = esp32c3usb
+build_unflags = ${env:tasmota32_base.build_unflags}
+ -flto
+ -mtarget-align
+build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_SAFEBOOT
+ -fno-lto
+lib_extra_dirs = lib/lib_ssl, lib/libesp32
+lib_ignore =
+ TTGO TWatch Library
+ NimBLE-Arduino
+ Micro-RTSP
+ epdiy
[env:tasmota32-AF]
extends = env:tasmota32_base
From e6411a5d691c61c82d20862fac34ca6034736540 Mon Sep 17 00:00:00 2001
From: Stephan Hadinger
Date: Fri, 13 May 2022 12:12:48 +0200
Subject: [PATCH 25/48] OpenHASP support for roller's text attribute
---
.../berry_tasmota/src/be_lv_openhasp.c | 5858 +++++++++--------
.../generate/be_lv_c_mapping.h | 6 +-
.../generate/be_lvgl_module.c | 3 +-
.../lv_binding_berry/tools/convert.py | 7 +-
tasmota/berry/openhasp/openhasp.tapp | Bin 57664 -> 58548 bytes
tasmota/berry/openhasp/openhasp_demo.tapp | Bin 188470 -> 189354 bytes
tasmota/berry/openhasp_src/gen_openhasp.sh | 5 +
tasmota/berry/openhasp_src/openhasp.tapp | Bin 57664 -> 58548 bytes
.../openhasp_src/openhasp_core/openhasp.be | 34 +-
tasmota/berry/openhasp_src/openhasp_demo.tapp | Bin 188470 -> 189354 bytes
10 files changed, 3051 insertions(+), 2862 deletions(-)
create mode 100755 tasmota/berry/openhasp_src/gen_openhasp.sh
diff --git a/lib/libesp32/berry_tasmota/src/be_lv_openhasp.c b/lib/libesp32/berry_tasmota/src/be_lv_openhasp.c
index b8d1b05e8..07b0d04a3 100644
--- a/lib/libesp32/berry_tasmota/src/be_lv_openhasp.c
+++ b/lib/libesp32/berry_tasmota/src/be_lv_openhasp.c
@@ -465,309 +465,9 @@ void be_load_lvh_page_class(bvm *vm) {
}
/********************************************************************
-** Solidified function: get_value_font
+** Solidified function: set_radius2
********************************************************************/
-be_local_closure(lvh_obj_get_value_font, /* name */
- be_nested_proto(
- 3, /* 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_literal("get_text_font"),
- }),
- be_str_literal("get_value_font"),
- &be_const_str_solidified,
- ( &(const binstruction[ 3]) { /* code */
- 0x8C040100, // 0000 GETMET R1 R0 K0
- 0x7C040200, // 0001 CALL R1 1
- 0x80040200, // 0002 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_value_ofs_x
-********************************************************************/
-be_local_closure(lvh_obj_get_value_ofs_x, /* name */
- be_nested_proto(
- 3, /* 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_literal("_lv_label"),
- /* K1 */ be_nested_str_literal("get_x"),
- }),
- be_str_literal("get_value_ofs_x"),
- &be_const_str_solidified,
- ( &(const binstruction[ 4]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0x7C040200, // 0002 CALL R1 1
- 0x80040200, // 0003 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_align
-********************************************************************/
-be_local_closure(lvh_obj_set_align, /* 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[13]) { /* constants */
- /* K0 */ be_nested_str_literal("check_label"),
- /* K1 */ be_const_int(0),
- /* K2 */ be_nested_str_literal("left"),
- /* K3 */ be_nested_str_literal("lv"),
- /* K4 */ be_nested_str_literal("TEXT_ALIGN_LEFT"),
- /* K5 */ be_const_int(1),
- /* K6 */ be_nested_str_literal("center"),
- /* K7 */ be_nested_str_literal("TEXT_ALIGN_CENTER"),
- /* K8 */ be_const_int(2),
- /* K9 */ be_nested_str_literal("right"),
- /* K10 */ be_nested_str_literal("TEXT_ALIGN_RIGHT"),
- /* K11 */ be_nested_str_literal("_lv_label"),
- /* K12 */ be_nested_str_literal("set_style_text_align"),
- }),
- be_str_literal("set_align"),
- &be_const_str_solidified,
- ( &(const binstruction[29]) { /* code */
- 0x4C080000, // 0000 LDNIL R2
- 0x8C0C0100, // 0001 GETMET R3 R0 K0
- 0x7C0C0200, // 0002 CALL R3 1
- 0x1C0C0301, // 0003 EQ R3 R1 K1
- 0x740E0001, // 0004 JMPT R3 #0007
- 0x1C0C0302, // 0005 EQ R3 R1 K2
- 0x780E0002, // 0006 JMPF R3 #000A
- 0xB80E0600, // 0007 GETNGBL R3 K3
- 0x88080704, // 0008 GETMBR R2 R3 K4
- 0x7002000C, // 0009 JMP #0017
- 0x1C0C0305, // 000A EQ R3 R1 K5
- 0x740E0001, // 000B JMPT R3 #000E
- 0x1C0C0306, // 000C EQ R3 R1 K6
- 0x780E0002, // 000D JMPF R3 #0011
- 0xB80E0600, // 000E GETNGBL R3 K3
- 0x88080707, // 000F GETMBR R2 R3 K7
- 0x70020005, // 0010 JMP #0017
- 0x1C0C0308, // 0011 EQ R3 R1 K8
- 0x740E0001, // 0012 JMPT R3 #0015
- 0x1C0C0309, // 0013 EQ R3 R1 K9
- 0x780E0001, // 0014 JMPF R3 #0017
- 0xB80E0600, // 0015 GETNGBL R3 K3
- 0x8808070A, // 0016 GETMBR R2 R3 K10
- 0x880C010B, // 0017 GETMBR R3 R0 K11
- 0x8C0C070C, // 0018 GETMET R3 R3 K12
- 0x5C140400, // 0019 MOVE R5 R2
- 0x58180001, // 001A LDCONST R6 K1
- 0x7C0C0600, // 001B CALL R3 3
- 0x80000000, // 001C RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_val_rule
-********************************************************************/
-be_local_closure(lvh_obj_get_val_rule, /* 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_literal("_val_rule"),
- }),
- be_str_literal("get_val_rule"),
- &be_const_str_solidified,
- ( &(const binstruction[ 2]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x80040200, // 0001 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_pad_bottom
-********************************************************************/
-be_local_closure(lvh_obj_get_pad_bottom, /* 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[ 5]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_part2_selector"),
- /* K1 */ be_nested_str_literal("_lv_obj"),
- /* K2 */ be_nested_str_literal("get_style_pad_bottom"),
- /* K3 */ be_nested_str_literal("lv"),
- /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
- }),
- be_str_literal("get_pad_bottom"),
- &be_const_str_solidified,
- ( &(const binstruction[13]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x4C080000, // 0001 LDNIL R2
- 0x20040202, // 0002 NE R1 R1 R2
- 0x78060007, // 0003 JMPF R1 #000C
- 0x88040101, // 0004 GETMBR R1 R0 K1
- 0x8C040302, // 0005 GETMET R1 R1 K2
- 0x880C0100, // 0006 GETMBR R3 R0 K0
- 0xB8120600, // 0007 GETNGBL R4 K3
- 0x88100904, // 0008 GETMBR R4 R4 K4
- 0x300C0604, // 0009 OR R3 R3 R4
- 0x7C040400, // 000A CALL R1 2
- 0x80040200, // 000B RET 1 R1
- 0x80000000, // 000C RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_line_width
-********************************************************************/
-be_local_closure(lvh_obj_set_line_width, /* 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_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("set_style_line_width"),
- /* K2 */ be_const_int(0),
- }),
- be_str_literal("set_line_width"),
- &be_const_str_solidified,
- ( &(const binstruction[ 8]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x8C080501, // 0001 GETMET R2 R2 K1
- 0x60100009, // 0002 GETGBL R4 G9
- 0x5C140200, // 0003 MOVE R5 R1
- 0x7C100200, // 0004 CALL R4 1
- 0x58140002, // 0005 LDCONST R5 K2
- 0x7C080600, // 0006 CALL R2 3
- 0x80000000, // 0007 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: init
-********************************************************************/
-be_local_closure(lvh_obj_init, /* name */
- be_nested_proto(
- 8, /* nstack */
- 5, /* argc */
- 2, /* 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_literal("_page"),
- /* K1 */ be_nested_str_literal("_lv_class"),
- /* K2 */ be_nested_str_literal("_lv_obj"),
- /* K3 */ be_nested_str_literal("post_init"),
- }),
- be_str_literal("init"),
- &be_const_str_solidified,
- ( &(const binstruction[16]) { /* code */
- 0x90020002, // 0000 SETMBR R0 K0 R2
- 0x4C140000, // 0001 LDNIL R5
- 0x1C140805, // 0002 EQ R5 R4 R5
- 0x78160007, // 0003 JMPF R5 #000C
- 0x88140101, // 0004 GETMBR R5 R0 K1
- 0x78160005, // 0005 JMPF R5 #000C
- 0x88140101, // 0006 GETMBR R5 R0 K1
- 0x5C180A00, // 0007 MOVE R6 R5
- 0x5C1C0200, // 0008 MOVE R7 R1
- 0x7C180200, // 0009 CALL R6 1
- 0x90020406, // 000A SETMBR R0 K2 R6
- 0x70020000, // 000B JMP #000D
- 0x90020404, // 000C SETMBR R0 K2 R4
- 0x8C140103, // 000D GETMET R5 R0 K3
- 0x7C140200, // 000E CALL R5 1
- 0x80000000, // 000F RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_value_str
-********************************************************************/
-be_local_closure(lvh_obj_get_value_str, /* name */
- be_nested_proto(
- 3, /* 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_literal("get_text"),
- }),
- be_str_literal("get_value_str"),
- &be_const_str_solidified,
- ( &(const binstruction[ 3]) { /* code */
- 0x8C040100, // 0000 GETMET R1 R0 K0
- 0x7C040200, // 0001 CALL R1 1
- 0x80040200, // 0002 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_pad_all2
-********************************************************************/
-be_local_closure(lvh_obj_set_pad_all2, /* name */
+be_local_closure(lvh_obj_set_radius2, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
@@ -780,11 +480,11 @@ be_local_closure(lvh_obj_set_pad_all2, /* name */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_literal("_lv_part2_selector"),
/* K1 */ be_nested_str_literal("_lv_obj"),
- /* K2 */ be_nested_str_literal("set_style_pad_all"),
+ /* K2 */ be_nested_str_literal("set_style_radius"),
/* K3 */ be_nested_str_literal("lv"),
/* K4 */ be_nested_str_literal("STATE_DEFAULT"),
}),
- be_str_literal("set_pad_all2"),
+ be_str_literal("set_radius2"),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
@@ -808,751 +508,6 @@ be_local_closure(lvh_obj_set_pad_all2, /* name */
/*******************************************************************/
-/********************************************************************
-** Solidified function: set_text_rule
-********************************************************************/
-be_local_closure(lvh_obj_set_text_rule, /* name */
- be_nested_proto(
- 7, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 1, /* has sup protos */
- ( &(const struct bproto*[ 1]) {
- be_nested_proto(
- 4, /* nstack */
- 1, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 1]) { /* upvals */
- be_local_const_upval(1, 0),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 1]) { /* constants */
- /* K0 */ be_nested_str_literal("text_rule_matched"),
- }),
- be_str_literal(""),
- &be_const_str_solidified,
- ( &(const binstruction[ 5]) { /* code */
- 0x68040000, // 0000 GETUPV R1 U0
- 0x8C040300, // 0001 GETMET R1 R1 K0
- 0x5C0C0000, // 0002 MOVE R3 R0
- 0x7C040400, // 0003 CALL R1 2
- 0x80040200, // 0004 RET 1 R1
- })
- ),
- }),
- 1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_literal("_text_rule"),
- /* K1 */ be_nested_str_literal("tasmota"),
- /* K2 */ be_nested_str_literal("remove_rule"),
- /* K3 */ be_nested_str_literal("add_rule"),
- }),
- be_str_literal("set_text_rule"),
- &be_const_str_solidified,
- ( &(const binstruction[21]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x4C0C0000, // 0001 LDNIL R3
- 0x20080403, // 0002 NE R2 R2 R3
- 0x780A0004, // 0003 JMPF R2 #0009
- 0xB80A0200, // 0004 GETNGBL R2 K1
- 0x8C080502, // 0005 GETMET R2 R2 K2
- 0x88100100, // 0006 GETMBR R4 R0 K0
- 0x5C140000, // 0007 MOVE R5 R0
- 0x7C080600, // 0008 CALL R2 3
- 0x60080008, // 0009 GETGBL R2 G8
- 0x5C0C0200, // 000A MOVE R3 R1
- 0x7C080200, // 000B CALL R2 1
- 0x90020002, // 000C SETMBR R0 K0 R2
- 0xB80A0200, // 000D GETNGBL R2 K1
- 0x8C080503, // 000E GETMET R2 R2 K3
- 0x88100100, // 000F GETMBR R4 R0 K0
- 0x84140000, // 0010 CLOSURE R5 P0
- 0x5C180000, // 0011 MOVE R6 R0
- 0x7C080800, // 0012 CALL R2 4
- 0xA0000000, // 0013 CLOSE R0
- 0x80000000, // 0014 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_adjustable
-********************************************************************/
-be_local_closure(lvh_obj_get_adjustable, /* 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[ 4]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("has_flag"),
- /* K2 */ be_nested_str_literal("lv"),
- /* K3 */ be_nested_str_literal("OBJ_FLAG_CLICKABLE"),
- }),
- be_str_literal("get_adjustable"),
- &be_const_str_solidified,
- ( &(const binstruction[ 6]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0xB80E0400, // 0002 GETNGBL R3 K2
- 0x880C0703, // 0003 GETMBR R3 R3 K3
- 0x7C040400, // 0004 CALL R1 2
- 0x80040200, // 0005 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_text
-********************************************************************/
-be_local_closure(lvh_obj_set_text, /* 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_literal("check_label"),
- /* K1 */ be_nested_str_literal("_lv_label"),
- /* K2 */ be_nested_str_literal("set_text"),
- }),
- be_str_literal("set_text"),
- &be_const_str_solidified,
- ( &(const binstruction[ 9]) { /* code */
- 0x8C080100, // 0000 GETMET R2 R0 K0
- 0x7C080200, // 0001 CALL R2 1
- 0x88080101, // 0002 GETMBR R2 R0 K1
- 0x8C080502, // 0003 GETMET R2 R2 K2
- 0x60100008, // 0004 GETGBL R4 G8
- 0x5C140200, // 0005 MOVE R5 R1
- 0x7C100200, // 0006 CALL R4 1
- 0x7C080400, // 0007 CALL R2 2
- 0x80000000, // 0008 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: event_cb
-********************************************************************/
-be_local_closure(lvh_obj_event_cb, /* name */
- be_nested_proto(
- 14, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 1, /* has sup protos */
- ( &(const struct bproto*[ 2]) {
- be_nested_proto(
- 4, /* nstack */
- 0, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 3]) { /* upvals */
- be_local_const_upval(1, 2),
- be_local_const_upval(1, 0),
- be_local_const_upval(1, 3),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 1]) { /* constants */
- /* K0 */ be_nested_str_literal("do_action"),
- }),
- be_str_literal(""),
- &be_const_str_solidified,
- ( &(const binstruction[ 6]) { /* code */
- 0x68000000, // 0000 GETUPV R0 U0
- 0x8C000100, // 0001 GETMET R0 R0 K0
- 0x68080001, // 0002 GETUPV R2 U1
- 0x680C0002, // 0003 GETUPV R3 U2
- 0x7C000600, // 0004 CALL R0 3
- 0x80040000, // 0005 RET 1 R0
- })
- ),
- be_nested_proto(
- 3, /* nstack */
- 0, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 1]) { /* upvals */
- be_local_const_upval(1, 7),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 2]) { /* constants */
- /* K0 */ be_nested_str_literal("tasmota"),
- /* K1 */ be_nested_str_literal("publish_rule"),
- }),
- be_str_literal(""),
- &be_const_str_solidified,
- ( &(const binstruction[ 5]) { /* code */
- 0xB8020000, // 0000 GETNGBL R0 K0
- 0x8C000101, // 0001 GETMET R0 R0 K1
- 0x68080000, // 0002 GETUPV R2 U0
- 0x7C000400, // 0003 CALL R0 2
- 0x80040000, // 0004 RET 1 R0
- })
- ),
- }),
- 1, /* has constants */
- ( &(const bvalue[20]) { /* constants */
- /* K0 */ be_nested_str_literal("_page"),
- /* K1 */ be_nested_str_literal("_oh"),
- /* K2 */ be_nested_str_literal("code"),
- /* K3 */ be_nested_str_literal("action"),
- /* K4 */ be_nested_str_literal(""),
- /* K5 */ be_nested_str_literal("lv"),
- /* K6 */ be_nested_str_literal("EVENT_CLICKED"),
- /* K7 */ be_nested_str_literal("tasmota"),
- /* K8 */ be_nested_str_literal("set_timer"),
- /* K9 */ be_const_int(0),
- /* K10 */ be_nested_str_literal("_event_map"),
- /* K11 */ be_nested_str_literal("find"),
- /* K12 */ be_nested_str_literal("string"),
- /* K13 */ be_nested_str_literal("EVENT_VALUE_CHANGED"),
- /* K14 */ be_nested_str_literal("val"),
- /* K15 */ be_nested_str_literal("format"),
- /* K16 */ be_nested_str_literal(",\"val\":%i"),
- /* K17 */ be_nested_str_literal("{\"hasp\":{\"p%ib%i\":{\"event\":\"%s\"%s}}}"),
- /* K18 */ be_nested_str_literal("_page_id"),
- /* K19 */ be_nested_str_literal("id"),
- }),
- be_str_literal("event_cb"),
- &be_const_str_solidified,
- ( &(const binstruction[58]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x88080501, // 0001 GETMBR R2 R2 K1
- 0x880C0302, // 0002 GETMBR R3 R1 K2
- 0x88100103, // 0003 GETMBR R4 R0 K3
- 0x20100904, // 0004 NE R4 R4 K4
- 0x78120008, // 0005 JMPF R4 #000F
- 0xB8120A00, // 0006 GETNGBL R4 K5
- 0x88100906, // 0007 GETMBR R4 R4 K6
- 0x1C100604, // 0008 EQ R4 R3 R4
- 0x78120004, // 0009 JMPF R4 #000F
- 0xB8120E00, // 000A GETNGBL R4 K7
- 0x8C100908, // 000B GETMET R4 R4 K8
- 0x58180009, // 000C LDCONST R6 K9
- 0x841C0000, // 000D CLOSURE R7 P0
- 0x7C100600, // 000E CALL R4 3
- 0x8810010A, // 000F GETMBR R4 R0 K10
- 0x8C10090B, // 0010 GETMET R4 R4 K11
- 0x5C180600, // 0011 MOVE R6 R3
- 0x7C100400, // 0012 CALL R4 2
- 0x4C140000, // 0013 LDNIL R5
- 0x20140805, // 0014 NE R5 R4 R5
- 0x78160021, // 0015 JMPF R5 #0038
- 0xA4161800, // 0016 IMPORT R5 K12
- 0x58180004, // 0017 LDCONST R6 K4
- 0x881C0302, // 0018 GETMBR R7 R1 K2
- 0xB8220A00, // 0019 GETNGBL R8 K5
- 0x8820110D, // 001A GETMBR R8 R8 K13
- 0x1C1C0E08, // 001B EQ R7 R7 R8
- 0x781E000C, // 001C JMPF R7 #002A
- 0xA8020007, // 001D EXBLK 0 #0026
- 0x881C010E, // 001E GETMBR R7 R0 K14
- 0x8C200B0F, // 001F GETMET R8 R5 K15
- 0x58280010, // 0020 LDCONST R10 K16
- 0x5C2C0E00, // 0021 MOVE R11 R7
- 0x7C200600, // 0022 CALL R8 3
- 0x5C181000, // 0023 MOVE R6 R8
- 0xA8040001, // 0024 EXBLK 1 1
- 0x70020003, // 0025 JMP #002A
- 0xAC1C0000, // 0026 CATCH R7 0 0
- 0x70020000, // 0027 JMP #0029
- 0x70020000, // 0028 JMP #002A
- 0xB0080000, // 0029 RAISE 2 R0 R0
- 0x8C1C0B0F, // 002A GETMET R7 R5 K15
- 0x58240011, // 002B LDCONST R9 K17
- 0x88280100, // 002C GETMBR R10 R0 K0
- 0x88281512, // 002D GETMBR R10 R10 K18
- 0x882C0113, // 002E GETMBR R11 R0 K19
- 0x5C300800, // 002F MOVE R12 R4
- 0x5C340C00, // 0030 MOVE R13 R6
- 0x7C1C0C00, // 0031 CALL R7 6
- 0xB8220E00, // 0032 GETNGBL R8 K7
- 0x8C201108, // 0033 GETMET R8 R8 K8
- 0x58280009, // 0034 LDCONST R10 K9
- 0x842C0001, // 0035 CLOSURE R11 P1
- 0x7C200600, // 0036 CALL R8 3
- 0xA0140000, // 0037 CLOSE R5
- 0xA0000000, // 0038 CLOSE R0
- 0x80000000, // 0039 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_text_color
-********************************************************************/
-be_local_closure(lvh_obj_get_text_color, /* 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_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("get_style_text_color"),
- /* K2 */ be_const_int(0),
- }),
- be_str_literal("get_text_color"),
- &be_const_str_solidified,
- ( &(const binstruction[ 5]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0x580C0002, // 0002 LDCONST R3 K2
- 0x7C040400, // 0003 CALL R1 2
- 0x80040200, // 0004 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_radius2
-********************************************************************/
-be_local_closure(lvh_obj_get_radius2, /* 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[ 5]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_part2_selector"),
- /* K1 */ be_nested_str_literal("_lv_obj"),
- /* K2 */ be_nested_str_literal("get_style_radius"),
- /* K3 */ be_nested_str_literal("lv"),
- /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
- }),
- be_str_literal("get_radius2"),
- &be_const_str_solidified,
- ( &(const binstruction[13]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x4C080000, // 0001 LDNIL R2
- 0x20040202, // 0002 NE R1 R1 R2
- 0x78060007, // 0003 JMPF R1 #000C
- 0x88040101, // 0004 GETMBR R1 R0 K1
- 0x8C040302, // 0005 GETMET R1 R1 K2
- 0x880C0100, // 0006 GETMBR R3 R0 K0
- 0xB8120600, // 0007 GETNGBL R4 K3
- 0x88100904, // 0008 GETMBR R4 R4 K4
- 0x300C0604, // 0009 OR R3 R3 R4
- 0x7C040400, // 000A CALL R1 2
- 0x80040200, // 000B RET 1 R1
- 0x80000000, // 000C RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_val
-********************************************************************/
-be_local_closure(lvh_obj_set_val, /* 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_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("set_value"),
- }),
- be_str_literal("set_val"),
- &be_const_str_solidified,
- ( &(const binstruction[ 5]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x8C080501, // 0001 GETMET R2 R2 K1
- 0x5C100200, // 0002 MOVE R4 R1
- 0x7C080400, // 0003 CALL R2 2
- 0x80000000, // 0004 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_text_rule_formula
-********************************************************************/
-be_local_closure(lvh_obj_get_text_rule_formula, /* 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_literal("_text_rule_formula"),
- }),
- be_str_literal("get_text_rule_formula"),
- &be_const_str_solidified,
- ( &(const binstruction[ 2]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x80040200, // 0001 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_enabled
-********************************************************************/
-be_local_closure(lvh_obj_get_enabled, /* 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[ 4]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("has_flag"),
- /* K2 */ be_nested_str_literal("lv"),
- /* K3 */ be_nested_str_literal("OBJ_FLAG_CLICKABLE"),
- }),
- be_str_literal("get_enabled"),
- &be_const_str_solidified,
- ( &(const binstruction[ 6]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0xB80E0400, // 0002 GETNGBL R3 K2
- 0x880C0703, // 0003 GETMBR R3 R3 K3
- 0x7C040400, // 0004 CALL R1 2
- 0x80040200, // 0005 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_text_rule_format
-********************************************************************/
-be_local_closure(lvh_obj_set_text_rule_format, /* name */
- be_nested_proto(
- 4, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 1]) { /* constants */
- /* K0 */ be_nested_str_literal("_text_rule_format"),
- }),
- be_str_literal("set_text_rule_format"),
- &be_const_str_solidified,
- ( &(const binstruction[ 5]) { /* code */
- 0x60080008, // 0000 GETGBL R2 G8
- 0x5C0C0200, // 0001 MOVE R3 R1
- 0x7C080200, // 0002 CALL R2 1
- 0x90020002, // 0003 SETMBR R0 K0 R2
- 0x80000000, // 0004 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_toggle
-********************************************************************/
-be_local_closure(lvh_obj_get_toggle, /* 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[ 4]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("has_state"),
- /* K2 */ be_nested_str_literal("lv"),
- /* K3 */ be_nested_str_literal("STATE_CHECKED"),
- }),
- be_str_literal("get_toggle"),
- &be_const_str_solidified,
- ( &(const binstruction[ 6]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0xB80E0400, // 0002 GETNGBL R3 K2
- 0x880C0703, // 0003 GETMBR R3 R3 K3
- 0x7C040400, // 0004 CALL R1 2
- 0x80040200, // 0005 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_pad_left2
-********************************************************************/
-be_local_closure(lvh_obj_set_pad_left2, /* 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[ 5]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_part2_selector"),
- /* K1 */ be_nested_str_literal("_lv_obj"),
- /* K2 */ be_nested_str_literal("set_style_pad_left"),
- /* K3 */ be_nested_str_literal("lv"),
- /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
- }),
- be_str_literal("set_pad_left2"),
- &be_const_str_solidified,
- ( &(const binstruction[15]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x4C0C0000, // 0001 LDNIL R3
- 0x20080403, // 0002 NE R2 R2 R3
- 0x780A0009, // 0003 JMPF R2 #000E
- 0x88080101, // 0004 GETMBR R2 R0 K1
- 0x8C080502, // 0005 GETMET R2 R2 K2
- 0x60100009, // 0006 GETGBL R4 G9
- 0x5C140200, // 0007 MOVE R5 R1
- 0x7C100200, // 0008 CALL R4 1
- 0x88140100, // 0009 GETMBR R5 R0 K0
- 0xB81A0600, // 000A GETNGBL R6 K3
- 0x88180D04, // 000B GETMBR R6 R6 K4
- 0x30140A06, // 000C OR R5 R5 R6
- 0x7C080600, // 000D CALL R2 3
- 0x80000000, // 000E RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_adjustable
-********************************************************************/
-be_local_closure(lvh_obj_set_adjustable, /* 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_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("add_flag"),
- /* K2 */ be_nested_str_literal("lv"),
- /* K3 */ be_nested_str_literal("OBJ_FLAG_CLICKABLE"),
- /* K4 */ be_nested_str_literal("clear_flag"),
- }),
- be_str_literal("set_adjustable"),
- &be_const_str_solidified,
- ( &(const binstruction[13]) { /* code */
- 0x78060005, // 0000 JMPF R1 #0007
- 0x88080100, // 0001 GETMBR R2 R0 K0
- 0x8C080501, // 0002 GETMET R2 R2 K1
- 0xB8120400, // 0003 GETNGBL R4 K2
- 0x88100903, // 0004 GETMBR R4 R4 K3
- 0x7C080400, // 0005 CALL R2 2
- 0x70020004, // 0006 JMP #000C
- 0x88080100, // 0007 GETMBR R2 R0 K0
- 0x8C080504, // 0008 GETMET R2 R2 K4
- 0xB8120400, // 0009 GETNGBL R4 K2
- 0x88100903, // 000A GETMBR R4 R4 K3
- 0x7C080400, // 000B CALL R2 2
- 0x80000000, // 000C RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_pad_right2
-********************************************************************/
-be_local_closure(lvh_obj_set_pad_right2, /* 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[ 5]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_part2_selector"),
- /* K1 */ be_nested_str_literal("_lv_obj"),
- /* K2 */ be_nested_str_literal("set_style_pad_right"),
- /* K3 */ be_nested_str_literal("lv"),
- /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
- }),
- be_str_literal("set_pad_right2"),
- &be_const_str_solidified,
- ( &(const binstruction[15]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x4C0C0000, // 0001 LDNIL R3
- 0x20080403, // 0002 NE R2 R2 R3
- 0x780A0009, // 0003 JMPF R2 #000E
- 0x88080101, // 0004 GETMBR R2 R0 K1
- 0x8C080502, // 0005 GETMET R2 R2 K2
- 0x60100009, // 0006 GETGBL R4 G9
- 0x5C140200, // 0007 MOVE R5 R1
- 0x7C100200, // 0008 CALL R4 1
- 0x88140100, // 0009 GETMBR R5 R0 K0
- 0xB81A0600, // 000A GETNGBL R6 K3
- 0x88180D04, // 000B GETMBR R6 R6 K4
- 0x30140A06, // 000C OR R5 R5 R6
- 0x7C080600, // 000D CALL R2 3
- 0x80000000, // 000E RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_toggle
-********************************************************************/
-be_local_closure(lvh_obj_set_toggle, /* 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[ 9]) { /* constants */
- /* K0 */ be_nested_str_literal("string"),
- /* K1 */ be_nested_str_literal("toupper"),
- /* K2 */ be_nested_str_literal("TRUE"),
- /* K3 */ be_nested_str_literal("FALSE"),
- /* K4 */ be_nested_str_literal("_lv_obj"),
- /* K5 */ be_nested_str_literal("add_state"),
- /* K6 */ be_nested_str_literal("lv"),
- /* K7 */ be_nested_str_literal("STATE_CHECKED"),
- /* K8 */ be_nested_str_literal("clear_state"),
- }),
- be_str_literal("set_toggle"),
- &be_const_str_solidified,
- ( &(const binstruction[26]) { /* code */
- 0xA40A0000, // 0000 IMPORT R2 K0
- 0x8C0C0501, // 0001 GETMET R3 R2 K1
- 0x60140008, // 0002 GETGBL R5 G8
- 0x5C180200, // 0003 MOVE R6 R1
- 0x7C140200, // 0004 CALL R5 1
- 0x7C0C0400, // 0005 CALL R3 2
- 0x5C040600, // 0006 MOVE R1 R3
- 0x1C0C0302, // 0007 EQ R3 R1 K2
- 0x780E0000, // 0008 JMPF R3 #000A
- 0x50040200, // 0009 LDBOOL R1 1 0
- 0x1C0C0303, // 000A EQ R3 R1 K3
- 0x780E0000, // 000B JMPF R3 #000D
- 0x50040000, // 000C LDBOOL R1 0 0
- 0x78060005, // 000D JMPF R1 #0014
- 0x880C0104, // 000E GETMBR R3 R0 K4
- 0x8C0C0705, // 000F GETMET R3 R3 K5
- 0xB8160C00, // 0010 GETNGBL R5 K6
- 0x88140B07, // 0011 GETMBR R5 R5 K7
- 0x7C0C0400, // 0012 CALL R3 2
- 0x70020004, // 0013 JMP #0019
- 0x880C0104, // 0014 GETMBR R3 R0 K4
- 0x8C0C0708, // 0015 GETMET R3 R3 K8
- 0xB8160C00, // 0016 GETNGBL R5 K6
- 0x88140B07, // 0017 GETMBR R5 R5 K7
- 0x7C0C0400, // 0018 CALL R3 2
- 0x80000000, // 0019 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_text_rule
-********************************************************************/
-be_local_closure(lvh_obj_get_text_rule, /* 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_literal("_text_rule"),
- }),
- be_str_literal("get_text_rule"),
- &be_const_str_solidified,
- ( &(const binstruction[ 2]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x80040200, // 0001 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
/********************************************************************
** Solidified function: register_event_cb
********************************************************************/
@@ -1603,9 +558,9 @@ be_local_closure(lvh_obj_register_event_cb, /* name */
/********************************************************************
-** Solidified function: get_text
+** Solidified function: get_value_ofs_x
********************************************************************/
-be_local_closure(lvh_obj_get_text, /* name */
+be_local_closure(lvh_obj_get_value_ofs_x, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
@@ -1617,168 +572,15 @@ be_local_closure(lvh_obj_get_text, /* name */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_literal("_lv_label"),
- /* K1 */ be_nested_str_literal("get_text"),
+ /* K1 */ be_nested_str_literal("get_x"),
}),
- be_str_literal("get_text"),
- &be_const_str_solidified,
- ( &(const binstruction[10]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x4C080000, // 0001 LDNIL R2
- 0x1C040202, // 0002 EQ R1 R1 R2
- 0x78060001, // 0003 JMPF R1 #0006
- 0x4C040000, // 0004 LDNIL R1
- 0x80040200, // 0005 RET 1 R1
- 0x88040100, // 0006 GETMBR R1 R0 K0
- 0x8C040301, // 0007 GETMET R1 R1 K1
- 0x7C040200, // 0008 CALL R1 1
- 0x80040200, // 0009 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_value_color
-********************************************************************/
-be_local_closure(lvh_obj_set_value_color, /* 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[ 1]) { /* constants */
- /* K0 */ be_nested_str_literal("set_text_color"),
- }),
- be_str_literal("set_value_color"),
+ be_str_literal("get_value_ofs_x"),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
- 0x8C080100, // 0000 GETMET R2 R0 K0
- 0x5C100200, // 0001 MOVE R4 R1
- 0x7C080400, // 0002 CALL R2 2
- 0x80000000, // 0003 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_radius2
-********************************************************************/
-be_local_closure(lvh_obj_set_radius2, /* 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[ 5]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_part2_selector"),
- /* K1 */ be_nested_str_literal("_lv_obj"),
- /* K2 */ be_nested_str_literal("set_style_radius"),
- /* K3 */ be_nested_str_literal("lv"),
- /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
- }),
- be_str_literal("set_radius2"),
- &be_const_str_solidified,
- ( &(const binstruction[15]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x4C0C0000, // 0001 LDNIL R3
- 0x20080403, // 0002 NE R2 R2 R3
- 0x780A0009, // 0003 JMPF R2 #000E
- 0x88080101, // 0004 GETMBR R2 R0 K1
- 0x8C080502, // 0005 GETMET R2 R2 K2
- 0x60100009, // 0006 GETGBL R4 G9
- 0x5C140200, // 0007 MOVE R5 R1
- 0x7C100200, // 0008 CALL R4 1
- 0x88140100, // 0009 GETMBR R5 R0 K0
- 0xB81A0600, // 000A GETNGBL R6 K3
- 0x88180D04, // 000B GETMBR R6 R6 K4
- 0x30140A06, // 000C OR R5 R5 R6
- 0x7C080600, // 000D CALL R2 3
- 0x80000000, // 000E RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_hidden
-********************************************************************/
-be_local_closure(lvh_obj_set_hidden, /* 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_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("add_flag"),
- /* K2 */ be_nested_str_literal("lv"),
- /* K3 */ be_nested_str_literal("OBJ_FLAG_HIDDEN"),
- /* K4 */ be_nested_str_literal("clear_flag"),
- }),
- be_str_literal("set_hidden"),
- &be_const_str_solidified,
- ( &(const binstruction[13]) { /* code */
- 0x78060005, // 0000 JMPF R1 #0007
- 0x88080100, // 0001 GETMBR R2 R0 K0
- 0x8C080501, // 0002 GETMET R2 R2 K1
- 0xB8120400, // 0003 GETNGBL R4 K2
- 0x88100903, // 0004 GETMBR R4 R4 K3
- 0x7C080400, // 0005 CALL R2 2
- 0x70020004, // 0006 JMP #000C
- 0x88080100, // 0007 GETMBR R2 R0 K0
- 0x8C080504, // 0008 GETMET R2 R2 K4
- 0xB8120400, // 0009 GETNGBL R4 K2
- 0x88100903, // 000A GETMBR R4 R4 K3
- 0x7C080400, // 000B CALL R2 2
- 0x80000000, // 000C RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_action
-********************************************************************/
-be_local_closure(lvh_obj_get_action, /* name */
- be_nested_proto(
- 3, /* 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_literal("_action"),
- /* K1 */ be_nested_str_literal(""),
- }),
- be_str_literal("get_action"),
- &be_const_str_solidified,
- ( &(const binstruction[ 6]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
- 0x78060001, // 0001 JMPF R1 #0004
- 0x5C080200, // 0002 MOVE R2 R1
- 0x70020000, // 0003 JMP #0005
- 0x58080001, // 0004 LDCONST R2 K1
- 0x80040400, // 0005 RET 1 R2
+ 0x8C040301, // 0001 GETMET R1 R1 K1
+ 0x7C040200, // 0002 CALL R1 1
+ 0x80040200, // 0003 RET 1 R1
})
)
);
@@ -1786,11 +588,11 @@ be_local_closure(lvh_obj_get_action, /* name */
/********************************************************************
-** Solidified function: set_enabled
+** Solidified function: set_value_ofs_x
********************************************************************/
-be_local_closure(lvh_obj_set_enabled, /* name */
+be_local_closure(lvh_obj_set_value_ofs_x, /* name */
be_nested_proto(
- 5, /* nstack */
+ 6, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@@ -1798,29 +600,23 @@ be_local_closure(lvh_obj_set_enabled, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("add_flag"),
- /* K2 */ be_nested_str_literal("lv"),
- /* K3 */ be_nested_str_literal("OBJ_FLAG_CLICKABLE"),
- /* K4 */ be_nested_str_literal("clear_flag"),
+ ( &(const bvalue[ 3]) { /* constants */
+ /* K0 */ be_nested_str_literal("check_label"),
+ /* K1 */ be_nested_str_literal("_lv_label"),
+ /* K2 */ be_nested_str_literal("set_x"),
}),
- be_str_literal("set_enabled"),
+ be_str_literal("set_value_ofs_x"),
&be_const_str_solidified,
- ( &(const binstruction[13]) { /* code */
- 0x78060005, // 0000 JMPF R1 #0007
- 0x88080100, // 0001 GETMBR R2 R0 K0
- 0x8C080501, // 0002 GETMET R2 R2 K1
- 0xB8120400, // 0003 GETNGBL R4 K2
- 0x88100903, // 0004 GETMBR R4 R4 K3
- 0x7C080400, // 0005 CALL R2 2
- 0x70020004, // 0006 JMP #000C
- 0x88080100, // 0007 GETMBR R2 R0 K0
- 0x8C080504, // 0008 GETMET R2 R2 K4
- 0xB8120400, // 0009 GETNGBL R4 K2
- 0x88100903, // 000A GETMBR R4 R4 K3
- 0x7C080400, // 000B CALL R2 2
- 0x80000000, // 000C RET 0
+ ( &(const binstruction[ 9]) { /* code */
+ 0x8C080100, // 0000 GETMET R2 R0 K0
+ 0x7C080200, // 0001 CALL R2 1
+ 0x88080101, // 0002 GETMBR R2 R0 K1
+ 0x8C080502, // 0003 GETMET R2 R2 K2
+ 0x60100009, // 0004 GETGBL R4 G9
+ 0x5C140200, // 0005 MOVE R5 R1
+ 0x7C100200, // 0006 CALL R4 1
+ 0x7C080400, // 0007 CALL R2 2
+ 0x80000000, // 0008 RET 0
})
)
);
@@ -1828,350 +624,9 @@ be_local_closure(lvh_obj_set_enabled, /* name */
/********************************************************************
-** Solidified function: setmember
+** Solidified function: get_radius2
********************************************************************/
-be_local_closure(lvh_obj_setmember, /* name */
- be_nested_proto(
- 12, /* nstack */
- 3, /* 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_literal("string"),
- /* K1 */ be_nested_str_literal("introspect"),
- /* K2 */ be_const_int(0),
- /* K3 */ be_const_int(3),
- /* K4 */ be_nested_str_literal("set_"),
- /* K5 */ be_nested_str_literal("get_"),
- /* K6 */ be_nested_str_literal("_attr_ignore"),
- /* K7 */ be_nested_str_literal("find"),
- /* K8 */ be_nested_str_literal("get"),
- /* K9 */ be_nested_str_literal("function"),
- /* K10 */ be_nested_str_literal("_attr_map"),
- /* K11 */ be_nested_str_literal("contains"),
- /* K12 */ be_nested_str_literal("_lv_obj"),
- /* K13 */ be_nested_str_literal("is_color_attribute"),
- /* K14 */ be_nested_str_literal("parse_color"),
- /* K15 */ be_nested_str_literal("style_"),
- /* K16 */ be_nested_str_literal("HSP: Could not find function set_"),
- /* K17 */ be_nested_str_literal("HSP: unknown attribute:"),
- }),
- be_str_literal("setmember"),
- &be_const_str_solidified,
- ( &(const binstruction[83]) { /* code */
- 0xA40E0000, // 0000 IMPORT R3 K0
- 0xA4120200, // 0001 IMPORT R4 K1
- 0x40160503, // 0002 CONNECT R5 K2 K3
- 0x94140205, // 0003 GETIDX R5 R1 R5
- 0x1C180B04, // 0004 EQ R6 R5 K4
- 0x741A0001, // 0005 JMPT R6 #0008
- 0x1C180B05, // 0006 EQ R6 R5 K5
- 0x781A0000, // 0007 JMPF R6 #0009
- 0x80000C00, // 0008 RET 0
- 0x88180106, // 0009 GETMBR R6 R0 K6
- 0x8C180D07, // 000A GETMET R6 R6 K7
- 0x5C200200, // 000B MOVE R8 R1
- 0x7C180400, // 000C CALL R6 2
- 0x4C1C0000, // 000D LDNIL R7
- 0x20180C07, // 000E NE R6 R6 R7
- 0x781A0000, // 000F JMPF R6 #0011
- 0x80000C00, // 0010 RET 0
- 0x8C180908, // 0011 GETMET R6 R4 K8
- 0x5C200000, // 0012 MOVE R8 R0
- 0x00260801, // 0013 ADD R9 K4 R1
- 0x7C180600, // 0014 CALL R6 3
- 0x601C0004, // 0015 GETGBL R7 G4
- 0x5C200C00, // 0016 MOVE R8 R6
- 0x7C1C0200, // 0017 CALL R7 1
- 0x1C1C0F09, // 0018 EQ R7 R7 K9
- 0x781E0004, // 0019 JMPF R7 #001F
- 0x5C1C0C00, // 001A MOVE R7 R6
- 0x5C200000, // 001B MOVE R8 R0
- 0x5C240400, // 001C MOVE R9 R2
- 0x7C1C0400, // 001D CALL R7 2
- 0x80000E00, // 001E RET 0
- 0x881C010A, // 001F GETMBR R7 R0 K10
- 0x8C1C0F0B, // 0020 GETMET R7 R7 K11
- 0x5C240200, // 0021 MOVE R9 R1
- 0x7C1C0400, // 0022 CALL R7 2
- 0x781E0029, // 0023 JMPF R7 #004E
- 0x881C010A, // 0024 GETMBR R7 R0 K10
- 0x941C0E01, // 0025 GETIDX R7 R7 R1
- 0x8C200908, // 0026 GETMET R8 R4 K8
- 0x8828010C, // 0027 GETMBR R10 R0 K12
- 0x002E0807, // 0028 ADD R11 K4 R7
- 0x7C200600, // 0029 CALL R8 3
- 0x5C181000, // 002A MOVE R6 R8
- 0x8C20010D, // 002B GETMET R8 R0 K13
- 0x5C280E00, // 002C MOVE R10 R7
- 0x7C200400, // 002D CALL R8 2
- 0x78220003, // 002E JMPF R8 #0033
- 0x8C20010E, // 002F GETMET R8 R0 K14
- 0x5C280400, // 0030 MOVE R10 R2
- 0x7C200400, // 0031 CALL R8 2
- 0x5C081000, // 0032 MOVE R2 R8
- 0x60200004, // 0033 GETGBL R8 G4
- 0x5C240C00, // 0034 MOVE R9 R6
- 0x7C200200, // 0035 CALL R8 1
- 0x1C201109, // 0036 EQ R8 R8 K9
- 0x78220011, // 0037 JMPF R8 #004A
- 0x8C200707, // 0038 GETMET R8 R3 K7
- 0x5C280E00, // 0039 MOVE R10 R7
- 0x582C000F, // 003A LDCONST R11 K15
- 0x7C200600, // 003B CALL R8 3
- 0x1C201102, // 003C EQ R8 R8 K2
- 0x78220005, // 003D JMPF R8 #0044
- 0x5C200C00, // 003E MOVE R8 R6
- 0x8824010C, // 003F GETMBR R9 R0 K12
- 0x5C280400, // 0040 MOVE R10 R2
- 0x582C0002, // 0041 LDCONST R11 K2
- 0x7C200600, // 0042 CALL R8 3
- 0x70020003, // 0043 JMP #0048
- 0x5C200C00, // 0044 MOVE R8 R6
- 0x8824010C, // 0045 GETMBR R9 R0 K12
- 0x5C280400, // 0046 MOVE R10 R2
- 0x7C200400, // 0047 CALL R8 2
- 0x80001000, // 0048 RET 0
- 0x70020002, // 0049 JMP #004D
- 0x60200001, // 004A GETGBL R8 G1
- 0x00262007, // 004B ADD R9 K16 R7
- 0x7C200200, // 004C CALL R8 1
- 0x70020003, // 004D JMP #0052
- 0x601C0001, // 004E GETGBL R7 G1
- 0x58200011, // 004F LDCONST R8 K17
- 0x5C240200, // 0050 MOVE R9 R1
- 0x7C1C0400, // 0051 CALL R7 2
- 0x80000000, // 0052 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_val_rule_formula
-********************************************************************/
-be_local_closure(lvh_obj_set_val_rule_formula, /* 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[ 7]) { /* constants */
- /* K0 */ be_nested_str_literal("_val_rule_formula"),
- /* K1 */ be_nested_str_literal("return / val -> ("),
- /* K2 */ be_nested_str_literal(")"),
- /* K3 */ be_nested_str_literal("_val_rule_function"),
- /* K4 */ be_nested_str_literal("string"),
- /* K5 */ be_nested_str_literal("format"),
- /* K6 */ be_nested_str_literal("HSP: failed to compile '%s' - %s (%s)"),
- }),
- be_str_literal("set_val_rule_formula"),
- &be_const_str_solidified,
- ( &(const binstruction[30]) { /* code */
- 0x60080008, // 0000 GETGBL R2 G8
- 0x5C0C0200, // 0001 MOVE R3 R1
- 0x7C080200, // 0002 CALL R2 1
- 0x90020002, // 0003 SETMBR R0 K0 R2
- 0x88080100, // 0004 GETMBR R2 R0 K0
- 0x000A0202, // 0005 ADD R2 K1 R2
- 0x00080502, // 0006 ADD R2 R2 K2
- 0xA8020007, // 0007 EXBLK 0 #0010
- 0x600C000D, // 0008 GETGBL R3 G13
- 0x5C100400, // 0009 MOVE R4 R2
- 0x7C0C0200, // 000A CALL R3 1
- 0x5C100600, // 000B MOVE R4 R3
- 0x7C100000, // 000C CALL R4 0
- 0x90020604, // 000D SETMBR R0 K3 R4
- 0xA8040001, // 000E EXBLK 1 1
- 0x7002000C, // 000F JMP #001D
- 0xAC0C0002, // 0010 CATCH R3 0 2
- 0x70020009, // 0011 JMP #001C
- 0xA4160800, // 0012 IMPORT R5 K4
- 0x60180001, // 0013 GETGBL R6 G1
- 0x8C1C0B05, // 0014 GETMET R7 R5 K5
- 0x58240006, // 0015 LDCONST R9 K6
- 0x5C280400, // 0016 MOVE R10 R2
- 0x5C2C0600, // 0017 MOVE R11 R3
- 0x5C300800, // 0018 MOVE R12 R4
- 0x7C1C0A00, // 0019 CALL R7 5
- 0x7C180200, // 001A CALL R6 1
- 0x70020000, // 001B JMP #001D
- 0xB0080000, // 001C RAISE 2 R0 R0
- 0x80000000, // 001D RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_text_font
-********************************************************************/
-be_local_closure(lvh_obj_set_text_font, /* 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[17]) { /* constants */
- /* K0 */ be_nested_str_literal("int"),
- /* K1 */ be_nested_str_literal("lv"),
- /* K2 */ be_nested_str_literal("font_embedded"),
- /* K3 */ be_nested_str_literal("robotocondensed"),
- /* K4 */ be_nested_str_literal("montserrat"),
- /* K5 */ be_nested_str_literal("string"),
- /* K6 */ be_nested_str_literal("split"),
- /* K7 */ be_nested_str_literal(":"),
- /* K8 */ be_const_int(1),
- /* K9 */ be_nested_str_literal("-"),
- /* K10 */ be_const_int(0),
- /* K11 */ be_nested_str_literal("load_font"),
- /* K12 */ be_const_int(2),
- /* K13 */ be_nested_str_literal("concat"),
- /* K14 */ be_nested_str_literal("_lv_obj"),
- /* K15 */ be_nested_str_literal("set_style_text_font"),
- /* K16 */ be_nested_str_literal("HSP: Unsupported font:"),
- }),
- be_str_literal("set_text_font"),
- &be_const_str_solidified,
- ( &(const binstruction[114]) { /* code */
- 0x4C080000, // 0000 LDNIL R2
- 0x600C0004, // 0001 GETGBL R3 G4
- 0x5C100200, // 0002 MOVE R4 R1
- 0x7C0C0200, // 0003 CALL R3 1
- 0x1C0C0700, // 0004 EQ R3 R3 K0
- 0x780E001B, // 0005 JMPF R3 #0022
- 0xA8020007, // 0006 EXBLK 0 #000F
- 0xB80E0200, // 0007 GETNGBL R3 K1
- 0x8C0C0702, // 0008 GETMET R3 R3 K2
- 0x58140003, // 0009 LDCONST R5 K3
- 0x5C180200, // 000A MOVE R6 R1
- 0x7C0C0600, // 000B CALL R3 3
- 0x5C080600, // 000C MOVE R2 R3
- 0xA8040001, // 000D EXBLK 1 1
- 0x70020011, // 000E JMP #0021
- 0xAC0C0000, // 000F CATCH R3 0 0
- 0x7002000E, // 0010 JMP #0020
- 0xA8020007, // 0011 EXBLK 0 #001A
- 0xB80E0200, // 0012 GETNGBL R3 K1
- 0x8C0C0702, // 0013 GETMET R3 R3 K2
- 0x58140004, // 0014 LDCONST R5 K4
- 0x5C180200, // 0015 MOVE R6 R1
- 0x7C0C0600, // 0016 CALL R3 3
- 0x5C080600, // 0017 MOVE R2 R3
- 0xA8040001, // 0018 EXBLK 1 1
- 0x70020004, // 0019 JMP #001F
- 0xAC0C0000, // 001A CATCH R3 0 0
- 0x70020001, // 001B JMP #001E
- 0x80000600, // 001C RET 0
- 0x70020000, // 001D JMP #001F
- 0xB0080000, // 001E RAISE 2 R0 R0
- 0x70020000, // 001F JMP #0021
- 0xB0080000, // 0020 RAISE 2 R0 R0
- 0x70020041, // 0021 JMP #0064
- 0x600C0004, // 0022 GETGBL R3 G4
- 0x5C100200, // 0023 MOVE R4 R1
- 0x7C0C0200, // 0024 CALL R3 1
- 0x1C0C0705, // 0025 EQ R3 R3 K5
- 0x780E003C, // 0026 JMPF R3 #0064
- 0xA40E0A00, // 0027 IMPORT R3 K5
- 0x8C100706, // 0028 GETMET R4 R3 K6
- 0x5C180200, // 0029 MOVE R6 R1
- 0x581C0007, // 002A LDCONST R7 K7
- 0x58200008, // 002B LDCONST R8 K8
- 0x7C100800, // 002C CALL R4 4
- 0x8C140706, // 002D GETMET R5 R3 K6
- 0x5C1C0200, // 002E MOVE R7 R1
- 0x58200009, // 002F LDCONST R8 K9
- 0x7C140600, // 0030 CALL R5 3
- 0x6018000C, // 0031 GETGBL R6 G12
- 0x5C1C0800, // 0032 MOVE R7 R4
- 0x7C180200, // 0033 CALL R6 1
- 0x24180D08, // 0034 GT R6 R6 K8
- 0x781A000A, // 0035 JMPF R6 #0041
- 0x6018000C, // 0036 GETGBL R6 G12
- 0x941C090A, // 0037 GETIDX R7 R4 K10
- 0x7C180200, // 0038 CALL R6 1
- 0x1C180D08, // 0039 EQ R6 R6 K8
- 0x781A0005, // 003A JMPF R6 #0041
- 0xB81A0200, // 003B GETNGBL R6 K1
- 0x8C180D0B, // 003C GETMET R6 R6 K11
- 0x5C200200, // 003D MOVE R8 R1
- 0x7C180400, // 003E CALL R6 2
- 0x5C080C00, // 003F MOVE R2 R6
- 0x70020022, // 0040 JMP #0064
- 0x6018000C, // 0041 GETGBL R6 G12
- 0x5C1C0A00, // 0042 MOVE R7 R5
- 0x7C180200, // 0043 CALL R6 1
- 0x28180D0C, // 0044 GE R6 R6 K12
- 0x781A001D, // 0045 JMPF R6 #0064
- 0x60180009, // 0046 GETGBL R6 G9
- 0x541DFFFE, // 0047 LDINT R7 -1
- 0x941C0A07, // 0048 GETIDX R7 R5 R7
- 0x7C180200, // 0049 CALL R6 1
- 0x541DFFFD, // 004A LDINT R7 -2
- 0x401E1407, // 004B CONNECT R7 K10 R7
- 0x941C0A07, // 004C GETIDX R7 R5 R7
- 0x8C1C0F0D, // 004D GETMET R7 R7 K13
- 0x58240009, // 004E LDCONST R9 K9
- 0x7C1C0400, // 004F CALL R7 2
- 0x24200D0A, // 0050 GT R8 R6 K10
- 0x78220011, // 0051 JMPF R8 #0064
- 0x6020000C, // 0052 GETGBL R8 G12
- 0x5C240E00, // 0053 MOVE R9 R7
- 0x7C200200, // 0054 CALL R8 1
- 0x2420110A, // 0055 GT R8 R8 K10
- 0x7822000C, // 0056 JMPF R8 #0064
- 0xA8020007, // 0057 EXBLK 0 #0060
- 0xB8220200, // 0058 GETNGBL R8 K1
- 0x8C201102, // 0059 GETMET R8 R8 K2
- 0x5C280E00, // 005A MOVE R10 R7
- 0x5C2C0C00, // 005B MOVE R11 R6
- 0x7C200600, // 005C CALL R8 3
- 0x5C081000, // 005D MOVE R2 R8
- 0xA8040001, // 005E EXBLK 1 1
- 0x70020003, // 005F JMP #0064
- 0xAC200000, // 0060 CATCH R8 0 0
- 0x70020000, // 0061 JMP #0063
- 0x70020000, // 0062 JMP #0064
- 0xB0080000, // 0063 RAISE 2 R0 R0
- 0x4C0C0000, // 0064 LDNIL R3
- 0x200C0403, // 0065 NE R3 R2 R3
- 0x780E0005, // 0066 JMPF R3 #006D
- 0x880C010E, // 0067 GETMBR R3 R0 K14
- 0x8C0C070F, // 0068 GETMET R3 R3 K15
- 0x5C140400, // 0069 MOVE R5 R2
- 0x5818000A, // 006A LDCONST R6 K10
- 0x7C0C0600, // 006B CALL R3 3
- 0x70020003, // 006C JMP #0071
- 0x600C0001, // 006D GETGBL R3 G1
- 0x58100010, // 006E LDCONST R4 K16
- 0x5C140200, // 006F MOVE R5 R1
- 0x7C0C0400, // 0070 CALL R3 2
- 0x80000000, // 0071 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_align
-********************************************************************/
-be_local_closure(lvh_obj_get_align, /* name */
+be_local_closure(lvh_obj_get_radius2, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
@@ -2181,97 +636,29 @@ be_local_closure(lvh_obj_get_align, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[10]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_label"),
- /* K1 */ be_nested_str_literal("get_style_text_align"),
- /* K2 */ be_const_int(0),
- /* K3 */ be_nested_str_literal("lv"),
- /* K4 */ be_nested_str_literal("TEXT_ALIGN_LEFT"),
- /* K5 */ be_nested_str_literal("left"),
- /* K6 */ be_nested_str_literal("TEXT_ALIGN_CENTER"),
- /* K7 */ be_nested_str_literal("center"),
- /* K8 */ be_nested_str_literal("TEXT_ALIGN_RIGHT"),
- /* K9 */ be_nested_str_literal("right"),
- }),
- be_str_literal("get_align"),
- &be_const_str_solidified,
- ( &(const binstruction[32]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x4C080000, // 0001 LDNIL R2
- 0x1C040202, // 0002 EQ R1 R1 R2
- 0x78060001, // 0003 JMPF R1 #0006
- 0x4C040000, // 0004 LDNIL R1
- 0x80040200, // 0005 RET 1 R1
- 0x4C040000, // 0006 LDNIL R1
- 0x88080100, // 0007 GETMBR R2 R0 K0
- 0x8C080501, // 0008 GETMET R2 R2 K1
- 0x58100002, // 0009 LDCONST R4 K2
- 0x7C080400, // 000A CALL R2 2
- 0xB80A0600, // 000B GETNGBL R2 K3
- 0x88080504, // 000C GETMBR R2 R2 K4
- 0x1C080202, // 000D EQ R2 R1 R2
- 0x780A0001, // 000E JMPF R2 #0011
- 0x80060A00, // 000F RET 1 K5
- 0x7002000D, // 0010 JMP #001F
- 0xB80A0600, // 0011 GETNGBL R2 K3
- 0x88080506, // 0012 GETMBR R2 R2 K6
- 0x1C080202, // 0013 EQ R2 R1 R2
- 0x780A0001, // 0014 JMPF R2 #0017
- 0x80060E00, // 0015 RET 1 K7
- 0x70020007, // 0016 JMP #001F
- 0xB80A0600, // 0017 GETNGBL R2 K3
- 0x88080508, // 0018 GETMBR R2 R2 K8
- 0x1C080202, // 0019 EQ R2 R1 R2
- 0x780A0001, // 001A JMPF R2 #001D
- 0x80061200, // 001B RET 1 K9
- 0x70020001, // 001C JMP #001F
- 0x4C080000, // 001D LDNIL R2
- 0x80040400, // 001E RET 1 R2
- 0x80000000, // 001F RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_pad_bottom2
-********************************************************************/
-be_local_closure(lvh_obj_set_pad_bottom2, /* 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[ 5]) { /* constants */
/* K0 */ be_nested_str_literal("_lv_part2_selector"),
/* K1 */ be_nested_str_literal("_lv_obj"),
- /* K2 */ be_nested_str_literal("set_style_pad_bottom"),
+ /* K2 */ be_nested_str_literal("get_style_radius"),
/* K3 */ be_nested_str_literal("lv"),
/* K4 */ be_nested_str_literal("STATE_DEFAULT"),
}),
- be_str_literal("set_pad_bottom2"),
+ be_str_literal("get_radius2"),
&be_const_str_solidified,
- ( &(const binstruction[15]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x4C0C0000, // 0001 LDNIL R3
- 0x20080403, // 0002 NE R2 R2 R3
- 0x780A0009, // 0003 JMPF R2 #000E
- 0x88080101, // 0004 GETMBR R2 R0 K1
- 0x8C080502, // 0005 GETMET R2 R2 K2
- 0x60100009, // 0006 GETGBL R4 G9
- 0x5C140200, // 0007 MOVE R5 R1
- 0x7C100200, // 0008 CALL R4 1
- 0x88140100, // 0009 GETMBR R5 R0 K0
- 0xB81A0600, // 000A GETNGBL R6 K3
- 0x88180D04, // 000B GETMBR R6 R6 K4
- 0x30140A06, // 000C OR R5 R5 R6
- 0x7C080600, // 000D CALL R2 3
- 0x80000000, // 000E RET 0
+ ( &(const binstruction[13]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x4C080000, // 0001 LDNIL R2
+ 0x20040202, // 0002 NE R1 R1 R2
+ 0x78060007, // 0003 JMPF R1 #000C
+ 0x88040101, // 0004 GETMBR R1 R0 K1
+ 0x8C040302, // 0005 GETMET R1 R1 K2
+ 0x880C0100, // 0006 GETMBR R3 R0 K0
+ 0xB8120600, // 0007 GETNGBL R4 K3
+ 0x88100904, // 0008 GETMBR R4 R4 K4
+ 0x300C0604, // 0009 OR R3 R3 R4
+ 0x7C040400, // 000A CALL R1 2
+ 0x80040200, // 000B RET 1 R1
+ 0x80000000, // 000C RET 0
})
)
);
@@ -2279,12 +666,12 @@ be_local_closure(lvh_obj_set_pad_bottom2, /* name */
/********************************************************************
-** Solidified function: set_click
+** Solidified function: get_text_rule
********************************************************************/
-be_local_closure(lvh_obj_set_click, /* name */
+be_local_closure(lvh_obj_get_text_rule, /* name */
be_nested_proto(
- 5, /* nstack */
- 2, /* argc */
+ 2, /* nstack */
+ 1, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
@@ -2292,15 +679,13 @@ be_local_closure(lvh_obj_set_click, /* name */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
- /* K0 */ be_nested_str_literal("set_enabled"),
+ /* K0 */ be_nested_str_literal("_text_rule"),
}),
- be_str_literal("set_click"),
+ be_str_literal("get_text_rule"),
&be_const_str_solidified,
- ( &(const binstruction[ 4]) { /* code */
- 0x8C080100, // 0000 GETMET R2 R0 K0
- 0x5C100200, // 0001 MOVE R4 R1
- 0x7C080400, // 0002 CALL R2 2
- 0x80000000, // 0003 RET 0
+ ( &(const binstruction[ 2]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x80040200, // 0001 RET 1 R1
})
)
);
@@ -2349,613 +734,6 @@ be_local_closure(lvh_obj_get_pad_right, /* name */
/*******************************************************************/
-/********************************************************************
-** Solidified function: set_text_color
-********************************************************************/
-be_local_closure(lvh_obj_set_text_color, /* 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[ 4]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("set_style_text_color"),
- /* K2 */ be_nested_str_literal("parse_color"),
- /* K3 */ be_const_int(0),
- }),
- be_str_literal("set_text_color"),
- &be_const_str_solidified,
- ( &(const binstruction[ 8]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x8C080501, // 0001 GETMET R2 R2 K1
- 0x8C100102, // 0002 GETMET R4 R0 K2
- 0x5C180200, // 0003 MOVE R6 R1
- 0x7C100400, // 0004 CALL R4 2
- 0x58140003, // 0005 LDCONST R5 K3
- 0x7C080600, // 0006 CALL R2 3
- 0x80000000, // 0007 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: check_label
-********************************************************************/
-be_local_closure(lvh_obj_check_label, /* 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[ 6]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_label"),
- /* K1 */ be_nested_str_literal("lv"),
- /* K2 */ be_nested_str_literal("label"),
- /* K3 */ be_nested_str_literal("get_obj"),
- /* K4 */ be_nested_str_literal("set_align"),
- /* K5 */ be_nested_str_literal("ALIGN_CENTER"),
- }),
- be_str_literal("check_label"),
- &be_const_str_solidified,
- ( &(const binstruction[16]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x4C080000, // 0001 LDNIL R2
- 0x1C040202, // 0002 EQ R1 R1 R2
- 0x7806000A, // 0003 JMPF R1 #000F
- 0xB8060200, // 0004 GETNGBL R1 K1
- 0x8C040302, // 0005 GETMET R1 R1 K2
- 0x8C0C0103, // 0006 GETMET R3 R0 K3
- 0x7C0C0200, // 0007 CALL R3 1
- 0x7C040400, // 0008 CALL R1 2
- 0x90020001, // 0009 SETMBR R0 K0 R1
- 0x88040100, // 000A GETMBR R1 R0 K0
- 0x8C040304, // 000B GETMET R1 R1 K4
- 0xB80E0200, // 000C GETNGBL R3 K1
- 0x880C0705, // 000D GETMBR R3 R3 K5
- 0x7C040400, // 000E CALL R1 2
- 0x80000000, // 000F RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_val
-********************************************************************/
-be_local_closure(lvh_obj_get_val, /* name */
- be_nested_proto(
- 3, /* 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_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("get_value"),
- }),
- be_str_literal("get_val"),
- &be_const_str_solidified,
- ( &(const binstruction[ 4]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0x7C040200, // 0002 CALL R1 1
- 0x80040200, // 0003 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: member
-********************************************************************/
-be_local_closure(lvh_obj_member, /* name */
- be_nested_proto(
- 11, /* 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_literal("string"),
- /* K1 */ be_nested_str_literal("introspect"),
- /* K2 */ be_const_int(0),
- /* K3 */ be_const_int(3),
- /* K4 */ be_nested_str_literal("set_"),
- /* K5 */ be_nested_str_literal("get_"),
- /* K6 */ be_nested_str_literal("_attr_ignore"),
- /* K7 */ be_nested_str_literal("find"),
- /* K8 */ be_nested_str_literal("get"),
- /* K9 */ be_nested_str_literal("function"),
- /* K10 */ be_nested_str_literal("_attr_map"),
- /* K11 */ be_nested_str_literal("contains"),
- /* K12 */ be_nested_str_literal("_lv_obj"),
- /* K13 */ be_nested_str_literal("style_"),
- /* K14 */ be_nested_str_literal("unknown attribute "),
- /* K15 */ be_nested_str_literal("value_error"),
- }),
- be_str_literal("member"),
- &be_const_str_solidified,
- ( &(const binstruction[69]) { /* code */
- 0xA40A0000, // 0000 IMPORT R2 K0
- 0xA40E0200, // 0001 IMPORT R3 K1
- 0x40120503, // 0002 CONNECT R4 K2 K3
- 0x94100204, // 0003 GETIDX R4 R1 R4
- 0x1C140904, // 0004 EQ R5 R4 K4
- 0x74160001, // 0005 JMPT R5 #0008
- 0x1C140905, // 0006 EQ R5 R4 K5
- 0x78160000, // 0007 JMPF R5 #0009
- 0x80000A00, // 0008 RET 0
- 0x88140106, // 0009 GETMBR R5 R0 K6
- 0x8C140B07, // 000A GETMET R5 R5 K7
- 0x5C1C0200, // 000B MOVE R7 R1
- 0x7C140400, // 000C CALL R5 2
- 0x4C180000, // 000D LDNIL R6
- 0x20140A06, // 000E NE R5 R5 R6
- 0x78160000, // 000F JMPF R5 #0011
- 0x80000A00, // 0010 RET 0
- 0x8C140708, // 0011 GETMET R5 R3 K8
- 0x5C1C0000, // 0012 MOVE R7 R0
- 0x00220A01, // 0013 ADD R8 K5 R1
- 0x7C140600, // 0014 CALL R5 3
- 0x60180004, // 0015 GETGBL R6 G4
- 0x5C1C0A00, // 0016 MOVE R7 R5
- 0x7C180200, // 0017 CALL R6 1
- 0x1C180D09, // 0018 EQ R6 R6 K9
- 0x781A0003, // 0019 JMPF R6 #001E
- 0x5C180A00, // 001A MOVE R6 R5
- 0x5C1C0000, // 001B MOVE R7 R0
- 0x7C180200, // 001C CALL R6 1
- 0x80040C00, // 001D RET 1 R6
- 0x8818010A, // 001E GETMBR R6 R0 K10
- 0x8C180D0B, // 001F GETMET R6 R6 K11
- 0x5C200200, // 0020 MOVE R8 R1
- 0x7C180400, // 0021 CALL R6 2
- 0x781A001B, // 0022 JMPF R6 #003F
- 0x8818010A, // 0023 GETMBR R6 R0 K10
- 0x94180C01, // 0024 GETIDX R6 R6 R1
- 0x8C1C0708, // 0025 GETMET R7 R3 K8
- 0x8824010C, // 0026 GETMBR R9 R0 K12
- 0x002A0A06, // 0027 ADD R10 K5 R6
- 0x7C1C0600, // 0028 CALL R7 3
- 0x5C140E00, // 0029 MOVE R5 R7
- 0x601C0004, // 002A GETGBL R7 G4
- 0x5C200A00, // 002B MOVE R8 R5
- 0x7C1C0200, // 002C CALL R7 1
- 0x1C1C0F09, // 002D EQ R7 R7 K9
- 0x781E000F, // 002E JMPF R7 #003F
- 0x8C1C0507, // 002F GETMET R7 R2 K7
- 0x5C240C00, // 0030 MOVE R9 R6
- 0x5828000D, // 0031 LDCONST R10 K13
- 0x7C1C0600, // 0032 CALL R7 3
- 0x1C1C0F02, // 0033 EQ R7 R7 K2
- 0x781E0005, // 0034 JMPF R7 #003B
- 0x5C1C0A00, // 0035 MOVE R7 R5
- 0x8820010C, // 0036 GETMBR R8 R0 K12
- 0x58240002, // 0037 LDCONST R9 K2
- 0x7C1C0400, // 0038 CALL R7 2
- 0x80040E00, // 0039 RET 1 R7
- 0x70020003, // 003A JMP #003F
- 0x5C1C0A00, // 003B MOVE R7 R5
- 0x8820010C, // 003C GETMBR R8 R0 K12
- 0x7C1C0200, // 003D CALL R7 1
- 0x80040E00, // 003E RET 1 R7
- 0x60180008, // 003F GETGBL R6 G8
- 0x5C1C0200, // 0040 MOVE R7 R1
- 0x7C180200, // 0041 CALL R6 1
- 0x001A1C06, // 0042 ADD R6 K14 R6
- 0xB0061E06, // 0043 RAISE 1 K15 R6
- 0x80000000, // 0044 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: text_rule_matched
-********************************************************************/
-be_local_closure(lvh_obj_text_rule_matched, /* 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[ 8]) { /* constants */
- /* K0 */ be_nested_str_literal("int"),
- /* K1 */ be_nested_str_literal("_text_rule_function"),
- /* K2 */ be_nested_str_literal("string"),
- /* K3 */ be_nested_str_literal("format"),
- /* K4 */ be_nested_str_literal("HSP: failed to run self._text_rule_function - %s (%s)"),
- /* K5 */ be_nested_str_literal("_text_rule_format"),
- /* K6 */ be_nested_str_literal(""),
- /* K7 */ be_nested_str_literal("text"),
- }),
- be_str_literal("text_rule_matched"),
- &be_const_str_solidified,
- ( &(const binstruction[49]) { /* code */
- 0x60080004, // 0000 GETGBL R2 G4
- 0x5C0C0200, // 0001 MOVE R3 R1
- 0x7C080200, // 0002 CALL R2 1
- 0x1C080500, // 0003 EQ R2 R2 K0
- 0x780A0003, // 0004 JMPF R2 #0009
- 0x6008000A, // 0005 GETGBL R2 G10
- 0x5C0C0200, // 0006 MOVE R3 R1
- 0x7C080200, // 0007 CALL R2 1
- 0x5C040400, // 0008 MOVE R1 R2
- 0x88080101, // 0009 GETMBR R2 R0 K1
- 0x4C0C0000, // 000A LDNIL R3
- 0x200C0403, // 000B NE R3 R2 R3
- 0x780E0012, // 000C JMPF R3 #0020
- 0xA8020005, // 000D EXBLK 0 #0014
- 0x5C0C0400, // 000E MOVE R3 R2
- 0x5C100200, // 000F MOVE R4 R1
- 0x7C0C0200, // 0010 CALL R3 1
- 0x5C040600, // 0011 MOVE R1 R3
- 0xA8040001, // 0012 EXBLK 1 1
- 0x7002000B, // 0013 JMP #0020
- 0xAC0C0002, // 0014 CATCH R3 0 2
- 0x70020008, // 0015 JMP #001F
- 0xA4160400, // 0016 IMPORT R5 K2
- 0x60180001, // 0017 GETGBL R6 G1
- 0x8C1C0B03, // 0018 GETMET R7 R5 K3
- 0x58240004, // 0019 LDCONST R9 K4
- 0x5C280600, // 001A MOVE R10 R3
- 0x5C2C0800, // 001B MOVE R11 R4
- 0x7C1C0800, // 001C CALL R7 4
- 0x7C180200, // 001D CALL R6 1
- 0x70020000, // 001E JMP #0020
- 0xB0080000, // 001F RAISE 2 R0 R0
- 0x880C0105, // 0020 GETMBR R3 R0 K5
- 0x60100004, // 0021 GETGBL R4 G4
- 0x5C140600, // 0022 MOVE R5 R3
- 0x7C100200, // 0023 CALL R4 1
- 0x1C100902, // 0024 EQ R4 R4 K2
- 0x78120006, // 0025 JMPF R4 #002D
- 0xA4120400, // 0026 IMPORT R4 K2
- 0x8C140903, // 0027 GETMET R5 R4 K3
- 0x5C1C0600, // 0028 MOVE R7 R3
- 0x5C200200, // 0029 MOVE R8 R1
- 0x7C140600, // 002A CALL R5 3
- 0x5C0C0A00, // 002B MOVE R3 R5
- 0x70020000, // 002C JMP #002E
- 0x580C0006, // 002D LDCONST R3 K6
- 0x90020E03, // 002E SETMBR R0 K7 R3
- 0x50100000, // 002F LDBOOL R4 0 0
- 0x80040800, // 0030 RET 1 R4
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_mode
-********************************************************************/
-be_local_closure(lvh_obj_set_mode, /* 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[18]) { /* constants */
- /* K0 */ be_nested_str_literal("expand"),
- /* K1 */ be_nested_str_literal("_lv_obj"),
- /* K2 */ be_nested_str_literal("set_width"),
- /* K3 */ be_nested_str_literal("lv"),
- /* K4 */ be_nested_str_literal("SIZE_CONTENT"),
- /* K5 */ be_nested_str_literal("break"),
- /* K6 */ be_nested_str_literal("LABEL_LONG_WRAP"),
- /* K7 */ be_nested_str_literal("dots"),
- /* K8 */ be_nested_str_literal("LABEL_LONG_DOT"),
- /* K9 */ be_nested_str_literal("scroll"),
- /* K10 */ be_nested_str_literal("LABEL_LONG_SCROLL"),
- /* K11 */ be_nested_str_literal("loop"),
- /* K12 */ be_nested_str_literal("LABEL_LONG_SCROLL_CIRCULAR"),
- /* K13 */ be_nested_str_literal("crop"),
- /* K14 */ be_nested_str_literal("LABEL_LONG_CLIP"),
- /* K15 */ be_nested_str_literal("check_label"),
- /* K16 */ be_nested_str_literal("_lv_label"),
- /* K17 */ be_nested_str_literal("set_long_mode"),
- }),
- be_str_literal("set_mode"),
- &be_const_str_solidified,
- ( &(const binstruction[43]) { /* code */
- 0x4C080000, // 0000 LDNIL R2
- 0x1C0C0300, // 0001 EQ R3 R1 K0
- 0x780E0005, // 0002 JMPF R3 #0009
- 0x880C0101, // 0003 GETMBR R3 R0 K1
- 0x8C0C0702, // 0004 GETMET R3 R3 K2
- 0xB8160600, // 0005 GETNGBL R5 K3
- 0x88140B04, // 0006 GETMBR R5 R5 K4
- 0x7C0C0400, // 0007 CALL R3 2
- 0x70020017, // 0008 JMP #0021
- 0x1C0C0305, // 0009 EQ R3 R1 K5
- 0x780E0002, // 000A JMPF R3 #000E
- 0xB80E0600, // 000B GETNGBL R3 K3
- 0x88080706, // 000C GETMBR R2 R3 K6
- 0x70020012, // 000D JMP #0021
- 0x1C0C0307, // 000E EQ R3 R1 K7
- 0x780E0002, // 000F JMPF R3 #0013
- 0xB80E0600, // 0010 GETNGBL R3 K3
- 0x88080708, // 0011 GETMBR R2 R3 K8
- 0x7002000D, // 0012 JMP #0021
- 0x1C0C0309, // 0013 EQ R3 R1 K9
- 0x780E0002, // 0014 JMPF R3 #0018
- 0xB80E0600, // 0015 GETNGBL R3 K3
- 0x8808070A, // 0016 GETMBR R2 R3 K10
- 0x70020008, // 0017 JMP #0021
- 0x1C0C030B, // 0018 EQ R3 R1 K11
- 0x780E0002, // 0019 JMPF R3 #001D
- 0xB80E0600, // 001A GETNGBL R3 K3
- 0x8808070C, // 001B GETMBR R2 R3 K12
- 0x70020003, // 001C JMP #0021
- 0x1C0C030D, // 001D EQ R3 R1 K13
- 0x780E0001, // 001E JMPF R3 #0021
- 0xB80E0600, // 001F GETNGBL R3 K3
- 0x8808070E, // 0020 GETMBR R2 R3 K14
- 0x4C0C0000, // 0021 LDNIL R3
- 0x200C0403, // 0022 NE R3 R2 R3
- 0x780E0005, // 0023 JMPF R3 #002A
- 0x8C0C010F, // 0024 GETMET R3 R0 K15
- 0x7C0C0200, // 0025 CALL R3 1
- 0x880C0110, // 0026 GETMBR R3 R0 K16
- 0x8C0C0711, // 0027 GETMET R3 R3 K17
- 0x5C140400, // 0028 MOVE R5 R2
- 0x7C0C0400, // 0029 CALL R3 2
- 0x80000000, // 002A RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_text_rule_formula
-********************************************************************/
-be_local_closure(lvh_obj_set_text_rule_formula, /* 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[ 7]) { /* constants */
- /* K0 */ be_nested_str_literal("_text_rule_formula"),
- /* K1 */ be_nested_str_literal("return / val -> ("),
- /* K2 */ be_nested_str_literal(")"),
- /* K3 */ be_nested_str_literal("_text_rule_function"),
- /* K4 */ be_nested_str_literal("string"),
- /* K5 */ be_nested_str_literal("format"),
- /* K6 */ be_nested_str_literal("HSP: failed to compile '%s' - %s (%s)"),
- }),
- be_str_literal("set_text_rule_formula"),
- &be_const_str_solidified,
- ( &(const binstruction[30]) { /* code */
- 0x60080008, // 0000 GETGBL R2 G8
- 0x5C0C0200, // 0001 MOVE R3 R1
- 0x7C080200, // 0002 CALL R2 1
- 0x90020002, // 0003 SETMBR R0 K0 R2
- 0x88080100, // 0004 GETMBR R2 R0 K0
- 0x000A0202, // 0005 ADD R2 K1 R2
- 0x00080502, // 0006 ADD R2 R2 K2
- 0xA8020007, // 0007 EXBLK 0 #0010
- 0x600C000D, // 0008 GETGBL R3 G13
- 0x5C100400, // 0009 MOVE R4 R2
- 0x7C0C0200, // 000A CALL R3 1
- 0x5C100600, // 000B MOVE R4 R3
- 0x7C100000, // 000C CALL R4 0
- 0x90020604, // 000D SETMBR R0 K3 R4
- 0xA8040001, // 000E EXBLK 1 1
- 0x7002000C, // 000F JMP #001D
- 0xAC0C0002, // 0010 CATCH R3 0 2
- 0x70020009, // 0011 JMP #001C
- 0xA4160800, // 0012 IMPORT R5 K4
- 0x60180001, // 0013 GETGBL R6 G1
- 0x8C1C0B05, // 0014 GETMET R7 R5 K5
- 0x58240006, // 0015 LDCONST R9 K6
- 0x5C280400, // 0016 MOVE R10 R2
- 0x5C2C0600, // 0017 MOVE R11 R3
- 0x5C300800, // 0018 MOVE R12 R4
- 0x7C1C0A00, // 0019 CALL R7 5
- 0x7C180200, // 001A CALL R6 1
- 0x70020000, // 001B JMP #001D
- 0xB0080000, // 001C RAISE 2 R0 R0
- 0x80000000, // 001D RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_hidden
-********************************************************************/
-be_local_closure(lvh_obj_get_hidden, /* 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[ 4]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("has_flag"),
- /* K2 */ be_nested_str_literal("lv"),
- /* K3 */ be_nested_str_literal("OBJ_FLAG_HIDDEN"),
- }),
- be_str_literal("get_hidden"),
- &be_const_str_solidified,
- ( &(const binstruction[ 6]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0xB80E0400, // 0002 GETNGBL R3 K2
- 0x880C0703, // 0003 GETMBR R3 R3 K3
- 0x7C040400, // 0004 CALL R1 2
- 0x80040200, // 0005 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: post_init
-********************************************************************/
-be_local_closure(lvh_obj_post_init, /* name */
- be_nested_proto(
- 3, /* 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_literal("register_event_cb"),
- }),
- be_str_literal("post_init"),
- &be_const_str_solidified,
- ( &(const binstruction[ 3]) { /* code */
- 0x8C040100, // 0000 GETMET R1 R0 K0
- 0x7C040200, // 0001 CALL R1 1
- 0x80000000, // 0002 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_val_rule_formula
-********************************************************************/
-be_local_closure(lvh_obj_get_val_rule_formula, /* 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_literal("_val_rule_formula"),
- }),
- be_str_literal("get_val_rule_formula"),
- &be_const_str_solidified,
- ( &(const binstruction[ 2]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x80040200, // 0001 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_value_color
-********************************************************************/
-be_local_closure(lvh_obj_get_value_color, /* name */
- be_nested_proto(
- 3, /* 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_literal("get_value_color"),
- }),
- be_str_literal("get_value_color"),
- &be_const_str_solidified,
- ( &(const binstruction[ 3]) { /* code */
- 0x8C040100, // 0000 GETMET R1 R0 K0
- 0x7C040200, // 0001 CALL R1 1
- 0x80040200, // 0002 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_pad_top
-********************************************************************/
-be_local_closure(lvh_obj_get_pad_top, /* 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[ 5]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_part2_selector"),
- /* K1 */ be_nested_str_literal("_lv_obj"),
- /* K2 */ be_nested_str_literal("get_style_pad_top"),
- /* K3 */ be_nested_str_literal("lv"),
- /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
- }),
- be_str_literal("get_pad_top"),
- &be_const_str_solidified,
- ( &(const binstruction[13]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x4C080000, // 0001 LDNIL R2
- 0x20040202, // 0002 NE R1 R1 R2
- 0x78060007, // 0003 JMPF R1 #000C
- 0x88040101, // 0004 GETMBR R1 R0 K1
- 0x8C040302, // 0005 GETMET R1 R1 K2
- 0x880C0100, // 0006 GETMBR R3 R0 K0
- 0xB8120600, // 0007 GETNGBL R4 K3
- 0x88100904, // 0008 GETMBR R4 R4 K4
- 0x300C0604, // 0009 OR R3 R3 R4
- 0x7C040400, // 000A CALL R1 2
- 0x80040200, // 000B RET 1 R1
- 0x80000000, // 000C RET 0
- })
- )
-);
-/*******************************************************************/
-
-
/********************************************************************
** Solidified function: set_value_ofs_y
********************************************************************/
@@ -2992,409 +770,6 @@ be_local_closure(lvh_obj_set_value_ofs_y, /* name */
/*******************************************************************/
-/********************************************************************
-** Solidified function: get_pad_left
-********************************************************************/
-be_local_closure(lvh_obj_get_pad_left, /* 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[ 5]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_part2_selector"),
- /* K1 */ be_nested_str_literal("_lv_obj"),
- /* K2 */ be_nested_str_literal("get_style_pad_left"),
- /* K3 */ be_nested_str_literal("lv"),
- /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
- }),
- be_str_literal("get_pad_left"),
- &be_const_str_solidified,
- ( &(const binstruction[13]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x4C080000, // 0001 LDNIL R2
- 0x20040202, // 0002 NE R1 R1 R2
- 0x78060007, // 0003 JMPF R1 #000C
- 0x88040101, // 0004 GETMBR R1 R0 K1
- 0x8C040302, // 0005 GETMET R1 R1 K2
- 0x880C0100, // 0006 GETMBR R3 R0 K0
- 0xB8120600, // 0007 GETNGBL R4 K3
- 0x88100904, // 0008 GETMBR R4 R4 K4
- 0x300C0604, // 0009 OR R3 R3 R4
- 0x7C040400, // 000A CALL R1 2
- 0x80040200, // 000B RET 1 R1
- 0x80000000, // 000C RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_value_font
-********************************************************************/
-be_local_closure(lvh_obj_set_value_font, /* 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[ 1]) { /* constants */
- /* K0 */ be_nested_str_literal("set_text_font"),
- }),
- be_str_literal("set_value_font"),
- &be_const_str_solidified,
- ( &(const binstruction[ 4]) { /* code */
- 0x8C080100, // 0000 GETMET R2 R0 K0
- 0x5C100200, // 0001 MOVE R4 R1
- 0x7C080400, // 0002 CALL R2 2
- 0x80000000, // 0003 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_pad_top2
-********************************************************************/
-be_local_closure(lvh_obj_set_pad_top2, /* 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[ 5]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_part2_selector"),
- /* K1 */ be_nested_str_literal("_lv_obj"),
- /* K2 */ be_nested_str_literal("set_style_pad_top"),
- /* K3 */ be_nested_str_literal("lv"),
- /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
- }),
- be_str_literal("set_pad_top2"),
- &be_const_str_solidified,
- ( &(const binstruction[15]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x4C0C0000, // 0001 LDNIL R3
- 0x20080403, // 0002 NE R2 R2 R3
- 0x780A0009, // 0003 JMPF R2 #000E
- 0x88080101, // 0004 GETMBR R2 R0 K1
- 0x8C080502, // 0005 GETMET R2 R2 K2
- 0x60100009, // 0006 GETGBL R4 G9
- 0x5C140200, // 0007 MOVE R5 R1
- 0x7C100200, // 0008 CALL R4 1
- 0x88140100, // 0009 GETMBR R5 R0 K0
- 0xB81A0600, // 000A GETNGBL R6 K3
- 0x88180D04, // 000B GETMBR R6 R6 K4
- 0x30140A06, // 000C OR R5 R5 R6
- 0x7C080600, // 000D CALL R2 3
- 0x80000000, // 000E RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: val_rule_matched
-********************************************************************/
-be_local_closure(lvh_obj_val_rule_matched, /* 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[ 5]) { /* constants */
- /* K0 */ be_nested_str_literal("_val_rule_function"),
- /* K1 */ be_nested_str_literal("string"),
- /* K2 */ be_nested_str_literal("format"),
- /* K3 */ be_nested_str_literal("HSP: failed to run self._val_rule_function - %s (%s)"),
- /* K4 */ be_nested_str_literal("val"),
- }),
- be_str_literal("val_rule_matched"),
- &be_const_str_solidified,
- ( &(const binstruction[32]) { /* code */
- 0x6008000A, // 0000 GETGBL R2 G10
- 0x5C0C0200, // 0001 MOVE R3 R1
- 0x7C080200, // 0002 CALL R2 1
- 0x880C0100, // 0003 GETMBR R3 R0 K0
- 0x4C100000, // 0004 LDNIL R4
- 0x20100604, // 0005 NE R4 R3 R4
- 0x78120012, // 0006 JMPF R4 #001A
- 0xA8020005, // 0007 EXBLK 0 #000E
- 0x5C100600, // 0008 MOVE R4 R3
- 0x5C140400, // 0009 MOVE R5 R2
- 0x7C100200, // 000A CALL R4 1
- 0x5C080800, // 000B MOVE R2 R4
- 0xA8040001, // 000C EXBLK 1 1
- 0x7002000B, // 000D JMP #001A
- 0xAC100002, // 000E CATCH R4 0 2
- 0x70020008, // 000F JMP #0019
- 0xA41A0200, // 0010 IMPORT R6 K1
- 0x601C0001, // 0011 GETGBL R7 G1
- 0x8C200D02, // 0012 GETMET R8 R6 K2
- 0x58280003, // 0013 LDCONST R10 K3
- 0x5C2C0800, // 0014 MOVE R11 R4
- 0x5C300A00, // 0015 MOVE R12 R5
- 0x7C200800, // 0016 CALL R8 4
- 0x7C1C0200, // 0017 CALL R7 1
- 0x70020000, // 0018 JMP #001A
- 0xB0080000, // 0019 RAISE 2 R0 R0
- 0x60100009, // 001A GETGBL R4 G9
- 0x5C140400, // 001B MOVE R5 R2
- 0x7C100200, // 001C CALL R4 1
- 0x90020804, // 001D SETMBR R0 K4 R4
- 0x50100000, // 001E LDBOOL R4 0 0
- 0x80040800, // 001F RET 1 R4
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_pad_all
-********************************************************************/
-be_local_closure(lvh_obj_get_pad_all, /* name */
- be_nested_proto(
- 1, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 0, /* has constants */
- NULL, /* no const */
- be_str_literal("get_pad_all"),
- &be_const_str_solidified,
- ( &(const binstruction[ 1]) { /* code */
- 0x80000000, // 0000 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_action
-********************************************************************/
-be_local_closure(lvh_obj_set_action, /* name */
- be_nested_proto(
- 4, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 1]) { /* constants */
- /* K0 */ be_nested_str_literal("_action"),
- }),
- be_str_literal("set_action"),
- &be_const_str_solidified,
- ( &(const binstruction[ 5]) { /* code */
- 0x60080008, // 0000 GETGBL R2 G8
- 0x5C0C0200, // 0001 MOVE R3 R1
- 0x7C080200, // 0002 CALL R2 1
- 0x90020002, // 0003 SETMBR R0 K0 R2
- 0x80000000, // 0004 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_text_font
-********************************************************************/
-be_local_closure(lvh_obj_get_text_font, /* name */
- be_nested_proto(
- 1, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 0, /* has constants */
- NULL, /* no const */
- be_str_literal("get_text_font"),
- &be_const_str_solidified,
- ( &(const binstruction[ 1]) { /* code */
- 0x80000000, // 0000 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: is_color_attribute
-********************************************************************/
-be_local_closure(lvh_obj_is_color_attribute, /* name */
- be_nested_proto(
- 8, /* 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_literal("re"),
- /* K1 */ be_nested_str_literal("search"),
- /* K2 */ be_nested_str_literal("color$"),
- }),
- be_str_literal("is_color_attribute"),
- &be_const_str_solidified,
- ( &(const binstruction[10]) { /* code */
- 0xA4060000, // 0000 IMPORT R1 K0
- 0x60080017, // 0001 GETGBL R2 G23
- 0x8C0C0301, // 0002 GETMET R3 R1 K1
- 0x58140002, // 0003 LDCONST R5 K2
- 0x60180008, // 0004 GETGBL R6 G8
- 0x5C1C0000, // 0005 MOVE R7 R0
- 0x7C180200, // 0006 CALL R6 1
- 0x7C0C0600, // 0007 CALL R3 3
- 0x7C080200, // 0008 CALL R2 1
- 0x80040400, // 0009 RET 1 R2
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_value_str
-********************************************************************/
-be_local_closure(lvh_obj_set_value_str, /* 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[ 1]) { /* constants */
- /* K0 */ be_nested_str_literal("set_text"),
- }),
- be_str_literal("set_value_str"),
- &be_const_str_solidified,
- ( &(const binstruction[ 4]) { /* code */
- 0x8C080100, // 0000 GETMET R2 R0 K0
- 0x5C100200, // 0001 MOVE R4 R1
- 0x7C080400, // 0002 CALL R2 2
- 0x80000000, // 0003 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_line_width
-********************************************************************/
-be_local_closure(lvh_obj_get_line_width, /* 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_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("get_style_line_width"),
- /* K2 */ be_const_int(0),
- }),
- be_str_literal("get_line_width"),
- &be_const_str_solidified,
- ( &(const binstruction[ 5]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0x580C0002, // 0002 LDCONST R3 K2
- 0x7C040400, // 0003 CALL R1 2
- 0x80040200, // 0004 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_mode
-********************************************************************/
-be_local_closure(lvh_obj_get_mode, /* name */
- be_nested_proto(
- 1, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 0, /* has constants */
- NULL, /* no const */
- be_str_literal("get_mode"),
- &be_const_str_solidified,
- ( &(const binstruction[ 1]) { /* code */
- 0x80000000, // 0000 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_obj
-********************************************************************/
-be_local_closure(lvh_obj_get_obj, /* 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_literal("_lv_obj"),
- }),
- be_str_literal("get_obj"),
- &be_const_str_solidified,
- ( &(const binstruction[ 2]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x80040200, // 0001 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
/********************************************************************
** Solidified function: parse_color
********************************************************************/
@@ -3554,6 +929,2633 @@ be_local_closure(lvh_obj_parse_color, /* name */
/*******************************************************************/
+/********************************************************************
+** Solidified function: get_text_font
+********************************************************************/
+be_local_closure(lvh_obj_get_text_font, /* name */
+ be_nested_proto(
+ 1, /* nstack */
+ 1, /* argc */
+ 2, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 0, /* has constants */
+ NULL, /* no const */
+ be_str_literal("get_text_font"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 1]) { /* code */
+ 0x80000000, // 0000 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: text_rule_matched
+********************************************************************/
+be_local_closure(lvh_obj_text_rule_matched, /* 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[ 8]) { /* constants */
+ /* K0 */ be_nested_str_literal("int"),
+ /* K1 */ be_nested_str_literal("_text_rule_function"),
+ /* K2 */ be_nested_str_literal("string"),
+ /* K3 */ be_nested_str_literal("format"),
+ /* K4 */ be_nested_str_literal("HSP: failed to run self._text_rule_function - %s (%s)"),
+ /* K5 */ be_nested_str_literal("_text_rule_format"),
+ /* K6 */ be_nested_str_literal(""),
+ /* K7 */ be_nested_str_literal("text"),
+ }),
+ be_str_literal("text_rule_matched"),
+ &be_const_str_solidified,
+ ( &(const binstruction[49]) { /* code */
+ 0x60080004, // 0000 GETGBL R2 G4
+ 0x5C0C0200, // 0001 MOVE R3 R1
+ 0x7C080200, // 0002 CALL R2 1
+ 0x1C080500, // 0003 EQ R2 R2 K0
+ 0x780A0003, // 0004 JMPF R2 #0009
+ 0x6008000A, // 0005 GETGBL R2 G10
+ 0x5C0C0200, // 0006 MOVE R3 R1
+ 0x7C080200, // 0007 CALL R2 1
+ 0x5C040400, // 0008 MOVE R1 R2
+ 0x88080101, // 0009 GETMBR R2 R0 K1
+ 0x4C0C0000, // 000A LDNIL R3
+ 0x200C0403, // 000B NE R3 R2 R3
+ 0x780E0012, // 000C JMPF R3 #0020
+ 0xA8020005, // 000D EXBLK 0 #0014
+ 0x5C0C0400, // 000E MOVE R3 R2
+ 0x5C100200, // 000F MOVE R4 R1
+ 0x7C0C0200, // 0010 CALL R3 1
+ 0x5C040600, // 0011 MOVE R1 R3
+ 0xA8040001, // 0012 EXBLK 1 1
+ 0x7002000B, // 0013 JMP #0020
+ 0xAC0C0002, // 0014 CATCH R3 0 2
+ 0x70020008, // 0015 JMP #001F
+ 0xA4160400, // 0016 IMPORT R5 K2
+ 0x60180001, // 0017 GETGBL R6 G1
+ 0x8C1C0B03, // 0018 GETMET R7 R5 K3
+ 0x58240004, // 0019 LDCONST R9 K4
+ 0x5C280600, // 001A MOVE R10 R3
+ 0x5C2C0800, // 001B MOVE R11 R4
+ 0x7C1C0800, // 001C CALL R7 4
+ 0x7C180200, // 001D CALL R6 1
+ 0x70020000, // 001E JMP #0020
+ 0xB0080000, // 001F RAISE 2 R0 R0
+ 0x880C0105, // 0020 GETMBR R3 R0 K5
+ 0x60100004, // 0021 GETGBL R4 G4
+ 0x5C140600, // 0022 MOVE R5 R3
+ 0x7C100200, // 0023 CALL R4 1
+ 0x1C100902, // 0024 EQ R4 R4 K2
+ 0x78120006, // 0025 JMPF R4 #002D
+ 0xA4120400, // 0026 IMPORT R4 K2
+ 0x8C140903, // 0027 GETMET R5 R4 K3
+ 0x5C1C0600, // 0028 MOVE R7 R3
+ 0x5C200200, // 0029 MOVE R8 R1
+ 0x7C140600, // 002A CALL R5 3
+ 0x5C0C0A00, // 002B MOVE R3 R5
+ 0x70020000, // 002C JMP #002E
+ 0x580C0006, // 002D LDCONST R3 K6
+ 0x90020E03, // 002E SETMBR R0 K7 R3
+ 0x50100000, // 002F LDBOOL R4 0 0
+ 0x80040800, // 0030 RET 1 R4
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_pad_bottom2
+********************************************************************/
+be_local_closure(lvh_obj_set_pad_bottom2, /* 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[ 5]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_part2_selector"),
+ /* K1 */ be_nested_str_literal("_lv_obj"),
+ /* K2 */ be_nested_str_literal("set_style_pad_bottom"),
+ /* K3 */ be_nested_str_literal("lv"),
+ /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
+ }),
+ be_str_literal("set_pad_bottom2"),
+ &be_const_str_solidified,
+ ( &(const binstruction[15]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x4C0C0000, // 0001 LDNIL R3
+ 0x20080403, // 0002 NE R2 R2 R3
+ 0x780A0009, // 0003 JMPF R2 #000E
+ 0x88080101, // 0004 GETMBR R2 R0 K1
+ 0x8C080502, // 0005 GETMET R2 R2 K2
+ 0x60100009, // 0006 GETGBL R4 G9
+ 0x5C140200, // 0007 MOVE R5 R1
+ 0x7C100200, // 0008 CALL R4 1
+ 0x88140100, // 0009 GETMBR R5 R0 K0
+ 0xB81A0600, // 000A GETNGBL R6 K3
+ 0x88180D04, // 000B GETMBR R6 R6 K4
+ 0x30140A06, // 000C OR R5 R5 R6
+ 0x7C080600, // 000D CALL R2 3
+ 0x80000000, // 000E RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_align
+********************************************************************/
+be_local_closure(lvh_obj_set_align, /* 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[13]) { /* constants */
+ /* K0 */ be_nested_str_literal("check_label"),
+ /* K1 */ be_const_int(0),
+ /* K2 */ be_nested_str_literal("left"),
+ /* K3 */ be_nested_str_literal("lv"),
+ /* K4 */ be_nested_str_literal("TEXT_ALIGN_LEFT"),
+ /* K5 */ be_const_int(1),
+ /* K6 */ be_nested_str_literal("center"),
+ /* K7 */ be_nested_str_literal("TEXT_ALIGN_CENTER"),
+ /* K8 */ be_const_int(2),
+ /* K9 */ be_nested_str_literal("right"),
+ /* K10 */ be_nested_str_literal("TEXT_ALIGN_RIGHT"),
+ /* K11 */ be_nested_str_literal("_lv_label"),
+ /* K12 */ be_nested_str_literal("set_style_text_align"),
+ }),
+ be_str_literal("set_align"),
+ &be_const_str_solidified,
+ ( &(const binstruction[29]) { /* code */
+ 0x4C080000, // 0000 LDNIL R2
+ 0x8C0C0100, // 0001 GETMET R3 R0 K0
+ 0x7C0C0200, // 0002 CALL R3 1
+ 0x1C0C0301, // 0003 EQ R3 R1 K1
+ 0x740E0001, // 0004 JMPT R3 #0007
+ 0x1C0C0302, // 0005 EQ R3 R1 K2
+ 0x780E0002, // 0006 JMPF R3 #000A
+ 0xB80E0600, // 0007 GETNGBL R3 K3
+ 0x88080704, // 0008 GETMBR R2 R3 K4
+ 0x7002000C, // 0009 JMP #0017
+ 0x1C0C0305, // 000A EQ R3 R1 K5
+ 0x740E0001, // 000B JMPT R3 #000E
+ 0x1C0C0306, // 000C EQ R3 R1 K6
+ 0x780E0002, // 000D JMPF R3 #0011
+ 0xB80E0600, // 000E GETNGBL R3 K3
+ 0x88080707, // 000F GETMBR R2 R3 K7
+ 0x70020005, // 0010 JMP #0017
+ 0x1C0C0308, // 0011 EQ R3 R1 K8
+ 0x740E0001, // 0012 JMPT R3 #0015
+ 0x1C0C0309, // 0013 EQ R3 R1 K9
+ 0x780E0001, // 0014 JMPF R3 #0017
+ 0xB80E0600, // 0015 GETNGBL R3 K3
+ 0x8808070A, // 0016 GETMBR R2 R3 K10
+ 0x880C010B, // 0017 GETMBR R3 R0 K11
+ 0x8C0C070C, // 0018 GETMET R3 R3 K12
+ 0x5C140400, // 0019 MOVE R5 R2
+ 0x58180001, // 001A LDCONST R6 K1
+ 0x7C0C0600, // 001B CALL R3 3
+ 0x80000000, // 001C RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_text_rule_format
+********************************************************************/
+be_local_closure(lvh_obj_set_text_rule_format, /* name */
+ be_nested_proto(
+ 4, /* nstack */
+ 2, /* argc */
+ 2, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 1]) { /* constants */
+ /* K0 */ be_nested_str_literal("_text_rule_format"),
+ }),
+ be_str_literal("set_text_rule_format"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 5]) { /* code */
+ 0x60080008, // 0000 GETGBL R2 G8
+ 0x5C0C0200, // 0001 MOVE R3 R1
+ 0x7C080200, // 0002 CALL R2 1
+ 0x90020002, // 0003 SETMBR R0 K0 R2
+ 0x80000000, // 0004 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_val
+********************************************************************/
+be_local_closure(lvh_obj_set_val, /* 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_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("set_value"),
+ }),
+ be_str_literal("set_val"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 5]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x8C080501, // 0001 GETMET R2 R2 K1
+ 0x5C100200, // 0002 MOVE R4 R1
+ 0x7C080400, // 0003 CALL R2 2
+ 0x80000000, // 0004 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_text_rule_format
+********************************************************************/
+be_local_closure(lvh_obj_get_text_rule_format, /* 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_literal("_text_rule_format"),
+ }),
+ be_str_literal("get_text_rule_format"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 2]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x80040200, // 0001 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_action
+********************************************************************/
+be_local_closure(lvh_obj_set_action, /* name */
+ be_nested_proto(
+ 4, /* nstack */
+ 2, /* argc */
+ 2, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 1]) { /* constants */
+ /* K0 */ be_nested_str_literal("_action"),
+ }),
+ be_str_literal("set_action"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 5]) { /* code */
+ 0x60080008, // 0000 GETGBL R2 G8
+ 0x5C0C0200, // 0001 MOVE R3 R1
+ 0x7C080200, // 0002 CALL R2 1
+ 0x90020002, // 0003 SETMBR R0 K0 R2
+ 0x80000000, // 0004 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_text_rule_formula
+********************************************************************/
+be_local_closure(lvh_obj_set_text_rule_formula, /* 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[ 7]) { /* constants */
+ /* K0 */ be_nested_str_literal("_text_rule_formula"),
+ /* K1 */ be_nested_str_literal("return / val -> ("),
+ /* K2 */ be_nested_str_literal(")"),
+ /* K3 */ be_nested_str_literal("_text_rule_function"),
+ /* K4 */ be_nested_str_literal("string"),
+ /* K5 */ be_nested_str_literal("format"),
+ /* K6 */ be_nested_str_literal("HSP: failed to compile '%s' - %s (%s)"),
+ }),
+ be_str_literal("set_text_rule_formula"),
+ &be_const_str_solidified,
+ ( &(const binstruction[30]) { /* code */
+ 0x60080008, // 0000 GETGBL R2 G8
+ 0x5C0C0200, // 0001 MOVE R3 R1
+ 0x7C080200, // 0002 CALL R2 1
+ 0x90020002, // 0003 SETMBR R0 K0 R2
+ 0x88080100, // 0004 GETMBR R2 R0 K0
+ 0x000A0202, // 0005 ADD R2 K1 R2
+ 0x00080502, // 0006 ADD R2 R2 K2
+ 0xA8020007, // 0007 EXBLK 0 #0010
+ 0x600C000D, // 0008 GETGBL R3 G13
+ 0x5C100400, // 0009 MOVE R4 R2
+ 0x7C0C0200, // 000A CALL R3 1
+ 0x5C100600, // 000B MOVE R4 R3
+ 0x7C100000, // 000C CALL R4 0
+ 0x90020604, // 000D SETMBR R0 K3 R4
+ 0xA8040001, // 000E EXBLK 1 1
+ 0x7002000C, // 000F JMP #001D
+ 0xAC0C0002, // 0010 CATCH R3 0 2
+ 0x70020009, // 0011 JMP #001C
+ 0xA4160800, // 0012 IMPORT R5 K4
+ 0x60180001, // 0013 GETGBL R6 G1
+ 0x8C1C0B05, // 0014 GETMET R7 R5 K5
+ 0x58240006, // 0015 LDCONST R9 K6
+ 0x5C280400, // 0016 MOVE R10 R2
+ 0x5C2C0600, // 0017 MOVE R11 R3
+ 0x5C300800, // 0018 MOVE R12 R4
+ 0x7C1C0A00, // 0019 CALL R7 5
+ 0x7C180200, // 001A CALL R6 1
+ 0x70020000, // 001B JMP #001D
+ 0xB0080000, // 001C RAISE 2 R0 R0
+ 0x80000000, // 001D RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: val_rule_matched
+********************************************************************/
+be_local_closure(lvh_obj_val_rule_matched, /* 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[ 5]) { /* constants */
+ /* K0 */ be_nested_str_literal("_val_rule_function"),
+ /* K1 */ be_nested_str_literal("string"),
+ /* K2 */ be_nested_str_literal("format"),
+ /* K3 */ be_nested_str_literal("HSP: failed to run self._val_rule_function - %s (%s)"),
+ /* K4 */ be_nested_str_literal("val"),
+ }),
+ be_str_literal("val_rule_matched"),
+ &be_const_str_solidified,
+ ( &(const binstruction[32]) { /* code */
+ 0x6008000A, // 0000 GETGBL R2 G10
+ 0x5C0C0200, // 0001 MOVE R3 R1
+ 0x7C080200, // 0002 CALL R2 1
+ 0x880C0100, // 0003 GETMBR R3 R0 K0
+ 0x4C100000, // 0004 LDNIL R4
+ 0x20100604, // 0005 NE R4 R3 R4
+ 0x78120012, // 0006 JMPF R4 #001A
+ 0xA8020005, // 0007 EXBLK 0 #000E
+ 0x5C100600, // 0008 MOVE R4 R3
+ 0x5C140400, // 0009 MOVE R5 R2
+ 0x7C100200, // 000A CALL R4 1
+ 0x5C080800, // 000B MOVE R2 R4
+ 0xA8040001, // 000C EXBLK 1 1
+ 0x7002000B, // 000D JMP #001A
+ 0xAC100002, // 000E CATCH R4 0 2
+ 0x70020008, // 000F JMP #0019
+ 0xA41A0200, // 0010 IMPORT R6 K1
+ 0x601C0001, // 0011 GETGBL R7 G1
+ 0x8C200D02, // 0012 GETMET R8 R6 K2
+ 0x58280003, // 0013 LDCONST R10 K3
+ 0x5C2C0800, // 0014 MOVE R11 R4
+ 0x5C300A00, // 0015 MOVE R12 R5
+ 0x7C200800, // 0016 CALL R8 4
+ 0x7C1C0200, // 0017 CALL R7 1
+ 0x70020000, // 0018 JMP #001A
+ 0xB0080000, // 0019 RAISE 2 R0 R0
+ 0x60100009, // 001A GETGBL R4 G9
+ 0x5C140400, // 001B MOVE R5 R2
+ 0x7C100200, // 001C CALL R4 1
+ 0x90020804, // 001D SETMBR R0 K4 R4
+ 0x50100000, // 001E LDBOOL R4 0 0
+ 0x80040800, // 001F RET 1 R4
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: remove_trailing_zeroes
+********************************************************************/
+be_local_closure(lvh_obj_remove_trailing_zeroes, /* name */
+ 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[ 3]) { /* constants */
+ /* K0 */ be_const_int(0),
+ /* K1 */ be_const_int(1),
+ /* K2 */ be_nested_str_literal("resize"),
+ }),
+ be_str_literal("remove_trailing_zeroes"),
+ &be_const_str_solidified,
+ ( &(const binstruction[23]) { /* code */
+ 0x6004000C, // 0000 GETGBL R1 G12
+ 0x5C080000, // 0001 MOVE R2 R0
+ 0x7C040200, // 0002 CALL R1 1
+ 0x58080000, // 0003 LDCONST R2 K0
+ 0x140C0401, // 0004 LT R3 R2 R1
+ 0x780E0007, // 0005 JMPF R3 #000E
+ 0x540DFFFE, // 0006 LDINT R3 -1
+ 0x040C0602, // 0007 SUB R3 R3 R2
+ 0x940C0003, // 0008 GETIDX R3 R0 R3
+ 0x200C0700, // 0009 NE R3 R3 K0
+ 0x780E0000, // 000A JMPF R3 #000C
+ 0x70020001, // 000B JMP #000E
+ 0x00080501, // 000C ADD R2 R2 K1
+ 0x7001FFF5, // 000D JMP #0004
+ 0x240C0500, // 000E GT R3 R2 K0
+ 0x780E0005, // 000F JMPF R3 #0016
+ 0x8C0C0102, // 0010 GETMET R3 R0 K2
+ 0x6014000C, // 0011 GETGBL R5 G12
+ 0x5C180000, // 0012 MOVE R6 R0
+ 0x7C140200, // 0013 CALL R5 1
+ 0x04140A02, // 0014 SUB R5 R5 R2
+ 0x7C0C0400, // 0015 CALL R3 2
+ 0x80040000, // 0016 RET 1 R0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: post_init
+********************************************************************/
+be_local_closure(lvh_obj_post_init, /* name */
+ be_nested_proto(
+ 3, /* 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_literal("register_event_cb"),
+ }),
+ be_str_literal("post_init"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 3]) { /* code */
+ 0x8C040100, // 0000 GETMET R1 R0 K0
+ 0x7C040200, // 0001 CALL R1 1
+ 0x80000000, // 0002 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_mode
+********************************************************************/
+be_local_closure(lvh_obj_get_mode, /* name */
+ be_nested_proto(
+ 1, /* nstack */
+ 1, /* argc */
+ 2, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 0, /* has constants */
+ NULL, /* no const */
+ be_str_literal("get_mode"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 1]) { /* code */
+ 0x80000000, // 0000 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_pad_top2
+********************************************************************/
+be_local_closure(lvh_obj_set_pad_top2, /* 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[ 5]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_part2_selector"),
+ /* K1 */ be_nested_str_literal("_lv_obj"),
+ /* K2 */ be_nested_str_literal("set_style_pad_top"),
+ /* K3 */ be_nested_str_literal("lv"),
+ /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
+ }),
+ be_str_literal("set_pad_top2"),
+ &be_const_str_solidified,
+ ( &(const binstruction[15]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x4C0C0000, // 0001 LDNIL R3
+ 0x20080403, // 0002 NE R2 R2 R3
+ 0x780A0009, // 0003 JMPF R2 #000E
+ 0x88080101, // 0004 GETMBR R2 R0 K1
+ 0x8C080502, // 0005 GETMET R2 R2 K2
+ 0x60100009, // 0006 GETGBL R4 G9
+ 0x5C140200, // 0007 MOVE R5 R1
+ 0x7C100200, // 0008 CALL R4 1
+ 0x88140100, // 0009 GETMBR R5 R0 K0
+ 0xB81A0600, // 000A GETNGBL R6 K3
+ 0x88180D04, // 000B GETMBR R6 R6 K4
+ 0x30140A06, // 000C OR R5 R5 R6
+ 0x7C080600, // 000D CALL R2 3
+ 0x80000000, // 000E RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_value_font
+********************************************************************/
+be_local_closure(lvh_obj_set_value_font, /* 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[ 1]) { /* constants */
+ /* K0 */ be_nested_str_literal("set_text_font"),
+ }),
+ be_str_literal("set_value_font"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 4]) { /* code */
+ 0x8C080100, // 0000 GETMET R2 R0 K0
+ 0x5C100200, // 0001 MOVE R4 R1
+ 0x7C080400, // 0002 CALL R2 2
+ 0x80000000, // 0003 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_enabled
+********************************************************************/
+be_local_closure(lvh_obj_set_enabled, /* 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_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("add_flag"),
+ /* K2 */ be_nested_str_literal("lv"),
+ /* K3 */ be_nested_str_literal("OBJ_FLAG_CLICKABLE"),
+ /* K4 */ be_nested_str_literal("clear_flag"),
+ }),
+ be_str_literal("set_enabled"),
+ &be_const_str_solidified,
+ ( &(const binstruction[13]) { /* code */
+ 0x78060005, // 0000 JMPF R1 #0007
+ 0x88080100, // 0001 GETMBR R2 R0 K0
+ 0x8C080501, // 0002 GETMET R2 R2 K1
+ 0xB8120400, // 0003 GETNGBL R4 K2
+ 0x88100903, // 0004 GETMBR R4 R4 K3
+ 0x7C080400, // 0005 CALL R2 2
+ 0x70020004, // 0006 JMP #000C
+ 0x88080100, // 0007 GETMBR R2 R0 K0
+ 0x8C080504, // 0008 GETMET R2 R2 K4
+ 0xB8120400, // 0009 GETNGBL R4 K2
+ 0x88100903, // 000A GETMBR R4 R4 K3
+ 0x7C080400, // 000B CALL R2 2
+ 0x80000000, // 000C RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_align
+********************************************************************/
+be_local_closure(lvh_obj_get_align, /* 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[10]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_label"),
+ /* K1 */ be_nested_str_literal("get_style_text_align"),
+ /* K2 */ be_const_int(0),
+ /* K3 */ be_nested_str_literal("lv"),
+ /* K4 */ be_nested_str_literal("TEXT_ALIGN_LEFT"),
+ /* K5 */ be_nested_str_literal("left"),
+ /* K6 */ be_nested_str_literal("TEXT_ALIGN_CENTER"),
+ /* K7 */ be_nested_str_literal("center"),
+ /* K8 */ be_nested_str_literal("TEXT_ALIGN_RIGHT"),
+ /* K9 */ be_nested_str_literal("right"),
+ }),
+ be_str_literal("get_align"),
+ &be_const_str_solidified,
+ ( &(const binstruction[32]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x4C080000, // 0001 LDNIL R2
+ 0x1C040202, // 0002 EQ R1 R1 R2
+ 0x78060001, // 0003 JMPF R1 #0006
+ 0x4C040000, // 0004 LDNIL R1
+ 0x80040200, // 0005 RET 1 R1
+ 0x4C040000, // 0006 LDNIL R1
+ 0x88080100, // 0007 GETMBR R2 R0 K0
+ 0x8C080501, // 0008 GETMET R2 R2 K1
+ 0x58100002, // 0009 LDCONST R4 K2
+ 0x7C080400, // 000A CALL R2 2
+ 0xB80A0600, // 000B GETNGBL R2 K3
+ 0x88080504, // 000C GETMBR R2 R2 K4
+ 0x1C080202, // 000D EQ R2 R1 R2
+ 0x780A0001, // 000E JMPF R2 #0011
+ 0x80060A00, // 000F RET 1 K5
+ 0x7002000D, // 0010 JMP #001F
+ 0xB80A0600, // 0011 GETNGBL R2 K3
+ 0x88080506, // 0012 GETMBR R2 R2 K6
+ 0x1C080202, // 0013 EQ R2 R1 R2
+ 0x780A0001, // 0014 JMPF R2 #0017
+ 0x80060E00, // 0015 RET 1 K7
+ 0x70020007, // 0016 JMP #001F
+ 0xB80A0600, // 0017 GETNGBL R2 K3
+ 0x88080508, // 0018 GETMBR R2 R2 K8
+ 0x1C080202, // 0019 EQ R2 R1 R2
+ 0x780A0001, // 001A JMPF R2 #001D
+ 0x80061200, // 001B RET 1 K9
+ 0x70020001, // 001C JMP #001F
+ 0x4C080000, // 001D LDNIL R2
+ 0x80040400, // 001E RET 1 R2
+ 0x80000000, // 001F RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_pad_left
+********************************************************************/
+be_local_closure(lvh_obj_get_pad_left, /* 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[ 5]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_part2_selector"),
+ /* K1 */ be_nested_str_literal("_lv_obj"),
+ /* K2 */ be_nested_str_literal("get_style_pad_left"),
+ /* K3 */ be_nested_str_literal("lv"),
+ /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
+ }),
+ be_str_literal("get_pad_left"),
+ &be_const_str_solidified,
+ ( &(const binstruction[13]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x4C080000, // 0001 LDNIL R2
+ 0x20040202, // 0002 NE R1 R1 R2
+ 0x78060007, // 0003 JMPF R1 #000C
+ 0x88040101, // 0004 GETMBR R1 R0 K1
+ 0x8C040302, // 0005 GETMET R1 R1 K2
+ 0x880C0100, // 0006 GETMBR R3 R0 K0
+ 0xB8120600, // 0007 GETNGBL R4 K3
+ 0x88100904, // 0008 GETMBR R4 R4 K4
+ 0x300C0604, // 0009 OR R3 R3 R4
+ 0x7C040400, // 000A CALL R1 2
+ 0x80040200, // 000B RET 1 R1
+ 0x80000000, // 000C RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_text_font
+********************************************************************/
+be_local_closure(lvh_obj_set_text_font, /* 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[17]) { /* constants */
+ /* K0 */ be_nested_str_literal("int"),
+ /* K1 */ be_nested_str_literal("lv"),
+ /* K2 */ be_nested_str_literal("font_embedded"),
+ /* K3 */ be_nested_str_literal("robotocondensed"),
+ /* K4 */ be_nested_str_literal("montserrat"),
+ /* K5 */ be_nested_str_literal("string"),
+ /* K6 */ be_nested_str_literal("split"),
+ /* K7 */ be_nested_str_literal(":"),
+ /* K8 */ be_const_int(1),
+ /* K9 */ be_nested_str_literal("-"),
+ /* K10 */ be_const_int(0),
+ /* K11 */ be_nested_str_literal("load_font"),
+ /* K12 */ be_const_int(2),
+ /* K13 */ be_nested_str_literal("concat"),
+ /* K14 */ be_nested_str_literal("_lv_obj"),
+ /* K15 */ be_nested_str_literal("set_style_text_font"),
+ /* K16 */ be_nested_str_literal("HSP: Unsupported font:"),
+ }),
+ be_str_literal("set_text_font"),
+ &be_const_str_solidified,
+ ( &(const binstruction[114]) { /* code */
+ 0x4C080000, // 0000 LDNIL R2
+ 0x600C0004, // 0001 GETGBL R3 G4
+ 0x5C100200, // 0002 MOVE R4 R1
+ 0x7C0C0200, // 0003 CALL R3 1
+ 0x1C0C0700, // 0004 EQ R3 R3 K0
+ 0x780E001B, // 0005 JMPF R3 #0022
+ 0xA8020007, // 0006 EXBLK 0 #000F
+ 0xB80E0200, // 0007 GETNGBL R3 K1
+ 0x8C0C0702, // 0008 GETMET R3 R3 K2
+ 0x58140003, // 0009 LDCONST R5 K3
+ 0x5C180200, // 000A MOVE R6 R1
+ 0x7C0C0600, // 000B CALL R3 3
+ 0x5C080600, // 000C MOVE R2 R3
+ 0xA8040001, // 000D EXBLK 1 1
+ 0x70020011, // 000E JMP #0021
+ 0xAC0C0000, // 000F CATCH R3 0 0
+ 0x7002000E, // 0010 JMP #0020
+ 0xA8020007, // 0011 EXBLK 0 #001A
+ 0xB80E0200, // 0012 GETNGBL R3 K1
+ 0x8C0C0702, // 0013 GETMET R3 R3 K2
+ 0x58140004, // 0014 LDCONST R5 K4
+ 0x5C180200, // 0015 MOVE R6 R1
+ 0x7C0C0600, // 0016 CALL R3 3
+ 0x5C080600, // 0017 MOVE R2 R3
+ 0xA8040001, // 0018 EXBLK 1 1
+ 0x70020004, // 0019 JMP #001F
+ 0xAC0C0000, // 001A CATCH R3 0 0
+ 0x70020001, // 001B JMP #001E
+ 0x80000600, // 001C RET 0
+ 0x70020000, // 001D JMP #001F
+ 0xB0080000, // 001E RAISE 2 R0 R0
+ 0x70020000, // 001F JMP #0021
+ 0xB0080000, // 0020 RAISE 2 R0 R0
+ 0x70020041, // 0021 JMP #0064
+ 0x600C0004, // 0022 GETGBL R3 G4
+ 0x5C100200, // 0023 MOVE R4 R1
+ 0x7C0C0200, // 0024 CALL R3 1
+ 0x1C0C0705, // 0025 EQ R3 R3 K5
+ 0x780E003C, // 0026 JMPF R3 #0064
+ 0xA40E0A00, // 0027 IMPORT R3 K5
+ 0x8C100706, // 0028 GETMET R4 R3 K6
+ 0x5C180200, // 0029 MOVE R6 R1
+ 0x581C0007, // 002A LDCONST R7 K7
+ 0x58200008, // 002B LDCONST R8 K8
+ 0x7C100800, // 002C CALL R4 4
+ 0x8C140706, // 002D GETMET R5 R3 K6
+ 0x5C1C0200, // 002E MOVE R7 R1
+ 0x58200009, // 002F LDCONST R8 K9
+ 0x7C140600, // 0030 CALL R5 3
+ 0x6018000C, // 0031 GETGBL R6 G12
+ 0x5C1C0800, // 0032 MOVE R7 R4
+ 0x7C180200, // 0033 CALL R6 1
+ 0x24180D08, // 0034 GT R6 R6 K8
+ 0x781A000A, // 0035 JMPF R6 #0041
+ 0x6018000C, // 0036 GETGBL R6 G12
+ 0x941C090A, // 0037 GETIDX R7 R4 K10
+ 0x7C180200, // 0038 CALL R6 1
+ 0x1C180D08, // 0039 EQ R6 R6 K8
+ 0x781A0005, // 003A JMPF R6 #0041
+ 0xB81A0200, // 003B GETNGBL R6 K1
+ 0x8C180D0B, // 003C GETMET R6 R6 K11
+ 0x5C200200, // 003D MOVE R8 R1
+ 0x7C180400, // 003E CALL R6 2
+ 0x5C080C00, // 003F MOVE R2 R6
+ 0x70020022, // 0040 JMP #0064
+ 0x6018000C, // 0041 GETGBL R6 G12
+ 0x5C1C0A00, // 0042 MOVE R7 R5
+ 0x7C180200, // 0043 CALL R6 1
+ 0x28180D0C, // 0044 GE R6 R6 K12
+ 0x781A001D, // 0045 JMPF R6 #0064
+ 0x60180009, // 0046 GETGBL R6 G9
+ 0x541DFFFE, // 0047 LDINT R7 -1
+ 0x941C0A07, // 0048 GETIDX R7 R5 R7
+ 0x7C180200, // 0049 CALL R6 1
+ 0x541DFFFD, // 004A LDINT R7 -2
+ 0x401E1407, // 004B CONNECT R7 K10 R7
+ 0x941C0A07, // 004C GETIDX R7 R5 R7
+ 0x8C1C0F0D, // 004D GETMET R7 R7 K13
+ 0x58240009, // 004E LDCONST R9 K9
+ 0x7C1C0400, // 004F CALL R7 2
+ 0x24200D0A, // 0050 GT R8 R6 K10
+ 0x78220011, // 0051 JMPF R8 #0064
+ 0x6020000C, // 0052 GETGBL R8 G12
+ 0x5C240E00, // 0053 MOVE R9 R7
+ 0x7C200200, // 0054 CALL R8 1
+ 0x2420110A, // 0055 GT R8 R8 K10
+ 0x7822000C, // 0056 JMPF R8 #0064
+ 0xA8020007, // 0057 EXBLK 0 #0060
+ 0xB8220200, // 0058 GETNGBL R8 K1
+ 0x8C201102, // 0059 GETMET R8 R8 K2
+ 0x5C280E00, // 005A MOVE R10 R7
+ 0x5C2C0C00, // 005B MOVE R11 R6
+ 0x7C200600, // 005C CALL R8 3
+ 0x5C081000, // 005D MOVE R2 R8
+ 0xA8040001, // 005E EXBLK 1 1
+ 0x70020003, // 005F JMP #0064
+ 0xAC200000, // 0060 CATCH R8 0 0
+ 0x70020000, // 0061 JMP #0063
+ 0x70020000, // 0062 JMP #0064
+ 0xB0080000, // 0063 RAISE 2 R0 R0
+ 0x4C0C0000, // 0064 LDNIL R3
+ 0x200C0403, // 0065 NE R3 R2 R3
+ 0x780E0005, // 0066 JMPF R3 #006D
+ 0x880C010E, // 0067 GETMBR R3 R0 K14
+ 0x8C0C070F, // 0068 GETMET R3 R3 K15
+ 0x5C140400, // 0069 MOVE R5 R2
+ 0x5818000A, // 006A LDCONST R6 K10
+ 0x7C0C0600, // 006B CALL R3 3
+ 0x70020003, // 006C JMP #0071
+ 0x600C0001, // 006D GETGBL R3 G1
+ 0x58100010, // 006E LDCONST R4 K16
+ 0x5C140200, // 006F MOVE R5 R1
+ 0x7C0C0400, // 0070 CALL R3 2
+ 0x80000000, // 0071 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: event_cb
+********************************************************************/
+be_local_closure(lvh_obj_event_cb, /* name */
+ be_nested_proto(
+ 14, /* nstack */
+ 2, /* argc */
+ 2, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 1, /* has sup protos */
+ ( &(const struct bproto*[ 2]) {
+ be_nested_proto(
+ 4, /* nstack */
+ 0, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 3]) { /* upvals */
+ be_local_const_upval(1, 2),
+ be_local_const_upval(1, 0),
+ be_local_const_upval(1, 3),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 1]) { /* constants */
+ /* K0 */ be_nested_str_literal("do_action"),
+ }),
+ be_str_literal(""),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 6]) { /* code */
+ 0x68000000, // 0000 GETUPV R0 U0
+ 0x8C000100, // 0001 GETMET R0 R0 K0
+ 0x68080001, // 0002 GETUPV R2 U1
+ 0x680C0002, // 0003 GETUPV R3 U2
+ 0x7C000600, // 0004 CALL R0 3
+ 0x80040000, // 0005 RET 1 R0
+ })
+ ),
+ be_nested_proto(
+ 3, /* nstack */
+ 0, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 1]) { /* upvals */
+ be_local_const_upval(1, 7),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 2]) { /* constants */
+ /* K0 */ be_nested_str_literal("tasmota"),
+ /* K1 */ be_nested_str_literal("publish_rule"),
+ }),
+ be_str_literal(""),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 5]) { /* code */
+ 0xB8020000, // 0000 GETNGBL R0 K0
+ 0x8C000101, // 0001 GETMET R0 R0 K1
+ 0x68080000, // 0002 GETUPV R2 U0
+ 0x7C000400, // 0003 CALL R0 2
+ 0x80040000, // 0004 RET 1 R0
+ })
+ ),
+ }),
+ 1, /* has constants */
+ ( &(const bvalue[24]) { /* constants */
+ /* K0 */ be_nested_str_literal("_page"),
+ /* K1 */ be_nested_str_literal("_oh"),
+ /* K2 */ be_nested_str_literal("code"),
+ /* K3 */ be_nested_str_literal("action"),
+ /* K4 */ be_nested_str_literal(""),
+ /* K5 */ be_nested_str_literal("lv"),
+ /* K6 */ be_nested_str_literal("EVENT_CLICKED"),
+ /* K7 */ be_nested_str_literal("tasmota"),
+ /* K8 */ be_nested_str_literal("set_timer"),
+ /* K9 */ be_const_int(0),
+ /* K10 */ be_nested_str_literal("_event_map"),
+ /* K11 */ be_nested_str_literal("find"),
+ /* K12 */ be_nested_str_literal("string"),
+ /* K13 */ be_nested_str_literal("EVENT_VALUE_CHANGED"),
+ /* K14 */ be_nested_str_literal("val"),
+ /* K15 */ be_nested_str_literal("format"),
+ /* K16 */ be_nested_str_literal(",\"val\":%i"),
+ /* K17 */ be_nested_str_literal("text"),
+ /* K18 */ be_nested_str_literal("json"),
+ /* K19 */ be_nested_str_literal(",\"text\":"),
+ /* K20 */ be_nested_str_literal("dump"),
+ /* K21 */ be_nested_str_literal("{\"hasp\":{\"p%ib%i\":{\"event\":\"%s\"%s}}}"),
+ /* K22 */ be_nested_str_literal("_page_id"),
+ /* K23 */ be_nested_str_literal("id"),
+ }),
+ be_str_literal("event_cb"),
+ &be_const_str_solidified,
+ ( &(const binstruction[71]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x88080501, // 0001 GETMBR R2 R2 K1
+ 0x880C0302, // 0002 GETMBR R3 R1 K2
+ 0x88100103, // 0003 GETMBR R4 R0 K3
+ 0x20100904, // 0004 NE R4 R4 K4
+ 0x78120008, // 0005 JMPF R4 #000F
+ 0xB8120A00, // 0006 GETNGBL R4 K5
+ 0x88100906, // 0007 GETMBR R4 R4 K6
+ 0x1C100604, // 0008 EQ R4 R3 R4
+ 0x78120004, // 0009 JMPF R4 #000F
+ 0xB8120E00, // 000A GETNGBL R4 K7
+ 0x8C100908, // 000B GETMET R4 R4 K8
+ 0x58180009, // 000C LDCONST R6 K9
+ 0x841C0000, // 000D CLOSURE R7 P0
+ 0x7C100600, // 000E CALL R4 3
+ 0x8810010A, // 000F GETMBR R4 R0 K10
+ 0x8C10090B, // 0010 GETMET R4 R4 K11
+ 0x5C180600, // 0011 MOVE R6 R3
+ 0x7C100400, // 0012 CALL R4 2
+ 0x4C140000, // 0013 LDNIL R5
+ 0x20140805, // 0014 NE R5 R4 R5
+ 0x7816002E, // 0015 JMPF R5 #0045
+ 0xA4161800, // 0016 IMPORT R5 K12
+ 0x58180004, // 0017 LDCONST R6 K4
+ 0x881C0302, // 0018 GETMBR R7 R1 K2
+ 0xB8220A00, // 0019 GETNGBL R8 K5
+ 0x8820110D, // 001A GETMBR R8 R8 K13
+ 0x1C1C0E08, // 001B EQ R7 R7 R8
+ 0x781E0019, // 001C JMPF R7 #0037
+ 0xA8020014, // 001D EXBLK 0 #0033
+ 0x881C010E, // 001E GETMBR R7 R0 K14
+ 0x4C200000, // 001F LDNIL R8
+ 0x20200E08, // 0020 NE R8 R7 R8
+ 0x78220004, // 0021 JMPF R8 #0027
+ 0x8C200B0F, // 0022 GETMET R8 R5 K15
+ 0x58280010, // 0023 LDCONST R10 K16
+ 0x5C2C0E00, // 0024 MOVE R11 R7
+ 0x7C200600, // 0025 CALL R8 3
+ 0x5C181000, // 0026 MOVE R6 R8
+ 0x88200111, // 0027 GETMBR R8 R0 K17
+ 0x4C240000, // 0028 LDNIL R9
+ 0x20241009, // 0029 NE R9 R8 R9
+ 0x78260005, // 002A JMPF R9 #0031
+ 0xA4262400, // 002B IMPORT R9 K18
+ 0x00180D13, // 002C ADD R6 R6 K19
+ 0x8C281314, // 002D GETMET R10 R9 K20
+ 0x5C301000, // 002E MOVE R12 R8
+ 0x7C280400, // 002F CALL R10 2
+ 0x00180C0A, // 0030 ADD R6 R6 R10
+ 0xA8040001, // 0031 EXBLK 1 1
+ 0x70020003, // 0032 JMP #0037
+ 0xAC1C0000, // 0033 CATCH R7 0 0
+ 0x70020000, // 0034 JMP #0036
+ 0x70020000, // 0035 JMP #0037
+ 0xB0080000, // 0036 RAISE 2 R0 R0
+ 0x8C1C0B0F, // 0037 GETMET R7 R5 K15
+ 0x58240015, // 0038 LDCONST R9 K21
+ 0x88280100, // 0039 GETMBR R10 R0 K0
+ 0x88281516, // 003A GETMBR R10 R10 K22
+ 0x882C0117, // 003B GETMBR R11 R0 K23
+ 0x5C300800, // 003C MOVE R12 R4
+ 0x5C340C00, // 003D MOVE R13 R6
+ 0x7C1C0C00, // 003E CALL R7 6
+ 0xB8220E00, // 003F GETNGBL R8 K7
+ 0x8C201108, // 0040 GETMET R8 R8 K8
+ 0x58280009, // 0041 LDCONST R10 K9
+ 0x842C0001, // 0042 CLOSURE R11 P1
+ 0x7C200600, // 0043 CALL R8 3
+ 0xA0140000, // 0044 CLOSE R5
+ 0xA0000000, // 0045 CLOSE R0
+ 0x80000000, // 0046 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_value_color
+********************************************************************/
+be_local_closure(lvh_obj_get_value_color, /* name */
+ be_nested_proto(
+ 3, /* 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_literal("get_value_color"),
+ }),
+ be_str_literal("get_value_color"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 3]) { /* code */
+ 0x8C040100, // 0000 GETMET R1 R0 K0
+ 0x7C040200, // 0001 CALL R1 1
+ 0x80040200, // 0002 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_val_rule
+********************************************************************/
+be_local_closure(lvh_obj_get_val_rule, /* 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_literal("_val_rule"),
+ }),
+ be_str_literal("get_val_rule"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 2]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x80040200, // 0001 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_val
+********************************************************************/
+be_local_closure(lvh_obj_get_val, /* name */
+ be_nested_proto(
+ 3, /* 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_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("get_value"),
+ }),
+ be_str_literal("get_val"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 4]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x8C040301, // 0001 GETMET R1 R1 K1
+ 0x7C040200, // 0002 CALL R1 1
+ 0x80040200, // 0003 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_click
+********************************************************************/
+be_local_closure(lvh_obj_get_click, /* name */
+ be_nested_proto(
+ 3, /* 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_literal("get_enabled"),
+ }),
+ be_str_literal("get_click"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 3]) { /* code */
+ 0x8C040100, // 0000 GETMET R1 R0 K0
+ 0x7C040200, // 0001 CALL R1 1
+ 0x80040200, // 0002 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_click
+********************************************************************/
+be_local_closure(lvh_obj_set_click, /* 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[ 1]) { /* constants */
+ /* K0 */ be_nested_str_literal("set_enabled"),
+ }),
+ be_str_literal("set_click"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 4]) { /* code */
+ 0x8C080100, // 0000 GETMET R2 R0 K0
+ 0x5C100200, // 0001 MOVE R4 R1
+ 0x7C080400, // 0002 CALL R2 2
+ 0x80000000, // 0003 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: member
+********************************************************************/
+be_local_closure(lvh_obj_member, /* name */
+ be_nested_proto(
+ 11, /* 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_literal("string"),
+ /* K1 */ be_nested_str_literal("introspect"),
+ /* K2 */ be_const_int(0),
+ /* K3 */ be_const_int(3),
+ /* K4 */ be_nested_str_literal("set_"),
+ /* K5 */ be_nested_str_literal("get_"),
+ /* K6 */ be_nested_str_literal("_attr_ignore"),
+ /* K7 */ be_nested_str_literal("find"),
+ /* K8 */ be_nested_str_literal("get"),
+ /* K9 */ be_nested_str_literal("function"),
+ /* K10 */ be_nested_str_literal("_attr_map"),
+ /* K11 */ be_nested_str_literal("contains"),
+ /* K12 */ be_nested_str_literal("_lv_obj"),
+ /* K13 */ be_nested_str_literal("style_"),
+ /* K14 */ be_nested_str_literal("unknown attribute "),
+ /* K15 */ be_nested_str_literal("value_error"),
+ }),
+ be_str_literal("member"),
+ &be_const_str_solidified,
+ ( &(const binstruction[69]) { /* code */
+ 0xA40A0000, // 0000 IMPORT R2 K0
+ 0xA40E0200, // 0001 IMPORT R3 K1
+ 0x40120503, // 0002 CONNECT R4 K2 K3
+ 0x94100204, // 0003 GETIDX R4 R1 R4
+ 0x1C140904, // 0004 EQ R5 R4 K4
+ 0x74160001, // 0005 JMPT R5 #0008
+ 0x1C140905, // 0006 EQ R5 R4 K5
+ 0x78160000, // 0007 JMPF R5 #0009
+ 0x80000A00, // 0008 RET 0
+ 0x88140106, // 0009 GETMBR R5 R0 K6
+ 0x8C140B07, // 000A GETMET R5 R5 K7
+ 0x5C1C0200, // 000B MOVE R7 R1
+ 0x7C140400, // 000C CALL R5 2
+ 0x4C180000, // 000D LDNIL R6
+ 0x20140A06, // 000E NE R5 R5 R6
+ 0x78160000, // 000F JMPF R5 #0011
+ 0x80000A00, // 0010 RET 0
+ 0x8C140708, // 0011 GETMET R5 R3 K8
+ 0x5C1C0000, // 0012 MOVE R7 R0
+ 0x00220A01, // 0013 ADD R8 K5 R1
+ 0x7C140600, // 0014 CALL R5 3
+ 0x60180004, // 0015 GETGBL R6 G4
+ 0x5C1C0A00, // 0016 MOVE R7 R5
+ 0x7C180200, // 0017 CALL R6 1
+ 0x1C180D09, // 0018 EQ R6 R6 K9
+ 0x781A0003, // 0019 JMPF R6 #001E
+ 0x5C180A00, // 001A MOVE R6 R5
+ 0x5C1C0000, // 001B MOVE R7 R0
+ 0x7C180200, // 001C CALL R6 1
+ 0x80040C00, // 001D RET 1 R6
+ 0x8818010A, // 001E GETMBR R6 R0 K10
+ 0x8C180D0B, // 001F GETMET R6 R6 K11
+ 0x5C200200, // 0020 MOVE R8 R1
+ 0x7C180400, // 0021 CALL R6 2
+ 0x781A001B, // 0022 JMPF R6 #003F
+ 0x8818010A, // 0023 GETMBR R6 R0 K10
+ 0x94180C01, // 0024 GETIDX R6 R6 R1
+ 0x8C1C0708, // 0025 GETMET R7 R3 K8
+ 0x8824010C, // 0026 GETMBR R9 R0 K12
+ 0x002A0A06, // 0027 ADD R10 K5 R6
+ 0x7C1C0600, // 0028 CALL R7 3
+ 0x5C140E00, // 0029 MOVE R5 R7
+ 0x601C0004, // 002A GETGBL R7 G4
+ 0x5C200A00, // 002B MOVE R8 R5
+ 0x7C1C0200, // 002C CALL R7 1
+ 0x1C1C0F09, // 002D EQ R7 R7 K9
+ 0x781E000F, // 002E JMPF R7 #003F
+ 0x8C1C0507, // 002F GETMET R7 R2 K7
+ 0x5C240C00, // 0030 MOVE R9 R6
+ 0x5828000D, // 0031 LDCONST R10 K13
+ 0x7C1C0600, // 0032 CALL R7 3
+ 0x1C1C0F02, // 0033 EQ R7 R7 K2
+ 0x781E0005, // 0034 JMPF R7 #003B
+ 0x5C1C0A00, // 0035 MOVE R7 R5
+ 0x8820010C, // 0036 GETMBR R8 R0 K12
+ 0x58240002, // 0037 LDCONST R9 K2
+ 0x7C1C0400, // 0038 CALL R7 2
+ 0x80040E00, // 0039 RET 1 R7
+ 0x70020003, // 003A JMP #003F
+ 0x5C1C0A00, // 003B MOVE R7 R5
+ 0x8820010C, // 003C GETMBR R8 R0 K12
+ 0x7C1C0200, // 003D CALL R7 1
+ 0x80040E00, // 003E RET 1 R7
+ 0x60180008, // 003F GETGBL R6 G8
+ 0x5C1C0200, // 0040 MOVE R7 R1
+ 0x7C180200, // 0041 CALL R6 1
+ 0x001A1C06, // 0042 ADD R6 K14 R6
+ 0xB0061E06, // 0043 RAISE 1 K15 R6
+ 0x80000000, // 0044 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_text_rule_formula
+********************************************************************/
+be_local_closure(lvh_obj_get_text_rule_formula, /* 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_literal("_text_rule_formula"),
+ }),
+ be_str_literal("get_text_rule_formula"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 2]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x80040200, // 0001 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_value_ofs_y
+********************************************************************/
+be_local_closure(lvh_obj_get_value_ofs_y, /* name */
+ be_nested_proto(
+ 3, /* 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_literal("_lv_label"),
+ /* K1 */ be_nested_str_literal("get_y"),
+ }),
+ be_str_literal("get_value_ofs_y"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 4]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x8C040301, // 0001 GETMET R1 R1 K1
+ 0x7C040200, // 0002 CALL R1 1
+ 0x80040200, // 0003 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_obj
+********************************************************************/
+be_local_closure(lvh_obj_get_obj, /* 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_literal("_lv_obj"),
+ }),
+ be_str_literal("get_obj"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 2]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x80040200, // 0001 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: is_color_attribute
+********************************************************************/
+be_local_closure(lvh_obj_is_color_attribute, /* name */
+ be_nested_proto(
+ 8, /* 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_literal("re"),
+ /* K1 */ be_nested_str_literal("search"),
+ /* K2 */ be_nested_str_literal("color$"),
+ }),
+ be_str_literal("is_color_attribute"),
+ &be_const_str_solidified,
+ ( &(const binstruction[10]) { /* code */
+ 0xA4060000, // 0000 IMPORT R1 K0
+ 0x60080017, // 0001 GETGBL R2 G23
+ 0x8C0C0301, // 0002 GETMET R3 R1 K1
+ 0x58140002, // 0003 LDCONST R5 K2
+ 0x60180008, // 0004 GETGBL R6 G8
+ 0x5C1C0000, // 0005 MOVE R7 R0
+ 0x7C180200, // 0006 CALL R6 1
+ 0x7C0C0600, // 0007 CALL R3 3
+ 0x7C080200, // 0008 CALL R2 1
+ 0x80040400, // 0009 RET 1 R2
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_mode
+********************************************************************/
+be_local_closure(lvh_obj_set_mode, /* 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[18]) { /* constants */
+ /* K0 */ be_nested_str_literal("expand"),
+ /* K1 */ be_nested_str_literal("_lv_obj"),
+ /* K2 */ be_nested_str_literal("set_width"),
+ /* K3 */ be_nested_str_literal("lv"),
+ /* K4 */ be_nested_str_literal("SIZE_CONTENT"),
+ /* K5 */ be_nested_str_literal("break"),
+ /* K6 */ be_nested_str_literal("LABEL_LONG_WRAP"),
+ /* K7 */ be_nested_str_literal("dots"),
+ /* K8 */ be_nested_str_literal("LABEL_LONG_DOT"),
+ /* K9 */ be_nested_str_literal("scroll"),
+ /* K10 */ be_nested_str_literal("LABEL_LONG_SCROLL"),
+ /* K11 */ be_nested_str_literal("loop"),
+ /* K12 */ be_nested_str_literal("LABEL_LONG_SCROLL_CIRCULAR"),
+ /* K13 */ be_nested_str_literal("crop"),
+ /* K14 */ be_nested_str_literal("LABEL_LONG_CLIP"),
+ /* K15 */ be_nested_str_literal("check_label"),
+ /* K16 */ be_nested_str_literal("_lv_label"),
+ /* K17 */ be_nested_str_literal("set_long_mode"),
+ }),
+ be_str_literal("set_mode"),
+ &be_const_str_solidified,
+ ( &(const binstruction[43]) { /* code */
+ 0x4C080000, // 0000 LDNIL R2
+ 0x1C0C0300, // 0001 EQ R3 R1 K0
+ 0x780E0005, // 0002 JMPF R3 #0009
+ 0x880C0101, // 0003 GETMBR R3 R0 K1
+ 0x8C0C0702, // 0004 GETMET R3 R3 K2
+ 0xB8160600, // 0005 GETNGBL R5 K3
+ 0x88140B04, // 0006 GETMBR R5 R5 K4
+ 0x7C0C0400, // 0007 CALL R3 2
+ 0x70020017, // 0008 JMP #0021
+ 0x1C0C0305, // 0009 EQ R3 R1 K5
+ 0x780E0002, // 000A JMPF R3 #000E
+ 0xB80E0600, // 000B GETNGBL R3 K3
+ 0x88080706, // 000C GETMBR R2 R3 K6
+ 0x70020012, // 000D JMP #0021
+ 0x1C0C0307, // 000E EQ R3 R1 K7
+ 0x780E0002, // 000F JMPF R3 #0013
+ 0xB80E0600, // 0010 GETNGBL R3 K3
+ 0x88080708, // 0011 GETMBR R2 R3 K8
+ 0x7002000D, // 0012 JMP #0021
+ 0x1C0C0309, // 0013 EQ R3 R1 K9
+ 0x780E0002, // 0014 JMPF R3 #0018
+ 0xB80E0600, // 0015 GETNGBL R3 K3
+ 0x8808070A, // 0016 GETMBR R2 R3 K10
+ 0x70020008, // 0017 JMP #0021
+ 0x1C0C030B, // 0018 EQ R3 R1 K11
+ 0x780E0002, // 0019 JMPF R3 #001D
+ 0xB80E0600, // 001A GETNGBL R3 K3
+ 0x8808070C, // 001B GETMBR R2 R3 K12
+ 0x70020003, // 001C JMP #0021
+ 0x1C0C030D, // 001D EQ R3 R1 K13
+ 0x780E0001, // 001E JMPF R3 #0021
+ 0xB80E0600, // 001F GETNGBL R3 K3
+ 0x8808070E, // 0020 GETMBR R2 R3 K14
+ 0x4C0C0000, // 0021 LDNIL R3
+ 0x200C0403, // 0022 NE R3 R2 R3
+ 0x780E0005, // 0023 JMPF R3 #002A
+ 0x8C0C010F, // 0024 GETMET R3 R0 K15
+ 0x7C0C0200, // 0025 CALL R3 1
+ 0x880C0110, // 0026 GETMBR R3 R0 K16
+ 0x8C0C0711, // 0027 GETMET R3 R3 K17
+ 0x5C140400, // 0028 MOVE R5 R2
+ 0x7C0C0400, // 0029 CALL R3 2
+ 0x80000000, // 002A RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_value_color
+********************************************************************/
+be_local_closure(lvh_obj_set_value_color, /* 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[ 1]) { /* constants */
+ /* K0 */ be_nested_str_literal("set_text_color"),
+ }),
+ be_str_literal("set_value_color"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 4]) { /* code */
+ 0x8C080100, // 0000 GETMET R2 R0 K0
+ 0x5C100200, // 0001 MOVE R4 R1
+ 0x7C080400, // 0002 CALL R2 2
+ 0x80000000, // 0003 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_text_rule
+********************************************************************/
+be_local_closure(lvh_obj_set_text_rule, /* name */
+ be_nested_proto(
+ 7, /* nstack */
+ 2, /* argc */
+ 2, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 1, /* has sup protos */
+ ( &(const struct bproto*[ 1]) {
+ be_nested_proto(
+ 4, /* nstack */
+ 1, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 1]) { /* upvals */
+ be_local_const_upval(1, 0),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 1]) { /* constants */
+ /* K0 */ be_nested_str_literal("text_rule_matched"),
+ }),
+ be_str_literal(""),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 5]) { /* code */
+ 0x68040000, // 0000 GETUPV R1 U0
+ 0x8C040300, // 0001 GETMET R1 R1 K0
+ 0x5C0C0000, // 0002 MOVE R3 R0
+ 0x7C040400, // 0003 CALL R1 2
+ 0x80040200, // 0004 RET 1 R1
+ })
+ ),
+ }),
+ 1, /* has constants */
+ ( &(const bvalue[ 4]) { /* constants */
+ /* K0 */ be_nested_str_literal("_text_rule"),
+ /* K1 */ be_nested_str_literal("tasmota"),
+ /* K2 */ be_nested_str_literal("remove_rule"),
+ /* K3 */ be_nested_str_literal("add_rule"),
+ }),
+ be_str_literal("set_text_rule"),
+ &be_const_str_solidified,
+ ( &(const binstruction[21]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x4C0C0000, // 0001 LDNIL R3
+ 0x20080403, // 0002 NE R2 R2 R3
+ 0x780A0004, // 0003 JMPF R2 #0009
+ 0xB80A0200, // 0004 GETNGBL R2 K1
+ 0x8C080502, // 0005 GETMET R2 R2 K2
+ 0x88100100, // 0006 GETMBR R4 R0 K0
+ 0x5C140000, // 0007 MOVE R5 R0
+ 0x7C080600, // 0008 CALL R2 3
+ 0x60080008, // 0009 GETGBL R2 G8
+ 0x5C0C0200, // 000A MOVE R3 R1
+ 0x7C080200, // 000B CALL R2 1
+ 0x90020002, // 000C SETMBR R0 K0 R2
+ 0xB80A0200, // 000D GETNGBL R2 K1
+ 0x8C080503, // 000E GETMET R2 R2 K3
+ 0x88100100, // 000F GETMBR R4 R0 K0
+ 0x84140000, // 0010 CLOSURE R5 P0
+ 0x5C180000, // 0011 MOVE R6 R0
+ 0x7C080800, // 0012 CALL R2 4
+ 0xA0000000, // 0013 CLOSE R0
+ 0x80000000, // 0014 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_adjustable
+********************************************************************/
+be_local_closure(lvh_obj_get_adjustable, /* 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[ 4]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("has_flag"),
+ /* K2 */ be_nested_str_literal("lv"),
+ /* K3 */ be_nested_str_literal("OBJ_FLAG_CLICKABLE"),
+ }),
+ be_str_literal("get_adjustable"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 6]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x8C040301, // 0001 GETMET R1 R1 K1
+ 0xB80E0400, // 0002 GETNGBL R3 K2
+ 0x880C0703, // 0003 GETMBR R3 R3 K3
+ 0x7C040400, // 0004 CALL R1 2
+ 0x80040200, // 0005 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_toggle
+********************************************************************/
+be_local_closure(lvh_obj_get_toggle, /* 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[ 4]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("has_state"),
+ /* K2 */ be_nested_str_literal("lv"),
+ /* K3 */ be_nested_str_literal("STATE_CHECKED"),
+ }),
+ be_str_literal("get_toggle"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 6]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x8C040301, // 0001 GETMET R1 R1 K1
+ 0xB80E0400, // 0002 GETNGBL R3 K2
+ 0x880C0703, // 0003 GETMBR R3 R3 K3
+ 0x7C040400, // 0004 CALL R1 2
+ 0x80040200, // 0005 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_value_str
+********************************************************************/
+be_local_closure(lvh_obj_get_value_str, /* name */
+ be_nested_proto(
+ 3, /* 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_literal("get_text"),
+ }),
+ be_str_literal("get_value_str"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 3]) { /* code */
+ 0x8C040100, // 0000 GETMET R1 R0 K0
+ 0x7C040200, // 0001 CALL R1 1
+ 0x80040200, // 0002 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_pad_right2
+********************************************************************/
+be_local_closure(lvh_obj_set_pad_right2, /* 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[ 5]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_part2_selector"),
+ /* K1 */ be_nested_str_literal("_lv_obj"),
+ /* K2 */ be_nested_str_literal("set_style_pad_right"),
+ /* K3 */ be_nested_str_literal("lv"),
+ /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
+ }),
+ be_str_literal("set_pad_right2"),
+ &be_const_str_solidified,
+ ( &(const binstruction[15]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x4C0C0000, // 0001 LDNIL R3
+ 0x20080403, // 0002 NE R2 R2 R3
+ 0x780A0009, // 0003 JMPF R2 #000E
+ 0x88080101, // 0004 GETMBR R2 R0 K1
+ 0x8C080502, // 0005 GETMET R2 R2 K2
+ 0x60100009, // 0006 GETGBL R4 G9
+ 0x5C140200, // 0007 MOVE R5 R1
+ 0x7C100200, // 0008 CALL R4 1
+ 0x88140100, // 0009 GETMBR R5 R0 K0
+ 0xB81A0600, // 000A GETNGBL R6 K3
+ 0x88180D04, // 000B GETMBR R6 R6 K4
+ 0x30140A06, // 000C OR R5 R5 R6
+ 0x7C080600, // 000D CALL R2 3
+ 0x80000000, // 000E RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_val_rule_formula
+********************************************************************/
+be_local_closure(lvh_obj_set_val_rule_formula, /* 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[ 7]) { /* constants */
+ /* K0 */ be_nested_str_literal("_val_rule_formula"),
+ /* K1 */ be_nested_str_literal("return / val -> ("),
+ /* K2 */ be_nested_str_literal(")"),
+ /* K3 */ be_nested_str_literal("_val_rule_function"),
+ /* K4 */ be_nested_str_literal("string"),
+ /* K5 */ be_nested_str_literal("format"),
+ /* K6 */ be_nested_str_literal("HSP: failed to compile '%s' - %s (%s)"),
+ }),
+ be_str_literal("set_val_rule_formula"),
+ &be_const_str_solidified,
+ ( &(const binstruction[30]) { /* code */
+ 0x60080008, // 0000 GETGBL R2 G8
+ 0x5C0C0200, // 0001 MOVE R3 R1
+ 0x7C080200, // 0002 CALL R2 1
+ 0x90020002, // 0003 SETMBR R0 K0 R2
+ 0x88080100, // 0004 GETMBR R2 R0 K0
+ 0x000A0202, // 0005 ADD R2 K1 R2
+ 0x00080502, // 0006 ADD R2 R2 K2
+ 0xA8020007, // 0007 EXBLK 0 #0010
+ 0x600C000D, // 0008 GETGBL R3 G13
+ 0x5C100400, // 0009 MOVE R4 R2
+ 0x7C0C0200, // 000A CALL R3 1
+ 0x5C100600, // 000B MOVE R4 R3
+ 0x7C100000, // 000C CALL R4 0
+ 0x90020604, // 000D SETMBR R0 K3 R4
+ 0xA8040001, // 000E EXBLK 1 1
+ 0x7002000C, // 000F JMP #001D
+ 0xAC0C0002, // 0010 CATCH R3 0 2
+ 0x70020009, // 0011 JMP #001C
+ 0xA4160800, // 0012 IMPORT R5 K4
+ 0x60180001, // 0013 GETGBL R6 G1
+ 0x8C1C0B05, // 0014 GETMET R7 R5 K5
+ 0x58240006, // 0015 LDCONST R9 K6
+ 0x5C280400, // 0016 MOVE R10 R2
+ 0x5C2C0600, // 0017 MOVE R11 R3
+ 0x5C300800, // 0018 MOVE R12 R4
+ 0x7C1C0A00, // 0019 CALL R7 5
+ 0x7C180200, // 001A CALL R6 1
+ 0x70020000, // 001B JMP #001D
+ 0xB0080000, // 001C RAISE 2 R0 R0
+ 0x80000000, // 001D RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_line_width
+********************************************************************/
+be_local_closure(lvh_obj_get_line_width, /* 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_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("get_style_line_width"),
+ /* K2 */ be_const_int(0),
+ }),
+ be_str_literal("get_line_width"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 5]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x8C040301, // 0001 GETMET R1 R1 K1
+ 0x580C0002, // 0002 LDCONST R3 K2
+ 0x7C040400, // 0003 CALL R1 2
+ 0x80040200, // 0004 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_pad_left2
+********************************************************************/
+be_local_closure(lvh_obj_set_pad_left2, /* 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[ 5]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_part2_selector"),
+ /* K1 */ be_nested_str_literal("_lv_obj"),
+ /* K2 */ be_nested_str_literal("set_style_pad_left"),
+ /* K3 */ be_nested_str_literal("lv"),
+ /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
+ }),
+ be_str_literal("set_pad_left2"),
+ &be_const_str_solidified,
+ ( &(const binstruction[15]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x4C0C0000, // 0001 LDNIL R3
+ 0x20080403, // 0002 NE R2 R2 R3
+ 0x780A0009, // 0003 JMPF R2 #000E
+ 0x88080101, // 0004 GETMBR R2 R0 K1
+ 0x8C080502, // 0005 GETMET R2 R2 K2
+ 0x60100009, // 0006 GETGBL R4 G9
+ 0x5C140200, // 0007 MOVE R5 R1
+ 0x7C100200, // 0008 CALL R4 1
+ 0x88140100, // 0009 GETMBR R5 R0 K0
+ 0xB81A0600, // 000A GETNGBL R6 K3
+ 0x88180D04, // 000B GETMBR R6 R6 K4
+ 0x30140A06, // 000C OR R5 R5 R6
+ 0x7C080600, // 000D CALL R2 3
+ 0x80000000, // 000E RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_val_rule_formula
+********************************************************************/
+be_local_closure(lvh_obj_get_val_rule_formula, /* 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_literal("_val_rule_formula"),
+ }),
+ be_str_literal("get_val_rule_formula"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 2]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x80040200, // 0001 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: check_label
+********************************************************************/
+be_local_closure(lvh_obj_check_label, /* 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[ 6]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_label"),
+ /* K1 */ be_nested_str_literal("lv"),
+ /* K2 */ be_nested_str_literal("label"),
+ /* K3 */ be_nested_str_literal("get_obj"),
+ /* K4 */ be_nested_str_literal("set_align"),
+ /* K5 */ be_nested_str_literal("ALIGN_CENTER"),
+ }),
+ be_str_literal("check_label"),
+ &be_const_str_solidified,
+ ( &(const binstruction[16]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x4C080000, // 0001 LDNIL R2
+ 0x1C040202, // 0002 EQ R1 R1 R2
+ 0x7806000A, // 0003 JMPF R1 #000F
+ 0xB8060200, // 0004 GETNGBL R1 K1
+ 0x8C040302, // 0005 GETMET R1 R1 K2
+ 0x8C0C0103, // 0006 GETMET R3 R0 K3
+ 0x7C0C0200, // 0007 CALL R3 1
+ 0x7C040400, // 0008 CALL R1 2
+ 0x90020001, // 0009 SETMBR R0 K0 R1
+ 0x88040100, // 000A GETMBR R1 R0 K0
+ 0x8C040304, // 000B GETMET R1 R1 K4
+ 0xB80E0200, // 000C GETNGBL R3 K1
+ 0x880C0705, // 000D GETMBR R3 R3 K5
+ 0x7C040400, // 000E CALL R1 2
+ 0x80000000, // 000F RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_text
+********************************************************************/
+be_local_closure(lvh_obj_get_text, /* name */
+ be_nested_proto(
+ 3, /* 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_literal("_lv_label"),
+ /* K1 */ be_nested_str_literal("get_text"),
+ }),
+ be_str_literal("get_text"),
+ &be_const_str_solidified,
+ ( &(const binstruction[10]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x4C080000, // 0001 LDNIL R2
+ 0x1C040202, // 0002 EQ R1 R1 R2
+ 0x78060001, // 0003 JMPF R1 #0006
+ 0x4C040000, // 0004 LDNIL R1
+ 0x80040200, // 0005 RET 1 R1
+ 0x88040100, // 0006 GETMBR R1 R0 K0
+ 0x8C040301, // 0007 GETMET R1 R1 K1
+ 0x7C040200, // 0008 CALL R1 1
+ 0x80040200, // 0009 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_hidden
+********************************************************************/
+be_local_closure(lvh_obj_set_hidden, /* 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_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("add_flag"),
+ /* K2 */ be_nested_str_literal("lv"),
+ /* K3 */ be_nested_str_literal("OBJ_FLAG_HIDDEN"),
+ /* K4 */ be_nested_str_literal("clear_flag"),
+ }),
+ be_str_literal("set_hidden"),
+ &be_const_str_solidified,
+ ( &(const binstruction[13]) { /* code */
+ 0x78060005, // 0000 JMPF R1 #0007
+ 0x88080100, // 0001 GETMBR R2 R0 K0
+ 0x8C080501, // 0002 GETMET R2 R2 K1
+ 0xB8120400, // 0003 GETNGBL R4 K2
+ 0x88100903, // 0004 GETMBR R4 R4 K3
+ 0x7C080400, // 0005 CALL R2 2
+ 0x70020004, // 0006 JMP #000C
+ 0x88080100, // 0007 GETMBR R2 R0 K0
+ 0x8C080504, // 0008 GETMET R2 R2 K4
+ 0xB8120400, // 0009 GETNGBL R4 K2
+ 0x88100903, // 000A GETMBR R4 R4 K3
+ 0x7C080400, // 000B CALL R2 2
+ 0x80000000, // 000C RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_pad_all2
+********************************************************************/
+be_local_closure(lvh_obj_set_pad_all2, /* 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[ 5]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_part2_selector"),
+ /* K1 */ be_nested_str_literal("_lv_obj"),
+ /* K2 */ be_nested_str_literal("set_style_pad_all"),
+ /* K3 */ be_nested_str_literal("lv"),
+ /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
+ }),
+ be_str_literal("set_pad_all2"),
+ &be_const_str_solidified,
+ ( &(const binstruction[15]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x4C0C0000, // 0001 LDNIL R3
+ 0x20080403, // 0002 NE R2 R2 R3
+ 0x780A0009, // 0003 JMPF R2 #000E
+ 0x88080101, // 0004 GETMBR R2 R0 K1
+ 0x8C080502, // 0005 GETMET R2 R2 K2
+ 0x60100009, // 0006 GETGBL R4 G9
+ 0x5C140200, // 0007 MOVE R5 R1
+ 0x7C100200, // 0008 CALL R4 1
+ 0x88140100, // 0009 GETMBR R5 R0 K0
+ 0xB81A0600, // 000A GETNGBL R6 K3
+ 0x88180D04, // 000B GETMBR R6 R6 K4
+ 0x30140A06, // 000C OR R5 R5 R6
+ 0x7C080600, // 000D CALL R2 3
+ 0x80000000, // 000E RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_text_color
+********************************************************************/
+be_local_closure(lvh_obj_set_text_color, /* 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[ 4]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("set_style_text_color"),
+ /* K2 */ be_nested_str_literal("parse_color"),
+ /* K3 */ be_const_int(0),
+ }),
+ be_str_literal("set_text_color"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 8]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x8C080501, // 0001 GETMET R2 R2 K1
+ 0x8C100102, // 0002 GETMET R4 R0 K2
+ 0x5C180200, // 0003 MOVE R6 R1
+ 0x7C100400, // 0004 CALL R4 2
+ 0x58140003, // 0005 LDCONST R5 K3
+ 0x7C080600, // 0006 CALL R2 3
+ 0x80000000, // 0007 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_pad_bottom
+********************************************************************/
+be_local_closure(lvh_obj_get_pad_bottom, /* 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[ 5]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_part2_selector"),
+ /* K1 */ be_nested_str_literal("_lv_obj"),
+ /* K2 */ be_nested_str_literal("get_style_pad_bottom"),
+ /* K3 */ be_nested_str_literal("lv"),
+ /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
+ }),
+ be_str_literal("get_pad_bottom"),
+ &be_const_str_solidified,
+ ( &(const binstruction[13]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x4C080000, // 0001 LDNIL R2
+ 0x20040202, // 0002 NE R1 R1 R2
+ 0x78060007, // 0003 JMPF R1 #000C
+ 0x88040101, // 0004 GETMBR R1 R0 K1
+ 0x8C040302, // 0005 GETMET R1 R1 K2
+ 0x880C0100, // 0006 GETMBR R3 R0 K0
+ 0xB8120600, // 0007 GETNGBL R4 K3
+ 0x88100904, // 0008 GETMBR R4 R4 K4
+ 0x300C0604, // 0009 OR R3 R3 R4
+ 0x7C040400, // 000A CALL R1 2
+ 0x80040200, // 000B RET 1 R1
+ 0x80000000, // 000C RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_pad_top
+********************************************************************/
+be_local_closure(lvh_obj_get_pad_top, /* 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[ 5]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_part2_selector"),
+ /* K1 */ be_nested_str_literal("_lv_obj"),
+ /* K2 */ be_nested_str_literal("get_style_pad_top"),
+ /* K3 */ be_nested_str_literal("lv"),
+ /* K4 */ be_nested_str_literal("STATE_DEFAULT"),
+ }),
+ be_str_literal("get_pad_top"),
+ &be_const_str_solidified,
+ ( &(const binstruction[13]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x4C080000, // 0001 LDNIL R2
+ 0x20040202, // 0002 NE R1 R1 R2
+ 0x78060007, // 0003 JMPF R1 #000C
+ 0x88040101, // 0004 GETMBR R1 R0 K1
+ 0x8C040302, // 0005 GETMET R1 R1 K2
+ 0x880C0100, // 0006 GETMBR R3 R0 K0
+ 0xB8120600, // 0007 GETNGBL R4 K3
+ 0x88100904, // 0008 GETMBR R4 R4 K4
+ 0x300C0604, // 0009 OR R3 R3 R4
+ 0x7C040400, // 000A CALL R1 2
+ 0x80040200, // 000B RET 1 R1
+ 0x80000000, // 000C RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_adjustable
+********************************************************************/
+be_local_closure(lvh_obj_set_adjustable, /* 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_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("add_flag"),
+ /* K2 */ be_nested_str_literal("lv"),
+ /* K3 */ be_nested_str_literal("OBJ_FLAG_CLICKABLE"),
+ /* K4 */ be_nested_str_literal("clear_flag"),
+ }),
+ be_str_literal("set_adjustable"),
+ &be_const_str_solidified,
+ ( &(const binstruction[13]) { /* code */
+ 0x78060005, // 0000 JMPF R1 #0007
+ 0x88080100, // 0001 GETMBR R2 R0 K0
+ 0x8C080501, // 0002 GETMET R2 R2 K1
+ 0xB8120400, // 0003 GETNGBL R4 K2
+ 0x88100903, // 0004 GETMBR R4 R4 K3
+ 0x7C080400, // 0005 CALL R2 2
+ 0x70020004, // 0006 JMP #000C
+ 0x88080100, // 0007 GETMBR R2 R0 K0
+ 0x8C080504, // 0008 GETMET R2 R2 K4
+ 0xB8120400, // 0009 GETNGBL R4 K2
+ 0x88100903, // 000A GETMBR R4 R4 K3
+ 0x7C080400, // 000B CALL R2 2
+ 0x80000000, // 000C RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_enabled
+********************************************************************/
+be_local_closure(lvh_obj_get_enabled, /* 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[ 4]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("has_flag"),
+ /* K2 */ be_nested_str_literal("lv"),
+ /* K3 */ be_nested_str_literal("OBJ_FLAG_CLICKABLE"),
+ }),
+ be_str_literal("get_enabled"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 6]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x8C040301, // 0001 GETMET R1 R1 K1
+ 0xB80E0400, // 0002 GETNGBL R3 K2
+ 0x880C0703, // 0003 GETMBR R3 R3 K3
+ 0x7C040400, // 0004 CALL R1 2
+ 0x80040200, // 0005 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: setmember
+********************************************************************/
+be_local_closure(lvh_obj_setmember, /* name */
+ be_nested_proto(
+ 12, /* nstack */
+ 3, /* 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_literal("string"),
+ /* K1 */ be_nested_str_literal("introspect"),
+ /* K2 */ be_const_int(0),
+ /* K3 */ be_const_int(3),
+ /* K4 */ be_nested_str_literal("set_"),
+ /* K5 */ be_nested_str_literal("get_"),
+ /* K6 */ be_nested_str_literal("_attr_ignore"),
+ /* K7 */ be_nested_str_literal("find"),
+ /* K8 */ be_nested_str_literal("get"),
+ /* K9 */ be_nested_str_literal("function"),
+ /* K10 */ be_nested_str_literal("_attr_map"),
+ /* K11 */ be_nested_str_literal("contains"),
+ /* K12 */ be_nested_str_literal("_lv_obj"),
+ /* K13 */ be_nested_str_literal("is_color_attribute"),
+ /* K14 */ be_nested_str_literal("parse_color"),
+ /* K15 */ be_nested_str_literal("style_"),
+ /* K16 */ be_nested_str_literal("HSP: Could not find function set_"),
+ /* K17 */ be_nested_str_literal("HSP: unknown attribute:"),
+ }),
+ be_str_literal("setmember"),
+ &be_const_str_solidified,
+ ( &(const binstruction[83]) { /* code */
+ 0xA40E0000, // 0000 IMPORT R3 K0
+ 0xA4120200, // 0001 IMPORT R4 K1
+ 0x40160503, // 0002 CONNECT R5 K2 K3
+ 0x94140205, // 0003 GETIDX R5 R1 R5
+ 0x1C180B04, // 0004 EQ R6 R5 K4
+ 0x741A0001, // 0005 JMPT R6 #0008
+ 0x1C180B05, // 0006 EQ R6 R5 K5
+ 0x781A0000, // 0007 JMPF R6 #0009
+ 0x80000C00, // 0008 RET 0
+ 0x88180106, // 0009 GETMBR R6 R0 K6
+ 0x8C180D07, // 000A GETMET R6 R6 K7
+ 0x5C200200, // 000B MOVE R8 R1
+ 0x7C180400, // 000C CALL R6 2
+ 0x4C1C0000, // 000D LDNIL R7
+ 0x20180C07, // 000E NE R6 R6 R7
+ 0x781A0000, // 000F JMPF R6 #0011
+ 0x80000C00, // 0010 RET 0
+ 0x8C180908, // 0011 GETMET R6 R4 K8
+ 0x5C200000, // 0012 MOVE R8 R0
+ 0x00260801, // 0013 ADD R9 K4 R1
+ 0x7C180600, // 0014 CALL R6 3
+ 0x601C0004, // 0015 GETGBL R7 G4
+ 0x5C200C00, // 0016 MOVE R8 R6
+ 0x7C1C0200, // 0017 CALL R7 1
+ 0x1C1C0F09, // 0018 EQ R7 R7 K9
+ 0x781E0004, // 0019 JMPF R7 #001F
+ 0x5C1C0C00, // 001A MOVE R7 R6
+ 0x5C200000, // 001B MOVE R8 R0
+ 0x5C240400, // 001C MOVE R9 R2
+ 0x7C1C0400, // 001D CALL R7 2
+ 0x80000E00, // 001E RET 0
+ 0x881C010A, // 001F GETMBR R7 R0 K10
+ 0x8C1C0F0B, // 0020 GETMET R7 R7 K11
+ 0x5C240200, // 0021 MOVE R9 R1
+ 0x7C1C0400, // 0022 CALL R7 2
+ 0x781E0029, // 0023 JMPF R7 #004E
+ 0x881C010A, // 0024 GETMBR R7 R0 K10
+ 0x941C0E01, // 0025 GETIDX R7 R7 R1
+ 0x8C200908, // 0026 GETMET R8 R4 K8
+ 0x8828010C, // 0027 GETMBR R10 R0 K12
+ 0x002E0807, // 0028 ADD R11 K4 R7
+ 0x7C200600, // 0029 CALL R8 3
+ 0x5C181000, // 002A MOVE R6 R8
+ 0x8C20010D, // 002B GETMET R8 R0 K13
+ 0x5C280E00, // 002C MOVE R10 R7
+ 0x7C200400, // 002D CALL R8 2
+ 0x78220003, // 002E JMPF R8 #0033
+ 0x8C20010E, // 002F GETMET R8 R0 K14
+ 0x5C280400, // 0030 MOVE R10 R2
+ 0x7C200400, // 0031 CALL R8 2
+ 0x5C081000, // 0032 MOVE R2 R8
+ 0x60200004, // 0033 GETGBL R8 G4
+ 0x5C240C00, // 0034 MOVE R9 R6
+ 0x7C200200, // 0035 CALL R8 1
+ 0x1C201109, // 0036 EQ R8 R8 K9
+ 0x78220011, // 0037 JMPF R8 #004A
+ 0x8C200707, // 0038 GETMET R8 R3 K7
+ 0x5C280E00, // 0039 MOVE R10 R7
+ 0x582C000F, // 003A LDCONST R11 K15
+ 0x7C200600, // 003B CALL R8 3
+ 0x1C201102, // 003C EQ R8 R8 K2
+ 0x78220005, // 003D JMPF R8 #0044
+ 0x5C200C00, // 003E MOVE R8 R6
+ 0x8824010C, // 003F GETMBR R9 R0 K12
+ 0x5C280400, // 0040 MOVE R10 R2
+ 0x582C0002, // 0041 LDCONST R11 K2
+ 0x7C200600, // 0042 CALL R8 3
+ 0x70020003, // 0043 JMP #0048
+ 0x5C200C00, // 0044 MOVE R8 R6
+ 0x8824010C, // 0045 GETMBR R9 R0 K12
+ 0x5C280400, // 0046 MOVE R10 R2
+ 0x7C200400, // 0047 CALL R8 2
+ 0x80001000, // 0048 RET 0
+ 0x70020002, // 0049 JMP #004D
+ 0x60200001, // 004A GETGBL R8 G1
+ 0x00262007, // 004B ADD R9 K16 R7
+ 0x7C200200, // 004C CALL R8 1
+ 0x70020003, // 004D JMP #0052
+ 0x601C0001, // 004E GETGBL R7 G1
+ 0x58200011, // 004F LDCONST R8 K17
+ 0x5C240200, // 0050 MOVE R9 R1
+ 0x7C1C0400, // 0051 CALL R7 2
+ 0x80000000, // 0052 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: init
+********************************************************************/
+be_local_closure(lvh_obj_init, /* name */
+ be_nested_proto(
+ 8, /* nstack */
+ 5, /* argc */
+ 2, /* 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_literal("_page"),
+ /* K1 */ be_nested_str_literal("_lv_class"),
+ /* K2 */ be_nested_str_literal("_lv_obj"),
+ /* K3 */ be_nested_str_literal("post_init"),
+ }),
+ be_str_literal("init"),
+ &be_const_str_solidified,
+ ( &(const binstruction[16]) { /* code */
+ 0x90020002, // 0000 SETMBR R0 K0 R2
+ 0x4C140000, // 0001 LDNIL R5
+ 0x1C140805, // 0002 EQ R5 R4 R5
+ 0x78160007, // 0003 JMPF R5 #000C
+ 0x88140101, // 0004 GETMBR R5 R0 K1
+ 0x78160005, // 0005 JMPF R5 #000C
+ 0x88140101, // 0006 GETMBR R5 R0 K1
+ 0x5C180A00, // 0007 MOVE R6 R5
+ 0x5C1C0200, // 0008 MOVE R7 R1
+ 0x7C180200, // 0009 CALL R6 1
+ 0x90020406, // 000A SETMBR R0 K2 R6
+ 0x70020000, // 000B JMP #000D
+ 0x90020404, // 000C SETMBR R0 K2 R4
+ 0x8C140103, // 000D GETMET R5 R0 K3
+ 0x7C140200, // 000E CALL R5 1
+ 0x80000000, // 000F RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_value_str
+********************************************************************/
+be_local_closure(lvh_obj_set_value_str, /* 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[ 1]) { /* constants */
+ /* K0 */ be_nested_str_literal("set_text"),
+ }),
+ be_str_literal("set_value_str"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 4]) { /* code */
+ 0x8C080100, // 0000 GETMET R2 R0 K0
+ 0x5C100200, // 0001 MOVE R4 R1
+ 0x7C080400, // 0002 CALL R2 2
+ 0x80000000, // 0003 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_line_width
+********************************************************************/
+be_local_closure(lvh_obj_set_line_width, /* 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_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("set_style_line_width"),
+ /* K2 */ be_const_int(0),
+ }),
+ be_str_literal("set_line_width"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 8]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x8C080501, // 0001 GETMET R2 R2 K1
+ 0x60100009, // 0002 GETGBL R4 G9
+ 0x5C140200, // 0003 MOVE R5 R1
+ 0x7C100200, // 0004 CALL R4 1
+ 0x58140002, // 0005 LDCONST R5 K2
+ 0x7C080600, // 0006 CALL R2 3
+ 0x80000000, // 0007 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: set_toggle
+********************************************************************/
+be_local_closure(lvh_obj_set_toggle, /* 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[ 9]) { /* constants */
+ /* K0 */ be_nested_str_literal("string"),
+ /* K1 */ be_nested_str_literal("toupper"),
+ /* K2 */ be_nested_str_literal("TRUE"),
+ /* K3 */ be_nested_str_literal("FALSE"),
+ /* K4 */ be_nested_str_literal("_lv_obj"),
+ /* K5 */ be_nested_str_literal("add_state"),
+ /* K6 */ be_nested_str_literal("lv"),
+ /* K7 */ be_nested_str_literal("STATE_CHECKED"),
+ /* K8 */ be_nested_str_literal("clear_state"),
+ }),
+ be_str_literal("set_toggle"),
+ &be_const_str_solidified,
+ ( &(const binstruction[26]) { /* code */
+ 0xA40A0000, // 0000 IMPORT R2 K0
+ 0x8C0C0501, // 0001 GETMET R3 R2 K1
+ 0x60140008, // 0002 GETGBL R5 G8
+ 0x5C180200, // 0003 MOVE R6 R1
+ 0x7C140200, // 0004 CALL R5 1
+ 0x7C0C0400, // 0005 CALL R3 2
+ 0x5C040600, // 0006 MOVE R1 R3
+ 0x1C0C0302, // 0007 EQ R3 R1 K2
+ 0x780E0000, // 0008 JMPF R3 #000A
+ 0x50040200, // 0009 LDBOOL R1 1 0
+ 0x1C0C0303, // 000A EQ R3 R1 K3
+ 0x780E0000, // 000B JMPF R3 #000D
+ 0x50040000, // 000C LDBOOL R1 0 0
+ 0x78060005, // 000D JMPF R1 #0014
+ 0x880C0104, // 000E GETMBR R3 R0 K4
+ 0x8C0C0705, // 000F GETMET R3 R3 K5
+ 0xB8160C00, // 0010 GETNGBL R5 K6
+ 0x88140B07, // 0011 GETMBR R5 R5 K7
+ 0x7C0C0400, // 0012 CALL R3 2
+ 0x70020004, // 0013 JMP #0019
+ 0x880C0104, // 0014 GETMBR R3 R0 K4
+ 0x8C0C0708, // 0015 GETMET R3 R3 K8
+ 0xB8160C00, // 0016 GETNGBL R5 K6
+ 0x88140B07, // 0017 GETMBR R5 R5 K7
+ 0x7C0C0400, // 0018 CALL R3 2
+ 0x80000000, // 0019 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
/********************************************************************
** Solidified function: set_val_rule
********************************************************************/
@@ -3629,37 +3631,9 @@ be_local_closure(lvh_obj_set_val_rule, /* name */
/********************************************************************
-** Solidified function: get_click
+** Solidified function: set_text
********************************************************************/
-be_local_closure(lvh_obj_get_click, /* name */
- be_nested_proto(
- 3, /* 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_literal("get_enabled"),
- }),
- be_str_literal("get_click"),
- &be_const_str_solidified,
- ( &(const binstruction[ 3]) { /* code */
- 0x8C040100, // 0000 GETMET R1 R0 K0
- 0x7C040200, // 0001 CALL R1 1
- 0x80040200, // 0002 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: set_value_ofs_x
-********************************************************************/
-be_local_closure(lvh_obj_set_value_ofs_x, /* name */
+be_local_closure(lvh_obj_set_text, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
@@ -3672,16 +3646,16 @@ be_local_closure(lvh_obj_set_value_ofs_x, /* name */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_literal("check_label"),
/* K1 */ be_nested_str_literal("_lv_label"),
- /* K2 */ be_nested_str_literal("set_x"),
+ /* K2 */ be_nested_str_literal("set_text"),
}),
- be_str_literal("set_value_ofs_x"),
+ be_str_literal("set_text"),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x8C080100, // 0000 GETMET R2 R0 K0
0x7C080200, // 0001 CALL R2 1
0x88080101, // 0002 GETMBR R2 R0 K1
0x8C080502, // 0003 GETMET R2 R2 K2
- 0x60100009, // 0004 GETGBL R4 G9
+ 0x60100008, // 0004 GETGBL R4 G8
0x5C140200, // 0005 MOVE R5 R1
0x7C100200, // 0006 CALL R4 1
0x7C080400, // 0007 CALL R2 2
@@ -3693,36 +3667,9 @@ be_local_closure(lvh_obj_set_value_ofs_x, /* name */
/********************************************************************
-** Solidified function: get_text_rule_format
+** Solidified function: get_action
********************************************************************/
-be_local_closure(lvh_obj_get_text_rule_format, /* 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_literal("_text_rule_format"),
- }),
- be_str_literal("get_text_rule_format"),
- &be_const_str_solidified,
- ( &(const binstruction[ 2]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x80040200, // 0001 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_value_ofs_y
-********************************************************************/
-be_local_closure(lvh_obj_get_value_ofs_y, /* name */
+be_local_closure(lvh_obj_get_action, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
@@ -3733,16 +3680,136 @@ be_local_closure(lvh_obj_get_value_ofs_y, /* name */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
- /* K0 */ be_nested_str_literal("_lv_label"),
- /* K1 */ be_nested_str_literal("get_y"),
+ /* K0 */ be_nested_str_literal("_action"),
+ /* K1 */ be_nested_str_literal(""),
}),
- be_str_literal("get_value_ofs_y"),
+ be_str_literal("get_action"),
&be_const_str_solidified,
- ( &(const binstruction[ 4]) { /* code */
+ ( &(const binstruction[ 6]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x78060001, // 0001 JMPF R1 #0004
+ 0x5C080200, // 0002 MOVE R2 R1
+ 0x70020000, // 0003 JMP #0005
+ 0x58080001, // 0004 LDCONST R2 K1
+ 0x80040400, // 0005 RET 1 R2
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_value_font
+********************************************************************/
+be_local_closure(lvh_obj_get_value_font, /* name */
+ be_nested_proto(
+ 3, /* 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_literal("get_text_font"),
+ }),
+ be_str_literal("get_value_font"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 3]) { /* code */
+ 0x8C040100, // 0000 GETMET R1 R0 K0
+ 0x7C040200, // 0001 CALL R1 1
+ 0x80040200, // 0002 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_hidden
+********************************************************************/
+be_local_closure(lvh_obj_get_hidden, /* 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[ 4]) { /* constants */
+ /* K0 */ be_nested_str_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("has_flag"),
+ /* K2 */ be_nested_str_literal("lv"),
+ /* K3 */ be_nested_str_literal("OBJ_FLAG_HIDDEN"),
+ }),
+ be_str_literal("get_hidden"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 6]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
- 0x7C040200, // 0002 CALL R1 1
- 0x80040200, // 0003 RET 1 R1
+ 0xB80E0400, // 0002 GETNGBL R3 K2
+ 0x880C0703, // 0003 GETMBR R3 R3 K3
+ 0x7C040400, // 0004 CALL R1 2
+ 0x80040200, // 0005 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_pad_all
+********************************************************************/
+be_local_closure(lvh_obj_get_pad_all, /* name */
+ be_nested_proto(
+ 1, /* nstack */
+ 1, /* argc */
+ 2, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 0, /* has constants */
+ NULL, /* no const */
+ be_str_literal("get_pad_all"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 1]) { /* code */
+ 0x80000000, // 0000 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_text_color
+********************************************************************/
+be_local_closure(lvh_obj_get_text_color, /* 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_literal("_lv_obj"),
+ /* K1 */ be_nested_str_literal("get_style_text_color"),
+ /* K2 */ be_const_int(0),
+ }),
+ be_str_literal("get_text_color"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 5]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x8C040301, // 0001 GETMET R1 R1 K1
+ 0x580C0002, // 0002 LDCONST R3 K2
+ 0x7C040400, // 0003 CALL R1 2
+ 0x80040200, // 0004 RET 1 R1
})
)
);
@@ -3755,15 +3822,52 @@ be_local_closure(lvh_obj_get_value_ofs_y, /* name */
be_local_class(lvh_obj,
12,
NULL,
- be_nested_map(87,
+ be_nested_map(88,
( (struct bmapnode*) &(const bmapnode[]) {
- { be_const_key_literal("get_value_font", 58), be_const_closure(lvh_obj_get_value_font_closure) },
- { be_const_key_literal("_text_rule", 25), be_const_var(8) },
- { be_const_key_literal("get_value_ofs_y", -1), be_const_closure(lvh_obj_get_value_ofs_y_closure) },
+ { be_const_key_literal("set_radius2", 68), be_const_closure(lvh_obj_set_radius2_closure) },
+ { be_const_key_literal("register_event_cb", -1), be_const_closure(lvh_obj_register_event_cb_closure) },
{ be_const_key_literal("get_text_rule_format", -1), be_const_closure(lvh_obj_get_text_rule_format_closure) },
- { be_const_key_literal("get_val_rule", -1), be_const_closure(lvh_obj_get_val_rule_closure) },
- { be_const_key_literal("get_value_ofs_x", 16), be_const_closure(lvh_obj_get_value_ofs_x_closure) },
- { be_const_key_literal("set_line_width", -1), be_const_closure(lvh_obj_set_line_width_closure) },
+ { be_const_key_literal("set_value_ofs_x", -1), be_const_closure(lvh_obj_set_value_ofs_x_closure) },
+ { be_const_key_literal("get_radius2", -1), be_const_closure(lvh_obj_get_radius2_closure) },
+ { be_const_key_literal("_attr_ignore", 30), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
+ be_const_list( * be_nested_list(10,
+ ( (struct bvalue*) &(const bvalue[]) {
+ be_nested_str_literal("tostring"),
+ be_nested_str_literal("obj"),
+ be_nested_str_literal("page"),
+ be_nested_str_literal("comment"),
+ be_nested_str_literal("parentid"),
+ be_nested_str_literal("auto_size"),
+ be_nested_str_literal("prev"),
+ be_nested_str_literal("next"),
+ be_nested_str_literal("back"),
+ be_nested_str_literal("berry_run"),
+ })) ) } )) },
+ { be_const_key_literal("val_rule_matched", -1), be_const_closure(lvh_obj_val_rule_matched_closure) },
+ { be_const_key_literal("set_pad_top2", -1), be_const_closure(lvh_obj_set_pad_top2_closure) },
+ { be_const_key_literal("get_value_font", -1), be_const_closure(lvh_obj_get_value_font_closure) },
+ { be_const_key_literal("_text_rule_function", -1), be_const_var(10) },
+ { be_const_key_literal("_text_rule_format", -1), be_const_var(11) },
+ { be_const_key_literal("set_text_font", -1), be_const_closure(lvh_obj_set_text_font_closure) },
+ { be_const_key_literal("parse_color", -1), be_const_static_closure(lvh_obj_parse_color_closure) },
+ { be_const_key_literal("get_text_font", -1), be_const_closure(lvh_obj_get_text_font_closure) },
+ { be_const_key_literal("text_rule_matched", 70), be_const_closure(lvh_obj_text_rule_matched_closure) },
+ { be_const_key_literal("_lv_class", -1), be_const_class(be_class_lv_obj) },
+ { be_const_key_literal("set_text", 78), be_const_closure(lvh_obj_set_text_closure) },
+ { be_const_key_literal("set_align", -1), be_const_closure(lvh_obj_set_align_closure) },
+ { be_const_key_literal("set_val_rule", 35), be_const_closure(lvh_obj_set_val_rule_closure) },
+ { be_const_key_literal("set_val", -1), be_const_closure(lvh_obj_set_val_closure) },
+ { be_const_key_literal("get_pad_right", 80), be_const_closure(lvh_obj_get_pad_right_closure) },
+ { be_const_key_literal("_text_rule_formula", 79), be_const_var(9) },
+ { be_const_key_literal("set_action", -1), be_const_closure(lvh_obj_set_action_closure) },
+ { be_const_key_literal("get_value_ofs_x", 86), be_const_closure(lvh_obj_get_value_ofs_x_closure) },
+ { be_const_key_literal("set_value_ofs_y", 6), be_const_closure(lvh_obj_set_value_ofs_y_closure) },
+ { be_const_key_literal("remove_trailing_zeroes", 41), be_const_static_closure(lvh_obj_remove_trailing_zeroes_closure) },
+ { be_const_key_literal("post_init", 18), be_const_closure(lvh_obj_post_init_closure) },
+ { be_const_key_literal("get_mode", -1), be_const_closure(lvh_obj_get_mode_closure) },
+ { be_const_key_literal("_action", -1), be_const_var(4) },
+ { be_const_key_literal("_lv_label", 7), be_const_var(2) },
+ { be_const_key_literal("set_toggle", 31), be_const_closure(lvh_obj_set_toggle_closure) },
{ be_const_key_literal("_attr_map", -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(26,
( (struct bmapnode*) &(const bmapnode[]) {
@@ -3794,56 +3898,40 @@ be_local_class(lvh_obj,
{ be_const_key_literal("pad_top", 16), be_nested_str_literal("style_pad_top") },
{ be_const_key_literal("bg_grad_dir", 14), be_nested_str_literal("style_bg_grad_dir") },
})) ) } )) },
- { be_const_key_literal("set_adjustable", -1), be_const_closure(lvh_obj_set_adjustable_closure) },
- { be_const_key_literal("_val_rule_formula", -1), be_const_var(6) },
- { be_const_key_literal("set_pad_all2", -1), be_const_closure(lvh_obj_set_pad_all2_closure) },
- { be_const_key_literal("_action", -1), be_const_var(4) },
- { be_const_key_literal("set_text_rule", 20), be_const_closure(lvh_obj_set_text_rule_closure) },
- { be_const_key_literal("get_adjustable", 3), be_const_closure(lvh_obj_get_adjustable_closure) },
- { be_const_key_literal("set_text", -1), be_const_closure(lvh_obj_set_text_closure) },
- { be_const_key_literal("event_cb", -1), be_const_closure(lvh_obj_event_cb_closure) },
- { be_const_key_literal("set_pad_right2", 86), be_const_closure(lvh_obj_set_pad_right2_closure) },
- { be_const_key_literal("get_radius2", -1), be_const_closure(lvh_obj_get_radius2_closure) },
- { be_const_key_literal("set_val", -1), be_const_closure(lvh_obj_set_val_closure) },
- { be_const_key_literal("get_text_rule_formula", 8), be_const_closure(lvh_obj_get_text_rule_formula_closure) },
+ { be_const_key_literal("set_line_width", -1), be_const_closure(lvh_obj_set_line_width_closure) },
+ { be_const_key_literal("set_value_str", 72), be_const_closure(lvh_obj_set_value_str_closure) },
+ { be_const_key_literal("is_color_attribute", -1), be_const_static_closure(lvh_obj_is_color_attribute_closure) },
+ { be_const_key_literal("_lv_obj", -1), be_const_var(1) },
{ be_const_key_literal("set_value_color", -1), be_const_closure(lvh_obj_set_value_color_closure) },
- { be_const_key_literal("_lv_label", -1), be_const_var(2) },
- { be_const_key_literal("get_value_str", 37), be_const_closure(lvh_obj_get_value_str_closure) },
- { be_const_key_literal("set_pad_left2", -1), be_const_closure(lvh_obj_set_pad_left2_closure) },
- { be_const_key_literal("get_enabled", 7), be_const_closure(lvh_obj_get_enabled_closure) },
- { be_const_key_literal("get_mode", 21), be_const_closure(lvh_obj_get_mode_closure) },
- { be_const_key_literal("_val_rule", 70), be_const_var(5) },
- { be_const_key_literal("set_enabled", -1), be_const_closure(lvh_obj_set_enabled_closure) },
- { be_const_key_literal("set_value_str", -1), be_const_closure(lvh_obj_set_value_str_closure) },
- { be_const_key_literal("_text_rule_function", -1), be_const_var(10) },
- { be_const_key_literal("_lv_part2_selector", -1), be_const_nil() },
- { be_const_key_literal("get_text_rule", -1), be_const_closure(lvh_obj_get_text_rule_closure) },
- { be_const_key_literal("register_event_cb", -1), be_const_closure(lvh_obj_register_event_cb_closure) },
- { be_const_key_literal("get_text", -1), be_const_closure(lvh_obj_get_text_closure) },
- { be_const_key_literal("set_val_rule_formula", -1), be_const_closure(lvh_obj_set_val_rule_formula_closure) },
- { be_const_key_literal("set_radius2", -1), be_const_closure(lvh_obj_set_radius2_closure) },
- { be_const_key_literal("set_hidden", 34), be_const_closure(lvh_obj_set_hidden_closure) },
- { be_const_key_literal("_lv_class", 85), be_const_class(be_class_lv_obj) },
- { be_const_key_literal("set_align", 55), be_const_closure(lvh_obj_set_align_closure) },
- { be_const_key_literal("init", 27), be_const_closure(lvh_obj_init_closure) },
- { be_const_key_literal("setmember", -1), be_const_closure(lvh_obj_setmember_closure) },
- { be_const_key_literal("member", -1), be_const_closure(lvh_obj_member_closure) },
- { be_const_key_literal("set_text_font", -1), be_const_closure(lvh_obj_set_text_font_closure) },
- { be_const_key_literal("get_align", -1), be_const_closure(lvh_obj_get_align_closure) },
- { be_const_key_literal("set_pad_bottom2", -1), be_const_closure(lvh_obj_set_pad_bottom2_closure) },
- { be_const_key_literal("_text_rule_format", -1), be_const_var(11) },
- { be_const_key_literal("set_click", -1), be_const_closure(lvh_obj_set_click_closure) },
- { be_const_key_literal("get_pad_right", -1), be_const_closure(lvh_obj_get_pad_right_closure) },
- { be_const_key_literal("id", -1), be_const_var(0) },
- { be_const_key_literal("set_text_color", -1), be_const_closure(lvh_obj_set_text_color_closure) },
- { be_const_key_literal("set_action", -1), be_const_closure(lvh_obj_set_action_closure) },
- { be_const_key_literal("check_label", 54), be_const_closure(lvh_obj_check_label_closure) },
- { be_const_key_literal("get_pad_all", -1), be_const_closure(lvh_obj_get_pad_all_closure) },
+ { be_const_key_literal("get_value_color", -1), be_const_closure(lvh_obj_get_value_color_closure) },
+ { be_const_key_literal("get_val_rule", -1), be_const_closure(lvh_obj_get_val_rule_closure) },
{ be_const_key_literal("get_val", -1), be_const_closure(lvh_obj_get_val_closure) },
- { be_const_key_literal("_text_rule_formula", -1), be_const_var(9) },
- { be_const_key_literal("set_pad_top2", 79), be_const_closure(lvh_obj_set_pad_top2_closure) },
- { be_const_key_literal("set_mode", -1), be_const_closure(lvh_obj_set_mode_closure) },
+ { be_const_key_literal("get_click", -1), be_const_closure(lvh_obj_get_click_closure) },
+ { be_const_key_literal("get_enabled", 81), be_const_closure(lvh_obj_get_enabled_closure) },
+ { be_const_key_literal("set_adjustable", -1), be_const_closure(lvh_obj_set_adjustable_closure) },
+ { be_const_key_literal("get_pad_left", 16), be_const_closure(lvh_obj_get_pad_left_closure) },
+ { be_const_key_literal("get_value_ofs_y", -1), be_const_closure(lvh_obj_get_value_ofs_y_closure) },
+ { be_const_key_literal("_val_rule_formula", 76), be_const_var(6) },
+ { be_const_key_literal("get_text_rule", 34), be_const_closure(lvh_obj_get_text_rule_closure) },
+ { be_const_key_literal("set_value_font", 74), be_const_closure(lvh_obj_set_value_font_closure) },
+ { be_const_key_literal("_val_rule", -1), be_const_var(5) },
+ { be_const_key_literal("event_cb", 58), be_const_closure(lvh_obj_event_cb_closure) },
+ { be_const_key_literal("set_text_rule", -1), be_const_closure(lvh_obj_set_text_rule_closure) },
+ { be_const_key_literal("get_adjustable", -1), be_const_closure(lvh_obj_get_adjustable_closure) },
+ { be_const_key_literal("get_toggle", -1), be_const_closure(lvh_obj_get_toggle_closure) },
+ { be_const_key_literal("get_value_str", -1), be_const_closure(lvh_obj_get_value_str_closure) },
+ { be_const_key_literal("set_pad_right2", -1), be_const_closure(lvh_obj_set_pad_right2_closure) },
+ { be_const_key_literal("set_val_rule_formula", 66), be_const_closure(lvh_obj_set_val_rule_formula_closure) },
+ { be_const_key_literal("id", 5), be_const_var(0) },
+ { be_const_key_literal("set_pad_bottom2", 33), be_const_closure(lvh_obj_set_pad_bottom2_closure) },
+ { be_const_key_literal("get_pad_top", 36), be_const_closure(lvh_obj_get_pad_top_closure) },
+ { be_const_key_literal("get_val_rule_formula", -1), be_const_closure(lvh_obj_get_val_rule_formula_closure) },
+ { be_const_key_literal("set_hidden", -1), be_const_closure(lvh_obj_set_hidden_closure) },
{ be_const_key_literal("_page", -1), be_const_var(3) },
+ { be_const_key_literal("check_label", -1), be_const_closure(lvh_obj_check_label_closure) },
+ { be_const_key_literal("get_text", -1), be_const_closure(lvh_obj_get_text_closure) },
+ { be_const_key_literal("set_text_rule_format", 60), be_const_closure(lvh_obj_set_text_rule_format_closure) },
+ { be_const_key_literal("set_pad_all2", -1), be_const_closure(lvh_obj_set_pad_all2_closure) },
{ be_const_key_literal("_event_map", -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(7,
( (struct bmapnode*) &(const bmapnode[]) {
@@ -3855,47 +3943,27 @@ be_local_class(lvh_obj,
{ be_const_key_int(5, -1), be_nested_str_literal("long") },
{ be_const_key_int(6, -1), be_nested_str_literal("hold") },
})) ) } )) },
- { be_const_key_literal("set_toggle", 66), be_const_closure(lvh_obj_set_toggle_closure) },
- { be_const_key_literal("set_text_rule_formula", -1), be_const_closure(lvh_obj_set_text_rule_formula_closure) },
- { be_const_key_literal("get_hidden", -1), be_const_closure(lvh_obj_get_hidden_closure) },
- { be_const_key_literal("post_init", -1), be_const_closure(lvh_obj_post_init_closure) },
- { be_const_key_literal("set_value_ofs_y", 41), be_const_closure(lvh_obj_set_value_ofs_y_closure) },
- { be_const_key_literal("get_val_rule_formula", -1), be_const_closure(lvh_obj_get_val_rule_formula_closure) },
- { be_const_key_literal("get_value_color", -1), be_const_closure(lvh_obj_get_value_color_closure) },
- { be_const_key_literal("get_pad_top", 56), be_const_closure(lvh_obj_get_pad_top_closure) },
- { be_const_key_literal("set_text_rule_format", 63), be_const_closure(lvh_obj_set_text_rule_format_closure) },
- { be_const_key_literal("get_pad_left", -1), be_const_closure(lvh_obj_get_pad_left_closure) },
- { be_const_key_literal("set_value_font", -1), be_const_closure(lvh_obj_set_value_font_closure) },
- { be_const_key_literal("text_rule_matched", -1), be_const_closure(lvh_obj_text_rule_matched_closure) },
- { be_const_key_literal("val_rule_matched", -1), be_const_closure(lvh_obj_val_rule_matched_closure) },
- { be_const_key_literal("_attr_ignore", 52), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
- be_const_list( * be_nested_list(10,
- ( (struct bvalue*) &(const bvalue[]) {
- be_nested_str_literal("tostring"),
- be_nested_str_literal("obj"),
- be_nested_str_literal("page"),
- be_nested_str_literal("comment"),
- be_nested_str_literal("parentid"),
- be_nested_str_literal("auto_size"),
- be_nested_str_literal("prev"),
- be_nested_str_literal("next"),
- be_nested_str_literal("back"),
- be_nested_str_literal("berry_run"),
- })) ) } )) },
- { be_const_key_literal("_val_rule_function", 50), be_const_var(7) },
- { be_const_key_literal("get_text_font", -1), be_const_closure(lvh_obj_get_text_font_closure) },
- { be_const_key_literal("is_color_attribute", 2), be_const_static_closure(lvh_obj_is_color_attribute_closure) },
- { be_const_key_literal("_lv_obj", -1), be_const_var(1) },
- { be_const_key_literal("get_text_color", 28), be_const_closure(lvh_obj_get_text_color_closure) },
- { be_const_key_literal("get_line_width", -1), be_const_closure(lvh_obj_get_line_width_closure) },
- { be_const_key_literal("get_action", -1), be_const_closure(lvh_obj_get_action_closure) },
- { be_const_key_literal("get_obj", -1), be_const_closure(lvh_obj_get_obj_closure) },
- { be_const_key_literal("parse_color", -1), be_const_static_closure(lvh_obj_parse_color_closure) },
- { be_const_key_literal("set_val_rule", -1), be_const_closure(lvh_obj_set_val_rule_closure) },
- { be_const_key_literal("get_click", -1), be_const_closure(lvh_obj_get_click_closure) },
- { be_const_key_literal("set_value_ofs_x", -1), be_const_closure(lvh_obj_set_value_ofs_x_closure) },
- { be_const_key_literal("get_toggle", -1), be_const_closure(lvh_obj_get_toggle_closure) },
+ { be_const_key_literal("set_text_color", -1), be_const_closure(lvh_obj_set_text_color_closure) },
+ { be_const_key_literal("_text_rule", -1), be_const_var(8) },
{ be_const_key_literal("get_pad_bottom", -1), be_const_closure(lvh_obj_get_pad_bottom_closure) },
+ { be_const_key_literal("_lv_part2_selector", -1), be_const_nil() },
+ { be_const_key_literal("set_pad_left2", 42), be_const_closure(lvh_obj_set_pad_left2_closure) },
+ { be_const_key_literal("get_line_width", 11), be_const_closure(lvh_obj_get_line_width_closure) },
+ { be_const_key_literal("setmember", -1), be_const_closure(lvh_obj_setmember_closure) },
+ { be_const_key_literal("set_mode", -1), be_const_closure(lvh_obj_set_mode_closure) },
+ { be_const_key_literal("init", -1), be_const_closure(lvh_obj_init_closure) },
+ { be_const_key_literal("get_obj", -1), be_const_closure(lvh_obj_get_obj_closure) },
+ { be_const_key_literal("set_enabled", 32), be_const_closure(lvh_obj_set_enabled_closure) },
+ { be_const_key_literal("get_text_rule_formula", -1), be_const_closure(lvh_obj_get_text_rule_formula_closure) },
+ { be_const_key_literal("get_align", -1), be_const_closure(lvh_obj_get_align_closure) },
+ { be_const_key_literal("set_click", 2), be_const_closure(lvh_obj_set_click_closure) },
+ { be_const_key_literal("_val_rule_function", -1), be_const_var(7) },
+ { be_const_key_literal("get_action", -1), be_const_closure(lvh_obj_get_action_closure) },
+ { be_const_key_literal("member", 8), be_const_closure(lvh_obj_member_closure) },
+ { be_const_key_literal("get_hidden", -1), be_const_closure(lvh_obj_get_hidden_closure) },
+ { be_const_key_literal("get_pad_all", -1), be_const_closure(lvh_obj_get_pad_all_closure) },
+ { be_const_key_literal("set_text_rule_formula", -1), be_const_closure(lvh_obj_set_text_rule_formula_closure) },
+ { be_const_key_literal("get_text_color", -1), be_const_closure(lvh_obj_get_text_color_closure) },
})),
be_str_literal("lvh_obj")
);
@@ -4367,9 +4435,57 @@ be_local_closure(lvh_roller_set_options, /* name */
/********************************************************************
-** Solidified function: get_val
+** Solidified function: get_text
********************************************************************/
-be_local_closure(lvh_roller_get_val, /* name */
+be_local_closure(lvh_roller_get_text, /* name */
+ be_nested_proto(
+ 6, /* nstack */
+ 1, /* 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_literal("resize"),
+ /* K1 */ be_nested_str_literal("_lv_obj"),
+ /* K2 */ be_nested_str_literal("get_selected_str"),
+ /* K3 */ be_nested_str_literal("_buffer"),
+ /* K4 */ be_nested_str_literal("remove_trailing_zeroes"),
+ /* K5 */ be_nested_str_literal("asstring"),
+ }),
+ be_str_literal("get_text"),
+ &be_const_str_solidified,
+ ( &(const binstruction[18]) { /* code */
+ 0x60040015, // 0000 GETGBL R1 G21
+ 0x7C040000, // 0001 CALL R1 0
+ 0x8C040300, // 0002 GETMET R1 R1 K0
+ 0x540E00FF, // 0003 LDINT R3 256
+ 0x7C040400, // 0004 CALL R1 2
+ 0x88080101, // 0005 GETMBR R2 R0 K1
+ 0x8C080502, // 0006 GETMET R2 R2 K2
+ 0x8C100303, // 0007 GETMET R4 R1 K3
+ 0x7C100200, // 0008 CALL R4 1
+ 0x541600FF, // 0009 LDINT R5 256
+ 0x7C080600, // 000A CALL R2 3
+ 0x8C080104, // 000B GETMET R2 R0 K4
+ 0x5C100200, // 000C MOVE R4 R1
+ 0x7C080400, // 000D CALL R2 2
+ 0x5C040400, // 000E MOVE R1 R2
+ 0x8C080305, // 000F GETMET R2 R1 K5
+ 0x7C080200, // 0010 CALL R2 1
+ 0x80040400, // 0011 RET 1 R2
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_options
+********************************************************************/
+be_local_closure(lvh_roller_get_options, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
@@ -4381,9 +4497,9 @@ be_local_closure(lvh_roller_get_val, /* name */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("get_selected"),
+ /* K1 */ be_nested_str_literal("get_options"),
}),
- be_str_literal("get_val"),
+ be_str_literal("get_options"),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
@@ -4430,9 +4546,37 @@ be_local_closure(lvh_roller_set_val, /* name */
/********************************************************************
-** Solidified function: get_options
+** Solidified function: set_text
********************************************************************/
-be_local_closure(lvh_roller_get_options, /* name */
+be_local_closure(lvh_roller_set_text, /* name */
+ be_nested_proto(
+ 2, /* 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_literal("attribute_error"),
+ /* K1 */ be_nested_str_literal("set_text unsupported on roller"),
+ }),
+ be_str_literal("set_text"),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 2]) { /* code */
+ 0xB0060101, // 0000 RAISE 1 K0 K1
+ 0x80000000, // 0001 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_val
+********************************************************************/
+be_local_closure(lvh_roller_get_val, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
@@ -4444,9 +4588,9 @@ be_local_closure(lvh_roller_get_options, /* name */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_literal("_lv_obj"),
- /* K1 */ be_nested_str_literal("get_options"),
+ /* K1 */ be_nested_str_literal("get_selected"),
}),
- be_str_literal("get_options"),
+ be_str_literal("get_val"),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
@@ -4466,13 +4610,15 @@ extern const bclass be_class_lvh_obj;
be_local_class(lvh_roller,
0,
&be_class_lvh_obj,
- be_nested_map(5,
+ be_nested_map(7,
( (struct bmapnode*) &(const bmapnode[]) {
- { be_const_key_literal("set_options", 3), be_const_closure(lvh_roller_set_options_closure) },
- { be_const_key_literal("get_val", -1), be_const_closure(lvh_roller_get_val_closure) },
- { be_const_key_literal("_lv_class", -1), be_const_class(be_class_lv_roller) },
- { be_const_key_literal("set_val", -1), be_const_closure(lvh_roller_set_val_closure) },
+ { be_const_key_literal("set_options", 2), be_const_closure(lvh_roller_set_options_closure) },
+ { be_const_key_literal("get_text", -1), be_const_closure(lvh_roller_get_text_closure) },
{ be_const_key_literal("get_options", -1), be_const_closure(lvh_roller_get_options_closure) },
+ { be_const_key_literal("_lv_class", -1), be_const_class(be_class_lv_roller) },
+ { be_const_key_literal("set_text", -1), be_const_closure(lvh_roller_set_text_closure) },
+ { be_const_key_literal("set_val", 4), be_const_closure(lvh_roller_set_val_closure) },
+ { be_const_key_literal("get_val", -1), be_const_closure(lvh_roller_get_val_closure) },
})),
be_str_literal("lvh_roller")
);
diff --git a/lib/libesp32_lvgl/lv_binding_berry/generate/be_lv_c_mapping.h b/lib/libesp32_lvgl/lv_binding_berry/generate/be_lv_c_mapping.h
index 3b18a9a2a..aac9f4a35 100644
--- a/lib/libesp32_lvgl/lv_binding_berry/generate/be_lv_c_mapping.h
+++ b/lib/libesp32_lvgl/lv_binding_berry/generate/be_lv_c_mapping.h
@@ -875,7 +875,7 @@ const be_ntv_func_def_t lv_dropdown_func[] = {
{ "get_options", { (const void*) &lv_dropdown_get_options, "s", "(lv.lv_obj)" } },
{ "get_selected", { (const void*) &lv_dropdown_get_selected, "i", "(lv.lv_obj)" } },
{ "get_selected_highlight", { (const void*) &lv_dropdown_get_selected_highlight, "b", "(lv.lv_obj)" } },
- { "get_selected_str", { (const void*) &lv_dropdown_get_selected_str, "", "(lv.lv_obj)si" } },
+ { "get_selected_str", { (const void*) &lv_dropdown_get_selected_str, "", "(lv.lv_obj)ci" } },
{ "get_symbol", { (const void*) &lv_dropdown_get_symbol, "s", "(lv.lv_obj)" } },
{ "get_text", { (const void*) &lv_dropdown_get_text, "s", "(lv.lv_obj)" } },
{ "is_open", { (const void*) &lv_dropdown_is_open, "b", "(lv.lv_obj)" } },
@@ -898,7 +898,7 @@ const be_ntv_func_def_t lv_label_func[] = {
{ "get_letter_pos", { (const void*) &lv_label_get_letter_pos, "", "(lv.lv_obj)i(lv.lv_point)" } },
{ "get_long_mode", { (const void*) &lv_label_get_long_mode, "i", "(lv.lv_obj)" } },
{ "get_recolor", { (const void*) &lv_label_get_recolor, "b", "(lv.lv_obj)" } },
- { "get_text", { (const void*) &lv_label_get_text, "s", "(lv.lv_obj)" } },
+ { "get_text", { (const void*) &lv_label_get_text, "c", "(lv.lv_obj)" } },
{ "get_text_selection_end", { (const void*) &lv_label_get_text_selection_end, "i", "(lv.lv_obj)" } },
{ "get_text_selection_start", { (const void*) &lv_label_get_text_selection_start, "i", "(lv.lv_obj)" } },
{ "ins_text", { (const void*) &lv_label_ins_text, "", "(lv.lv_obj)is" } },
@@ -928,7 +928,7 @@ const be_ntv_func_def_t lv_roller_func[] = {
{ "get_option_cnt", { (const void*) &lv_roller_get_option_cnt, "i", "(lv.lv_obj)" } },
{ "get_options", { (const void*) &lv_roller_get_options, "s", "(lv.lv_obj)" } },
{ "get_selected", { (const void*) &lv_roller_get_selected, "i", "(lv.lv_obj)" } },
- { "get_selected_str", { (const void*) &lv_roller_get_selected_str, "", "(lv.lv_obj)si" } },
+ { "get_selected_str", { (const void*) &lv_roller_get_selected_str, "", "(lv.lv_obj)ci" } },
{ "set_options", { (const void*) &lv_roller_set_options, "", "(lv.lv_obj)s(lv.lv_roller_mode)" } },
{ "set_selected", { (const void*) &lv_roller_set_selected, "", "(lv.lv_obj)ii" } },
{ "set_visible_row_count", { (const void*) &lv_roller_set_visible_row_count, "", "(lv.lv_obj)i" } },
diff --git a/lib/libesp32_lvgl/lv_binding_berry/generate/be_lvgl_module.c b/lib/libesp32_lvgl/lv_binding_berry/generate/be_lvgl_module.c
index 14707d20b..aec4cbf45 100644
--- a/lib/libesp32_lvgl/lv_binding_berry/generate/be_lvgl_module.c
+++ b/lib/libesp32_lvgl/lv_binding_berry/generate/be_lvgl_module.c
@@ -75,7 +75,7 @@ const be_ntv_func_def_t lv_func[] = {
{ "draw_arc_dsc_init", { (const void*) &lv_draw_arc_dsc_init, "", "(lv.lv_draw_arc_dsc)" } },
{ "draw_arc_get_area", { (const void*) &lv_draw_arc_get_area, "", "iiiiiib(lv.lv_area)" } },
{ "draw_img", { (const void*) &lv_draw_img, "", "(lv.lv_draw_ctx)(lv.lv_draw_img_dsc)(lv.lv_area)." } },
- { "draw_img_decoded", { (const void*) &lv_draw_img_decoded, "", "(lv.lv_draw_ctx)(lv.lv_draw_img_dsc)(lv.lv_area)(lv.uint8)i" } },
+ { "draw_img_decoded", { (const void*) &lv_draw_img_decoded, "", "(lv.lv_draw_ctx)(lv.lv_draw_img_dsc)(lv.lv_area)ci" } },
{ "draw_img_dsc_init", { (const void*) &lv_draw_img_dsc_init, "", "(lv.lv_draw_img_dsc)" } },
{ "draw_init", { (const void*) &lv_draw_init, "", "" } },
{ "draw_label", { (const void*) &lv_draw_label, "", "(lv.lv_draw_ctx)(lv.lv_draw_label_dsc)(lv.lv_area)s(lv.lv_draw_label_hint)" } },
@@ -109,6 +109,7 @@ const be_ntv_func_def_t lv_func[] = {
{ "event_stop_bubbling", { (const void*) &lv_event_stop_bubbling, "", "(lv.lv_event)" } },
{ "event_stop_processing", { (const void*) &lv_event_stop_processing, "", "(lv.lv_event)" } },
{ "flex_init", { (const void*) &lv_flex_init, "", "" } },
+ { "font_get_glyph_bitmap", { (const void*) &lv_font_get_glyph_bitmap, "c", "(lv.lv_font)i" } },
{ "font_get_glyph_dsc", { (const void*) &lv_font_get_glyph_dsc, "b", "(lv.lv_font)(lv.lv_font_glyph_dsc)ii" } },
{ "font_get_glyph_width", { (const void*) &lv_font_get_glyph_width, "i", "(lv.lv_font)ii" } },
{ "font_get_line_height", { (const void*) &lv_font_get_line_height, "i", "(lv.lv_font)" } },
diff --git a/lib/libesp32_lvgl/lv_binding_berry/tools/convert.py b/lib/libesp32_lvgl/lv_binding_berry/tools/convert.py
index bb36141e3..c305bdc34 100644
--- a/lib/libesp32_lvgl/lv_binding_berry/tools/convert.py
+++ b/lib/libesp32_lvgl/lv_binding_berry/tools/convert.py
@@ -35,8 +35,10 @@ return_types = {
"int32_t": "i",
"void *": ".",
"const void *": ".",
- "char *": "s",
+ "char *": "c",
+ "uint8_t *": "c",
"const char *": "s",
+ "constchar *": "s", # special construct
"lv_obj_user_data_t": "i",
"lv_objmask_mask_t *": ".",
@@ -122,6 +124,7 @@ return_types = {
"lv_anim_start_cb_t": "c",
# arrays
+ "constchar * []": "str_arr",
"char * []": "str_arr",
"lv_coord_t []": "lv_coord_arr",
"lv_point_t []": "lv_point_arr",
@@ -161,6 +164,7 @@ return_types = {
"lv_timer_t *": "lv_timer",
"lv_coord_t *": "c", # treat as a simple pointer, decoding needs to be done at Berry level
"char **": "c", # treat as a simple pointer, decoding needs to be done at Berry level
+ "constchar **": "c", # treat as a simple pointer, decoding needs to be done at Berry level
# callbacks
"lv_group_focus_cb_t": "lv_group_focus_cb",
@@ -229,6 +233,7 @@ with open(lv_widgets_file) as f:
l_raw = l_raw.strip(" \t\n\r") # remove leading or trailing spaces
l_raw = re.sub('static ', '', l_raw)
l_raw = re.sub('inline ', '', l_raw)
+ l_raw = re.sub('const\s+char\s*\*', 'constchar *', l_raw)
l_raw = re.sub('const ', '', l_raw)
l_raw = re.sub('struct ', '', l_raw)
if (len(l_raw) == 0): continue
diff --git a/tasmota/berry/openhasp/openhasp.tapp b/tasmota/berry/openhasp/openhasp.tapp
index 954fe51268a8a9c92107678059bb27d2be8400b8..e7f8e8ae139be04b415d98ca584fff71cf35a0e9 100644
GIT binary patch
delta 891
zcmZ`&OKTHR6ix^TRxDNm+Unw%2ubKn()a=&aZwSvs0yXUh3MqY$QTe`?GhC9tPNSnovrLDj@+
z@y^Qe_}R)_eDUk-q`CBDZH>6*Y!zz9FseE|O)`T*C^1corEQ@@8x^u-L21f_C{)p4
zAf(0)h!CU*0+gj0h;OtO#${kZAUvk=AO9q+n_amyX=1EuZF+oX&R?jRVaY>4CL;?F
zl9CcxaxhLXbcEZhZ&Jquphxu`@?X`hJE=vhHEY=@(@9L7M40;gfA*26BN@^vnM%z(
cdGqMpz1jWuDgOQKw7EX~p2Kn6|jd!oSB@qhsc0C&qUF8}}l
diff --git a/tasmota/berry/openhasp/openhasp_demo.tapp b/tasmota/berry/openhasp/openhasp_demo.tapp
index 9e69b789593547a6b03942abe5e5a04391f69377..79b11f4845a1087c13a22d3ae507569111511d73 100644
GIT binary patch
delta 983
zcmZ{j&ui2`6vuZXSZGlcrQpeDR@f}NS*)Um(hBOeC~7^4q?7DRJ8ga}Gn3UWxa+BZ
zg83gTUW&L!y?OU6R(caD`Ukk+n@l3B;#`uv`M%G4FY}$Z?-yQuSa|WKes+4gx$%1a
z_};bKsmp_3^q$7|oknI2_y;8!Vy$VakM-`+b4mV3GWpo7=
zRm;*YH!W3ifhrRT_{7j5dNisv`MzkqJAaCR0~YBH5+3FIZR^^2rh{rch0l~85TmfG
z-^&K|HUWxVLzvm1t+<~G1=})B{)j6kJse=7yjUM74cYA28e%Uu=V4h>%k{5P!@9jJ
z?mIfcOl!n6;N)}LI(RUqV*1o1Do=}?QbsnD2sTq>8S(*oEk@Sf@afMLMs`}&ab3NBqh-2o0GXOB
zM-d~^Y5Dz!*17!nxiz=$k-;6m>lvog>S(1Yt+~aCn0xd;dsZIkGHEW0lYe??1(R&M35_w?(bb@>F{)BMaA3r>DKv}(25FBwTO4FCWD
delta 121
zcmZ2=oO{~=?uIRlf`9p%x2_IZt$QTe`?GhC9tPNSnovrLDj@+
z@y^Qe_}R)_eDUk-q`CBDZH>6*Y!zz9FseE|O)`T*C^1corEQ@@8x^u-L21f_C{)p4
zAf(0)h!CU*0+gj0h;OtO#${kZAUvk=AO9q+n_amyX=1EuZF+oX&R?jRVaY>4CL;?F
zl9CcxaxhLXbcEZhZ&Jquphxu`@?X`hJE=vhHEY=@(@9L7M40;gfA*26BN@^vnM%z(
cdGqMpz1jWuDgOQKw7EX~p2Kn6|jd!oSB@qhsc0C&qUF8}}l
diff --git a/tasmota/berry/openhasp_src/openhasp_core/openhasp.be b/tasmota/berry/openhasp_src/openhasp_core/openhasp.be
index f9b8b6ef4..3c0e552ff 100644
--- a/tasmota/berry/openhasp_src/openhasp_core/openhasp.be
+++ b/tasmota/berry/openhasp_src/openhasp_core/openhasp.be
@@ -175,6 +175,21 @@ class lvh_obj
return bool(re.search("color$", str(t)))
end
+ #- remove trailing NULL chars from a bytes buffer before converting to string -#
+ #- Berry strings can contain NULL, but this messes up C-Berry interface -#
+ static def remove_trailing_zeroes(b)
+ var sz = size(b)
+ var i = 0
+ while i < sz
+ if b[-1-i] != 0 break end
+ i += 1
+ end
+ if i > 0
+ b.resize(size(b)-i)
+ end
+ return b
+ end
+
#################################################################################
# Parses a color attribute
#
@@ -324,7 +339,13 @@ class lvh_obj
try
# try to get the new val
var val = self.val
- tas_event_more = string.format(',"val":%i', val)
+ if val != nil tas_event_more = string.format(',"val":%i', val) end
+ var text = self.text
+ if text != nil
+ import json
+ tas_event_more += ',"text":'
+ tas_event_more += json.dump(text)
+ end
except ..
end
end
@@ -1025,6 +1046,17 @@ class lvh_roller : lvh_obj
def get_options()
return self._lv_obj.get_options()
end
+
+ def set_text(t)
+ raise "attribute_error", "set_text unsupported on roller"
+ end
+ def get_text()
+ # allocate a bytes buffer
+ var b = bytes().resize(256) # force 256 bytes
+ self._lv_obj.get_selected_str(b._buffer(), 256)
+ b = self.remove_trailing_zeroes(b)
+ return b.asstring()
+ end
end
#################################################################################
diff --git a/tasmota/berry/openhasp_src/openhasp_demo.tapp b/tasmota/berry/openhasp_src/openhasp_demo.tapp
index 9e69b789593547a6b03942abe5e5a04391f69377..79b11f4845a1087c13a22d3ae507569111511d73 100644
GIT binary patch
delta 983
zcmZ{j&ui2`6vuZXSZGlcrQpeDR@f}NS*)Um(hBOeC~7^4q?7DRJ8ga}Gn3UWxa+BZ
zg83gTUW&L!y?OU6R(caD`Ukk+n@l3B;#`uv`M%G4FY}$Z?-yQuSa|WKes+4gx$%1a
z_};bKsmp_3^q$7|oknI2_y;8!Vy$VakM-`+b4mV3GWpo7=
zRm;*YH!W3ifhrRT_{7j5dNisv`MzkqJAaCR0~YBH5+3FIZR^^2rh{rch0l~85TmfG
z-^&K|HUWxVLzvm1t+<~G1=})B{)j6kJse=7yjUM74cYA28e%Uu=V4h>%k{5P!@9jJ
z?mIfcOl!n6;N)}LI(RUqV*1o1Do=}?QbsnD2sTq>8S(*oEk@Sf@afMLMs`}&ab3NBqh-2o0GXOB
zM-d~^Y5Dz!*17!nxiz=$k-;6m>lvog>S(1Yt+~aCn0xd;dsZIkGHEW0lYe??1(R&M35_w?(bb@>F{)BMaA3r>DKv}(25FBwTO4FCWD
delta 121
zcmZ2=oO{~=?uIRlf`9p%x2_IZt
Date: Fri, 13 May 2022 12:28:48 +0200
Subject: [PATCH 26/48] Include shutter tilt config in discovery message
---
tasmota/xdrv_12_discovery.ino | 12 ++++++++++++
tasmota/xdrv_12_home_assistant.ino | 12 ++++++++++++
2 files changed, 24 insertions(+)
diff --git a/tasmota/xdrv_12_discovery.ino b/tasmota/xdrv_12_discovery.ino
index 5d5f71431..44c3325c7 100644
--- a/tasmota/xdrv_12_discovery.ino
+++ b/tasmota/xdrv_12_discovery.ino
@@ -209,6 +209,18 @@ void TasDiscoverMessage(void) {
}
ResponseAppend_P(PSTR("]," // Shutter Options (end)
+ "\"sht\":[")); // Shutter Tilt (start)
+ for (uint32_t i = 0; i < MAX_SHUTTERS; i++) {
+#ifdef USE_SHUTTER
+ ResponseAppend_P(PSTR("%s[%d,%d,%d]"), (i > 0 ? "," : ""),
+ Settings->shutter_tilt_config[0][i],
+ Settings->shutter_tilt_config[1][i],
+ Settings->shutter_tilt_config[2][i]);
+#else
+ ResponseAppend_P(PSTR("%s[0,0,0]"), (i > 0 ? "," : ""));
+#endif // USE_SHUTTER
+ }
+ ResponseAppend_P(PSTR("]," // Shutter Tilt (end)
"\"ver\":1}")); // Discovery version
}
diff --git a/tasmota/xdrv_12_home_assistant.ino b/tasmota/xdrv_12_home_assistant.ino
index 00bbf6734..ffc099e5d 100644
--- a/tasmota/xdrv_12_home_assistant.ino
+++ b/tasmota/xdrv_12_home_assistant.ino
@@ -376,6 +376,18 @@ void HassDiscoverMessage(void) {
}
ResponseAppend_P(PSTR("]," // Shutter Options (end)
+ "\"sht\":[")); // Shutter Tilt (start)
+ for (uint32_t i = 0; i < MAX_SHUTTERS; i++) {
+#ifdef USE_SHUTTER
+ ResponseAppend_P(PSTR("%s[%d,%d,%d]"), (i > 0 ? "," : ""),
+ Settings->shutter_tilt_config[0][i],
+ Settings->shutter_tilt_config[1][i],
+ Settings->shutter_tilt_config[2][i]);
+#else
+ ResponseAppend_P(PSTR("%s[0,0,0]"), (i > 0 ? "," : ""));
+#endif // USE_SHUTTER
+ }
+ ResponseAppend_P(PSTR("]," // Shutter Tilt (end)
"\"ver\":1}")); // Discovery version
}
From 5680bc9cef45222694b0699e870b7e1d94a4675e Mon Sep 17 00:00:00 2001
From: stefanbode
Date: Fri, 13 May 2022 12:37:38 +0200
Subject: [PATCH 27/48] Removed duplicated announcement of shutter
---
tasmota/xdrv_27_shutter.ino | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tasmota/xdrv_27_shutter.ino b/tasmota/xdrv_27_shutter.ino
index d4cbd0191..e94cf8088 100644
--- a/tasmota/xdrv_27_shutter.ino
+++ b/tasmota/xdrv_27_shutter.ino
@@ -1653,7 +1653,7 @@ void CmndShutterTiltConfig(void)
ResponseCmndIdxChar(XdrvMailbox.data);
} else {
char setting_chr[30] = "0";
- snprintf_P(setting_chr, sizeof(setting_chr), PSTR("SHT:%d %d %d %d %d %d"), XdrvMailbox.index -1,Shutter[XdrvMailbox.index -1].tilt_config[0], Shutter[XdrvMailbox.index -1].tilt_config[1],Shutter[XdrvMailbox.index -1].tilt_config[2],Shutter[XdrvMailbox.index -1].tilt_config[3],Shutter[XdrvMailbox.index -1].tilt_config[4]);
+ snprintf_P(setting_chr, sizeof(setting_chr), PSTR("%d %d %d %d %d"), Shutter[XdrvMailbox.index -1].tilt_config[0], Shutter[XdrvMailbox.index -1].tilt_config[1],Shutter[XdrvMailbox.index -1].tilt_config[2],Shutter[XdrvMailbox.index -1].tilt_config[3],Shutter[XdrvMailbox.index -1].tilt_config[4]);
ResponseCmndIdxChar(setting_chr);
}
AddLog(LOG_LEVEL_INFO, PSTR("SHT: TiltConfig %d, min: %d, max %d, runtime %d, close_pos: %d, open_pos: %d"), XdrvMailbox.index ,Shutter[XdrvMailbox.index -1].tilt_config[0], Shutter[XdrvMailbox.index -1].tilt_config[1],Shutter[XdrvMailbox.index -1].tilt_config[2],Shutter[XdrvMailbox.index -1].tilt_config[3],Shutter[XdrvMailbox.index -1].tilt_config[4]);
From 02e62782129f1323e036051294e1d351a93412e4 Mon Sep 17 00:00:00 2001
From: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Date: Fri, 13 May 2022 12:48:22 +0200
Subject: [PATCH 28/48] add tasmota32c3usb
---
.github/workflows/Tasmota_build_master.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/Tasmota_build_master.yml b/.github/workflows/Tasmota_build_master.yml
index f065fd5f6..d39246639 100644
--- a/.github/workflows/Tasmota_build_master.yml
+++ b/.github/workflows/Tasmota_build_master.yml
@@ -37,12 +37,14 @@ jobs:
- tasmota32-ir
- tasmota32-lvgl
- tasmota32c3
+ - tasmota32c3usb
- tasmota32solo1
- tasmota32solo1-safeboot
- tasmota32-safeboot
- tasmota32c3-safeboot
- tasmota32s2-safeboot
- tasmota32s3-safeboot
+ - tasmota32c3usb-safeboot
steps:
- uses: actions/checkout@v3
with:
From 9971e5924c81abb0fbfed072682dde8ac8056462 Mon Sep 17 00:00:00 2001
From: Stephan Hadinger
Date: Fri, 13 May 2022 16:20:04 +0200
Subject: [PATCH 29/48] Partition Wizard compiled bytecode
---
tasmota/berry/modules/Partition_Manager.tapp | Bin 16837 -> 17005 bytes
.../modules/Partition_Manager/partition.bec | Bin 16468 -> 16636 bytes
tasmota/berry/modules/Partition_Wizard.tapp | Bin 0 -> 16175 bytes
.../Partition_Wizard/partition_wizard.bec | Bin 0 -> 15732 bytes
tasmota/berry/modules/Partition_wizard.tapp | Bin 31911 -> 16175 bytes
tasmota/berry/modules/partition.be | 530 +++++++++++++++---
.../partition_wizard.be | 3 +-
7 files changed, 443 insertions(+), 90 deletions(-)
create mode 100644 tasmota/berry/modules/Partition_Wizard.tapp
create mode 100644 tasmota/berry/modules/Partition_Wizard/partition_wizard.bec
rename tasmota/berry/modules/{Partition_Wizard => }/partition_wizard.be (99%)
diff --git a/tasmota/berry/modules/Partition_Manager.tapp b/tasmota/berry/modules/Partition_Manager.tapp
index 8e2c8b91b5dd2f8b33e4bd39089a6169fb7feb6c..013bd556ed34a419418ff93590f13532cc06a35f 100644
GIT binary patch
delta 2669
zcmb_e-D@0G6hHH^^F6b>$z(H`Owvi5v}+pEY24N^hBSdHiV^a#(x{;(trhd233ZDr
zjBfoNWYv_(gNW#Z0ShV=f)ISxCw&q05Aew+9|Rwz>+kN&>iUU-3(Glk&&NIIcg{Wc
ze(@6b!^@nxdcPoQ#D4d^_r^7ILVnmhcj3Hw?%JulZ`*kBlloio=Rf_tM8y6kd9<^6
zxv|yQ+J0*G!ljE3)>RU|dE)sC_+R_*v{)cIb?v(kPN~E<$>aBlq(fB@+r*18x!Pf|
zpnxx}lc>Zcf$>UA#2*rgSIY;Va^H=$6rN@g3@rDF*Y-)Y_64EDtYVG^8bqZPQpBsG
zoUIiEyDgEoMxq_d;EA_m1ys$~7_a5L&Oxqt*gexR@^w?S6HB*~qHYJv3RRlSsFVxK
ze`7QNok77%m@^wZ+Za(_9ZJ8R8Yx-7;q>Um?aP@PO#QioJY;n9*EQXMuI}_e}t_~v*>aqx6g6U0n1`ETR#|^evad}pGn_6?tvV9cKjW_
zHN?}K-SYmsX1>Jn*ZUiK7QLvFy&($@n%oCiPTXy9-LVC78>;G{T23r!P9T!o)Cx{p
zXL?$Ie4V%@InoW2DQP~s9>(OY$cE<$G~Textkg=;vqc(*v4@JHwX`aXy;z1VN8W~3
z@NpObhBkwB9|3rAS%odz1Z_B=ddXlh^JSxbhVu3dIli^SvZ>@JX}&L;N?$fNJ0taB
zIFT%8kHX2rk+P4h{Maq~d!uH69-Xdh1A(EIe6dJJ>!3zX6)NF4vz9S@k4J}iW@by^
z$3|MxjXye6^uXrmXhYV5pg>2Fb1s*}yACYc!1O%W3
zin{3T4ypkH4dRKM+CqTr;Y$qSAJH|17P6nrv%i4sZ&C9BrQ1GEbTfcM44=00>mYL4
zQ#mp>J7Yk_Pvnxf=M}S!5JcnH14xQxtYsPZvPZ_vDrBmfAuv_;ea!XA=B-#fqNj87
zlb)q#etL+Wp$yrn!GO~5=ls?r8x>-R8qdUPCA4{(YfN)tVpPIFqPgbrLfD>RI+cZW
z8dzGN=FTQSE;fLeQVD_5T=TXrN^^DCD8^!CcT^9PBYG{tXd>gZyW0_ZGIw{>gv{*8
z##@=t4wcbjcTqGJ#{qK)m_xvvQCkQBa~A093}&D_nk+iQVCuJ(WUCh8l8TK+$R_
zS{SS8#_gjmg_hRHIg1kAixRCQWYl64B~qydiwNjIE=I7Z#V5HavD^ryo=2&>d?3?2
zN*%RB=uOetHFED=KM6n6+$wxUvBk>mL^yHtP0fu^_W9;qx9k}7PSjGYZrvl)eIY4&
z5n0{3vs)m7jMW`7vnLxz*&(Y$D0_EJw7O-FkZOdoXVgaEL%qOJ_S>-`N8B_Qa{_driURgfIUWMuV%f585j7{hlAI<`h
delta 2617
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
E0HZPN`Tzg`
delta 2458
zcmb_e&ubf35T5;^-M7D_wY=V}rM0zj){bItl(oBcoy6FNhSGvdFFLs3LmFz@KuL@v
z5*@azb0~-+ii=zdy(WhgatQUse?)t0p*`l(d+#Oc_p~c23WXNpgWtS2GjHabZ+4#k
zd@THYESxOKGEwsN@{?6YVwXrf*97X5NGa8n^RguOiOhYH<+LI|7Uh)N5Xr~(nJB!R
z%T$q;iT^22Nz|W;k_js_6{y^S=PoJoF)8J9Ses44d;pSj7@CR>Sd?`E}EG|4cd$RCpDU-`0eT-X(s(|c1
z6*aFfQ2J&s
z3xL;2vy!L0u(%QP(Zz5kZ&%ShU!q#4Y~-{u%X4I^!Px_QXd@QF*-I7p3gq3^OMc(x
z7+DkNJ`(WKDHXmv2wJYHdcA2Yzso_Z%oME{3u1Q2(YVE@a$^FGJAvlaaHf3$my}HB
zl;ZjG*@_QTep;*er*$JhKQ6U3J1|+}uUt#W8Zplw3$EkLLuZV2
zoO$S+1k8`lWNXBH0^*Yl%#VcBL5efu6v6x(2q=*Jtj>o!+0Q+!<5`!CXPu6T!18(b
zCg$3DG1uNIp2H2Se0p3TPY*qx9(*R=fbOPb1$h0vbTfAt)RW7DpBnze8~<6-)vsQ|
z^I#LZO_JFok)=x{J|h{wc?iE^ih)7o>|)3V>R@WSew~<;y1ajj@js2xPo{gW8u@d;
z4Cizx)!K^gFb#uM#~4vfkBq@L+bc7_4uwOL*dAg%Ct?^TbZiZN*?woRy7TSex1CFW
E0f3aa8vp+`QkK?{En3!Y9j`2V9eb0_YS+q|#(Gf|6h)3C
z))Yx_Mr%1C8Wl(pJqWEI477bq0Rs(?v@nW3=%HwVzVxB!V_*7D^tC{dRljp*h8$6(
zchR&m=(%&}&i#3Qe&@{ECt)>C{P)%4Uzh&rXy-FB!j-4
zc$mvNk9CZ34=_HN=9#6M<21PYgPFn&%Ek
zdreCGHL0oB;jqcm?S?4hU~;RZs|RY-t&4=SM;hgyf=aqklu5~UbzEa!okkP;aomH{
zWE%tJWH^7w?Ng+*`B}<)mJZ>4J&$e4cFjO}EKuh6Gv52-DD!xj>;coL8KdXcrfqe;
zvO1wFRQJNWuB+%j#YhDZg=Wm)f?8fRV!DjRm-;Ves7P>Bvo5Y$7(ud
z+rb9nNP5qNOU7oV-^6Ox(C$UUGNZIpvCEatwyDzdO5HJyQ?1N8Ew@)bt#5ZK%t)f$
zY4OnFdA-pPawJi2iuZ(VVfdQ8yxCd#w6a~Vin=X!z-?9&Ynm4gtMZj4YSvfvswFCo
zR?`w&t&X@UcI(YO$Fi?4FSJ*%bbk$-dydm;nhCo9q*QwJS^3isKmN?DVk#IDv%WL?
zyk2v5Zr@xiw)a1nU0L4r>#MCst8@FEt@qxaUHPKY;n8m|FKn)eN|onti%qN1dM>J!
zrr7M%tIx!X)?UY(m^+E{Wbd?|m#cf74(}#Yqm&^wrYE0tEW7>_tGs37WMsvz+#Rdz
zw8~o;rqy|2j`b)0*@r)P`02yXO2LhFT5Tp-I!|6_yOsU&R-3nNj)+-|K?Y8mS)g1Z)vlNX9dspPGrG~Ihj6A#w)^bcR5O;@Mo
zr`$%xSUSybP`0>E%6vB=u2W)KdxI@J$lyP4g;TM2TTTUhxohq6kw!=!5ZGj^-mIB%
z_qN=zDh=}@ZCj3afHe!xU9AJA05$YkTg7o#YN0Sj2tiR1|0o2BP3Zl3r|wv0m>R8Z
zyaDdmtvKdQda|~9TU2){&25mfkW&D;`a_7VPHR^b_lt{9h0{V|1|?A6^G>VRnkhcvNT-g~bp9w3D?nY%V{@5Mm)1|hw@WGYmO=4CH%fD8m+vZx
zd|{fV_Vs8UZ3}dgc9}F56-Syfhx_YbTG5Sr_mrAPU&S@jMfW5dBwYmSUzb@%{f$*;xmDK9-#|HJ{W$?%A^8fw!Kb{R(u*_xYM=k{r|57Cu;2X5Oe%I8p4Bg;q0=!2sPT762nwRM^-t)EXmJ*52l
zx{=(#m|LX_#SMe9wRJKdbV*(AW-vxBSwR1VE_4d!TsXP_a?2zk`;{WbT*8>Q4w)^~
z$Q=4F9!+8_$}FSL{yIp<8q~S&UxP$1vMyAzzkyVFlV^)faV@z-B3H=JB=+(`NrUC4
zrE;&vlLGx04#5U=622l?gUtN88W9+4?&y-w3aKSsvS|F4PI2g?_#DO)m{aa(iUjN4
z?&VMpV+rWpTvx$3{7iVyxcnWj3}QK$#(yBnAy#6PAYEz|D5w;%Y4erE;zm{s7;vA_
z@>bny)NIRHS!VOGS%bZ_a;3Rxw?Fv4YvqW(mE+d4$+W!Sw{D}1pHtavSSw&7yU}uN
zD5<*5gF+Re;9EXX+G{>*ww^aJF;XB0>&QOmoqk7l`Atg|Kr`b?Qe{O?L)gtqrTm|
zGux?e?>Mt7n7{bszF1yxpL)AHH)Fr+RxO}+Y+R!P^AiV({j%G2EYB?XlYjeye>7r#
zTi<$afqB4=g#lWIx#1f1*g-z2J=g|~R<(kCEk84BgCmYSjoFne4d;Wcj%8ihc0Twv
z`xKZ9)bD~vR~hMvcyv^5RA8Aq<|4Zvr5$(^p7Q`|v4yi^37n2y*|L}rq=E0gApM98
zI_=ZEOTFMEq8QbfM67oCMxZ!CW+xQ7&M$@f&M)lfwXkZy)=lkmnKXEoWNg5OhDtTM
zu(ct3Q~Qdly$OeXdmFYlJkkiOb=cZk)b#?RvD~2+&lLzVK#yo|Vvq|^(TDL^0dj0^
zo%CEc5zgT~S8f<6!(Q*wZ^mDTLhLYQA)pN?+mu79c7Ve?RHMdWBx>UDGdO$`
z_LF*`MNOgNJ{mEPbZNIiiD+h*pT%(Kns?|ixc)xu0HwaF={do|KOXZA6$*|O4pDwJ
z8qbRm?72h&u!F3>RML_n8=`4PON%VA9hTD$qK250XyFO(ih-k1N!IAOnrcw&S(OkhJb8TnzIfF
zrU`)xGFiAG#k>vl$fGVWeviQ9`3#d1!|Fzyv#QV-_v4{hafC
z6Z|)vFo|3##6Bg?#8ZF&yMvd*yw#O`>%$QXh%0nK_8fn0LR2c@%sm#BX*O{+h)pu#
zg-nzHJLqAUKNJ`6fLyV5j`ABSi!_+OQ6mS=o7@kP3e#9U_)nN{5i;=1kR}|4IM8?#
zJU=}k!aO%Xp@-iCDW2ASa%Q8qYxI*5s|9_X=RQ4}0vMAEfu3MwN}5pyXf61RX^!O#
z)12zj9G*M=yFT4X2U_wdQ<`g4nJxg~qEAwUkEFms6l?H)#KKI4K9-y1c`!lrD3&dp
z17Z~PX1J`uA&v4;>d?IVA#sX!aLB0A|psYpbp;ecj
zQVIx@35#Bz$2#2i#{=yWUKv~T7HoHjq2-?6fX)8!Z8keJ9V0p)J(g0tvhN$FXD#-=
zkX~go>dV%i1U{{O*u1cGVMJ{KP!{$J*ay2}^Mz~0US|;ZW5X1^=?|C(Xt&E
zBb~+k08n|L>YZ5`pkVA~R_t2NPOEljwvEQK0+=m8*S*c%x&vF;a`rk+?v^ctxoK(E
zNg(;b!_|kShjK>#pslSl6XZ!(D=+{>MR*3m_33v3|CDdD2I5fn(9E?81nbsH#0H
zsz6rlJG0)i&5l)@T^Za(*pL!)MmM}P*&DQ^-|rcF5@>or^84m$M)ILMF03w&WIQvo
z{mKBu>sj5vnE@qxu&=rDtq%SzC;sV>gT_|cJBTej8{E-vanhgAa=qE!a|AnOcV?S=
zyPH-Ar(B2c^ZpVFm3=r%wOPR?rd#Fiy|<=W@l~a<#|~8;=k(*=ex5of9406l+wcuX
zHSCO}OzIo+i-F>BNfu5kGMFeKH$;b2Rho28C}QTLFy#~}+1P~BA+<8cYRo)R;*%uJ
zH<)(OfaHUjxCX@q#RR+@WmZhU*f(Ii!yiCoDUpRg0LhqPY#G?Pngv!f;Q-u#&)~L+
zqYdiz^*~)@VuB+4PHy5D?{$+2C`Q%A3{qT%AMh_URf4-AREGYbD9ONcR+Ljy6cyT=
zF~;n1pGk|H3X@SMu|cT<+K8@xWtw#KpA8A%EfUYr^^_=RUOQQrDj2fu)oGd-6SBPz
z|D6Zskpt#Iss~A?ZW$LY-GZi?>q@v1FyLfZK%xVpgfzZ5RyaI4L98GnajX6Oxc25!
zqHuI^Y#x!dLU#&f#I5qKtZQ8K>H}W>C%&Fz?D<1Fnqc^Oc``zIw)6xZ-*X&6e2k
z+ieImoM*_KUuOpbwyx_s1kJC-w>U?xh#vPqb-!coSGeFzwNXc?2pV_O0!j}IpP}m{
z{|`CEGLMmpBsDGPd8_lx#oyr&vB$-P9}<5RP{obadMw|6fW2reDC~azULTMYU)@A+#Z9qB54-Z3SvaR
zN`&0F7peI!8=f4?QYinMIIfhsa;%RRj*Q6sQF6dSh%;|!pl7&b?81RD-hda^qWQ^}
zX%EkZtG7leJWov?>+s!87`hxkV}E{(ts33scQwG !T=n8KX7U-W0>^OyMEn|~%S
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
MLchkfxx#n<1GPsQyZ`_I
literal 0
HcmV?d00001
diff --git a/tasmota/berry/modules/Partition_Wizard/partition_wizard.bec b/tasmota/berry/modules/Partition_Wizard/partition_wizard.bec
new file mode 100644
index 0000000000000000000000000000000000000000..843fe128c1416ba47658cbab1637631184b24934
GIT binary patch
literal 15732
zcmcIrUvC>%c0U{rheL8mjwo8DWm>+gP!{7=ELv7luOrKj*UoNsl~|iFh=Z!2C~_nb
zrbvP_isc1?>S2rJgMj+MK>N4_40Ip%!6^EmhoY~2>KEvj=qK2yzjJ4X98shbbXytb
z+_`h-{yl$x=ghzV=l3e%FULRlQ|X}EXk}@+Q|&qpr_pXzUNnAN?bdJYSQH@=Xp)FYH-!jgdHq*hPalM}a!6BNarrEPvhJ3(1g@l895
z^s;AFxU0&+UU%en{5D`Yw8R~d_J)-B8&Xqm!eNuA+Y3>~!Q?hbSC7@GTNepuPc+Iu
zBQ@KLqD)G*r{fy)>NJ`;isL@v-5V$;!}&h9Pm$8$XDRPlI)wN2Jhmm);9c&yl6C=LXIRFE%BkSEev0`*LJ$=pI7%9HPNue
zeznuFT3FMPXj;|pEK#?5r(aY)|KzhT%o?VGF){1=i!T~=XaC-vl~U*Eqb`$eU8*zNLeGBrxp
zvoSsSq-)uY-&&Pj8z&FHm-Mw^~aYtOiiim`NB+NNx2itMyPA
zBZNZygZ~tQ#3uCqqT6sRGfd6)9^L?V98?|i4t>43aZl9ttF1kdvXD~%x%xwh-ER9p
zl#WU(&xF%PVF4vj--~X0(3&YqfOs1a58YO^S+Tm^c9(~yGz*|gwO+4afO^yFUZ@yP
zZ=t9HY0ZDyn-CO&Lgq8j&hNtET%UBk=huZ$r+Rg0{0IC$hTb|a`4j@D$6O`H`pwko
zm*w(icLLEx;}nhP=X{iDA7K47xc|aQ9b63hJ-w)UQorS
z@PF22&1rgFqR(2p^Rfc+8J5ORIGiTB$FETe>MH~FmEBS(2O^z2Rnz&CNUQ*LwS>)O
zLS5ZD3*RfJ)Vl`73%w{6(JtRp68XYB%^m5{JlYoMEbTIBEGkYkrHK1mU|P|Od-s%D
zLSLm#(naqqJzv)2Syf(*9NOaE5bD|AFP3AbFyz%J7$|3Tnm;0K{#2b3m{$=hvh?gM
z3}!S|4bqA|gXf8H{_8B%@#mj}K=9{@MINW{GvFj&pSuhViU!)wTvamT^1W?6&tHer@@NWJ-{mWVbr>6Q2p>
z^8{Tm@xl0GR%R6tBmcodQBrS|u-OmC%)T1QoeQ_3Y!PDUXs=`N0Py_}v|GivmxY|gFeM)G0*Ec|JCN<4&^UBeMW
zw&sdk+&+!=A-Zv7vOI+>ox(Mfe26g~_NJ4M`$qDYeKJbDDO!a-aNA~4zJ#(GSvyHa
zAD_(7#xu%oZqaOc>vHm0pYmH=N
zjo;NN4t*3aVmyI4>Smg9N+fGEdUiBW=d
zsaK((QpBdscNU8qSutY3eL-ux4XatVEoXg=&Bs<9_R{)|){foz_~)*bBZgLvThAub
z+OpregEIa*)t#ob4mPrzZO4X^YS=s|R3Qq!`LeYoSi>{#~}Y|-A`#iZ}CQUiNS?sm(N6+7*=gV#*#&lGv@
zumR>7(U_yOf@f*X?!eabtVYi|EPYy9T>oq6nZH?E=Ev*i4y`#|tgtR%?6G~hV6#=Z
zzF_k|-i>?y#yHqMw5v87d#(G6-NxR&v$&4=i(fwyYs>CaZ+D9e_WN$tGJ40xHLEZ`
zaiG{QyVJn(%z{7pcQ5!?6Xv)3qvsZw2kclFpcR-Ku2GL26QfT))wDKHlwG){Q;q;~%q6fw@5aE_-y9k)DW0N0nw3mbqiDu=`Qohd1Fl51Dbj>iwQv*`0fkRkI10YAQrtAiW6jZLZMsyQfTP>!j9ey
zs|IY{)Df3SgJ(&`Hf(69RHFx58?rZbq^R24aM-uEVSB?Pjj&pWt*u2}FEAR*^|g4e
zK#&1?M0*>9T!4!1$72P^vEml#xn3fi!+WmWFi?iQ-lN&s(^N7C87!WeP_Lx9byKLz
z1Z2lFrVa-R&K0|aykxMA%O3Avum<6rFbRO0E6m)kVJfYrQ7(r4D;f9$+J<{~dmCnF
zTi6F69X3GO?h(6!k*{SGsryf}54L!EC-w!~#SzXPm&^@MT$gakp?0FIWLrT#XDp
z&9ATt+-}J(Z*RLgK1{WPI#}vUw}rUPM+Q_RuRLQNMmflos~Hma>f2L#iCKn0mB-t`kJwpp5iMgQtm-0yy6?|oWd&!hX!`50=TO6V17qkgs_Fr;RKl5uEGpA%;%X3^WWo!XDFb%U!!Um+F5m&VV(k*;w^bHtFn^;)4xBf86e1O-
zv3mU9FySI(;F%#!I1F*D@g{hFdO(DEZh%5heg;xJulwZ8CU4i|Clgi+`nt@0dNc(v
zCKm!d!N`;}qm0m6@EOw_%NeFQ)uTB)cl>vKx|0sH3F+nF@U-H_P*2g6L5!Tet+oDCo^_S%X6w<)hT0&ETjqPRjMV=kaja$6dJ`57hhk
z>rDtiBVe81z&OdkeM(x>xn9J`tLYGXNEizicQ{cfT!p8=C=$G-LJnm$QaCZ$NmbcP
zD4a|M%0Pn#^|3%%i!MQ{u0Ep_5GE5Ay}pEXxbIH~+9kX)w&)$$?ifSMJ--o~{mHv*
zc4#_AbUyt`O6}^AZf^_o2wbghwiwrx;T>Y+{_Lu0}!ugbpvMxlCG3B?7)1iTz&R!qRyw_&@(A3$U&k%d11
z$(Uhm8Q8j-1y(cT0NjAj;I@gQ4eE~cKwV^Jh9dkL@?0y}gzwoLrq+LS(Jbn?sqg9mcCDqaI(!`3$WYl(PiPyL#A!
zE93cmm9M|txZo|^aJ_|ATWtI7wgnn4F=WoKvjYKJ*L59&=GV$QoFi96PkW%c-!bwwjk{w3r3Z%3&~=i3A*Wd8F;bDFmgT%?cb~iXI~*eRxR~%m;-8|tL>IIl
z^e?46OlcU#u6O{`nKN*cT&I^KY-}1g5xWDvuh8>HLwUd8ZiEaM@R|eLA;D9iD~yv$
zdw$ef_uaF+w82Z;9uC9fvCmLCx?RE_TuT|TaHAerdkyNrl6;kuUbcTu1852JnEYfs
zuZA)T{e$c?5Z(16xhh)$Ui20G=lJ{=3Dm2U+om{NGVn_%nFBA*9x;!?1>1!0oxjfa
z9OFvOo$7$wW3W~v&B9tijOdSvkQ?_RHQ!^ylVe#5<^L4Nl~OlO_36Ti5m`D(j#vnB
z<_!(>43~^uI55Ur@Zx4PKl>`};kj`2HYtVYso7H9>vn|ZiJ*~hSYR(o;AQ#DvWSsvS4lQ-^6VBE`rJ%jN+kU60#fw{wV=|4DT{>3RZrIKRX_a-E^eZ3PU==EE
zyRvDh#%>R}+6!FB_?=*IQ7qVIdeq7Hp%l~ao_iIK5z{y~vlU1j8SOYf{t8}~0ZwBe
zX)1?Z1}%N)Yz4Um-izpYJ_&hwARrX!{Y=Oj+3iyJ$gBoUiHFc4EgcX
zFP?Z1vH*HL4r~7O6JX6>KKbPFw?EXdgoaPP{PO9SenVaesfgP)9QSwpqB#ZTl586Y
z#v)TkZi1@k6YxL7@H=IY7WL}D2i1Q^@zkk?#DJ)m7$99UopCSv1O6Y!@B_N_DcB>8
zizKHZvVG7V2jl6);pOfjFej6~Y3w%M`+2+7LSWpg-@grtfO>%6Q2EeiEjtB}umvT3
zXjQ7afTvMCe$ChxisJ>G^eL1W)~3VIkQq>?Vch?II$j1e@;g{F}sm+J>_`iW0o`q%~MD-c(?M3r&&Ig9fF!NA9L{o!$S<99^?
zb~uY&8Asn4oaCR+ra<@Ez8W`PKR_H=iRSxZWI0H;C6%Y|!^md9^~}8*>*U@)aIXe1
zMM!>#eW3NEYsY*7<8U*sc4#&vxRmwOv{J@VOjw`WrA
zI0oWO9SL}ow4hIs6^8B6dtpkI!&>SgqFJvI*pQl1MO`FnpiY0SA$k=JW#OGcd>~tl
zH7MiIgZTxl8I`Kt+P>Ti?3879?yQ8)&d&aJXt+$I5A+yxaH;@Ghla+TKykt@CIRZo
zow|rh{*Z4T_I-0*dmGFOjUdhz9mLUOI0m~j=g80u>}|Hc^%%$N^6;G{LFw^?OLW>4
zfJPvV2|SOQ1%zjA92qEUS7%;D^E0o^>oc!7CoVQS`)ca??5j+&(9a}_{b;s`)CIm@
z>LcGxO(l!{1lPe|m<|^aI$~eD*vp~}gtK=^UXj9sI$FAUdKtE`>yP7JDQ>cj&Y=77
zwEXO~AZgxthtE6W6w1SOy~QE{I7D!d1AOdg%kZ8+GN%`@8TfnlsPB3qlsE_52Jld$
zE~7r2NXnfJlM&1Xc76jDzR$bUKq?%D9L8O|6aYW6+N;V|P$aBEj4&?~s{nn$k_!i-*yCh{|*W?usbo`q-2T0E;mSwq)DeWkQx
z-S>fkymQ9#`F5^C_x)k0K8Z_7Q|>Q}5RIb>f6Ie>44`7(M-PG#Jb7qCEaHMZm0J_c
z(?e3-$nE%z4NWQZFY;|yf3k@4VkaA{>q&)x&;a=9nKuzH0RMMzGLdjKVD=oq0G%Cg
zM4&i1CzgbN3T97S(%u^E)W!jx0SNg1>{>aQ5PgJ#U&{noqo}9Sg+9P7isk2Cr9Cjq
z^n}6`fUu0`gzv)H;4!B?0dpT?W&>japm1h>s=eh{a1!xfPCokc*-ua|^z}^s_2slH
z0AiPlnA^>x9NJ1pnG*)!D9^HkABTevP)*Mi)vF;Se#KXDztoFSX*(ZYMY0kcdvz6p
zqSSjJlWA9B0eKIEtGhkZyH17gVjmu2?7O{!w+}z@_JM(zJoaVYyU&O7
zC+{&Bg8hc0z5%d6Fo;=53&hRmkD|ZIyh_Jhp(~#oLPYp^Qiw2v3LEpMivSh0&6{wc
zkTi$;_i_LGY2-%I68r+u<8!&`oeKj6KgBsS&~Oc9Gt&bI4`JFo>@9${=pXv+{qxJ1(UdF&Q5ZQTrci?
zcqa@?X%AZ03yus8q!fMTX+muAdkgh}nnK&E`$+-Pq;CV|ZLgRhjS+BW=*75tDoRhC
z>et;SCWyJgXBQHl!d7{ayox>i*kr_W`556K-%as8=vehX=vW^NF2CR4
zm?Y1EubhxK?rV`B{^)|K`v23VNB?7veN5GOEv6vZgVXBA`8yG)eg*#f_paYQ@ZY8H
zqG>L|0Y62uThM18b;>7xv@-F*gvq89+Qnq02g5nd!MGTId8Na31sDMg9%3Bdn4s+E
zz;W46jpA}N&_<8ufWrd|hbl|3`a;?}t1rXH)H&bH>yO(ey|$@9+w_FC5@ScdQ-QXb
z32j+L^Bl5)wwK1Voe9kSvR9^3=JX2UhO^%NRj-`q3k$V1
z_Fds<_oFb2<7or=Ixzkbmg4-)cSNdX%)X2qgrPm?y#yVDZ?tS_EH+v-=o`)u=5QEu
ze|vWzkJ;t9Kb9-kSwLTDT|eGX>74I`IxREK$sP`7?R
zD}#Q{IS=Nn`*BflYp~1gU?G!o`1+l(uQU8EKNzwCn(Uz33B0&E_Qh4a=zd^?06?`l
z*k<#`r+Ym5QRyBsiNh8L9FXlG0R>u~;T7A<<`~sxny1a+X~@U~=o=jpMfai%Ms)=y1W0rmpLIPvobOn|JCs`nvl=pnF8apB);M;9Az#AMPM+r|Ve+w_t26
z13tj_qRw*J{m$+KKWTWGKY2#BjhjNe?D^k!R)(bo`vYIz+}eSsIV6`07I0h!AL{sU
O7GKz2__j?h`F{Y8)TQwN
literal 0
HcmV?d00001
diff --git a/tasmota/berry/modules/Partition_wizard.tapp b/tasmota/berry/modules/Partition_wizard.tapp
index 9c9f5cd3036d5e7d9b2a1d028a5e6d9fdf8ea0d0..f98760d4f0ca96332dc7a63395eea7115ef709b6 100644
GIT binary patch
literal 16175
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 !T=n8KX7U-W0>^OyMEn|~%S
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
MLchkfxx#n<1GPsQyZ`_I
literal 31911
zcmd5_TXP)8b*5uGRiPh~hdiWGtwlk*uzOr5lR`OLobs#b9?97;~|+
zH8V?)wqE>S@|66NX^z|M4^K7G#V)92Q`Prm&5FYeyq
z&*oSEd31ks7qOn&mmbXb)pnT||izDrNc^T&5@2K$w}cV8yOB}$tEbDodpleE`uQnkBw
z_ol`UQ;3OZnLXef@f_2A{#YnlouvU$bDm6-)3mq+T!xdRECW*`e2gipq{@aSnau`e
z_NR1ko=rikkHBgCteCIy@!O-%4Bvs{leFrVrc5i7RVKmzO__{S^U=rmzkDE5Lig-E
znV6%bJkP5HU@o%i%p867?CyfGl2;gOckACc7{6fBF?*bJRht&7?@Dqq5qx
z7;cQS;`{;+H_wx7y6HbvZUUSBuhnwH4c9-(rk%UM2Y47vx#|%)W1RS>MVXZq8{pa4
z%=B}AoJ~i)&NvxXdGQ*gJ}r_e?W~!D15*|ARGO0#MS7mUOd%1)i?lFRZjzUIHZq*(
zB+q9AS?1?yb(T#}&1sIcby4KgQ`_H-rcf4)*JxKJFH_*}M<=zi={z-*Pel?c%gl;=
zm_m*|1pm=wgylP~fZli6I5Syk@N9}zosKLZlE#4=NYlZGrKJ<;V(HpfGzSG2X9tTD
ziUSQn75P~)U`bgylCV`E2wsr_l*LnUj}j@^6hx57SX9Db5ZytQou@_b!>z5Yb+fr~
zi0Mqm{ZSrd$!iDz@2vrm74UhIyf!DVIeQBfVr2hvGf74xI}Kv7^0_0(!FFf;GAY(g
zJX;G&eko-Bi;pDZB5AKnTv?G4(wpipDTZf*a(;p(;gQ25*Jtb-e81K2-}`|A*h$OT
z?oP+z5dm<2e*a;={{wllVosp|C>+woV8ASyDyV;{^undP
z?h)cTvNK;X!y?53ftI1H=OfWDAToKLn3H)`K`gO4L{7>7^K?2#{}p*+-*=mvSr@W2
z${-@xfY7!4XZjaJ+*;c?msDQut3$EuvxuC6MpQJ7YTg
zoVdwG2Y@t?Va`tr5asnGJ?M_Iat5K=GbfXL_~MhUfm*;iJCF^E_;l^G54xat_i$g)
zIc&~nf78C$-{f$IotT6hX5&VF%*F}{yJ3C<){jdwpC%Ka4epF&Z_t-FG89neSY!m|
zJ%~mcyy(qT&r-&*sX_lw@(Mye>+_HD`;F}%g!WL7{&hbq2jwgqkAw1AF<@XeehoQ+
z%3w<)fS|?3*(5DrmsNT$fDEPEjL`(^iTmRVj3#nS+|H9%gZQ08PkWK!YVAQLq+>52
zg?$$W;Rg|#1ixlB&Gy#LJy~Uf*NYRHRx0{qr+P5GU^omE`hE>di@brX%R-E?#BSO^
z&9>&cqg1=!w(k}m@)3SP0B(}UR-Qmc%9N4>3$Nfdb8(hVP5NpE8xhmTLPe|Wd``C9
zFcwbIgqx5Ra^~$tjf8v?Ia93)I-48@Ly^AB@_88;B?2nkQQ;Cvg4Gra|Bebj$1UFCIia>(fO4`}fSRO|PfI36TAoZ1MqR9cJBWDr=y(2Dycl?s{qcz}%M)
z_wVWQ^kP>ZOOW`h2v;&G&%BCc~b5#Mwo?G1!@kV@@Fo?ixNMi)?1>WD9)_a-?GBO-@
zIy-L~_R}