mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-21 17:56:31 +00:00
Berry add static class
to declare inner classes (#17699)
This commit is contained in:
parent
6c04cf7076
commit
4e60bd7465
@ -10,6 +10,7 @@ All notable changes to this project will be documented in this file.
|
|||||||
- Berry ``crypto.AES_CCM`` (required by Matter protocol)
|
- Berry ``crypto.AES_CCM`` (required by Matter protocol)
|
||||||
- ESP32 support for BMPxxx sensors on two I2C busses (#17643)
|
- ESP32 support for BMPxxx sensors on two I2C busses (#17643)
|
||||||
- Berry add implicit ``_class`` parameter to static methods
|
- Berry add implicit ``_class`` parameter to static methods
|
||||||
|
- Berry add ``static class`` to declare inner classes
|
||||||
|
|
||||||
### Breaking Changed
|
### Breaking Changed
|
||||||
|
|
||||||
|
@ -407,7 +407,7 @@ static int new_localvar(bparser *parser, bstring *name)
|
|||||||
if (reg == -1) {
|
if (reg == -1) {
|
||||||
bvalue *var;
|
bvalue *var;
|
||||||
if (comp_is_strict(parser->vm)) {
|
if (comp_is_strict(parser->vm)) {
|
||||||
if (find_localvar(finfo, name, 0) >= 0 && str(name)[0] != '.') { /* we do accept nested redifinition of internal variables starting with ':' */
|
if (find_localvar(finfo, name, 0) >= 0 && str(name)[0] != '.') { /* we do accept nested redifinition of internal variables starting with '.' */
|
||||||
push_error(parser, "strict: redefinition of '%s' from outer scope", str(name));
|
push_error(parser, "strict: redefinition of '%s' from outer scope", str(name));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1457,6 +1457,8 @@ static void classdef_stmt(bparser *parser, bclass *c, bbool is_static)
|
|||||||
be_stackpop(parser->vm, 1);
|
be_stackpop(parser->vm, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void classstaticclass_stmt(bparser *parser, bclass *c_out, bexpdesc *e_out);
|
||||||
|
|
||||||
static void classstatic_stmt(bparser *parser, bclass *c, bexpdesc *e)
|
static void classstatic_stmt(bparser *parser, bclass *c, bexpdesc *e)
|
||||||
{
|
{
|
||||||
bstring *name;
|
bstring *name;
|
||||||
@ -1465,6 +1467,8 @@ static void classstatic_stmt(bparser *parser, bclass *c, bexpdesc *e)
|
|||||||
scan_next_token(parser); /* skip 'static' */
|
scan_next_token(parser); /* skip 'static' */
|
||||||
if (next_type(parser) == KeyDef) { /* 'static' 'def' ... */
|
if (next_type(parser) == KeyDef) { /* 'static' 'def' ... */
|
||||||
classdef_stmt(parser, c, btrue);
|
classdef_stmt(parser, c, btrue);
|
||||||
|
} else if (next_type(parser) == KeyClass) { /* 'static' 'class' ... */
|
||||||
|
classstaticclass_stmt(parser, c, e);
|
||||||
} else {
|
} else {
|
||||||
if (next_type(parser) == KeyVar) {
|
if (next_type(parser) == KeyVar) {
|
||||||
scan_next_token(parser); /* skip 'var' if any */
|
scan_next_token(parser); /* skip 'var' if any */
|
||||||
@ -1535,6 +1539,36 @@ static void class_stmt(bparser *parser)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void classstaticclass_stmt(bparser *parser, bclass *c_out, bexpdesc *e_out)
|
||||||
|
{
|
||||||
|
bstring *name;
|
||||||
|
/* [preceding 'static'] 'class' ID [':' ID] class_block 'end' */
|
||||||
|
scan_next_token(parser); /* skip 'class' */
|
||||||
|
if (match_id(parser, name) != NULL) {
|
||||||
|
bexpdesc e_class; /* new class object */
|
||||||
|
check_class_attr(parser, c_out, name); /* check that the class names does not collide with another member */
|
||||||
|
be_class_member_bind(parser->vm, c_out, name, bfalse); /* add the member slot as static */
|
||||||
|
/* create the class object */
|
||||||
|
bclass *c = be_newclass(parser->vm, name, NULL);
|
||||||
|
new_var(parser, name, &e_class); /* add a local var to the static initialization code for static members */
|
||||||
|
be_code_class(parser->finfo, &e_class, c);
|
||||||
|
class_inherit(parser, &e_class);
|
||||||
|
class_block(parser, c, &e_class);
|
||||||
|
be_class_compress(parser->vm, c); /* compress class size */
|
||||||
|
match_token(parser, KeyEnd); /* skip 'end' */
|
||||||
|
/* add the code to copy the class object to the static member */
|
||||||
|
bexpdesc e1 = *e_out; /* copy the class description */
|
||||||
|
bexpdesc key; /* build the member key */
|
||||||
|
init_exp(&key, ETSTRING, 0);
|
||||||
|
key.v.s = name;
|
||||||
|
/* assign the class to the static member */
|
||||||
|
be_code_member(parser->finfo, &e1, &key); /* compute member accessor */
|
||||||
|
be_code_setvar(parser->finfo, &e1, &e_class); /* set member */
|
||||||
|
} else {
|
||||||
|
parser_error(parser, "class name error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void import_stmt(bparser *parser)
|
static void import_stmt(bparser *parser)
|
||||||
{
|
{
|
||||||
bstring *name; /* variable name */
|
bstring *name; /* variable name */
|
||||||
|
@ -420,6 +420,9 @@ static void m_solidify_subclass(bvm *vm, bbool str_literal, bclass *cl, void* fo
|
|||||||
{
|
{
|
||||||
const char * class_name = str(cl->name);
|
const char * class_name = str(cl->name);
|
||||||
|
|
||||||
|
/* pre-declare class to support '_class' implicit variable */
|
||||||
|
logfmt("\nextern const bclass be_class_%s;\n", class_name);
|
||||||
|
|
||||||
/* iterate on members to dump closures */
|
/* iterate on members to dump closures */
|
||||||
if (cl->members) {
|
if (cl->members) {
|
||||||
bmapnode *node;
|
bmapnode *node;
|
||||||
|
@ -10,8 +10,8 @@ import solidify
|
|||||||
import string
|
import string
|
||||||
import re
|
import re
|
||||||
|
|
||||||
# import sys
|
import sys
|
||||||
# sys.path().push('src/embedded') # allow to import from src/embedded
|
sys.path().push('src/embedded') # allow to import from src/embedded
|
||||||
|
|
||||||
# globals that need to exist to make compilation succeed
|
# globals that need to exist to make compilation succeed
|
||||||
var globs = "path,ctypes_bytes_dyn,tasmota,ccronexpr,gpio,light,webclient,load,MD5,lv,light_state,"
|
var globs = "path,ctypes_bytes_dyn,tasmota,ccronexpr,gpio,light,webclient,load,MD5,lv,light_state,"
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_Animate_rotate;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -75,6 +77,8 @@ be_local_class(Animate_rotate,
|
|||||||
(bstring*) &be_const_str_Animate_rotate
|
(bstring*) &be_const_str_Animate_rotate
|
||||||
);
|
);
|
||||||
|
|
||||||
|
extern const bclass be_class_Animate_from_to;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -135,6 +139,8 @@ be_local_class(Animate_from_to,
|
|||||||
(bstring*) &be_const_str_Animate_from_to
|
(bstring*) &be_const_str_Animate_from_to
|
||||||
);
|
);
|
||||||
|
|
||||||
|
extern const bclass be_class_Animate_back_forth;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -216,6 +222,8 @@ be_local_class(Animate_back_forth,
|
|||||||
(bstring*) &be_const_str_Animate_back_forth
|
(bstring*) &be_const_str_Animate_back_forth
|
||||||
);
|
);
|
||||||
|
|
||||||
|
extern const bclass be_class_Animate_ins_goto;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -263,6 +271,8 @@ be_local_class(Animate_ins_goto,
|
|||||||
(bstring*) &be_const_str_Animate_ins_goto
|
(bstring*) &be_const_str_Animate_ins_goto
|
||||||
);
|
);
|
||||||
|
|
||||||
|
extern const bclass be_class_Animate_ins_ramp;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -310,6 +320,8 @@ be_local_class(Animate_ins_ramp,
|
|||||||
(bstring*) &be_const_str_Animate_ins_ramp
|
(bstring*) &be_const_str_Animate_ins_ramp
|
||||||
);
|
);
|
||||||
|
|
||||||
|
extern const bclass be_class_Animate_engine;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: run
|
** Solidified function: run
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_Autoconf;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: page_autoconf_ctl
|
** Solidified function: page_autoconf_ctl
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_SPAKE2P_Matter;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: compute_pB
|
** Solidified function: compute_pB
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -61,6 +63,8 @@ be_local_closure(SPAKE2P_Matter_compute_pB, /* name */
|
|||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
extern const bclass be_class_SPAKE_Hasher;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_Driver;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: add_cmd
|
** Solidified function: add_cmd
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_dyn;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: tostring
|
** Solidified function: tostring
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_hue_bridge_monad;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: full_status
|
** Solidified function: full_status
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_AXP192;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: set_dcdc_enable
|
** Solidified function: set_dcdc_enable
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_AXP202;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: set_shutdown_time
|
** Solidified function: set_shutdown_time
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_I2C_Driver;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: read32
|
** Solidified function: read32
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_FT3663;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: every_100ms
|
** Solidified function: every_100ms
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_Leds;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: pixel_count
|
** Solidified function: pixel_count
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -170,39 +172,43 @@ be_local_closure(Leds_clear, /* name */
|
|||||||
********************************************************************/
|
********************************************************************/
|
||||||
be_local_closure(Leds_matrix, /* name */
|
be_local_closure(Leds_matrix, /* name */
|
||||||
be_nested_proto(
|
be_nested_proto(
|
||||||
10, /* nstack */
|
11, /* nstack */
|
||||||
4, /* argc */
|
4, /* argc */
|
||||||
0, /* varg */
|
4, /* varg */
|
||||||
0, /* has upvals */
|
0, /* has upvals */
|
||||||
NULL, /* no upvals */
|
NULL, /* no upvals */
|
||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[ 3]) { /* constants */
|
( &(const bvalue[ 4]) { /* constants */
|
||||||
/* K0 */ be_nested_str(Leds),
|
/* K0 */ be_const_class(be_class_Leds),
|
||||||
/* K1 */ be_nested_str(create_matrix),
|
/* K1 */ be_nested_str(Leds),
|
||||||
/* K2 */ be_const_int(0),
|
/* K2 */ be_nested_str(create_matrix),
|
||||||
|
/* K3 */ be_const_int(0),
|
||||||
}),
|
}),
|
||||||
&be_const_str_matrix,
|
&be_const_str_matrix,
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[11]) { /* code */
|
( &(const binstruction[12]) { /* code */
|
||||||
0xB8120000, // 0000 GETNGBL R4 K0
|
0x58100000, // 0000 LDCONST R4 K0
|
||||||
0x08140001, // 0001 MUL R5 R0 R1
|
0xB8160200, // 0001 GETNGBL R5 K1
|
||||||
0x5C180400, // 0002 MOVE R6 R2
|
0x08180001, // 0002 MUL R6 R0 R1
|
||||||
0x5C1C0600, // 0003 MOVE R7 R3
|
0x5C1C0400, // 0003 MOVE R7 R2
|
||||||
0x7C100600, // 0004 CALL R4 3
|
0x5C200600, // 0004 MOVE R8 R3
|
||||||
0x8C140901, // 0005 GETMET R5 R4 K1
|
0x7C140600, // 0005 CALL R5 3
|
||||||
0x5C1C0000, // 0006 MOVE R7 R0
|
0x8C180B02, // 0006 GETMET R6 R5 K2
|
||||||
0x5C200200, // 0007 MOVE R8 R1
|
0x5C200000, // 0007 MOVE R8 R0
|
||||||
0x58240002, // 0008 LDCONST R9 K2
|
0x5C240200, // 0008 MOVE R9 R1
|
||||||
0x7C140800, // 0009 CALL R5 4
|
0x58280003, // 0009 LDCONST R10 K3
|
||||||
0x80040A00, // 000A RET 1 R5
|
0x7C180800, // 000A CALL R6 4
|
||||||
|
0x80040C00, // 000B RET 1 R6
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
extern const bclass be_class_Leds_segment;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: get_pixel_color
|
** Solidified function: get_pixel_color
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -735,6 +741,8 @@ be_local_closure(Leds_is_dirty, /* name */
|
|||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
extern const bclass be_class_Leds_matrix;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: pixels_buffer
|
** Solidified function: pixels_buffer
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -1621,106 +1629,108 @@ be_local_closure(Leds_get_pixel_color, /* name */
|
|||||||
********************************************************************/
|
********************************************************************/
|
||||||
be_local_closure(Leds_assign_rmt, /* name */
|
be_local_closure(Leds_assign_rmt, /* name */
|
||||||
be_nested_proto(
|
be_nested_proto(
|
||||||
8, /* nstack */
|
9, /* nstack */
|
||||||
1, /* argc */
|
1, /* argc */
|
||||||
0, /* varg */
|
4, /* varg */
|
||||||
0, /* has upvals */
|
0, /* has upvals */
|
||||||
NULL, /* no upvals */
|
NULL, /* no upvals */
|
||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[16]) { /* constants */
|
( &(const bvalue[17]) { /* constants */
|
||||||
/* K0 */ be_const_int(0),
|
/* K0 */ be_const_class(be_class_Leds),
|
||||||
/* K1 */ be_nested_str(value_error),
|
/* K1 */ be_const_int(0),
|
||||||
/* K2 */ be_nested_str(invalid_X20GPIO_X20number),
|
/* K2 */ be_nested_str(value_error),
|
||||||
/* K3 */ be_nested_str(global),
|
/* K3 */ be_nested_str(invalid_X20GPIO_X20number),
|
||||||
/* K4 */ be_nested_str(contains),
|
/* K4 */ be_nested_str(global),
|
||||||
/* K5 */ be_nested_str(_rmt),
|
/* K5 */ be_nested_str(contains),
|
||||||
/* K6 */ be_nested_str(gpio),
|
/* K6 */ be_nested_str(_rmt),
|
||||||
/* K7 */ be_nested_str(MAX_RMT),
|
/* K7 */ be_nested_str(gpio),
|
||||||
/* K8 */ be_const_int(1),
|
/* K8 */ be_nested_str(MAX_RMT),
|
||||||
/* K9 */ be_nested_str(push),
|
/* K9 */ be_const_int(1),
|
||||||
/* K10 */ be_nested_str(stop_iteration),
|
/* K10 */ be_nested_str(push),
|
||||||
/* K11 */ be_nested_str(pin_used),
|
/* K11 */ be_nested_str(stop_iteration),
|
||||||
/* K12 */ be_nested_str(WS2812),
|
/* K12 */ be_nested_str(pin_used),
|
||||||
/* K13 */ be_nested_str(pin),
|
/* K13 */ be_nested_str(WS2812),
|
||||||
/* K14 */ be_nested_str(internal_error),
|
/* K14 */ be_nested_str(pin),
|
||||||
/* K15 */ be_nested_str(no_X20more_X20RMT_X20channel_X20available),
|
/* K15 */ be_nested_str(internal_error),
|
||||||
|
/* K16 */ be_nested_str(no_X20more_X20RMT_X20channel_X20available),
|
||||||
}),
|
}),
|
||||||
&be_const_str_assign_rmt,
|
&be_const_str_assign_rmt,
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[71]) { /* code */
|
( &(const binstruction[72]) { /* code */
|
||||||
0x60040009, // 0000 GETGBL R1 G9
|
0x58040000, // 0000 LDCONST R1 K0
|
||||||
0x5C080000, // 0001 MOVE R2 R0
|
0x60080009, // 0001 GETGBL R2 G9
|
||||||
0x7C040200, // 0002 CALL R1 1
|
0x5C0C0000, // 0002 MOVE R3 R0
|
||||||
0x5C000200, // 0003 MOVE R0 R1
|
0x7C080200, // 0003 CALL R2 1
|
||||||
0x14040100, // 0004 LT R1 R0 K0
|
0x5C000400, // 0004 MOVE R0 R2
|
||||||
0x78060000, // 0005 JMPF R1 #0007
|
0x14080101, // 0005 LT R2 R0 K1
|
||||||
0xB0060302, // 0006 RAISE 1 K1 K2
|
0x780A0000, // 0006 JMPF R2 #0008
|
||||||
0xA4060600, // 0007 IMPORT R1 K3
|
0xB0060503, // 0007 RAISE 1 K2 K3
|
||||||
0x4C080000, // 0008 LDNIL R2
|
0xA40A0800, // 0008 IMPORT R2 K4
|
||||||
0x8C0C0304, // 0009 GETMET R3 R1 K4
|
0x4C0C0000, // 0009 LDNIL R3
|
||||||
0x58140005, // 000A LDCONST R5 K5
|
0x8C100505, // 000A GETMET R4 R2 K5
|
||||||
0x7C0C0400, // 000B CALL R3 2
|
0x58180006, // 000B LDCONST R6 K6
|
||||||
0x740E0021, // 000C JMPT R3 #002F
|
0x7C100400, // 000C CALL R4 2
|
||||||
0x600C0012, // 000D GETGBL R3 G18
|
0x74120021, // 000D JMPT R4 #0030
|
||||||
0x7C0C0000, // 000E CALL R3 0
|
0x60100012, // 000E GETGBL R4 G18
|
||||||
0x5C080600, // 000F MOVE R2 R3
|
0x7C100000, // 000F CALL R4 0
|
||||||
0x90060A02, // 0010 SETMBR R1 K5 R2
|
0x5C0C0800, // 0010 MOVE R3 R4
|
||||||
0x600C0010, // 0011 GETGBL R3 G16
|
0x900A0C03, // 0011 SETMBR R2 K6 R3
|
||||||
0xB8120C00, // 0012 GETNGBL R4 K6
|
0x60100010, // 0012 GETGBL R4 G16
|
||||||
0x88100907, // 0013 GETMBR R4 R4 K7
|
0xB8160E00, // 0013 GETNGBL R5 K7
|
||||||
0x04100908, // 0014 SUB R4 R4 K8
|
0x88140B08, // 0014 GETMBR R5 R5 K8
|
||||||
0x40120004, // 0015 CONNECT R4 K0 R4
|
0x04140B09, // 0015 SUB R5 R5 K9
|
||||||
0x7C0C0200, // 0016 CALL R3 1
|
0x40160205, // 0016 CONNECT R5 K1 R5
|
||||||
0xA8020005, // 0017 EXBLK 0 #001E
|
0x7C100200, // 0017 CALL R4 1
|
||||||
0x5C100600, // 0018 MOVE R4 R3
|
0xA8020005, // 0018 EXBLK 0 #001F
|
||||||
0x7C100000, // 0019 CALL R4 0
|
0x5C140800, // 0019 MOVE R5 R4
|
||||||
0x8C140509, // 001A GETMET R5 R2 K9
|
0x7C140000, // 001A CALL R5 0
|
||||||
0x541DFFFE, // 001B LDINT R7 -1
|
0x8C18070A, // 001B GETMET R6 R3 K10
|
||||||
0x7C140400, // 001C CALL R5 2
|
0x5421FFFE, // 001C LDINT R8 -1
|
||||||
0x7001FFF9, // 001D JMP #0018
|
0x7C180400, // 001D CALL R6 2
|
||||||
0x580C000A, // 001E LDCONST R3 K10
|
0x7001FFF9, // 001E JMP #0019
|
||||||
0xAC0C0200, // 001F CATCH R3 1 0
|
0x5810000B, // 001F LDCONST R4 K11
|
||||||
0xB0080000, // 0020 RAISE 2 R0 R0
|
0xAC100200, // 0020 CATCH R4 1 0
|
||||||
0xB80E0C00, // 0021 GETNGBL R3 K6
|
0xB0080000, // 0021 RAISE 2 R0 R0
|
||||||
0x8C0C070B, // 0022 GETMET R3 R3 K11
|
0xB8120E00, // 0022 GETNGBL R4 K7
|
||||||
0xB8160C00, // 0023 GETNGBL R5 K6
|
0x8C10090C, // 0023 GETMET R4 R4 K12
|
||||||
0x88140B0C, // 0024 GETMBR R5 R5 K12
|
0xB81A0E00, // 0024 GETNGBL R6 K7
|
||||||
0x58180000, // 0025 LDCONST R6 K0
|
0x88180D0D, // 0025 GETMBR R6 R6 K13
|
||||||
0x7C0C0600, // 0026 CALL R3 3
|
0x581C0001, // 0026 LDCONST R7 K1
|
||||||
0x780E0006, // 0027 JMPF R3 #002F
|
0x7C100600, // 0027 CALL R4 3
|
||||||
0xB80E0C00, // 0028 GETNGBL R3 K6
|
0x78120006, // 0028 JMPF R4 #0030
|
||||||
0x8C0C070D, // 0029 GETMET R3 R3 K13
|
0xB8120E00, // 0029 GETNGBL R4 K7
|
||||||
0xB8160C00, // 002A GETNGBL R5 K6
|
0x8C10090E, // 002A GETMET R4 R4 K14
|
||||||
0x88140B0C, // 002B GETMBR R5 R5 K12
|
0xB81A0E00, // 002B GETNGBL R6 K7
|
||||||
0x58180000, // 002C LDCONST R6 K0
|
0x88180D0D, // 002C GETMBR R6 R6 K13
|
||||||
0x7C0C0600, // 002D CALL R3 3
|
0x581C0001, // 002D LDCONST R7 K1
|
||||||
0x980A0003, // 002E SETIDX R2 K0 R3
|
0x7C100600, // 002E CALL R4 3
|
||||||
0x88080305, // 002F GETMBR R2 R1 K5
|
0x980E0204, // 002F SETIDX R3 K1 R4
|
||||||
0x580C0000, // 0030 LDCONST R3 K0
|
0x880C0506, // 0030 GETMBR R3 R2 K6
|
||||||
0x5411FFFE, // 0031 LDINT R4 -1
|
0x58100001, // 0031 LDCONST R4 K1
|
||||||
0xB8160C00, // 0032 GETNGBL R5 K6
|
0x5415FFFE, // 0032 LDINT R5 -1
|
||||||
0x88140B07, // 0033 GETMBR R5 R5 K7
|
0xB81A0E00, // 0033 GETNGBL R6 K7
|
||||||
0x14140605, // 0034 LT R5 R3 R5
|
0x88180D08, // 0034 GETMBR R6 R6 K8
|
||||||
0x7816000A, // 0035 JMPF R5 #0041
|
0x14180806, // 0035 LT R6 R4 R6
|
||||||
0x94140403, // 0036 GETIDX R5 R2 R3
|
0x781A000A, // 0036 JMPF R6 #0042
|
||||||
0x1C180A00, // 0037 EQ R6 R5 R0
|
0x94180604, // 0037 GETIDX R6 R3 R4
|
||||||
0x781A0000, // 0038 JMPF R6 #003A
|
0x1C1C0C00, // 0038 EQ R7 R6 R0
|
||||||
0x80040600, // 0039 RET 1 R3
|
0x781E0000, // 0039 JMPF R7 #003B
|
||||||
0x14180B00, // 003A LT R6 R5 K0
|
0x80040800, // 003A RET 1 R4
|
||||||
0x781A0002, // 003B JMPF R6 #003F
|
0x141C0D01, // 003B LT R7 R6 K1
|
||||||
0x14180900, // 003C LT R6 R4 K0
|
0x781E0002, // 003C JMPF R7 #0040
|
||||||
0x781A0000, // 003D JMPF R6 #003F
|
0x141C0B01, // 003D LT R7 R5 K1
|
||||||
0x5C100600, // 003E MOVE R4 R3
|
0x781E0000, // 003E JMPF R7 #0040
|
||||||
0x000C0708, // 003F ADD R3 R3 K8
|
0x5C140800, // 003F MOVE R5 R4
|
||||||
0x7001FFF0, // 0040 JMP #0032
|
0x00100909, // 0040 ADD R4 R4 K9
|
||||||
0x28140900, // 0041 GE R5 R4 K0
|
0x7001FFF0, // 0041 JMP #0033
|
||||||
0x78160001, // 0042 JMPF R5 #0045
|
0x28180B01, // 0042 GE R6 R5 K1
|
||||||
0x98080800, // 0043 SETIDX R2 R4 R0
|
0x781A0001, // 0043 JMPF R6 #0046
|
||||||
0x80040800, // 0044 RET 1 R4
|
0x980C0A00, // 0044 SETIDX R3 R5 R0
|
||||||
0xB0061D0F, // 0045 RAISE 1 K14 K15
|
0x80040A00, // 0045 RET 1 R5
|
||||||
0x80000000, // 0046 RET 0
|
0xB0061F10, // 0046 RAISE 1 K15 K16
|
||||||
|
0x80000000, // 0047 RET 0
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_Leds_animator;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -114,6 +114,8 @@ be_local_closure(lv_tasmota_init, /* name */
|
|||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
extern const bclass be_class_splash_runner;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_lv_clock;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: set_time
|
** Solidified function: set_time
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -270,6 +272,8 @@ void be_load_lv_clock_class(bvm *vm) {
|
|||||||
be_pop(vm, 1);
|
be_pop(vm, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern const bclass be_class_lv_clock_icon;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -391,6 +395,8 @@ void be_load_lv_clock_icon_class(bvm *vm) {
|
|||||||
be_pop(vm, 1);
|
be_pop(vm, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern const bclass be_class_lv_signal_arcs;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: set_percentage
|
** Solidified function: set_percentage
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -804,6 +810,8 @@ void be_load_lv_signal_arcs_class(bvm *vm) {
|
|||||||
be_pop(vm, 1);
|
be_pop(vm, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern const bclass be_class_lv_wifi_arcs;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: before_del
|
** Solidified function: before_del
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -955,6 +963,8 @@ void be_load_lv_wifi_arcs_class(bvm *vm) {
|
|||||||
be_pop(vm, 1);
|
be_pop(vm, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern const bclass be_class_lv_wifi_arcs_icon;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -1085,6 +1095,8 @@ void be_load_lv_wifi_arcs_icon_class(bvm *vm) {
|
|||||||
be_pop(vm, 1);
|
be_pop(vm, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern const bclass be_class_lv_signal_bars;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: set_percentage
|
** Solidified function: set_percentage
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -1468,6 +1480,8 @@ void be_load_lv_signal_bars_class(bvm *vm) {
|
|||||||
be_pop(vm, 1);
|
be_pop(vm, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern const bclass be_class_lv_wifi_bars;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: before_del
|
** Solidified function: before_del
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -1619,6 +1633,8 @@ void be_load_lv_wifi_bars_class(bvm *vm) {
|
|||||||
be_pop(vm, 1);
|
be_pop(vm, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern const bclass be_class_lv_wifi_bars_icon;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_MQTT;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: mqtt_data
|
** Solidified function: mqtt_data
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -259,6 +261,8 @@ be_local_closure(MQTT_mqtt_connect, /* name */
|
|||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
extern const bclass be_class_mqtt_listener;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: tostring
|
** Solidified function: tostring
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_Partition_otadata;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: save
|
** Solidified function: save
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -319,33 +321,35 @@ be_local_closure(Partition_otadata_load, /* name */
|
|||||||
********************************************************************/
|
********************************************************************/
|
||||||
be_local_closure(Partition_otadata_crc32_ota_seq, /* name */
|
be_local_closure(Partition_otadata_crc32_ota_seq, /* name */
|
||||||
be_nested_proto(
|
be_nested_proto(
|
||||||
9, /* nstack */
|
10, /* nstack */
|
||||||
1, /* argc */
|
1, /* argc */
|
||||||
0, /* varg */
|
4, /* varg */
|
||||||
0, /* has upvals */
|
0, /* has upvals */
|
||||||
NULL, /* no upvals */
|
NULL, /* no upvals */
|
||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[ 3]) { /* constants */
|
( &(const bvalue[ 4]) { /* constants */
|
||||||
/* K0 */ be_nested_str(crc),
|
/* K0 */ be_const_class(be_class_Partition_otadata),
|
||||||
/* K1 */ be_nested_str(crc32),
|
/* K1 */ be_nested_str(crc),
|
||||||
/* K2 */ be_nested_str(add),
|
/* K2 */ be_nested_str(crc32),
|
||||||
|
/* K3 */ be_nested_str(add),
|
||||||
}),
|
}),
|
||||||
&be_const_str_crc32_ota_seq,
|
&be_const_str_crc32_ota_seq,
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[11]) { /* code */
|
( &(const binstruction[12]) { /* code */
|
||||||
0xA4060000, // 0000 IMPORT R1 K0
|
0x58040000, // 0000 LDCONST R1 K0
|
||||||
0x8C080301, // 0001 GETMET R2 R1 K1
|
0xA40A0200, // 0001 IMPORT R2 K1
|
||||||
0x5411FFFE, // 0002 LDINT R4 -1
|
0x8C0C0502, // 0002 GETMET R3 R2 K2
|
||||||
0x60140015, // 0003 GETGBL R5 G21
|
0x5415FFFE, // 0003 LDINT R5 -1
|
||||||
0x7C140000, // 0004 CALL R5 0
|
0x60180015, // 0004 GETGBL R6 G21
|
||||||
0x8C140B02, // 0005 GETMET R5 R5 K2
|
0x7C180000, // 0005 CALL R6 0
|
||||||
0x5C1C0000, // 0006 MOVE R7 R0
|
0x8C180D03, // 0006 GETMET R6 R6 K3
|
||||||
0x54220003, // 0007 LDINT R8 4
|
0x5C200000, // 0007 MOVE R8 R0
|
||||||
0x7C140600, // 0008 CALL R5 3
|
0x54260003, // 0008 LDINT R9 4
|
||||||
0x7C080600, // 0009 CALL R2 3
|
0x7C180600, // 0009 CALL R6 3
|
||||||
0x80040400, // 000A RET 1 R2
|
0x7C0C0600, // 000A CALL R3 3
|
||||||
|
0x80040600, // 000B RET 1 R3
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -498,6 +502,8 @@ be_local_class(Partition_otadata,
|
|||||||
(bstring*) &be_const_str_Partition_otadata
|
(bstring*) &be_const_str_Partition_otadata
|
||||||
);
|
);
|
||||||
|
|
||||||
|
extern const bclass be_class_Partition;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: save
|
** Solidified function: save
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -928,50 +934,52 @@ be_local_closure(Partition_resize_max_flash_size_k, /* name */
|
|||||||
********************************************************************/
|
********************************************************************/
|
||||||
be_local_closure(Partition_get_flash_definition_sector, /* name */
|
be_local_closure(Partition_get_flash_definition_sector, /* name */
|
||||||
be_nested_proto(
|
be_nested_proto(
|
||||||
8, /* nstack */
|
9, /* nstack */
|
||||||
0, /* argc */
|
0, /* argc */
|
||||||
0, /* varg */
|
4, /* varg */
|
||||||
0, /* has upvals */
|
0, /* has upvals */
|
||||||
NULL, /* no upvals */
|
NULL, /* no upvals */
|
||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[ 6]) { /* constants */
|
( &(const bvalue[ 7]) { /* constants */
|
||||||
/* K0 */ be_nested_str(flash),
|
/* K0 */ be_const_class(be_class_Partition),
|
||||||
/* K1 */ be_const_int(0),
|
/* K1 */ be_nested_str(flash),
|
||||||
/* K2 */ be_const_int(1),
|
/* K2 */ be_const_int(0),
|
||||||
/* K3 */ be_nested_str(read),
|
/* K3 */ be_const_int(1),
|
||||||
/* K4 */ be_nested_str(E9),
|
/* K4 */ be_nested_str(read),
|
||||||
/* K5 */ be_nested_str(stop_iteration),
|
/* K5 */ be_nested_str(E9),
|
||||||
|
/* K6 */ be_nested_str(stop_iteration),
|
||||||
}),
|
}),
|
||||||
&be_const_str_get_flash_definition_sector,
|
&be_const_str_get_flash_definition_sector,
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[25]) { /* code */
|
( &(const binstruction[26]) { /* code */
|
||||||
0xA4020000, // 0000 IMPORT R0 K0
|
0x58000000, // 0000 LDCONST R0 K0
|
||||||
0x60040010, // 0001 GETGBL R1 G16
|
0xA4060200, // 0001 IMPORT R1 K1
|
||||||
0x400A0302, // 0002 CONNECT R2 K1 K2
|
0x60080010, // 0002 GETGBL R2 G16
|
||||||
0x7C040200, // 0003 CALL R1 1
|
0x400E0503, // 0003 CONNECT R3 K2 K3
|
||||||
0xA802000F, // 0004 EXBLK 0 #0015
|
0x7C080200, // 0004 CALL R2 1
|
||||||
0x5C080200, // 0005 MOVE R2 R1
|
0xA802000F, // 0005 EXBLK 0 #0016
|
||||||
0x7C080000, // 0006 CALL R2 0
|
0x5C0C0400, // 0006 MOVE R3 R2
|
||||||
0x540E0FFF, // 0007 LDINT R3 4096
|
0x7C0C0000, // 0007 CALL R3 0
|
||||||
0x080C0403, // 0008 MUL R3 R2 R3
|
0x54120FFF, // 0008 LDINT R4 4096
|
||||||
0x8C100103, // 0009 GETMET R4 R0 K3
|
0x08100604, // 0009 MUL R4 R3 R4
|
||||||
0x5C180600, // 000A MOVE R6 R3
|
0x8C140304, // 000A GETMET R5 R1 K4
|
||||||
0x581C0002, // 000B LDCONST R7 K2
|
0x5C1C0800, // 000B MOVE R7 R4
|
||||||
0x7C100600, // 000C CALL R4 3
|
0x58200003, // 000C LDCONST R8 K3
|
||||||
0x60140015, // 000D GETGBL R5 G21
|
0x7C140600, // 000D CALL R5 3
|
||||||
0x58180004, // 000E LDCONST R6 K4
|
0x60180015, // 000E GETGBL R6 G21
|
||||||
0x7C140200, // 000F CALL R5 1
|
0x581C0005, // 000F LDCONST R7 K5
|
||||||
0x1C100805, // 0010 EQ R4 R4 R5
|
0x7C180200, // 0010 CALL R6 1
|
||||||
0x78120001, // 0011 JMPF R4 #0014
|
0x1C140A06, // 0011 EQ R5 R5 R6
|
||||||
0xA8040001, // 0012 EXBLK 1 1
|
0x78160001, // 0012 JMPF R5 #0015
|
||||||
0x80040600, // 0013 RET 1 R3
|
0xA8040001, // 0013 EXBLK 1 1
|
||||||
0x7001FFEF, // 0014 JMP #0005
|
0x80040800, // 0014 RET 1 R4
|
||||||
0x58040005, // 0015 LDCONST R1 K5
|
0x7001FFEF, // 0015 JMP #0006
|
||||||
0xAC040200, // 0016 CATCH R1 1 0
|
0x58080006, // 0016 LDCONST R2 K6
|
||||||
0xB0080000, // 0017 RAISE 2 R0 R0
|
0xAC080200, // 0017 CATCH R2 1 0
|
||||||
0x80000000, // 0018 RET 0
|
0xB0080000, // 0018 RAISE 2 R0 R0
|
||||||
|
0x80000000, // 0019 RET 0
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -1660,6 +1668,8 @@ be_local_class(Partition,
|
|||||||
(bstring*) &be_const_str_Partition
|
(bstring*) &be_const_str_Partition
|
||||||
);
|
);
|
||||||
|
|
||||||
|
extern const bclass be_class_Partition_info;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: is_factory
|
** Solidified function: is_factory
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -2165,45 +2175,47 @@ be_local_closure(Partition_info_tobytes, /* name */
|
|||||||
********************************************************************/
|
********************************************************************/
|
||||||
be_local_closure(Partition_info_remove_trailing_zeroes, /* name */
|
be_local_closure(Partition_info_remove_trailing_zeroes, /* name */
|
||||||
be_nested_proto(
|
be_nested_proto(
|
||||||
7, /* nstack */
|
8, /* nstack */
|
||||||
1, /* argc */
|
1, /* argc */
|
||||||
0, /* varg */
|
4, /* varg */
|
||||||
0, /* has upvals */
|
0, /* has upvals */
|
||||||
NULL, /* no upvals */
|
NULL, /* no upvals */
|
||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[ 3]) { /* constants */
|
( &(const bvalue[ 4]) { /* constants */
|
||||||
/* K0 */ be_const_int(0),
|
/* K0 */ be_const_class(be_class_Partition_info),
|
||||||
/* K1 */ be_const_int(1),
|
/* K1 */ be_const_int(0),
|
||||||
/* K2 */ be_nested_str(resize),
|
/* K2 */ be_const_int(1),
|
||||||
|
/* K3 */ be_nested_str(resize),
|
||||||
}),
|
}),
|
||||||
&be_const_str_remove_trailing_zeroes,
|
&be_const_str_remove_trailing_zeroes,
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[23]) { /* code */
|
( &(const binstruction[24]) { /* code */
|
||||||
0x6004000C, // 0000 GETGBL R1 G12
|
0x58040000, // 0000 LDCONST R1 K0
|
||||||
0x5C080000, // 0001 MOVE R2 R0
|
0x6008000C, // 0001 GETGBL R2 G12
|
||||||
0x7C040200, // 0002 CALL R1 1
|
0x5C0C0000, // 0002 MOVE R3 R0
|
||||||
0x58080000, // 0003 LDCONST R2 K0
|
0x7C080200, // 0003 CALL R2 1
|
||||||
0x140C0401, // 0004 LT R3 R2 R1
|
0x580C0001, // 0004 LDCONST R3 K1
|
||||||
0x780E0007, // 0005 JMPF R3 #000E
|
0x14100602, // 0005 LT R4 R3 R2
|
||||||
0x540DFFFE, // 0006 LDINT R3 -1
|
0x78120007, // 0006 JMPF R4 #000F
|
||||||
0x040C0602, // 0007 SUB R3 R3 R2
|
0x5411FFFE, // 0007 LDINT R4 -1
|
||||||
0x940C0003, // 0008 GETIDX R3 R0 R3
|
0x04100803, // 0008 SUB R4 R4 R3
|
||||||
0x200C0700, // 0009 NE R3 R3 K0
|
0x94100004, // 0009 GETIDX R4 R0 R4
|
||||||
0x780E0000, // 000A JMPF R3 #000C
|
0x20100901, // 000A NE R4 R4 K1
|
||||||
0x70020001, // 000B JMP #000E
|
0x78120000, // 000B JMPF R4 #000D
|
||||||
0x00080501, // 000C ADD R2 R2 K1
|
0x70020001, // 000C JMP #000F
|
||||||
0x7001FFF5, // 000D JMP #0004
|
0x000C0702, // 000D ADD R3 R3 K2
|
||||||
0x240C0500, // 000E GT R3 R2 K0
|
0x7001FFF5, // 000E JMP #0005
|
||||||
0x780E0005, // 000F JMPF R3 #0016
|
0x24100701, // 000F GT R4 R3 K1
|
||||||
0x8C0C0102, // 0010 GETMET R3 R0 K2
|
0x78120005, // 0010 JMPF R4 #0017
|
||||||
0x6014000C, // 0011 GETGBL R5 G12
|
0x8C100103, // 0011 GETMET R4 R0 K3
|
||||||
0x5C180000, // 0012 MOVE R6 R0
|
0x6018000C, // 0012 GETGBL R6 G12
|
||||||
0x7C140200, // 0013 CALL R5 1
|
0x5C1C0000, // 0013 MOVE R7 R0
|
||||||
0x04140A02, // 0014 SUB R5 R5 R2
|
0x7C180200, // 0014 CALL R6 1
|
||||||
0x7C0C0400, // 0015 CALL R3 2
|
0x04180C03, // 0015 SUB R6 R6 R3
|
||||||
0x80040000, // 0016 RET 1 R0
|
0x7C100400, // 0016 CALL R4 2
|
||||||
|
0x80040000, // 0017 RET 1 R0
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_Persist;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: json_fdump_map
|
** Solidified function: json_fdump_map
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_Tapp;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_Tasmota;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: exec_rules
|
** Solidified function: exec_rules
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_Trigger;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_zb_coord;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_zcl_attribute;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: tomap
|
** Solidified function: tomap
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -571,6 +573,8 @@ void be_load_zcl_attribute_class(bvm *vm) {
|
|||||||
be_pop(vm, 1);
|
be_pop(vm, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern const bclass be_class_zcl_attribute_list;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: member
|
** Solidified function: member
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
@ -914,6 +918,8 @@ void be_load_zcl_attribute_list_class(bvm *vm) {
|
|||||||
be_pop(vm, 1);
|
be_pop(vm, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern const bclass be_class_zcl_attributes;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: init
|
** Solidified function: init
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
extern const bclass be_class_zcl_frame;
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: member
|
** Solidified function: member
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user