From e1e04d952553ac69c479bb61e172ba72c340e772 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Fri, 9 Sep 2022 21:38:28 +0200 Subject: [PATCH] HASPmota increase details for exceptions --- .../berry_tasmota/src/be_lv_haspmota.c | 77 ++++++++++-------- tasmota/berry/haspmota/haspmota.tapp | Bin 60673 -> 61524 bytes tasmota/berry/haspmota/haspmota_demo.tapp | Bin 191479 -> 192330 bytes tasmota/berry/haspmota_src/haspmota.tapp | Bin 60673 -> 61524 bytes .../haspmota_src/haspmota_core/haspmota.be | 14 ++-- tasmota/berry/haspmota_src/haspmota_demo.tapp | Bin 191479 -> 192330 bytes 6 files changed, 53 insertions(+), 38 deletions(-) diff --git a/lib/libesp32/berry_tasmota/src/be_lv_haspmota.c b/lib/libesp32/berry_tasmota/src/be_lv_haspmota.c index d178efda0..241a9aacc 100644 --- a/lib/libesp32/berry_tasmota/src/be_lv_haspmota.c +++ b/lib/libesp32/berry_tasmota/src/be_lv_haspmota.c @@ -3277,7 +3277,7 @@ be_local_closure(lvh_obj_setmember, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[18]) { /* constants */ + ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str_weak(string), /* K1 */ be_nested_str_weak(introspect), /* K2 */ be_const_int(0), @@ -3294,12 +3294,13 @@ be_local_closure(lvh_obj_setmember, /* name */ /* K13 */ be_nested_str_weak(is_color_attribute), /* K14 */ be_nested_str_weak(parse_color), /* K15 */ be_nested_str_weak(style_), - /* K16 */ be_nested_str_weak(HSP_X3A_X20Could_X20not_X20find_X20function_X20set_), - /* K17 */ be_nested_str_weak(HSP_X3A_X20unknown_X20attribute_X3A), + /* K16 */ be_nested_str_weak(_X20for_X20), + /* K17 */ be_nested_str_weak(HSP_X3A_X20Could_X20not_X20find_X20function_X20set_), + /* K18 */ be_nested_str_weak(HSP_X3A_X20unknown_X20attribute_X3A), }), be_str_weak(setmember), &be_const_str_solidified, - ( &(const binstruction[83]) { /* code */ + ( &(const binstruction[93]) { /* code */ 0xA40E0000, // 0000 IMPORT R3 K0 0xA4120200, // 0001 IMPORT R4 K1 0x40160503, // 0002 CONNECT R5 K2 K3 @@ -3335,7 +3336,7 @@ be_local_closure(lvh_obj_setmember, /* name */ 0x8C1C0F0B, // 0020 GETMET R7 R7 K11 0x5C240200, // 0021 MOVE R9 R1 0x7C1C0400, // 0022 CALL R7 2 - 0x781E0029, // 0023 JMPF R7 #004E + 0x781E0033, // 0023 JMPF R7 #0058 0x881C010A, // 0024 GETMBR R7 R0 K10 0x941C0E01, // 0025 GETIDX R7 R7 R1 0x8C200908, // 0026 GETMET R8 R4 K8 @@ -3355,34 +3356,44 @@ be_local_closure(lvh_obj_setmember, /* name */ 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 + 0x7822001B, // 0037 JMPF R8 #0054 + 0xA8020011, // 0038 EXBLK 0 #004B + 0x8C200707, // 0039 GETMET R8 R3 K7 + 0x5C280E00, // 003A MOVE R10 R7 + 0x582C000F, // 003B LDCONST R11 K15 + 0x7C200600, // 003C CALL R8 3 + 0x1C201102, // 003D EQ R8 R8 K2 + 0x78220005, // 003E JMPF R8 #0045 + 0x5C200C00, // 003F MOVE R8 R6 + 0x8824010C, // 0040 GETMBR R9 R0 K12 + 0x5C280400, // 0041 MOVE R10 R2 + 0x582C0002, // 0042 LDCONST R11 K2 + 0x7C200600, // 0043 CALL R8 3 + 0x70020003, // 0044 JMP #0049 + 0x5C200C00, // 0045 MOVE R8 R6 + 0x8824010C, // 0046 GETMBR R9 R0 K12 + 0x5C280400, // 0047 MOVE R10 R2 + 0x7C200400, // 0048 CALL R8 2 + 0xA8040001, // 0049 EXBLK 1 1 + 0x70020006, // 004A JMP #0052 + 0xAC200002, // 004B CATCH R8 0 2 + 0x70020003, // 004C JMP #0051 + 0x00281310, // 004D ADD R10 R9 K16 + 0x00281401, // 004E ADD R10 R10 R1 + 0xB004100A, // 004F RAISE 1 R8 R10 + 0x70020000, // 0050 JMP #0052 + 0xB0080000, // 0051 RAISE 2 R0 R0 + 0x80001000, // 0052 RET 0 + 0x70020002, // 0053 JMP #0057 + 0x60200001, // 0054 GETGBL R8 G1 + 0x00262207, // 0055 ADD R9 K17 R7 + 0x7C200200, // 0056 CALL R8 1 + 0x70020003, // 0057 JMP #005C + 0x601C0001, // 0058 GETGBL R7 G1 + 0x58200012, // 0059 LDCONST R8 K18 + 0x5C240200, // 005A MOVE R9 R1 + 0x7C1C0400, // 005B CALL R7 2 + 0x80000000, // 005C RET 0 }) ) ); diff --git a/tasmota/berry/haspmota/haspmota.tapp b/tasmota/berry/haspmota/haspmota.tapp index 4ea6c2bdfff20f3b04f542e345543be615da4efd..8b4210ceea296affb07c4e62e00c5ccdb26e0415 100644 GIT binary patch delta 1110 zcmZ{k&ui0Q7{}YCbhbhT2TtAC9#S1Ci$M{+sD~no;K3d2!OKFLyzSDac|-Cxb;GT8 zc+uNYQ+q*OeM;PWO~mx>Ft&C~b$e)xW$Jb4G7q>taE(%M}q zSImg3^*mqOE5Yo;{c(M3fBfc3KCAXNE45kq_pOz2CL=z_GmDuGBk($u8Cspx?iVuB z-n9jD_xgf4Y-ZohEQf{<4Y&c+Bd#J(w5F_r+>W8N+R5GNo-0Di|he+(&I0&`9S|TY zbYK-^Xiy)&SE0>+eV-flEO&k#KzP#)*Y4;6Gkm5d1#%#{%D^@VupUKT4-_YihdrBSA6%;%RWFEED8bb5U4wb*@lkMv`t_XnuJaG33{4} zniz;45FU88>k=PB#@-LDV}qSgi)w@_0dX3dj!0VXw^T@#EloFkGZh+dn+~Z=GerlE zBpwaKZE0K?OzQSS;$un-0w&w^2;78#`CXHBeFC9vfJgBuC!u1a|BZz$R}L36-HR=! zc1)W-(D!xxKat~I5rbN!fh}RNRfWYMhJnSnCFL|%i{?WQ4W~;`$D(fiBN5>z0-UtV zS1+QB@b^0_{m8iRk>*@To=YlKYFX@!=J~*F;1OaS*gM*7gwU9c(>5`BIvR(GiNi(y zdixZY)=r*Cc@V37=}B!^*x8=RZt2w~fWIA` R%Zaz2e;zI8U;Gq@$Y0Bbbz}el delta 281 zcmccefVuG&Ghcu=GYc032m}{z37N>J!2YkJJ?Vc(`$khXMjeHcEg=%WL)Tt@#lQf< z+zc`d8HvROx%nlDdP%9FA)E}%HC^pVOS;>WHm5W0V47^t;=rcKm715rHQAp&r#CVy#h;YiF&&q>uN z(VVQ%B&MqXGDSflB{fZ pSu7w=Ot&@S*x>GW!P=7LW%f>wl1E^Lzse2LP-yXlDQb diff --git a/tasmota/berry/haspmota/haspmota_demo.tapp b/tasmota/berry/haspmota/haspmota_demo.tapp index 313b3158e03523b531a1223420d5f4f3b82a19a9..2d194089a287632747e873dbb4093f79de306e4c 100644 GIT binary patch delta 1516 zcmZ`(U1-x#6mIT*IyyHeQ^%a*F`cvBYBrn`bvhif35s+GL-b);mfg;FZ4#2()>dWy zFvJ&Oh+I&7+mmlHBr;IYHwS_s{=F!^jQv@B5EOLiP14P@a|xt9-}%mWzjJePf4r}p z`BYimcdDe+=drHX{qp{aYVcm1%nfBHbB{U>l$Bc89kp!F3V7#P)sCs@vNv8QGf~yF zl9_r|rBylTzJ}ea=s?4*3I|>Ex7g^V$s8S<;rvs_8kg#wR9ly`DqDH#Y}d;g2W<>H z1!sPLvkPuy!e%DSz0TTcdU}Ri6*QUP$qf$v>K)fyxKJj15}BhPId84QNG%mH%$X(b zL``)%6YTf$zj~T-9#2z_?p)@!R!np@$k&fF$mY>y?g`qNl5~i`QBXCk1o#V*p(Ruz z2{Io7KFtT|_di^BNeCi$I}l&beuKVG!iS~@GDc3L-xHd)~g`nDHsq_c5UzYRc_q6P*Wf&{bx4-r*o&lVUp4-cYi zbprsFH&Ife3DF>uPD1$rE5ne#{6H>XAZe9}r6CYcIdp}jf}jq?uuKd{8hF?ix2Tqy zM53xwRnH3-YBG)^#~d(eLyIa3)_s;W z%lSX!YAZm_fS4E-e6~0$w zIHS{D$*ku=HG*>3s>3)RLr2d0ehYGo!J!viLzl@$CN9_95A_I9I+-%G&GFq^LuE^MwbJN zO`mG0-~60GR}hz_;$`%i%bML+&_c}l_FLzWP{Pg``g|U3cc80tsG|t_Fo*URL9O$s zy$BkgM~8}_FY{~U_bsep-CheVETDr$T0M&{sQ7StxQH5q*5Q=ASn1(Pe{vpA>1K9_ V_nj&$w+{14cE2d`c=ScYqQ3=|8qWX# delta 703 zcmX?gkNf*|ZoU9-W)?065C|^b5;Bobf&E`cd(!`o_Kl`ytSlh0$@#46Fu}?Dcx5;5 zV!g}`k(tP=29w#mkGFsqB5EY93Kxx&?&N@ozE;+TiB7LS#i+d5LFJ7kM9RPpVk^+* z&Ea+@1t6j-{!k5_?O+YfmHyi+{TVM*fu*PWo??U>xE*Mq7Y{`I>@`L$REsM8y_mLV z-(+MLhNviegQjBpsW*)70(=T3TS6p$hpxT+ih<$stLgH88O1niy4sVLbhjsMxBbhw zgK4TLlf%>qCZ(;DnS|q~Yeq3;Pp?W~5}a<5z+^oAP81VAh$}svE1HRG`>O<|Jn`u~ z^-Oc8hg1TILk&zmo{4$sIjI^YnhL3TDO?H)DXD1+>8U005MgA|VxVYoL27CWred)0 zbb%(O(CucmOtnnRnN_LNx70J;2Qju!X<&Ml1@ULoYbHHrV3G@+(9OvY$JH{LK=q6wM2#W240ErzOxm_oMim@LrDnt?2Y9ua@vF{!YCB4WDg OdnS1{`4>#U)CvF(^&tuX diff --git a/tasmota/berry/haspmota_src/haspmota.tapp b/tasmota/berry/haspmota_src/haspmota.tapp index 4ea6c2bdfff20f3b04f542e345543be615da4efd..8b4210ceea296affb07c4e62e00c5ccdb26e0415 100644 GIT binary patch delta 1110 zcmZ{k&ui0Q7{}YCbhbhT2TtAC9#S1Ci$M{+sD~no;K3d2!OKFLyzSDac|-Cxb;GT8 zc+uNYQ+q*OeM;PWO~mx>Ft&C~b$e)xW$Jb4G7q>taE(%M}q zSImg3^*mqOE5Yo;{c(M3fBfc3KCAXNE45kq_pOz2CL=z_GmDuGBk($u8Cspx?iVuB z-n9jD_xgf4Y-ZohEQf{<4Y&c+Bd#J(w5F_r+>W8N+R5GNo-0Di|he+(&I0&`9S|TY zbYK-^Xiy)&SE0>+eV-flEO&k#KzP#)*Y4;6Gkm5d1#%#{%D^@VupUKT4-_YihdrBSA6%;%RWFEED8bb5U4wb*@lkMv`t_XnuJaG33{4} zniz;45FU88>k=PB#@-LDV}qSgi)w@_0dX3dj!0VXw^T@#EloFkGZh+dn+~Z=GerlE zBpwaKZE0K?OzQSS;$un-0w&w^2;78#`CXHBeFC9vfJgBuC!u1a|BZz$R}L36-HR=! zc1)W-(D!xxKat~I5rbN!fh}RNRfWYMhJnSnCFL|%i{?WQ4W~;`$D(fiBN5>z0-UtV zS1+QB@b^0_{m8iRk>*@To=YlKYFX@!=J~*F;1OaS*gM*7gwU9c(>5`BIvR(GiNi(y zdixZY)=r*Cc@V37=}B!^*x8=RZt2w~fWIA` R%Zaz2e;zI8U;Gq@$Y0Bbbz}el delta 281 zcmccefVuG&Ghcu=GYc032m}{z37N>J!2YkJJ?Vc(`$khXMjeHcEg=%WL)Tt@#lQf< z+zc`d8HvROx%nlDdP%9FA)E}%HC^pVOS;>WHm5W0V47^t;=rcKm715rHQAp&r#CVy#h;YiF&&q>uN z(VVQ%B&MqXGDSflB{fZ pSu7w=Ot&@S*x>GW!P=7LW%f>wl1E^Lzse2LP-yXlDQb diff --git a/tasmota/berry/haspmota_src/haspmota_core/haspmota.be b/tasmota/berry/haspmota_src/haspmota_core/haspmota.be index 78d13cb60..b37418fe2 100644 --- a/tasmota/berry/haspmota_src/haspmota_core/haspmota.be +++ b/tasmota/berry/haspmota_src/haspmota_core/haspmota.be @@ -741,11 +741,15 @@ class lvh_obj 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) + try + 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 + except .. as e, m + raise e, m + " for " + k end return else diff --git a/tasmota/berry/haspmota_src/haspmota_demo.tapp b/tasmota/berry/haspmota_src/haspmota_demo.tapp index 313b3158e03523b531a1223420d5f4f3b82a19a9..2d194089a287632747e873dbb4093f79de306e4c 100644 GIT binary patch delta 1516 zcmZ`(U1-x#6mIT*IyyHeQ^%a*F`cvBYBrn`bvhif35s+GL-b);mfg;FZ4#2()>dWy zFvJ&Oh+I&7+mmlHBr;IYHwS_s{=F!^jQv@B5EOLiP14P@a|xt9-}%mWzjJePf4r}p z`BYimcdDe+=drHX{qp{aYVcm1%nfBHbB{U>l$Bc89kp!F3V7#P)sCs@vNv8QGf~yF zl9_r|rBylTzJ}ea=s?4*3I|>Ex7g^V$s8S<;rvs_8kg#wR9ly`DqDH#Y}d;g2W<>H z1!sPLvkPuy!e%DSz0TTcdU}Ri6*QUP$qf$v>K)fyxKJj15}BhPId84QNG%mH%$X(b zL``)%6YTf$zj~T-9#2z_?p)@!R!np@$k&fF$mY>y?g`qNl5~i`QBXCk1o#V*p(Ruz z2{Io7KFtT|_di^BNeCi$I}l&beuKVG!iS~@GDc3L-xHd)~g`nDHsq_c5UzYRc_q6P*Wf&{bx4-r*o&lVUp4-cYi zbprsFH&Ife3DF>uPD1$rE5ne#{6H>XAZe9}r6CYcIdp}jf}jq?uuKd{8hF?ix2Tqy zM53xwRnH3-YBG)^#~d(eLyIa3)_s;W z%lSX!YAZm_fS4E-e6~0$w zIHS{D$*ku=HG*>3s>3)RLr2d0ehYGo!J!viLzl@$CN9_95A_I9I+-%G&GFq^LuE^MwbJN zO`mG0-~60GR}hz_;$`%i%bML+&_c}l_FLzWP{Pg``g|U3cc80tsG|t_Fo*URL9O$s zy$BkgM~8}_FY{~U_bsep-CheVETDr$T0M&{sQ7StxQH5q*5Q=ASn1(Pe{vpA>1K9_ V_nj&$w+{14cE2d`c=ScYqQ3=|8qWX# delta 703 zcmX?gkNf*|ZoU9-W)?065C|^b5;Bobf&E`cd(!`o_Kl`ytSlh0$@#46Fu}?Dcx5;5 zV!g}`k(tP=29w#mkGFsqB5EY93Kxx&?&N@ozE;+TiB7LS#i+d5LFJ7kM9RPpVk^+* z&Ea+@1t6j-{!k5_?O+YfmHyi+{TVM*fu*PWo??U>xE*Mq7Y{`I>@`L$REsM8y_mLV z-(+MLhNviegQjBpsW*)70(=T3TS6p$hpxT+ih<$stLgH88O1niy4sVLbhjsMxBbhw zgK4TLlf%>qCZ(;DnS|q~Yeq3;Pp?W~5}a<5z+^oAP81VAh$}svE1HRG`>O<|Jn`u~ z^-Oc8hg1TILk&zmo{4$sIjI^YnhL3TDO?H)DXD1+>8U005MgA|VxVYoL27CWred)0 zbb%(O(CucmOtnnRnN_LNx70J;2Qju!X<&Ml1@ULoYbHHrV3G@+(9OvY$JH{LK=q6wM2#W240ErzOxm_oMim@LrDnt?2Y9ua@vF{!YCB4WDg OdnS1{`4>#U)CvF(^&tuX