Berry consolidated constants for solidified classes reduces Flash size (#21845)

This commit is contained in:
s-hadinger 2024-07-25 22:53:02 +02:00 committed by GitHub
parent 2f33f8e5a8
commit 1b887d7202
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
81 changed files with 19944 additions and 23725 deletions

View File

@ -12,6 +12,7 @@ All notable changes to this project will be documented in this file.
### Breaking Changed
### Changed
- Berry consolidated constants for solidified classes reduces Flash size
### Fixed
- Berry `light.get` for separate RGB/CT (#21818)

View File

@ -320,7 +320,11 @@ static void free_proto(bvm *vm, bgcobject *obj)
bproto *proto = cast_proto(obj);
gc_try (proto != NULL) {
be_free(vm, proto->upvals, proto->nupvals * sizeof(bupvaldesc));
if (!(proto->varg & BE_VA_SHARED_KTAB)) { /* do not free shared ktab */
/*caveat: the shared ktab is never GCed, in practice this is not a problem */
/* since shared ktab are primarily meant for solidification hence not gc-able */
be_free(vm, proto->ktab, proto->nconst * sizeof(bvalue));
}
be_free(vm, proto->ptab, proto->nproto * sizeof(bproto*));
be_free(vm, proto->code, proto->codesize * sizeof(binstruction));
#if BE_DEBUG_RUNTIME_INFO

View File

@ -42,6 +42,7 @@
#define BE_VA_VARARG (1 << 0) /* function has variable number of arguments */
#define BE_VA_METHOD (1 << 1) /* function is a method (this is only a hint) */
#define BE_VA_STATICMETHOD (1 << 2) /* the function is a static method and has the class as implicit '_class' variable */
#define BE_VA_SHARED_KTAB (1 << 3) /* the funciton has a shared consolidated ktab */
#define array_count(a) (sizeof(a) / sizeof((a)[0]))
#define bcommon_header \

View File

@ -114,9 +114,9 @@ static void toidentifier(char *to, const char *p)
*to = 0; // final NULL
}
static void m_solidify_bvalue(bvm *vm, bbool str_literal, const bvalue * value, const char *prefixname, const char *key, void* fout);
static void m_solidify_bvalue(bvm *vm, bbool str_literal, const bvalue * value, const char *prefix_name, const char *key, void* fout);
static void m_solidify_map(bvm *vm, bbool str_literal, bmap * map, const char *prefixname, void* fout)
static void m_solidify_map(bvm *vm, bbool str_literal, bmap * map, const char *prefix_name, void* fout)
{
// compact first
be_map_compact(vm, map);
@ -144,14 +144,14 @@ static void m_solidify_map(bvm *vm, bbool str_literal, bmap * map, const char *p
} else {
logfmt(" { be_const_key_weak(%s, %i), ", id_buf, key_next);
}
m_solidify_bvalue(vm, str_literal, &node->value, prefixname, str(node->key.v.s), fout);
m_solidify_bvalue(vm, str_literal, &node->value, prefix_name, str(node->key.v.s), fout);
} else if (node->key.type == BE_INT) {
#if BE_INTGER_TYPE == 2
logfmt(" { be_const_key_int(%lli, %i), ", node->key.v.i, key_next);
#else
logfmt(" { be_const_key_int(%i, %i), ", node->key.v.i, key_next);
#endif
m_solidify_bvalue(vm, str_literal, &node->value, prefixname, NULL, fout);
m_solidify_bvalue(vm, str_literal, &node->value, prefix_name, NULL, fout);
} else {
char error[64];
snprintf(error, sizeof(error), "Unsupported type in key: %i", node->key.type);
@ -164,21 +164,21 @@ static void m_solidify_map(bvm *vm, bbool str_literal, bmap * map, const char *p
}
static void m_solidify_list(bvm *vm, bbool str_literal, const blist * list, const char *prefixname, void* fout)
static void m_solidify_list(bvm *vm, bbool str_literal, const blist * list, const char *prefix_name, void* fout)
{
logfmt(" be_nested_list(%i,\n", list->count);
logfmt(" ( (struct bvalue*) &(const bvalue[]) {\n");
for (int i = 0; i < list->count; i++) {
logfmt(" ");
m_solidify_bvalue(vm, str_literal, &list->data[i], prefixname, "", fout);
m_solidify_bvalue(vm, str_literal, &list->data[i], prefix_name, "", fout);
logfmt(",\n");
}
logfmt(" }))"); // TODO need terminal comma?
}
// pass key name in case of class, or NULL if none
static void m_solidify_bvalue(bvm *vm, bbool str_literal, const bvalue * value, const char *prefixname, const char *key, void* fout)
static void m_solidify_bvalue(bvm *vm, bbool str_literal, const bvalue * value, const char *prefix_name, const char *key, void* fout)
{
int type = var_primetype(value);
switch (type) {
@ -247,7 +247,7 @@ static void m_solidify_bvalue(bvm *vm, bbool str_literal, const bvalue * value,
toidentifier(func_name_id, func_name);
logfmt("be_const_%sclosure(%s%s%s_closure)",
var_isstatic(value) ? "static_" : "",
prefixname ? prefixname : "", prefixname ? "_" : "",
prefix_name ? prefix_name : "", prefix_name ? "_" : "",
func_name_id);
}
break;
@ -255,12 +255,12 @@ static void m_solidify_bvalue(bvm *vm, bbool str_literal, const bvalue * value,
logfmt("be_const_class(be_class_%s)", str(((bclass*) var_toobj(value))->name));
break;
case BE_COMPTR:
logfmt("be_const_comptr(&be_ntv_%s_%s)", prefixname ? prefixname : "unknown", key ? key : "unknown");
logfmt("be_const_comptr(&be_ntv_%s_%s)", prefix_name ? prefix_name : "unknown", key ? key : "unknown");
break;
case BE_NTVFUNC:
logfmt("be_const_%sfunc(be_ntv_%s_%s)",
var_isstatic(value) ? "static_" : "",
prefixname ? prefixname : "unknown", key ? key : "unknown");
prefix_name ? prefix_name : "unknown", key ? key : "unknown");
break;
case BE_INSTANCE:
{
@ -290,16 +290,16 @@ static void m_solidify_bvalue(bvm *vm, bbool str_literal, const bvalue * value,
} else {
logfmt(" be_const_list( * ");
}
m_solidify_bvalue(vm, str_literal, &ins->members[0], prefixname, key, fout);
m_solidify_bvalue(vm, str_literal, &ins->members[0], prefix_name, key, fout);
logfmt(" ) } ))");
}
}
break;
case BE_MAP:
m_solidify_map(vm, str_literal, (bmap *) var_toobj(value), prefixname, fout);
m_solidify_map(vm, str_literal, (bmap *) var_toobj(value), prefix_name, fout);
break;
case BE_LIST:
m_solidify_list(vm, str_literal, (blist *) var_toobj(value), prefixname, fout);
m_solidify_list(vm, str_literal, (blist *) var_toobj(value), prefix_name, fout);
break;
default:
{
@ -316,7 +316,7 @@ static void m_solidify_subclass(bvm *vm, bbool str_literal, const bclass *cl, vo
static void m_solidify_proto_inner_class(bvm *vm, bbool str_literal, const bproto *pr, void* fout)
{
// parse any class in constants to output it first
if (pr->nconst > 0) {
if ((pr->nconst > 0) && (!(pr->varg & BE_VA_SHARED_KTAB))) { /* if shared ktab, this was done already earlier */
for (int k = 0; k < pr->nconst; k++) {
if (var_type(&pr->ktab[k]) == BE_CLASS) {
if ((k == 0) && (pr->varg & BE_VA_STATICMETHOD)) {
@ -330,7 +330,7 @@ static void m_solidify_proto_inner_class(bvm *vm, bbool str_literal, const bprot
}
}
static void m_solidify_proto(bvm *vm, bbool str_literal, const bproto *pr, const char * func_name, int indent, void* fout)
static void m_solidify_proto(bvm *vm, bbool str_literal, const bproto *pr, const char * func_name, int indent, const char * prefix_name, void* fout)
{
logfmt("%*sbe_nested_proto(\n", indent, "");
indent += 2;
@ -357,7 +357,7 @@ static void m_solidify_proto(bvm *vm, bbool str_literal, const bproto *pr, const
size_t sub_len = strlen(func_name) + 10;
char sub_name[sub_len];
snprintf(sub_name, sizeof(sub_name), "%s_%"PRId32, func_name, i);
m_solidify_proto(vm, str_literal, pr->ptab[i], sub_name, indent+2, fout);
m_solidify_proto(vm, str_literal, pr->ptab[i], sub_name, indent+2, prefix_name, fout);
logfmt(",\n");
}
logfmt("%*s}),\n", indent, "");
@ -367,6 +367,10 @@ static void m_solidify_proto(bvm *vm, bbool str_literal, const bproto *pr, const
logfmt("%*s%d, /* has constants */\n", indent, "", (pr->nconst > 0) ? 1 : 0);
if (pr->nconst > 0) {
// we output the full table unless it's a shared ktab
if (pr->varg & BE_VA_SHARED_KTAB) {
logfmt("%*s&be_ktab_%s, /* shared constants */\n", indent, "", prefix_name);
} else {
logfmt("%*s( &(const bvalue[%2d]) { /* constants */\n", indent, "", pr->nconst);
for (int k = 0; k < pr->nconst; k++) {
logfmt("%*s/* K%-3d */ ", indent, "", k);
@ -374,6 +378,7 @@ static void m_solidify_proto(bvm *vm, bbool str_literal, const bproto *pr, const
logfmt(",\n");
}
logfmt("%*s}),\n", indent, "");
}
} else {
logfmt("%*sNULL, /* no const */\n", indent, "");
}
@ -413,7 +418,7 @@ static void m_solidify_proto(bvm *vm, bbool str_literal, const bproto *pr, const
}
static void m_solidify_closure(bvm *vm, bbool str_literal, const bclosure *clo, const char * prefixname, void* fout)
static void m_solidify_closure(bvm *vm, bbool str_literal, const bclosure *clo, const char * prefix_name, void* fout)
{
bproto *pr = clo->proto;
const char * func_name = str(pr->name);
@ -437,11 +442,11 @@ static void m_solidify_closure(bvm *vm, bbool str_literal, const bclosure *clo,
char func_name_id[id_len];
toidentifier(func_name_id, func_name);
logfmt("be_local_closure(%s%s%s, /* name */\n",
prefixname ? prefixname : "", prefixname ? "_" : "",
prefix_name ? prefix_name : "", prefix_name ? "_" : "",
func_name_id);
}
m_solidify_proto(vm, str_literal, pr, func_name, indent, fout);
m_solidify_proto(vm, str_literal, pr, func_name, indent, prefix_name, fout);
logfmt("\n");
// closure
@ -449,11 +454,17 @@ static void m_solidify_closure(bvm *vm, bbool str_literal, const bclosure *clo,
logfmt("/*******************************************************************/\n\n");
}
static void m_compact_class(bvm *vm, bbool str_literal, const bclass *cla, void* fout);
static void m_solidify_subclass(bvm *vm, bbool str_literal, const bclass *cla, void* fout)
{
const char * classname = str(cla->name);
char prefixname[strlen(classname) + 10];
snprintf(prefixname, sizeof(prefixname), "class_%s", classname);
/* TODO try compacting for now */
m_compact_class(vm, str_literal, cla, fout);
char prefix_name[strlen(classname) + 10];
snprintf(prefix_name, sizeof(prefix_name), "class_%s", classname);
/* pre-declare class to support '_class' implicit variable */
logfmt("\nextern const bclass be_class_%s;\n", classname);
@ -464,7 +475,7 @@ static void m_solidify_subclass(bvm *vm, bbool str_literal, const bclass *cla, v
while ((node = be_map_next(cla->members, &iter)) != NULL) {
if (var_isstr(&node->key) && var_isclosure(&node->value)) {
bclosure *f = var_toobj(&node->value);
m_solidify_closure(vm, str_literal, f, prefixname, fout);
m_solidify_closure(vm, str_literal, f, prefix_name, fout);
}
}
}
@ -488,7 +499,7 @@ static void m_solidify_subclass(bvm *vm, bbool str_literal, const bclass *cla, v
}
if (cla->members) {
m_solidify_map(vm, str_literal, cla->members, prefixname, fout);
m_solidify_map(vm, str_literal, cla->members, prefix_name, fout);
logfmt(",\n");
} else {
logfmt(" NULL,\n");
@ -514,8 +525,8 @@ static void m_solidify_module(bvm *vm, bbool str_literal, bmodule *ml, void* fou
{
const char * modulename = be_module_name(ml);
if (!modulename) { modulename = ""; }
// char prefixname[strlen(modulename) + 10];
// snprintf(prefixname, sizeof(prefixname), "module_%s", modulename);
// char prefix_name[strlen(modulename) + 10];
// snprintf(prefix_name, sizeof(prefix_name), "module_%s", modulename);
/* iterate on members to dump closures and classes */
if (ml->table) {
@ -571,12 +582,12 @@ static int m_dump(bvm *vm)
}
be_pop(vm, 1);
}
const char *prefixname = NULL; /* allow to specify an explicit prefix */
const char *prefix_name = NULL; /* allow to specify an explicit prefix */
if (top >= 4 && be_isstring(vm, 4)) {
prefixname = be_tostring(vm, 4);
prefix_name = be_tostring(vm, 4);
}
if (var_isclosure(v)) {
m_solidify_closure(vm, str_literal, var_toobj(v), prefixname, fout);
m_solidify_closure(vm, str_literal, var_toobj(v), prefix_name, fout);
} else if (var_isclass(v)) {
m_solidify_class(vm, str_literal, var_toobj(v), fout);
} else if (var_ismodule(v)) {
@ -588,9 +599,294 @@ static int m_dump(bvm *vm)
be_return_nil(vm);
}
static void m_compact_class(bvm *vm, bbool str_literal, const bclass *cla, void* fout)
{
const char * classname = str(cla->name);
/* reserve an array big enough for max size ktab (256) */
const int MAX_KTAB_SIZE = 256;
bvalue ktab[MAX_KTAB_SIZE]; /* size is 2048 byte for 32 bits, so fitting in ESP32, may need to be changed on smaller architectures */
int ktab_size = 0;
/* for statistics, keep the aggregate number of bvalues */
int ktab_total = 0;
/* iterate on members to dump closures */
if (cla->members) {
bmapnode *node;
bmapiter iter = be_map_iter();
/* first iteration to build the global ktab */
while ((node = be_map_next(cla->members, &iter)) != NULL) {
if (var_isstr(&node->key) && var_isclosure(&node->value)) {
bclosure *cl = var_toobj(&node->value);
bproto *pr = cl->proto;
if (pr->varg & BE_VA_SHARED_KTAB) { continue; }
// iterate on each bvalue in ktab
for (int i = 0; i < pr->nconst; i++) {
// look if the bvalue pair is already in ktab
int found = 0;
for (int j = 0; j < ktab_size; j++) {
// to avoid any size issue, we compare all bytes
// berry_log_C("// p1=%p p2=%p sz=%i", &pr->ktab[i], &ktab[j], sizeof(bvalue));
if ((pr->ktab[i].type == ktab[j].type) && (pr->ktab[i].v.i == ktab[j].v.i) && (pr->ktab[i].v.c == ktab[j].v.c)) {
// if (memcmp(&pr->ktab[i], &ktab[j], sizeof(bvalue)) == 0) {
found = 1;
break;
}
}
// if not already there, add it
if (!found) {
ktab[ktab_size++] = pr->ktab[i];
}
if (ktab_size >= MAX_KTAB_SIZE) {
logfmt("// ktab too big for class '%s' - skipping\n", classname);
return;
}
}
ktab_total += pr->nconst;
}
}
if (ktab_size == ktab_total) {
return; /* nothing to optimize, can happen for classes with zero or 1 method */
}
/* allocate a proper ktab */
bvalue *new_ktab = be_malloc(vm, sizeof(bvalue) * ktab_size);
memmove(new_ktab, ktab, sizeof(bvalue) * ktab_size);
/* second iteration to replace ktab and patch code */
iter = be_map_iter();
while ((node = be_map_next(cla->members, &iter)) != NULL) {
if (var_isstr(&node->key) && var_isclosure(&node->value)) {
bclosure *cl = var_toobj(&node->value);
bproto *pr = cl->proto;
if (pr->varg & BE_VA_SHARED_KTAB) { continue; }
uint8_t mapping_array[MAX_KTAB_SIZE];
// iterate in proto ktab to get the index in the global ktab
for (int i = 0; i < pr->nconst; i++) {
for (int j = 0; j < ktab_size; j++) {
// compare all bytes
if ((pr->ktab[i].type == ktab[j].type) && (pr->ktab[i].v.i == ktab[j].v.i) && (pr->ktab[i].v.c == ktab[j].v.c)) {
// if (memcmp(&pr->ktab[i], &ktab[j], sizeof(bvalue)) == 0) {
mapping_array[i] = j;
break;
}
}
}
// replace ktab
pr->ktab = new_ktab;
pr->nconst = ktab_size;
// flag as shared ktab
pr->varg |= BE_VA_SHARED_KTAB;
// parse code to replace any K<x> reference
for (int pc = 0; pc < pr->codesize; pc++) {
uint32_t ins = pr->code[pc];
bopcode op = IGET_OP(ins);
switch (op) {
case OP_ADD: case OP_SUB: case OP_MUL: case OP_DIV:
case OP_MOD: case OP_LT: case OP_LE: case OP_EQ:
case OP_NE: case OP_GT: case OP_GE: case OP_CONNECT:
case OP_GETMBR: case OP_SETMBR: case OP_GETMET: case OP_SETMET:
case OP_GETIDX: case OP_SETIDX: case OP_AND:
case OP_OR: case OP_XOR: case OP_SHL: case OP_SHR:
case OP_RAISE:
// B and C might contain 'K' constant
if (isKB(ins)) {
int kidx = IGET_RKB(ins) & KR_MASK;
if (kidx >= ktab_size) {
be_raise(vm, "value_error", "invalid ktab index");
}
ins = (ins & ~IRKB_MASK) | ISET_RKB(setK(mapping_array[kidx]));
}
if (isKC(ins)) {
int kidx = IGET_RKC(ins) & KR_MASK;
if (kidx >= ktab_size) {
be_raise(vm, "value_error", "invalid ktab index");
}
ins = (ins & ~IRKC_MASK) | ISET_RKC(setK(mapping_array[kidx]));
}
pr->code[pc] = ins;
break;
case OP_MOVE: case OP_SETSUPER: case OP_NEG: case OP_FLIP: case OP_IMPORT:
case OP_GETNGBL: case OP_SETNGBL:
// Only B might contain 'K' constant
if (isKB(ins)) {
int kidx = IGET_RKB(ins) & KR_MASK;
if (kidx >= ktab_size) {
be_raise(vm, "value_error", "invalid ktab index");
}
ins = (ins & ~IRKB_MASK) | ISET_RKB(setK(mapping_array[kidx]));
}
pr->code[pc] = ins;
break;
case OP_CLASS:
case OP_LDCONST:
// Bx contains the K
{
int kidx = IGET_Bx(ins);
if (kidx >= ktab_size) {
be_raise(vm, "value_error", "invalid ktab index");
}
ins = (ins & ~IBx_MASK) | ISET_Bx(mapping_array[kidx]);
pr->code[pc] = ins;
}
break;
// case OP_GETGBL: case OP_SETGBL:
// logbuf("%s\tR%d\tG%d", opc2str(op), IGET_RA(ins), IGET_Bx(ins));
// break;
// case OP_MOVE: case OP_SETSUPER: case OP_NEG: case OP_FLIP: case OP_IMPORT:
// logbuf("%s\tR%d\t%c%d", opc2str(op), IGET_RA(ins),
// isKB(ins) ? 'K' : 'R', IGET_RKB(ins) & KR_MASK);
// break;
// case OP_JMP:
// logbuf("%s\t\t#%.4X", opc2str(op), IGET_sBx(ins) + pc + 1);
// break;
// case OP_JMPT: case OP_JMPF:
// logbuf("%s\tR%d\t#%.4X", opc2str(op), IGET_RA(ins), IGET_sBx(ins) + pc + 1);
// break;
// case OP_LDINT:
// logbuf("%s\tR%d\t%d", opc2str(op), IGET_RA(ins), IGET_sBx(ins));
// break;
// case OP_LDBOOL:
// logbuf("%s\tR%d\t%d\t%d", opc2str(op), IGET_RA(ins), IGET_RKB(ins), IGET_RKC(ins));
// break;
case OP_RET:
if (IGET_RA(ins)) {
// Only B might contain 'K' constant
if (isKB(ins)) {
int kidx = IGET_RKB(ins) & KR_MASK;
if (kidx >= ktab_size) {
be_raise(vm, "value_error", "invalid ktab index");
}
ins = (ins & ~IRKB_MASK) | ISET_RKB(setK(mapping_array[kidx]));
}
}
pr->code[pc] = ins;
break;
// case OP_GETUPV: case OP_SETUPV:
// logbuf("%s\tR%d\tU%d", opc2str(op), IGET_RA(ins), IGET_Bx(ins));
// break;
// case OP_LDCONST:
// logbuf("%s\tR%d\tK%d", opc2str(op), IGET_RA(ins), IGET_Bx(ins));
// break;
// case OP_CALL:
// logbuf("%s\tR%d\t%d", opc2str(op), IGET_RA(ins), IGET_RKB(ins));
// break;
// case OP_CLOSURE:
// logbuf("%s\tR%d\tP%d", opc2str(op), IGET_RA(ins), IGET_Bx(ins));
// break;
// case OP_CLASS:
// logbuf("%s\tK%d", opc2str(op), IGET_Bx(ins));
// break;
// case OP_CLOSE: case OP_LDNIL:
// logbuf("%s\tR%d", opc2str(op), IGET_RA(ins));
// break;
// case OP_RAISE:
// logbuf("%s\t%d\t%c%d\t%c%d", opc2str(op), IGET_RA(ins),
// isKB(ins) ? 'K' : 'R', IGET_RKB(ins) & KR_MASK,
// isKC(ins) ? 'K' : 'R', IGET_RKC(ins) & KR_MASK);
// break;
// case OP_EXBLK:
// if (IGET_RA(ins)) {
// logbuf("%s\t%d\t%d", opc2str(op), IGET_RA(ins), IGET_Bx(ins));
// } else {
// logbuf("%s\t%d\t#%.4X", opc2str(op), IGET_RA(ins), IGET_sBx(ins) + pc + 1);
// }
// break;
// case OP_CATCH:
// logbuf("%s\tR%d\t%d\t%d", opc2str(op), IGET_RA(ins), IGET_RKB(ins), IGET_RKC(ins));
// break;
default:
break;
}
}
}
}
}
// logfmt("extern const bclass be_class_%s;\n", classname);
// scan classes and generate extern statements for classes
for (int k = 0; k < ktab_size; k++) {
// if it's a class, print an extern statement
if (var_isclass(&ktab[k])) {
bclass *cl = var_toobj(&ktab[k]);
logfmt("extern const bclass be_class_%s;\n", str(cl->name));
}
}
// scan again to export all sub-classes
for (int k = 0; k < ktab_size; k++) {
// if it's a class, print an extern statement
if (var_isclass(&ktab[k])) {
bclass *cl = var_toobj(&ktab[k]);
if (cl != cla) {
m_solidify_subclass(vm, str_literal, cl, fout);
}
}
}
// output shared ktab
int indent = 0;
logfmt("// compact class '%s' ktab size: %d, total: %d (saved %i bytes)\n", classname, ktab_size, ktab_total, (ktab_total - ktab_size) * 8);
logfmt("static const bvalue be_ktab_class_%s[%i] = {\n", classname, ktab_size);
for (int k = 0; k < ktab_size; k++) {
logfmt("%*s/* K%-3d */ ", indent + 2, "", k);
m_solidify_bvalue(vm, str_literal, &ktab[k], NULL, NULL, fout);
logfmt(",\n");
}
logfmt("%*s};\n", indent, "");
logfmt("\n");
}
// takes a class or a module
// scans all first level bproto
// build a consolidated 'ktab' array
// check that the array is not bigger than 256 (which is the max acceptable constants)
// (for now) print the potential saving
static int m_compact(bvm *vm)
{
int top = be_top(vm);
if (top >= 1) {
bvalue *v = be_indexof(vm, 1);
bbool str_literal = bfalse;
if (top >= 2) {
str_literal = be_tobool(vm, 2);
}
void* fout = NULL; /* output file */
if (top >= 3 && be_isinstance(vm, 3)) {
be_getmember(vm, 3, ".p");
if (be_iscomptr(vm, -1)) {
fout = be_tocomptr(vm, -1);
}
be_pop(vm, 1);
}
// const char *prefix_name = NULL; /* allow to specify an explicit prefix */
// if (top >= 4 && be_isstring(vm, 4)) {
// prefix_name = be_tostring(vm, 4);
// }
if (var_isclass(v)) {
m_compact_class(vm, str_literal, var_toobj(v), fout);
} else if (var_ismodule(v)) {
// TODO
} else {
be_raise(vm, "value_error", "unsupported type");
}
}
be_return_nil(vm);
}
#if !BE_USE_PRECOMPILED_OBJECT
be_native_module_attr_table(solidify) {
be_native_module_function("dump", m_dump),
be_native_module_function("compact", m_compact),
};
be_define_native_module(solidify, NULL);
@ -598,6 +894,7 @@ be_define_native_module(solidify, NULL);
/* @const_object_info_begin
module solidify (scope: global, depend: BE_USE_SOLIDIFY_MODULE) {
dump, func(m_dump)
compact, func(m_compact)
}
@const_object_info_end */
#include "../generate/be_fixed_solidify.h"

View File

@ -3,6 +3,59 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Animate_core' ktab size: 49, total: 98 (saved 392 bytes)
static const bvalue be_ktab_class_Animate_core[49] = {
/* K0 */ be_nested_str_weak(stop),
/* K1 */ be_nested_str_weak(strip),
/* K2 */ be_nested_str_weak(clear),
/* K3 */ be_nested_str_weak(set_bri),
/* K4 */ be_nested_str_weak(tasmota),
/* K5 */ be_nested_str_weak(scale_uint),
/* K6 */ be_nested_str_weak(bri),
/* K7 */ be_const_int(0),
/* K8 */ be_nested_str_weak(painters),
/* K9 */ be_nested_str_weak(remove),
/* K10 */ be_nested_str_weak(find),
/* K11 */ be_nested_str_weak(running),
/* K12 */ be_nested_str_weak(animators),
/* K13 */ be_const_int(0),
/* K14 */ be_const_int(1),
/* K15 */ be_nested_str_weak(remove_fast_loop),
/* K16 */ be_nested_str_weak(fast_loop_cb),
/* K17 */ be_nested_str_weak(set_strip_bri),
/* K18 */ be_nested_str_weak(push),
/* K19 */ be_nested_str_weak(time_reached),
/* K20 */ be_nested_str_weak(fast_loop_next),
/* K21 */ be_nested_str_weak(can_show),
/* K22 */ be_nested_str_weak(frame),
/* K23 */ be_nested_str_weak(fill_pixels),
/* K24 */ be_nested_str_weak(back_color),
/* K25 */ be_nested_str_weak(millis),
/* K26 */ be_nested_str_weak(FAST_LOOP_MIN),
/* K27 */ be_nested_str_weak(animate),
/* K28 */ be_nested_str_weak(layer),
/* K29 */ be_const_int(-16777216),
/* K30 */ be_nested_str_weak(paint),
/* K31 */ be_nested_str_weak(blend_pixels),
/* K32 */ be_nested_str_weak(obj),
/* K33 */ be_nested_str_weak(mth),
/* K34 */ be_nested_str_weak(paste_pixels),
/* K35 */ be_nested_str_weak(pixels_buffer),
/* K36 */ be_nested_str_weak(get_bri),
/* K37 */ be_nested_str_weak(get_gamma),
/* K38 */ be_nested_str_weak(dirty),
/* K39 */ be_nested_str_weak(show),
/* K40 */ be_nested_str_weak(global),
/* K41 */ be_nested_str_weak(_cur_anim),
/* K42 */ be_nested_str_weak(pixel_count),
/* K43 */ be_nested_str_weak(set_current),
/* K44 */ be_nested_str_weak(set_cb),
/* K45 */ be_nested_str_weak(set_back_color),
/* K46 */ be_nested_str_weak(add_animator),
/* K47 */ be_nested_str_weak(start),
/* K48 */ be_nested_str_weak(add_fast_loop),
};
extern const bclass be_class_Animate_core;
@ -13,17 +66,13 @@ be_local_closure(class_Animate_core_clear, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(stop),
/* K1 */ be_nested_str_weak(strip),
/* K2 */ be_nested_str_weak(clear),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(clear),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
@ -46,31 +95,24 @@ be_local_closure(class_Animate_core_set_strip_bri, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(strip),
/* K1 */ be_nested_str_weak(set_bri),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(scale_uint),
/* K4 */ be_nested_str_weak(bri),
/* K5 */ be_const_int(0),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(set_strip_bri),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0xB80E0400, // 0002 GETNGBL R3 K2
0x8C0C0703, // 0003 GETMET R3 R3 K3
0x88140104, // 0004 GETMBR R5 R0 K4
0x58180005, // 0005 LDCONST R6 K5
0x88040101, // 0000 GETMBR R1 R0 K1
0x8C040303, // 0001 GETMET R1 R1 K3
0xB80E0800, // 0002 GETNGBL R3 K4
0x8C0C0705, // 0003 GETMET R3 R3 K5
0x88140106, // 0004 GETMBR R5 R0 K6
0x58180007, // 0005 LDCONST R6 K7
0x541E0063, // 0006 LDINT R7 100
0x58200005, // 0007 LDCONST R8 K5
0x58200007, // 0007 LDCONST R8 K7
0x542600FE, // 0008 LDINT R9 255
0x7C0C0C00, // 0009 CALL R3 6
0x7C040400, // 000A CALL R1 2
@ -88,32 +130,27 @@ be_local_closure(class_Animate_core_remove_painter, /* name */
be_nested_proto(
8, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(painters),
/* K1 */ be_nested_str_weak(remove),
/* K2 */ be_nested_str_weak(find),
/* K3 */ be_nested_str_weak(clear),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(remove_painter),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x88080108, // 0000 GETMBR R2 R0 K8
0x4C0C0000, // 0001 LDNIL R3
0x200C0203, // 0002 NE R3 R1 R3
0x780E0005, // 0003 JMPF R3 #000A
0x8C0C0501, // 0004 GETMET R3 R2 K1
0x8C140502, // 0005 GETMET R5 R2 K2
0x8C0C0509, // 0004 GETMET R3 R2 K9
0x8C14050A, // 0005 GETMET R5 R2 K10
0x5C1C0200, // 0006 MOVE R7 R1
0x7C140400, // 0007 CALL R5 2
0x7C0C0400, // 0008 CALL R3 2
0x70020001, // 0009 JMP #000C
0x8C0C0503, // 000A GETMET R3 R2 K3
0x8C0C0502, // 000A GETMET R3 R2 K2
0x7C0C0200, // 000B CALL R3 1
0x80000000, // 000C RET 0
})
@ -129,42 +166,33 @@ be_local_closure(class_Animate_core_stop, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(running),
/* K1 */ be_nested_str_weak(animators),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str_weak(stop),
/* K4 */ be_const_int(1),
/* K5 */ be_nested_str_weak(tasmota),
/* K6 */ be_nested_str_weak(remove_fast_loop),
/* K7 */ be_nested_str_weak(fast_loop_cb),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(stop),
&be_const_str_solidified,
( &(const binstruction[19]) { /* code */
0x50040000, // 0000 LDBOOL R1 0 0
0x90020001, // 0001 SETMBR R0 K0 R1
0x88040101, // 0002 GETMBR R1 R0 K1
0x58080002, // 0003 LDCONST R2 K2
0x90021601, // 0001 SETMBR R0 K11 R1
0x8804010C, // 0002 GETMBR R1 R0 K12
0x5808000D, // 0003 LDCONST R2 K13
0x600C000C, // 0004 GETGBL R3 G12
0x5C100200, // 0005 MOVE R4 R1
0x7C0C0200, // 0006 CALL R3 1
0x140C0403, // 0007 LT R3 R2 R3
0x780E0004, // 0008 JMPF R3 #000E
0x940C0202, // 0009 GETIDX R3 R1 R2
0x8C0C0703, // 000A GETMET R3 R3 K3
0x8C0C0700, // 000A GETMET R3 R3 K0
0x7C0C0200, // 000B CALL R3 1
0x00080504, // 000C ADD R2 R2 K4
0x0008050E, // 000C ADD R2 R2 K14
0x7001FFF5, // 000D JMP #0004
0xB80E0A00, // 000E GETNGBL R3 K5
0x8C0C0706, // 000F GETMET R3 R3 K6
0x88140107, // 0010 GETMBR R5 R0 K7
0xB80E0800, // 000E GETNGBL R3 K4
0x8C0C070F, // 000F GETMET R3 R3 K15
0x88140110, // 0010 GETMBR R5 R0 K16
0x7C0C0400, // 0011 CALL R3 2
0x80000000, // 0012 RET 0
})
@ -180,19 +208,17 @@ be_local_closure(class_Animate_core_get_bri, /* name */
be_nested_proto(
3, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(bri),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(get_bri),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x88080106, // 0000 GETMBR R2 R0 K6
0x80040400, // 0001 RET 1 R2
})
)
@ -207,21 +233,18 @@ be_local_closure(class_Animate_core_set_bri, /* name */
be_nested_proto(
4, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(bri),
/* K1 */ be_nested_str_weak(set_strip_bri),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(set_bri),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x8C080101, // 0001 GETMET R2 R0 K1
0x90020C01, // 0000 SETMBR R0 K6 R1
0x8C080111, // 0001 GETMET R2 R0 K17
0x7C080200, // 0002 CALL R2 1
0x80000000, // 0003 RET 0
})
@ -237,29 +260,25 @@ be_local_closure(class_Animate_core_add_painter, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(painters),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(push),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(add_painter),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88080108, // 0000 GETMBR R2 R0 K8
0x8C08050A, // 0001 GETMET R2 R2 K10
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x4C0C0000, // 0004 LDNIL R3
0x1C080403, // 0005 EQ R2 R2 R3
0x780A0003, // 0006 JMPF R2 #000B
0x88080100, // 0007 GETMBR R2 R0 K0
0x8C080502, // 0008 GETMET R2 R2 K2
0x88080108, // 0007 GETMBR R2 R0 K8
0x8C080512, // 0008 GETMET R2 R2 K18
0x5C100200, // 0009 MOVE R4 R1
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
@ -276,67 +295,38 @@ be_local_closure(class_Animate_core_fast_loop, /* name */
be_nested_proto(
13, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[28]) { /* constants */
/* K0 */ be_nested_str_weak(running),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(time_reached),
/* K3 */ be_nested_str_weak(fast_loop_next),
/* K4 */ be_nested_str_weak(strip),
/* K5 */ be_nested_str_weak(can_show),
/* K6 */ be_nested_str_weak(frame),
/* K7 */ be_nested_str_weak(fill_pixels),
/* K8 */ be_nested_str_weak(back_color),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str_weak(millis),
/* K11 */ be_nested_str_weak(FAST_LOOP_MIN),
/* K12 */ be_nested_str_weak(animators),
/* K13 */ be_nested_str_weak(animate),
/* K14 */ be_const_int(1),
/* K15 */ be_nested_str_weak(layer),
/* K16 */ be_nested_str_weak(painters),
/* K17 */ be_const_int(-16777216),
/* K18 */ be_nested_str_weak(paint),
/* K19 */ be_nested_str_weak(blend_pixels),
/* K20 */ be_nested_str_weak(obj),
/* K21 */ be_nested_str_weak(mth),
/* K22 */ be_nested_str_weak(paste_pixels),
/* K23 */ be_nested_str_weak(pixels_buffer),
/* K24 */ be_nested_str_weak(get_bri),
/* K25 */ be_nested_str_weak(get_gamma),
/* K26 */ be_nested_str_weak(dirty),
/* K27 */ be_nested_str_weak(show),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(fast_loop),
&be_const_str_solidified,
( &(const binstruction[84]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8804010B, // 0000 GETMBR R1 R0 K11
0x78060050, // 0001 JMPF R1 #0053
0xB8060200, // 0002 GETNGBL R1 K1
0x8C040302, // 0003 GETMET R1 R1 K2
0x880C0103, // 0004 GETMBR R3 R0 K3
0xB8060800, // 0002 GETNGBL R1 K4
0x8C040313, // 0003 GETMET R1 R1 K19
0x880C0114, // 0004 GETMBR R3 R0 K20
0x7C040400, // 0005 CALL R1 2
0x7806004B, // 0006 JMPF R1 #0053
0x88040104, // 0007 GETMBR R1 R0 K4
0x8C040305, // 0008 GETMET R1 R1 K5
0x88040101, // 0007 GETMBR R1 R0 K1
0x8C040315, // 0008 GETMET R1 R1 K21
0x7C040200, // 0009 CALL R1 1
0x78060047, // 000A JMPF R1 #0053
0x88040106, // 000B GETMBR R1 R0 K6
0x8C040307, // 000C GETMET R1 R1 K7
0x880C0108, // 000D GETMBR R3 R0 K8
0x88040116, // 000B GETMBR R1 R0 K22
0x8C040317, // 000C GETMET R1 R1 K23
0x880C0118, // 000D GETMBR R3 R0 K24
0x7C040400, // 000E CALL R1 2
0x58040009, // 000F LDCONST R1 K9
0xB80A0200, // 0010 GETNGBL R2 K1
0x8C08050A, // 0011 GETMET R2 R2 K10
0x58040007, // 000F LDCONST R1 K7
0xB80A0800, // 0010 GETNGBL R2 K4
0x8C080519, // 0011 GETMET R2 R2 K25
0x7C080200, // 0012 CALL R2 1
0x880C010B, // 0013 GETMBR R3 R0 K11
0x880C011A, // 0013 GETMBR R3 R0 K26
0x000C0403, // 0014 ADD R3 R2 R3
0x90020603, // 0015 SETMBR R0 K3 R3
0x90022803, // 0015 SETMBR R0 K20 R3
0x600C000C, // 0016 GETGBL R3 G12
0x8810010C, // 0017 GETMBR R4 R0 K12
0x7C0C0200, // 0018 CALL R3 1
@ -344,59 +334,59 @@ be_local_closure(class_Animate_core_fast_loop, /* name */
0x780E0006, // 001A JMPF R3 #0022
0x880C010C, // 001B GETMBR R3 R0 K12
0x940C0601, // 001C GETIDX R3 R3 R1
0x8C0C070D, // 001D GETMET R3 R3 K13
0x8C0C071B, // 001D GETMET R3 R3 K27
0x5C140400, // 001E MOVE R5 R2
0x7C0C0400, // 001F CALL R3 2
0x0004030E, // 0020 ADD R1 R1 K14
0x7001FFF3, // 0021 JMP #0016
0x58040009, // 0022 LDCONST R1 K9
0x880C0106, // 0023 GETMBR R3 R0 K6
0x8810010F, // 0024 GETMBR R4 R0 K15
0x58040007, // 0022 LDCONST R1 K7
0x880C0116, // 0023 GETMBR R3 R0 K22
0x8810011C, // 0024 GETMBR R4 R0 K28
0x6014000C, // 0025 GETGBL R5 G12
0x88180110, // 0026 GETMBR R6 R0 K16
0x88180108, // 0026 GETMBR R6 R0 K8
0x7C140200, // 0027 CALL R5 1
0x14140205, // 0028 LT R5 R1 R5
0x7816000D, // 0029 JMPF R5 #0038
0x8C140907, // 002A GETMET R5 R4 K7
0x581C0011, // 002B LDCONST R7 K17
0x8C140917, // 002A GETMET R5 R4 K23
0x581C001D, // 002B LDCONST R7 K29
0x7C140400, // 002C CALL R5 2
0x88140110, // 002D GETMBR R5 R0 K16
0x88140108, // 002D GETMBR R5 R0 K8
0x94140A01, // 002E GETIDX R5 R5 R1
0x8C140B12, // 002F GETMET R5 R5 K18
0x8C140B1E, // 002F GETMET R5 R5 K30
0x5C1C0800, // 0030 MOVE R7 R4
0x7C140400, // 0031 CALL R5 2
0x78160002, // 0032 JMPF R5 #0036
0x8C140713, // 0033 GETMET R5 R3 K19
0x8C14071F, // 0033 GETMET R5 R3 K31
0x5C1C0800, // 0034 MOVE R7 R4
0x7C140400, // 0035 CALL R5 2
0x0004030E, // 0036 ADD R1 R1 K14
0x7001FFEC, // 0037 JMP #0025
0x88140114, // 0038 GETMBR R5 R0 K20
0x88180115, // 0039 GETMBR R6 R0 K21
0x88140120, // 0038 GETMBR R5 R0 K32
0x88180121, // 0039 GETMBR R6 R0 K33
0x78160003, // 003A JMPF R5 #003F
0x781A0002, // 003B JMPF R6 #003F
0x5C1C0C00, // 003C MOVE R7 R6
0x5C200A00, // 003D MOVE R8 R5
0x7C1C0200, // 003E CALL R7 1
0x8C1C010D, // 003F GETMET R7 R0 K13
0x8C1C011B, // 003F GETMET R7 R0 K27
0x7C1C0200, // 0040 CALL R7 1
0x881C0106, // 0041 GETMBR R7 R0 K6
0x8C1C0F16, // 0042 GETMET R7 R7 K22
0x88240104, // 0043 GETMBR R9 R0 K4
0x8C241317, // 0044 GETMET R9 R9 K23
0x881C0116, // 0041 GETMBR R7 R0 K22
0x8C1C0F22, // 0042 GETMET R7 R7 K34
0x88240101, // 0043 GETMBR R9 R0 K1
0x8C241323, // 0044 GETMET R9 R9 K35
0x7C240200, // 0045 CALL R9 1
0x88280104, // 0046 GETMBR R10 R0 K4
0x8C281518, // 0047 GETMET R10 R10 K24
0x88280101, // 0046 GETMBR R10 R0 K1
0x8C281524, // 0047 GETMET R10 R10 K36
0x7C280200, // 0048 CALL R10 1
0x882C0104, // 0049 GETMBR R11 R0 K4
0x8C2C1719, // 004A GETMET R11 R11 K25
0x882C0101, // 0049 GETMBR R11 R0 K1
0x8C2C1725, // 004A GETMET R11 R11 K37
0x7C2C0200, // 004B CALL R11 1
0x7C1C0800, // 004C CALL R7 4
0x881C0104, // 004D GETMBR R7 R0 K4
0x8C1C0F1A, // 004E GETMET R7 R7 K26
0x881C0101, // 004D GETMBR R7 R0 K1
0x8C1C0F26, // 004E GETMET R7 R7 K38
0x7C1C0200, // 004F CALL R7 1
0x881C0104, // 0050 GETMBR R7 R0 K4
0x8C1C0F1B, // 0051 GETMET R7 R7 K27
0x881C0101, // 0050 GETMBR R7 R0 K1
0x8C1C0F27, // 0051 GETMET R7 R7 K39
0x7C1C0200, // 0052 CALL R7 1
0x80000000, // 0053 RET 0
})
@ -412,32 +402,27 @@ be_local_closure(class_Animate_core_remove_animator, /* name */
be_nested_proto(
8, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(animators),
/* K1 */ be_nested_str_weak(remove),
/* K2 */ be_nested_str_weak(find),
/* K3 */ be_nested_str_weak(clear),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(remove_animator),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8808010C, // 0000 GETMBR R2 R0 K12
0x4C0C0000, // 0001 LDNIL R3
0x200C0203, // 0002 NE R3 R1 R3
0x780E0005, // 0003 JMPF R3 #000A
0x8C0C0501, // 0004 GETMET R3 R2 K1
0x8C140502, // 0005 GETMET R5 R2 K2
0x8C0C0509, // 0004 GETMET R3 R2 K9
0x8C14050A, // 0005 GETMET R5 R2 K10
0x5C1C0200, // 0006 MOVE R7 R1
0x7C140400, // 0007 CALL R5 2
0x7C0C0400, // 0008 CALL R3 2
0x70020001, // 0009 JMP #000C
0x8C0C0503, // 000A GETMET R3 R2 K3
0x8C0C0502, // 000A GETMET R3 R2 K2
0x7C0C0200, // 000B CALL R3 1
0x80000000, // 000C RET 0
})
@ -453,13 +438,13 @@ be_local_closure(class_Animate_core_animate, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(animate),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -477,21 +462,18 @@ be_local_closure(class_Animate_core_set_current, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(global),
/* K1 */ be_nested_str_weak(_cur_anim),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(set_current),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x90060200, // 0001 SETMBR R1 K1 R0
0xB8065000, // 0000 GETNGBL R1 K40
0x90065200, // 0001 SETMBR R1 K41 R0
0x80000000, // 0002 RET 0
})
)
@ -506,7 +488,7 @@ be_local_closure(class_Animate_core_init, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
@ -536,60 +518,44 @@ be_local_closure(class_Animate_core_init, /* name */
),
}),
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(animate),
/* K1 */ be_nested_str_weak(strip),
/* K2 */ be_nested_str_weak(bri),
/* K3 */ be_nested_str_weak(set_strip_bri),
/* K4 */ be_nested_str_weak(running),
/* K5 */ be_nested_str_weak(pixel_count),
/* K6 */ be_nested_str_weak(animators),
/* K7 */ be_nested_str_weak(painters),
/* K8 */ be_nested_str_weak(clear),
/* K9 */ be_nested_str_weak(frame),
/* K10 */ be_nested_str_weak(layer),
/* K11 */ be_nested_str_weak(fast_loop_cb),
/* K12 */ be_nested_str_weak(back_color),
/* K13 */ be_const_int(0),
/* K14 */ be_nested_str_weak(set_current),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[37]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xA40E3600, // 0000 IMPORT R3 K27
0x90020201, // 0001 SETMBR R0 K1 R1
0x4C100000, // 0002 LDNIL R4
0x1C100404, // 0003 EQ R4 R2 R4
0x78120000, // 0004 JMPF R4 #0006
0x540A0031, // 0005 LDINT R2 50
0x90020402, // 0006 SETMBR R0 K2 R2
0x8C100103, // 0007 GETMET R4 R0 K3
0x90020C02, // 0006 SETMBR R0 K6 R2
0x8C100111, // 0007 GETMET R4 R0 K17
0x7C100200, // 0008 CALL R4 1
0x50100000, // 0009 LDBOOL R4 0 0
0x90020804, // 000A SETMBR R0 K4 R4
0x8C100305, // 000B GETMET R4 R1 K5
0x90021604, // 000A SETMBR R0 K11 R4
0x8C10032A, // 000B GETMET R4 R1 K42
0x7C100200, // 000C CALL R4 1
0x90020A04, // 000D SETMBR R0 K5 R4
0x90025404, // 000D SETMBR R0 K42 R4
0x60100012, // 000E GETGBL R4 G18
0x7C100000, // 000F CALL R4 0
0x90020C04, // 0010 SETMBR R0 K6 R4
0x90021804, // 0010 SETMBR R0 K12 R4
0x60100012, // 0011 GETGBL R4 G18
0x7C100000, // 0012 CALL R4 0
0x90020E04, // 0013 SETMBR R0 K7 R4
0x8C100108, // 0014 GETMET R4 R0 K8
0x90021004, // 0013 SETMBR R0 K8 R4
0x8C100102, // 0014 GETMET R4 R0 K2
0x7C100200, // 0015 CALL R4 1
0x8C100709, // 0016 GETMET R4 R3 K9
0x88180105, // 0017 GETMBR R6 R0 K5
0x8C100716, // 0016 GETMET R4 R3 K22
0x8818012A, // 0017 GETMBR R6 R0 K42
0x7C100400, // 0018 CALL R4 2
0x90021204, // 0019 SETMBR R0 K9 R4
0x8C100709, // 001A GETMET R4 R3 K9
0x88180105, // 001B GETMBR R6 R0 K5
0x90022C04, // 0019 SETMBR R0 K22 R4
0x8C100716, // 001A GETMET R4 R3 K22
0x8818012A, // 001B GETMBR R6 R0 K42
0x7C100400, // 001C CALL R4 2
0x90021404, // 001D SETMBR R0 K10 R4
0x90023804, // 001D SETMBR R0 K28 R4
0x84100000, // 001E CLOSURE R4 P0
0x90021604, // 001F SETMBR R0 K11 R4
0x9002190D, // 0020 SETMBR R0 K12 K13
0x8C10010E, // 0021 GETMET R4 R0 K14
0x90022004, // 001F SETMBR R0 K16 R4
0x90023107, // 0020 SETMBR R0 K24 K7
0x8C10012B, // 0021 GETMET R4 R0 K43
0x7C100200, // 0022 CALL R4 1
0xA0000000, // 0023 CLOSE R0
0x80000000, // 0024 RET 0
@ -606,21 +572,18 @@ be_local_closure(class_Animate_core_set_cb, /* name */
be_nested_proto(
3, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(obj),
/* K1 */ be_nested_str_weak(mth),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(set_cb),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90020202, // 0001 SETMBR R0 K1 R2
0x90024001, // 0000 SETMBR R0 K32 R1
0x90024202, // 0001 SETMBR R0 K33 R2
0x80000000, // 0002 RET 0
})
)
@ -635,19 +598,17 @@ be_local_closure(class_Animate_core_set_back_color, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(back_color),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(set_back_color),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90023001, // 0000 SETMBR R0 K24 R1
0x80000000, // 0001 RET 0
})
)
@ -662,25 +623,21 @@ be_local_closure(class_Animate_core_add_background_animator, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(set_cb),
/* K1 */ be_nested_str_weak(set_back_color),
/* K2 */ be_nested_str_weak(add_animator),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(add_background_animator),
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x8C080300, // 0000 GETMET R2 R1 K0
0x8C08032C, // 0000 GETMET R2 R1 K44
0x5C100000, // 0001 MOVE R4 R0
0x88140101, // 0002 GETMBR R5 R0 K1
0x8814012D, // 0002 GETMBR R5 R0 K45
0x7C080600, // 0003 CALL R2 3
0x8C080102, // 0004 GETMET R2 R0 K2
0x8C08012E, // 0004 GETMET R2 R0 K46
0x5C100200, // 0005 MOVE R4 R1
0x7C080400, // 0006 CALL R2 2
0x80000000, // 0007 RET 0
@ -697,29 +654,25 @@ be_local_closure(class_Animate_core_add_animator, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(animators),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(push),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(add_animator),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x8808010C, // 0000 GETMBR R2 R0 K12
0x8C08050A, // 0001 GETMET R2 R2 K10
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x4C0C0000, // 0004 LDNIL R3
0x1C080403, // 0005 EQ R2 R2 R3
0x780A0003, // 0006 JMPF R2 #000B
0x88080100, // 0007 GETMBR R2 R0 K0
0x8C080502, // 0008 GETMET R2 R2 K2
0x8808010C, // 0007 GETMBR R2 R0 K12
0x8C080512, // 0008 GETMET R2 R2 K18
0x5C100200, // 0009 MOVE R4 R1
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
@ -736,26 +689,21 @@ be_local_closure(class_Animate_core_remove, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(clear),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(remove_fast_loop),
/* K3 */ be_nested_str_weak(fast_loop_cb),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(remove),
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040102, // 0000 GETMET R1 R0 K2
0x7C040200, // 0001 CALL R1 1
0xB8060200, // 0002 GETNGBL R1 K1
0x8C040302, // 0003 GETMET R1 R1 K2
0x880C0103, // 0004 GETMBR R3 R0 K3
0xB8060800, // 0002 GETNGBL R1 K4
0x8C04030F, // 0003 GETMET R1 R1 K15
0x880C0110, // 0004 GETMBR R3 R0 K16
0x7C040400, // 0005 CALL R1 2
0x80000000, // 0006 RET 0
})
@ -771,44 +719,34 @@ be_local_closure(class_Animate_core_start, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(running),
/* K1 */ be_nested_str_weak(animators),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str_weak(start),
/* K4 */ be_const_int(1),
/* K5 */ be_nested_str_weak(fast_loop_next),
/* K6 */ be_nested_str_weak(tasmota),
/* K7 */ be_nested_str_weak(add_fast_loop),
/* K8 */ be_nested_str_weak(fast_loop_cb),
}),
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(start),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0x50040200, // 0000 LDBOOL R1 1 0
0x90020001, // 0001 SETMBR R0 K0 R1
0x88040101, // 0002 GETMBR R1 R0 K1
0x58080002, // 0003 LDCONST R2 K2
0x90021601, // 0001 SETMBR R0 K11 R1
0x8804010C, // 0002 GETMBR R1 R0 K12
0x5808000D, // 0003 LDCONST R2 K13
0x600C000C, // 0004 GETGBL R3 G12
0x5C100200, // 0005 MOVE R4 R1
0x7C0C0200, // 0006 CALL R3 1
0x140C0403, // 0007 LT R3 R2 R3
0x780E0004, // 0008 JMPF R3 #000E
0x940C0202, // 0009 GETIDX R3 R1 R2
0x8C0C0703, // 000A GETMET R3 R3 K3
0x8C0C072F, // 000A GETMET R3 R3 K47
0x7C0C0200, // 000B CALL R3 1
0x00080504, // 000C ADD R2 R2 K4
0x0008050E, // 000C ADD R2 R2 K14
0x7001FFF5, // 000D JMP #0004
0x90020B02, // 000E SETMBR R0 K5 K2
0xB80E0C00, // 000F GETNGBL R3 K6
0x8C0C0707, // 0010 GETMET R3 R3 K7
0x88140108, // 0011 GETMBR R5 R0 K8
0x9002290D, // 000E SETMBR R0 K20 K13
0xB80E0800, // 000F GETNGBL R3 K4
0x8C0C0730, // 0010 GETMET R3 R3 K48
0x88140110, // 0011 GETMBR R5 R0 K16
0x7C0C0400, // 0012 CALL R3 2
0x80000000, // 0013 RET 0
})

View File

@ -79,6 +79,25 @@ be_local_class(Animate_painter,
})),
be_str_weak(Animate_painter)
);
// compact class 'Animate_pulse' ktab size: 15, total: 28 (saved 104 bytes)
static const bvalue be_ktab_class_Animate_pulse[15] = {
/* K0 */ be_nested_str_weak(pulse_size),
/* K1 */ be_nested_str_weak(slew_size),
/* K2 */ be_nested_str_weak(back_color),
/* K3 */ be_nested_str_weak(pos),
/* K4 */ be_nested_str_weak(color),
/* K5 */ be_nested_str_weak(init),
/* K6 */ be_const_int(16777215),
/* K7 */ be_const_int(1),
/* K8 */ be_const_int(0),
/* K9 */ be_const_int(-16777216),
/* K10 */ be_nested_str_weak(fill_pixels),
/* K11 */ be_nested_str_weak(pixel_size),
/* K12 */ be_nested_str_weak(blend),
/* K13 */ be_nested_str_weak(tasmota),
/* K14 */ be_nested_str_weak(scale_int),
};
extern const bclass be_class_Animate_pulse;
@ -89,15 +108,13 @@ be_local_closure(class_Animate_pulse_set_pulse_size, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(pulse_size),
}),
&be_ktab_class_Animate_pulse, /* shared constants */
be_str_weak(set_pulse_size),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
@ -116,19 +133,17 @@ be_local_closure(class_Animate_pulse_set_slew_size, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(slew_size),
}),
&be_ktab_class_Animate_pulse, /* shared constants */
be_str_weak(set_slew_size),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90020201, // 0000 SETMBR R0 K1 R1
0x80000000, // 0001 RET 0
})
)
@ -143,19 +158,17 @@ be_local_closure(class_Animate_pulse_set_back_color, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(back_color),
}),
&be_ktab_class_Animate_pulse, /* shared constants */
be_str_weak(set_back_color),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90020401, // 0000 SETMBR R0 K2 R1
0x80000000, // 0001 RET 0
})
)
@ -170,19 +183,17 @@ be_local_closure(class_Animate_pulse_set_pos, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(pos),
}),
&be_ktab_class_Animate_pulse, /* shared constants */
be_str_weak(set_pos),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90020601, // 0000 SETMBR R0 K3 R1
0x80000000, // 0001 RET 0
})
)
@ -197,19 +208,17 @@ be_local_closure(class_Animate_pulse_set_color, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(color),
}),
&be_ktab_class_Animate_pulse, /* shared constants */
be_str_weak(set_color),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90020801, // 0000 SETMBR R0 K4 R1
0x80000000, // 0001 RET 0
})
)
@ -224,55 +233,44 @@ be_local_closure(class_Animate_pulse_init, /* name */
be_nested_proto(
6, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(init),
/* K1 */ be_const_int(16777215),
/* K2 */ be_const_int(1),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(color),
/* K5 */ be_nested_str_weak(back_color),
/* K6 */ be_const_int(-16777216),
/* K7 */ be_nested_str_weak(pulse_size),
/* K8 */ be_nested_str_weak(slew_size),
/* K9 */ be_nested_str_weak(pos),
}),
&be_ktab_class_Animate_pulse, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[29]) { /* code */
0x60100003, // 0000 GETGBL R4 G3
0x5C140000, // 0001 MOVE R5 R0
0x7C100200, // 0002 CALL R4 1
0x8C100900, // 0003 GETMET R4 R4 K0
0x8C100905, // 0003 GETMET R4 R4 K5
0x7C100200, // 0004 CALL R4 1
0x4C100000, // 0005 LDNIL R4
0x1C100204, // 0006 EQ R4 R1 R4
0x78120000, // 0007 JMPF R4 #0009
0x58040001, // 0008 LDCONST R1 K1
0x58040006, // 0008 LDCONST R1 K6
0x4C100000, // 0009 LDNIL R4
0x1C100404, // 000A EQ R4 R2 R4
0x78120000, // 000B JMPF R4 #000D
0x58080002, // 000C LDCONST R2 K2
0x58080007, // 000C LDCONST R2 K7
0x4C100000, // 000D LDNIL R4
0x1C100604, // 000E EQ R4 R3 R4
0x78120000, // 000F JMPF R4 #0011
0x580C0003, // 0010 LDCONST R3 K3
0x580C0008, // 0010 LDCONST R3 K8
0x90020801, // 0011 SETMBR R0 K4 R1
0x90020B06, // 0012 SETMBR R0 K5 K6
0x14100503, // 0013 LT R4 R2 K3
0x90020509, // 0012 SETMBR R0 K2 K9
0x14100508, // 0013 LT R4 R2 K8
0x78120000, // 0014 JMPF R4 #0016
0x58080003, // 0015 LDCONST R2 K3
0x90020E02, // 0016 SETMBR R0 K7 R2
0x14100703, // 0017 LT R4 R3 K3
0x58080008, // 0015 LDCONST R2 K8
0x90020002, // 0016 SETMBR R0 K0 R2
0x14100708, // 0017 LT R4 R3 K8
0x78120000, // 0018 JMPF R4 #001A
0x580C0003, // 0019 LDCONST R3 K3
0x90021003, // 001A SETMBR R0 K8 R3
0x90021303, // 001B SETMBR R0 K9 K3
0x580C0008, // 0019 LDCONST R3 K8
0x90020203, // 001A SETMBR R0 K1 R3
0x90020708, // 001B SETMBR R0 K3 K8
0x80000000, // 001C RET 0
})
)
@ -287,41 +285,27 @@ be_local_closure(class_Animate_pulse_paint, /* name */
be_nested_proto(
22, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(back_color),
/* K1 */ be_const_int(-16777216),
/* K2 */ be_nested_str_weak(fill_pixels),
/* K3 */ be_nested_str_weak(pos),
/* K4 */ be_nested_str_weak(slew_size),
/* K5 */ be_nested_str_weak(pulse_size),
/* K6 */ be_nested_str_weak(color),
/* K7 */ be_nested_str_weak(pixel_size),
/* K8 */ be_const_int(0),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(blend),
/* K11 */ be_nested_str_weak(tasmota),
/* K12 */ be_nested_str_weak(scale_int),
}),
&be_ktab_class_Animate_pulse, /* shared constants */
be_str_weak(paint),
&be_const_str_solidified,
( &(const binstruction[91]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x200C0501, // 0001 NE R3 R2 K1
0x88080102, // 0000 GETMBR R2 R0 K2
0x200C0509, // 0001 NE R3 R2 K9
0x780E0002, // 0002 JMPF R3 #0006
0x8C0C0302, // 0003 GETMET R3 R1 K2
0x8C0C030A, // 0003 GETMET R3 R1 K10
0x5C140400, // 0004 MOVE R5 R2
0x7C0C0400, // 0005 CALL R3 2
0x880C0103, // 0006 GETMBR R3 R0 K3
0x88100104, // 0007 GETMBR R4 R0 K4
0x88140105, // 0008 GETMBR R5 R0 K5
0x88180106, // 0009 GETMBR R6 R0 K6
0x881C0307, // 000A GETMBR R7 R1 K7
0x88100101, // 0007 GETMBR R4 R0 K1
0x88140100, // 0008 GETMBR R5 R0 K0
0x88180104, // 0009 GETMBR R6 R0 K4
0x881C030B, // 000A GETMBR R7 R1 K11
0x4C200000, // 000B LDNIL R8
0x4C240000, // 000C LDNIL R9
0x5C200600, // 000D MOVE R8 R3
@ -337,7 +321,7 @@ be_local_closure(class_Animate_pulse_paint, /* name */
0x142C1409, // 0017 LT R11 R10 R9
0x782E0002, // 0018 JMPF R11 #001C
0x98041406, // 0019 SETIDX R1 R10 R6
0x00281509, // 001A ADD R10 R10 K9
0x00281507, // 001A ADD R10 R10 K7
0x7001FFFA, // 001B JMP #0017
0x242C0908, // 001C GT R11 R4 K8
0x782E003A, // 001D JMPF R11 #0059
@ -353,21 +337,21 @@ be_local_closure(class_Animate_pulse_paint, /* name */
0x5C281000, // 0027 MOVE R10 R8
0x142C1409, // 0028 LT R11 R10 R9
0x782E000F, // 0029 JMPF R11 #003A
0x8C2C030A, // 002A GETMET R11 R1 K10
0x8C2C030C, // 002A GETMET R11 R1 K12
0x5C340400, // 002B MOVE R13 R2
0x5C380C00, // 002C MOVE R14 R6
0xB83E1600, // 002D GETNGBL R15 K11
0x8C3C1F0C, // 002E GETMET R15 R15 K12
0xB83E1A00, // 002D GETNGBL R15 K13
0x8C3C1F0E, // 002E GETMET R15 R15 K14
0x5C441400, // 002F MOVE R17 R10
0x04480604, // 0030 SUB R18 R3 R4
0x04482509, // 0031 SUB R18 R18 K9
0x04482507, // 0031 SUB R18 R18 K7
0x5C4C0600, // 0032 MOVE R19 R3
0x545200FE, // 0033 LDINT R20 255
0x58540008, // 0034 LDCONST R21 K8
0x7C3C0C00, // 0035 CALL R15 6
0x7C2C0800, // 0036 CALL R11 4
0x9804140B, // 0037 SETIDX R1 R10 R11
0x00281509, // 0038 ADD R10 R10 K9
0x00281507, // 0038 ADD R10 R10 K7
0x7001FFED, // 0039 JMP #0028
0x002C0605, // 003A ADD R11 R3 R5
0x5C201600, // 003B MOVE R8 R11
@ -383,14 +367,14 @@ be_local_closure(class_Animate_pulse_paint, /* name */
0x5C281000, // 0045 MOVE R10 R8
0x142C1409, // 0046 LT R11 R10 R9
0x782E0010, // 0047 JMPF R11 #0059
0x8C2C030A, // 0048 GETMET R11 R1 K10
0x8C2C030C, // 0048 GETMET R11 R1 K12
0x5C340400, // 0049 MOVE R13 R2
0x5C380C00, // 004A MOVE R14 R6
0xB83E1600, // 004B GETNGBL R15 K11
0x8C3C1F0C, // 004C GETMET R15 R15 K12
0xB83E1A00, // 004B GETNGBL R15 K13
0x8C3C1F0E, // 004C GETMET R15 R15 K14
0x5C441400, // 004D MOVE R17 R10
0x00480605, // 004E ADD R18 R3 R5
0x04482509, // 004F SUB R18 R18 K9
0x04482507, // 004F SUB R18 R18 K7
0x004C0605, // 0050 ADD R19 R3 R5
0x004C2604, // 0051 ADD R19 R19 R4
0x58500008, // 0052 LDCONST R20 K8
@ -398,7 +382,7 @@ be_local_closure(class_Animate_pulse_paint, /* name */
0x7C3C0C00, // 0054 CALL R15 6
0x7C2C0800, // 0055 CALL R11 4
0x9804140B, // 0056 SETIDX R1 R10 R11
0x00281509, // 0057 ADD R10 R10 K9
0x00281507, // 0057 ADD R10 R10 K7
0x7001FFEC, // 0058 JMP #0046
0x502C0200, // 0059 LDBOOL R11 1 0
0x80041600, // 005A RET 1 R11

View File

@ -3,6 +3,16 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Leds_frame_be' ktab size: 6, total: 7 (saved 8 bytes)
static const bvalue be_ktab_class_Leds_frame_be[6] = {
/* K0 */ be_nested_str(set),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str(setitem),
/* K3 */ be_nested_str(get),
/* K4 */ be_nested_str(pixel_size),
/* K5 */ be_nested_str(init),
};
extern const bclass be_class_Leds_frame_be;
@ -13,15 +23,13 @@ be_local_closure(class_Leds_frame_be_setitem, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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(set),
}),
&be_ktab_class_Leds_frame_be, /* shared constants */
&be_const_str_setitem,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
@ -45,23 +53,20 @@ be_local_closure(class_Leds_frame_be_set_pixel, /* name */
be_nested_proto(
11, /* nstack */
6, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str(setitem),
}),
&be_ktab_class_Leds_frame_be, /* shared constants */
&be_const_str_set_pixel,
&be_const_str_solidified,
( &(const binstruction[26]) { /* code */
0x4C180000, // 0000 LDNIL R6
0x1C180A06, // 0001 EQ R6 R5 R6
0x781A0000, // 0002 JMPF R6 #0004
0x58140000, // 0003 LDCONST R5 K0
0x58140001, // 0003 LDCONST R5 K1
0x541A00FE, // 0004 LDINT R6 255
0x2C180A06, // 0005 AND R6 R5 R6
0x541E0017, // 0006 LDINT R7 24
@ -79,7 +84,7 @@ be_local_closure(class_Leds_frame_be_set_pixel, /* name */
0x541E00FE, // 0012 LDINT R7 255
0x2C1C0807, // 0013 AND R7 R4 R7
0x30180C07, // 0014 OR R6 R6 R7
0x8C1C0101, // 0015 GETMET R7 R0 K1
0x8C1C0102, // 0015 GETMET R7 R0 K2
0x5C240200, // 0016 MOVE R9 R1
0x5C280C00, // 0017 MOVE R10 R6
0x7C1C0600, // 0018 CALL R7 3
@ -97,19 +102,17 @@ be_local_closure(class_Leds_frame_be_item, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(get),
}),
&be_ktab_class_Leds_frame_be, /* shared constants */
&be_const_str_item,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C080100, // 0000 GETMET R2 R0 K0
0x8C080103, // 0000 GETMET R2 R0 K3
0x54120003, // 0001 LDINT R4 4
0x08100204, // 0002 MUL R4 R1 R4
0x54160003, // 0003 LDINT R5 4
@ -128,28 +131,24 @@ be_local_closure(class_Leds_frame_be_init, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_nested_str(pixel_size),
/* K2 */ be_nested_str(init),
}),
&be_ktab_class_Leds_frame_be, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x14080300, // 0000 LT R2 R1 K0
0x14080301, // 0000 LT R2 R1 K1
0x780A0000, // 0001 JMPF R2 #0003
0x44040200, // 0002 NEG R1 R1
0x90020201, // 0003 SETMBR R0 K1 R1
0x90020801, // 0003 SETMBR R0 K4 R1
0x60080003, // 0004 GETGBL R2 G3
0x5C0C0000, // 0005 MOVE R3 R0
0x7C080200, // 0006 CALL R2 1
0x8C080502, // 0007 GETMET R2 R2 K2
0x8C080505, // 0007 GETMET R2 R2 K5
0x5411FFFB, // 0008 LDINT R4 -4
0x08100204, // 0009 MUL R4 R1 R4
0x7C080400, // 000A CALL R2 2

View File

@ -3,6 +3,32 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Control_Message' ktab size: 22, total: 31 (saved 72 bytes)
static const bvalue be_ktab_class_Matter_Control_Message[22] = {
/* K0 */ be_nested_str_weak(session),
/* K1 */ be_nested_str_weak(log),
/* K2 */ be_nested_str_weak(MTR_X3A_X20_X3EMCSyncRsp_X20_X2A_X20Not_X20implemented_X20_X25s),
/* K3 */ be_nested_str_weak(raw),
/* K4 */ be_nested_str_weak(app_payload_idx),
/* K5 */ be_const_int(2147483647),
/* K6 */ be_nested_str_weak(tohex),
/* K7 */ be_const_int(2),
/* K8 */ be_nested_str_weak(MTR_X3A_X20_X3EMCSyncReq_X20_X2A_X20Not_X20implemented_X20_X25s),
/* K9 */ be_nested_str_weak(crypto),
/* K10 */ be_nested_str_weak(responder),
/* K11 */ be_nested_str_weak(device),
/* K12 */ be_nested_str_weak(MTR_X3A_X20received_X20control_X20message_X20),
/* K13 */ be_nested_str_weak(matter),
/* K14 */ be_nested_str_weak(inspect),
/* K15 */ be_const_int(3),
/* K16 */ be_nested_str_weak(opcode),
/* K17 */ be_const_int(0),
/* K18 */ be_nested_str_weak(parse_MsgCounterSyncReq),
/* K19 */ be_const_int(1),
/* K20 */ be_nested_str_weak(parse_MsgCounterSyncRsp),
/* K21 */ be_nested_str_weak(MTR_X3A_X20_X3E_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X20Unknown_X20OpCode_X20_X28control_X20message_X29_X20_X2502X),
};
extern const bclass be_class_Matter_Control_Message;
@ -13,22 +39,13 @@ be_local_closure(class_Matter_Control_Message_parse_MsgCounterSyncRsp, /* name
be_nested_proto(
8, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(session),
/* K1 */ be_nested_str_weak(log),
/* K2 */ be_nested_str_weak(MTR_X3A_X20_X3EMCSyncRsp_X20_X2A_X20Not_X20implemented_X20_X25s),
/* K3 */ be_nested_str_weak(raw),
/* K4 */ be_nested_str_weak(app_payload_idx),
/* K5 */ be_const_int(2147483647),
/* K6 */ be_nested_str_weak(tohex),
/* K7 */ be_const_int(2),
}),
&be_ktab_class_Matter_Control_Message, /* shared constants */
be_str_weak(parse_MsgCounterSyncRsp),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
@ -60,29 +77,20 @@ be_local_closure(class_Matter_Control_Message_parse_MsgCounterSyncReq, /* name
be_nested_proto(
8, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(session),
/* K1 */ be_nested_str_weak(log),
/* K2 */ be_nested_str_weak(MTR_X3A_X20_X3EMCSyncReq_X20_X2A_X20Not_X20implemented_X20_X25s),
/* K3 */ be_nested_str_weak(raw),
/* K4 */ be_nested_str_weak(app_payload_idx),
/* K5 */ be_const_int(2147483647),
/* K6 */ be_nested_str_weak(tohex),
/* K7 */ be_const_int(2),
}),
&be_ktab_class_Matter_Control_Message, /* shared constants */
be_str_weak(parse_MsgCounterSyncReq),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x88080300, // 0000 GETMBR R2 R1 K0
0xB80E0200, // 0001 GETNGBL R3 K1
0x60100018, // 0002 GETGBL R4 G24
0x58140002, // 0003 LDCONST R5 K2
0x58140008, // 0003 LDCONST R5 K8
0x88180304, // 0004 GETMBR R6 R1 K4
0x40180D05, // 0005 CONNECT R6 R6 K5
0x881C0303, // 0006 GETMBR R7 R1 K3
@ -107,24 +115,20 @@ be_local_closure(class_Matter_Control_Message_init, /* name */
be_nested_proto(
4, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(crypto),
/* K1 */ be_nested_str_weak(responder),
/* K2 */ be_nested_str_weak(device),
}),
&be_ktab_class_Matter_Control_Message, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x90020201, // 0001 SETMBR R0 K1 R1
0x880C0302, // 0002 GETMBR R3 R1 K2
0x90020403, // 0003 SETMBR R0 K2 R3
0xA40A1200, // 0000 IMPORT R2 K9
0x90021401, // 0001 SETMBR R0 K10 R1
0x880C030B, // 0002 GETMBR R3 R1 K11
0x90021603, // 0003 SETMBR R0 K11 R3
0x80000000, // 0004 RET 0
})
)
@ -139,59 +143,46 @@ be_local_closure(class_Matter_Control_Message_process_incoming_control_message,
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(log),
/* K1 */ be_nested_str_weak(MTR_X3A_X20received_X20control_X20message_X20),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(inspect),
/* K4 */ be_const_int(3),
/* K5 */ be_nested_str_weak(opcode),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(parse_MsgCounterSyncReq),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(parse_MsgCounterSyncRsp),
/* K10 */ be_nested_str_weak(MTR_X3A_X20_X3E_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X20Unknown_X20OpCode_X20_X28control_X20message_X29_X20_X2502X),
/* K11 */ be_const_int(2),
}),
&be_ktab_class_Matter_Control_Message, /* shared constants */
be_str_weak(process_incoming_control_message),
&be_const_str_solidified,
( &(const binstruction[35]) { /* code */
0xB80A0000, // 0000 GETNGBL R2 K0
0xB80E0400, // 0001 GETNGBL R3 K2
0x8C0C0703, // 0002 GETMET R3 R3 K3
0xB80A0200, // 0000 GETNGBL R2 K1
0xB80E1A00, // 0001 GETNGBL R3 K13
0x8C0C070E, // 0002 GETMET R3 R3 K14
0x5C140200, // 0003 MOVE R5 R1
0x7C0C0400, // 0004 CALL R3 2
0x000E0203, // 0005 ADD R3 K1 R3
0x58100004, // 0006 LDCONST R4 K4
0x000E1803, // 0005 ADD R3 K12 R3
0x5810000F, // 0006 LDCONST R4 K15
0x7C080400, // 0007 CALL R2 2
0x88080305, // 0008 GETMBR R2 R1 K5
0x1C080506, // 0009 EQ R2 R2 K6
0x88080310, // 0008 GETMBR R2 R1 K16
0x1C080511, // 0009 EQ R2 R2 K17
0x780A0004, // 000A JMPF R2 #0010
0x8C080107, // 000B GETMET R2 R0 K7
0x8C080112, // 000B GETMET R2 R0 K18
0x5C100200, // 000C MOVE R4 R1
0x7C080400, // 000D CALL R2 2
0x80040400, // 000E RET 1 R2
0x70020010, // 000F JMP #0021
0x88080305, // 0010 GETMBR R2 R1 K5
0x1C080508, // 0011 EQ R2 R2 K8
0x88080310, // 0010 GETMBR R2 R1 K16
0x1C080513, // 0011 EQ R2 R2 K19
0x780A0004, // 0012 JMPF R2 #0018
0x8C080109, // 0013 GETMET R2 R0 K9
0x8C080114, // 0013 GETMET R2 R0 K20
0x5C100200, // 0014 MOVE R4 R1
0x7C080400, // 0015 CALL R2 2
0x80040400, // 0016 RET 1 R2
0x70020008, // 0017 JMP #0021
0xB80A0000, // 0018 GETNGBL R2 K0
0xB80A0200, // 0018 GETNGBL R2 K1
0x600C0018, // 0019 GETGBL R3 G24
0x5810000A, // 001A LDCONST R4 K10
0x88140305, // 001B GETMBR R5 R1 K5
0x58100015, // 001A LDCONST R4 K21
0x88140310, // 001B GETMBR R5 R1 K16
0x7C0C0400, // 001C CALL R3 2
0x5810000B, // 001D LDCONST R4 K11
0x58100007, // 001D LDCONST R4 K7
0x7C080400, // 001E CALL R2 2
0x50080000, // 001F LDBOOL R2 0 0
0x80040400, // 0020 RET 1 R2

View File

@ -3,6 +3,16 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Expirable' ktab size: 6, total: 13 (saved 56 bytes)
static const bvalue be_ktab_class_Matter_Expirable[6] = {
/* K0 */ be_nested_str_weak(_expiration),
/* K1 */ be_nested_str_weak(_persist),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(rtc_utc),
/* K4 */ be_nested_str_weak(_list),
/* K5 */ be_nested_str_weak(set_expire_time),
};
extern const bclass be_class_Matter_Expirable;
@ -13,13 +23,13 @@ be_local_closure(class_Matter_Expirable_before_remove, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(before_remove),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -37,15 +47,13 @@ be_local_closure(class_Matter_Expirable_set_no_expiration, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(_expiration),
}),
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(set_no_expiration),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
@ -65,20 +73,18 @@ be_local_closure(class_Matter_Expirable_init, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(_persist),
}),
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x50040000, // 0000 LDBOOL R1 0 0
0x90020001, // 0001 SETMBR R0 K0 R1
0x90020201, // 0001 SETMBR R0 K1 R1
0x80000000, // 0002 RET 0
})
)
@ -93,15 +99,13 @@ be_local_closure(class_Matter_Expirable_set_expire_time, /* name */
be_nested_proto(
4, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(_expiration),
}),
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(set_expire_time),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
@ -123,32 +127,28 @@ be_local_closure(class_Matter_Expirable_has_expired, /* name */
be_nested_proto(
4, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(rtc_utc),
/* K2 */ be_nested_str_weak(_expiration),
}),
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(has_expired),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x1C080202, // 0001 EQ R2 R1 R2
0x780A0003, // 0002 JMPF R2 #0007
0xB80A0000, // 0003 GETNGBL R2 K0
0x8C080501, // 0004 GETMET R2 R2 K1
0xB80A0400, // 0003 GETNGBL R2 K2
0x8C080503, // 0004 GETMET R2 R2 K3
0x7C080200, // 0005 CALL R2 1
0x5C040400, // 0006 MOVE R1 R2
0x88080102, // 0007 GETMBR R2 R0 K2
0x88080100, // 0007 GETMBR R2 R0 K0
0x4C0C0000, // 0008 LDNIL R3
0x20080403, // 0009 NE R2 R2 R3
0x780A0002, // 000A JMPF R2 #000E
0x88080102, // 000B GETMBR R2 R0 K2
0x88080100, // 000B GETMBR R2 R0 K0
0x28080202, // 000C GE R2 R1 R2
0x80040400, // 000D RET 1 R2
0x50080000, // 000E LDBOOL R2 0 0
@ -166,19 +166,17 @@ be_local_closure(class_Matter_Expirable_set_parent_list, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(_list),
}),
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(set_parent_list),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90020801, // 0000 SETMBR R0 K4 R1
0x80000000, // 0001 RET 0
})
)
@ -193,13 +191,13 @@ be_local_closure(class_Matter_Expirable_hydrate_post, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(hydrate_post),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -217,17 +215,13 @@ be_local_closure(class_Matter_Expirable_set_expire_in_seconds, /* name */
be_nested_proto(
6, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(rtc_utc),
/* K2 */ be_nested_str_weak(set_expire_time),
}),
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(set_expire_in_seconds),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
@ -238,11 +232,11 @@ be_local_closure(class_Matter_Expirable_set_expire_in_seconds, /* name */
0x4C0C0000, // 0004 LDNIL R3
0x1C0C0403, // 0005 EQ R3 R2 R3
0x780E0003, // 0006 JMPF R3 #000B
0xB80E0000, // 0007 GETNGBL R3 K0
0x8C0C0701, // 0008 GETMET R3 R3 K1
0xB80E0400, // 0007 GETNGBL R3 K2
0x8C0C0703, // 0008 GETMET R3 R3 K3
0x7C0C0200, // 0009 CALL R3 1
0x5C080600, // 000A MOVE R2 R3
0x8C0C0102, // 000B GETMET R3 R0 K2
0x8C0C0105, // 000B GETMET R3 R0 K5
0x00140401, // 000C ADD R5 R2 R1
0x7C0C0400, // 000D CALL R3 2
0x80000000, // 000E RET 0
@ -259,19 +253,17 @@ be_local_closure(class_Matter_Expirable_get_parent_list, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(_list),
}),
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(get_parent_list),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040104, // 0000 GETMBR R1 R0 K4
0x80040200, // 0001 RET 1 R1
})
)
@ -286,19 +278,17 @@ be_local_closure(class_Matter_Expirable_does_persist, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(_persist),
}),
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(does_persist),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040101, // 0000 GETMBR R1 R0 K1
0x80040200, // 0001 RET 1 R1
})
)
@ -313,22 +303,20 @@ be_local_closure(class_Matter_Expirable_set_persist, /* name */
be_nested_proto(
4, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(_persist),
}),
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(set_persist),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x60080017, // 0000 GETGBL R2 G23
0x5C0C0200, // 0001 MOVE R3 R1
0x7C080200, // 0002 CALL R2 1
0x90020002, // 0003 SETMBR R0 K0 R2
0x90020202, // 0003 SETMBR R0 K1 R2
0x80000000, // 0004 RET 0
})
)
@ -343,13 +331,13 @@ be_local_closure(class_Matter_Expirable_persist_pre, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(persist_pre),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -367,13 +355,13 @@ be_local_closure(class_Matter_Expirable_persist_post, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Expirable, /* shared constants */
be_str_weak(persist_post),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -411,6 +399,27 @@ be_local_class(Matter_Expirable,
})),
be_str_weak(Matter_Expirable)
);
// compact class 'Matter_Expirable_list' ktab size: 17, total: 25 (saved 64 bytes)
static const bvalue be_ktab_class_Matter_Expirable_list[17] = {
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(_persist),
/* K2 */ be_const_int(1),
/* K3 */ be_nested_str_weak(before_remove),
/* K4 */ be_nested_str_weak(remove),
/* K5 */ be_nested_str_weak(matter),
/* K6 */ be_nested_str_weak(Expirable),
/* K7 */ be_nested_str_weak(type_error),
/* K8 */ be_nested_str_weak(argument_X20must_X20be_X20of_X20class_X20_X27Expirable_X27),
/* K9 */ be_nested_str_weak(set_parent_list),
/* K10 */ be_nested_str_weak(push),
/* K11 */ be_nested_str_weak(remove_expired),
/* K12 */ be_const_int(0),
/* K13 */ be_nested_str_weak(has_expired),
/* K14 */ be_const_int(1),
/* K15 */ be_nested_str_weak(iter),
/* K16 */ be_nested_str_weak(setitem),
};
extern const bclass be_class_Matter_Expirable_list;
@ -421,17 +430,13 @@ be_local_closure(class_Matter_Expirable_list_count_persistables, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_nested_str_weak(_persist),
/* K2 */ be_const_int(1),
}),
&be_ktab_class_Matter_Expirable_list, /* shared constants */
be_str_weak(count_persistables),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
@ -462,17 +467,13 @@ be_local_closure(class_Matter_Expirable_list_remove, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_nested_str_weak(before_remove),
/* K2 */ be_nested_str_weak(remove),
}),
&be_ktab_class_Matter_Expirable_list, /* shared constants */
be_str_weak(remove),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
@ -487,12 +488,12 @@ be_local_closure(class_Matter_Expirable_list_remove, /* name */
0x14080202, // 0008 LT R2 R1 R2
0x780A0002, // 0009 JMPF R2 #000D
0x94080001, // 000A GETIDX R2 R0 R1
0x8C080501, // 000B GETMET R2 R2 K1
0x8C080503, // 000B GETMET R2 R2 K3
0x7C080200, // 000C CALL R2 1
0x60080003, // 000D GETGBL R2 G3
0x5C0C0000, // 000E MOVE R3 R0
0x7C080200, // 000F CALL R2 1
0x8C080502, // 0010 GETMET R2 R2 K2
0x8C080504, // 0010 GETMET R2 R2 K4
0x5C100200, // 0011 MOVE R4 R1
0x7C080400, // 0012 CALL R2 2
0x80040400, // 0013 RET 1 R2
@ -510,37 +511,30 @@ be_local_closure(class_Matter_Expirable_list_push, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(matter),
/* K1 */ be_nested_str_weak(Expirable),
/* K2 */ be_nested_str_weak(type_error),
/* K3 */ be_nested_str_weak(argument_X20must_X20be_X20of_X20class_X20_X27Expirable_X27),
/* K4 */ be_nested_str_weak(set_parent_list),
/* K5 */ be_nested_str_weak(push),
}),
&be_ktab_class_Matter_Expirable_list, /* shared constants */
be_str_weak(push),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0x6008000F, // 0000 GETGBL R2 G15
0x5C0C0200, // 0001 MOVE R3 R1
0xB8120000, // 0002 GETNGBL R4 K0
0x88100901, // 0003 GETMBR R4 R4 K1
0xB8120A00, // 0002 GETNGBL R4 K5
0x88100906, // 0003 GETMBR R4 R4 K6
0x7C080400, // 0004 CALL R2 2
0x740A0000, // 0005 JMPT R2 #0007
0xB0060503, // 0006 RAISE 1 K2 K3
0x8C080304, // 0007 GETMET R2 R1 K4
0xB0060F08, // 0006 RAISE 1 K7 K8
0x8C080309, // 0007 GETMET R2 R1 K9
0x5C100000, // 0008 MOVE R4 R0
0x7C080400, // 0009 CALL R2 2
0x60080003, // 000A GETGBL R2 G3
0x5C0C0000, // 000B MOVE R3 R0
0x7C080200, // 000C CALL R2 1
0x8C080505, // 000D GETMET R2 R2 K5
0x8C08050A, // 000D GETMET R2 R2 K10
0x5C100200, // 000E MOVE R4 R1
0x7C080400, // 000F CALL R2 2
0x80040400, // 0010 RET 1 R2
@ -557,19 +551,17 @@ be_local_closure(class_Matter_Expirable_list_every_second, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(remove_expired),
}),
&be_ktab_class_Matter_Expirable_list, /* shared constants */
be_str_weak(every_second),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C04010B, // 0000 GETMET R1 R0 K11
0x7C040200, // 0001 CALL R1 1
0x80000000, // 0002 RET 0
})
@ -585,42 +577,36 @@ be_local_closure(class_Matter_Expirable_list_remove_expired, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(has_expired),
/* K2 */ be_nested_str_weak(_persist),
/* K3 */ be_nested_str_weak(remove),
/* K4 */ be_const_int(1),
}),
&be_ktab_class_Matter_Expirable_list, /* shared constants */
be_str_weak(remove_expired),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0x50040000, // 0000 LDBOOL R1 0 0
0x58080000, // 0001 LDCONST R2 K0
0x5808000C, // 0001 LDCONST R2 K12
0x600C000C, // 0002 GETGBL R3 G12
0x5C100000, // 0003 MOVE R4 R0
0x7C0C0200, // 0004 CALL R3 1
0x140C0403, // 0005 LT R3 R2 R3
0x780E000D, // 0006 JMPF R3 #0015
0x940C0002, // 0007 GETIDX R3 R0 R2
0x8C0C0701, // 0008 GETMET R3 R3 K1
0x8C0C070D, // 0008 GETMET R3 R3 K13
0x7C0C0200, // 0009 CALL R3 1
0x780E0007, // 000A JMPF R3 #0013
0x940C0002, // 000B GETIDX R3 R0 R2
0x880C0702, // 000C GETMBR R3 R3 K2
0x880C0701, // 000C GETMBR R3 R3 K1
0x780E0000, // 000D JMPF R3 #000F
0x50040200, // 000E LDBOOL R1 1 0
0x8C0C0103, // 000F GETMET R3 R0 K3
0x8C0C0104, // 000F GETMET R3 R0 K4
0x5C140400, // 0010 MOVE R5 R2
0x7C0C0400, // 0011 CALL R3 2
0x70020000, // 0012 JMP #0014
0x00080504, // 0013 ADD R2 R2 K4
0x0008050E, // 0013 ADD R2 R2 K14
0x7001FFEC, // 0014 JMP #0002
0x80040200, // 0015 RET 1 R1
})
@ -636,7 +622,7 @@ be_local_closure(class_Matter_Expirable_list_persistables, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
@ -671,13 +657,11 @@ be_local_closure(class_Matter_Expirable_list_persistables, /* name */
),
}),
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(iter),
}),
&be_ktab_class_Matter_Expirable_list, /* shared constants */
be_str_weak(persistables),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C04010F, // 0000 GETMET R1 R0 K15
0x7C040200, // 0001 CALL R1 1
0x84080000, // 0002 CLOSURE R2 P0
0xA0000000, // 0003 CLOSE R0
@ -695,37 +679,30 @@ be_local_closure(class_Matter_Expirable_list_setitem, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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_weak(matter),
/* K1 */ be_nested_str_weak(Expirable),
/* K2 */ be_nested_str_weak(type_error),
/* K3 */ be_nested_str_weak(argument_X20must_X20be_X20of_X20class_X20_X27Expirable_X27),
/* K4 */ be_nested_str_weak(set_parent_list),
/* K5 */ be_nested_str_weak(setitem),
}),
&be_ktab_class_Matter_Expirable_list, /* shared constants */
be_str_weak(setitem),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x600C000F, // 0000 GETGBL R3 G15
0x5C100400, // 0001 MOVE R4 R2
0xB8160000, // 0002 GETNGBL R5 K0
0x88140B01, // 0003 GETMBR R5 R5 K1
0xB8160A00, // 0002 GETNGBL R5 K5
0x88140B06, // 0003 GETMBR R5 R5 K6
0x7C0C0400, // 0004 CALL R3 2
0x740E0000, // 0005 JMPT R3 #0007
0xB0060503, // 0006 RAISE 1 K2 K3
0x8C0C0504, // 0007 GETMET R3 R2 K4
0xB0060F08, // 0006 RAISE 1 K7 K8
0x8C0C0509, // 0007 GETMET R3 R2 K9
0x5C140000, // 0008 MOVE R5 R0
0x7C0C0400, // 0009 CALL R3 2
0x600C0003, // 000A GETGBL R3 G3
0x5C100000, // 000B MOVE R4 R0
0x7C0C0200, // 000C CALL R3 1
0x8C0C0705, // 000D GETMET R3 R3 K5
0x8C0C0710, // 000D GETMET R3 R3 K16
0x5C140200, // 000E MOVE R5 R1
0x5C180400, // 000F MOVE R6 R2
0x7C0C0600, // 0010 CALL R3 3

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,89 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_MessageHandler' ktab size: 79, total: 110 (saved 248 bytes)
static const bvalue be_ktab_class_Matter_MessageHandler[79] = {
/* K0 */ be_nested_str_weak(device),
/* K1 */ be_nested_str_weak(commissioning),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(Commisioning_Context),
/* K4 */ be_nested_str_weak(im),
/* K5 */ be_nested_str_weak(IM),
/* K6 */ be_nested_str_weak(control_message),
/* K7 */ be_nested_str_weak(Control_Message),
/* K8 */ be_nested_str_weak(_n_bytes),
/* K9 */ be_nested_str_weak(x_flag_r),
/* K10 */ be_nested_str_weak(build_standalone_ack),
/* K11 */ be_nested_str_weak(encode_frame),
/* K12 */ be_nested_str_weak(encrypt),
/* K13 */ be_nested_str_weak(tasmota),
/* K14 */ be_nested_str_weak(loglevel),
/* K15 */ be_nested_str_weak(log),
/* K16 */ be_nested_str_weak(MTR_X3A_X20_X3CAck_X2A_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20ack_X3D_X25i_X20id_X3D_X25i_X20_X25s),
/* K17 */ be_nested_str_weak(session),
/* K18 */ be_nested_str_weak(local_session_id),
/* K19 */ be_nested_str_weak(ack_message_counter),
/* K20 */ be_nested_str_weak(message_counter),
/* K21 */ be_nested_str_weak(_X7Breliable_X7D),
/* K22 */ be_nested_str_weak(),
/* K23 */ be_nested_str_weak(send_response_frame),
/* K24 */ be_nested_str_weak(Frame),
/* K25 */ be_nested_str_weak(decode_header),
/* K26 */ be_nested_str_weak(sec_p),
/* K27 */ be_nested_str_weak(sessions),
/* K28 */ be_nested_str_weak(find_session_source_id_unsecure),
/* K29 */ be_nested_str_weak(source_node_id),
/* K30 */ be_nested_str_weak(process_incoming_control_message),
/* K31 */ be_const_int(0),
/* K32 */ be_nested_str_weak(sec_sesstype),
/* K33 */ be_nested_str_weak(_ip),
/* K34 */ be_nested_str_weak(_port),
/* K35 */ be_nested_str_weak(_message_handler),
/* K36 */ be_nested_str_weak(_counter_insecure_rcv),
/* K37 */ be_nested_str_weak(validate),
/* K38 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20unencrypted_X20message_X20_X3D_X20_X25i_X20ref_X20_X3D_X20_X25i),
/* K39 */ be_nested_str_weak(val),
/* K40 */ be_nested_str_weak(send_simple_ack),
/* K41 */ be_nested_str_weak(decode_payload),
/* K42 */ be_nested_str_weak(received_ack),
/* K43 */ be_nested_str_weak(opcode),
/* K44 */ be_nested_str_weak(get_opcode_name),
/* K45 */ be_nested_str_weak(0x_X2502X),
/* K46 */ be_const_int(3),
/* K47 */ be_nested_str_weak(MTR_X3A_X20_X3EReceived_X20_X20_X28_X256i_X29_X20_X25s_X20from_X20_X5B_X25s_X5D_X3A_X25i),
/* K48 */ be_nested_str_weak(MTR_X3A_X20_X3Ercv_X20Ack_X20_X20_X20_X28_X256i_X29_X20rid_X3D_X25i_X20exch_X3D_X25i_X20ack_X3D_X25s_X20_X25sfrom_X20_X5B_X25s_X5D_X3A_X25i),
/* K49 */ be_nested_str_weak(_X7Breliable_X7D_X20),
/* K50 */ be_nested_str_weak(exchange_id),
/* K51 */ be_nested_str_weak(process_incoming),
/* K52 */ be_nested_str_weak(MTR_X3A_X20decode_X20header_X3A_X20local_session_id_X3D_X25i_X20message_counter_X3D_X25i),
/* K53 */ be_nested_str_weak(get_session_by_local_session_id),
/* K54 */ be_nested_str_weak(MTR_X3A_X20unknown_X20local_session_id_X3D),
/* K55 */ be_nested_str_weak(counter_rcv_validate),
/* K56 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20encrypted_X20message_X20_X3D_X20),
/* K57 */ be_nested_str_weak(_X20counter_X3D),
/* K58 */ be_nested_str_weak(counter_rcv),
/* K59 */ be_nested_str_weak(send_encrypted_ack),
/* K60 */ be_nested_str_weak(decrypt),
/* K61 */ be_nested_str_weak(MTR_X3A_X20_X3E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Decrypted_X20message_X3A_X20protocol_id_X3A),
/* K62 */ be_nested_str_weak(protocol_id),
/* K63 */ be_nested_str_weak(_X20opcode_X3D),
/* K64 */ be_nested_str_weak(_X20exchange_id_X3D),
/* K65 */ be_nested_str_weak(process_incoming_ack),
/* K66 */ be_nested_str_weak(send_enqueued),
/* K67 */ be_const_int(1),
/* K68 */ be_nested_str_weak(MTR_X3A_X20ignoring_X20unhandled_X20protocol_id_X3A),
/* K69 */ be_nested_str_weak(MTR_X3A_X20MessageHandler_X3A_X3Amsg_received_X20exception_X3A_X20),
/* K70 */ be_nested_str_weak(_X3B),
/* K71 */ be_const_int(2),
/* K72 */ be_nested_str_weak(_debug_present),
/* K73 */ be_nested_str_weak(debug),
/* K74 */ be_nested_str_weak(traceback),
/* K75 */ be_nested_str_weak(msg_send),
/* K76 */ be_nested_str_weak(MTR_X3A_X20_X3CAck_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20ack_X3D_X25i_X20id_X3D_X25i_X20_X25s),
/* K77 */ be_nested_str_weak(every_50ms),
/* K78 */ be_nested_str_weak(every_second),
};
extern const bclass be_class_Matter_MessageHandler;
@ -13,23 +96,13 @@ be_local_closure(class_Matter_MessageHandler_init, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(device),
/* K1 */ be_nested_str_weak(commissioning),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(Commisioning_Context),
/* K4 */ be_nested_str_weak(im),
/* K5 */ be_nested_str_weak(IM),
/* K6 */ be_nested_str_weak(control_message),
/* K7 */ be_nested_str_weak(Control_Message),
/* K8 */ be_nested_str_weak(_n_bytes),
}),
&be_ktab_class_Matter_MessageHandler, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
@ -67,61 +140,45 @@ be_local_closure(class_Matter_MessageHandler_send_encrypted_ack, /* name */
be_nested_proto(
11, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(x_flag_r),
/* K1 */ be_nested_str_weak(build_standalone_ack),
/* K2 */ be_nested_str_weak(encode_frame),
/* K3 */ be_nested_str_weak(encrypt),
/* K4 */ be_nested_str_weak(tasmota),
/* K5 */ be_nested_str_weak(loglevel),
/* K6 */ be_nested_str_weak(log),
/* K7 */ be_nested_str_weak(MTR_X3A_X20_X3CAck_X2A_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20ack_X3D_X25i_X20id_X3D_X25i_X20_X25s),
/* K8 */ be_nested_str_weak(session),
/* K9 */ be_nested_str_weak(local_session_id),
/* K10 */ be_nested_str_weak(ack_message_counter),
/* K11 */ be_nested_str_weak(message_counter),
/* K12 */ be_nested_str_weak(_X7Breliable_X7D),
/* K13 */ be_nested_str_weak(),
/* K14 */ be_nested_str_weak(send_response_frame),
}),
&be_ktab_class_Matter_MessageHandler, /* shared constants */
be_str_weak(send_encrypted_ack),
&be_const_str_solidified,
( &(const binstruction[32]) { /* code */
0x880C0300, // 0000 GETMBR R3 R1 K0
0x880C0309, // 0000 GETMBR R3 R1 K9
0x780E001C, // 0001 JMPF R3 #001F
0x8C0C0301, // 0002 GETMET R3 R1 K1
0x8C0C030A, // 0002 GETMET R3 R1 K10
0x5C140400, // 0003 MOVE R5 R2
0x7C0C0400, // 0004 CALL R3 2
0x8C100702, // 0005 GETMET R4 R3 K2
0x8C10070B, // 0005 GETMET R4 R3 K11
0x7C100200, // 0006 CALL R4 1
0x8C100703, // 0007 GETMET R4 R3 K3
0x8C10070C, // 0007 GETMET R4 R3 K12
0x7C100200, // 0008 CALL R4 1
0xB8120800, // 0009 GETNGBL R4 K4
0x8C100905, // 000A GETMET R4 R4 K5
0xB8121A00, // 0009 GETNGBL R4 K13
0x8C10090E, // 000A GETMET R4 R4 K14
0x541A0003, // 000B LDINT R6 4
0x7C100400, // 000C CALL R4 2
0x7812000D, // 000D JMPF R4 #001C
0xB8120C00, // 000E GETNGBL R4 K6
0xB8121E00, // 000E GETNGBL R4 K15
0x60140018, // 000F GETGBL R5 G24
0x58180007, // 0010 LDCONST R6 K7
0x881C0708, // 0011 GETMBR R7 R3 K8
0x881C0F09, // 0012 GETMBR R7 R7 K9
0x8820070A, // 0013 GETMBR R8 R3 K10
0x8824070B, // 0014 GETMBR R9 R3 K11
0x58180010, // 0010 LDCONST R6 K16
0x881C0711, // 0011 GETMBR R7 R3 K17
0x881C0F12, // 0012 GETMBR R7 R7 K18
0x88200713, // 0013 GETMBR R8 R3 K19
0x88240714, // 0014 GETMBR R9 R3 K20
0x780A0001, // 0015 JMPF R2 #0018
0x5828000C, // 0016 LDCONST R10 K12
0x58280015, // 0016 LDCONST R10 K21
0x70020000, // 0017 JMP #0019
0x5828000D, // 0018 LDCONST R10 K13
0x58280016, // 0018 LDCONST R10 K22
0x7C140A00, // 0019 CALL R5 5
0x541A0003, // 001A LDINT R6 4
0x7C100400, // 001B CALL R4 2
0x8C10010E, // 001C GETMET R4 R0 K14
0x8C100117, // 001C GETMET R4 R0 K23
0x5C180600, // 001D MOVE R6 R3
0x7C100400, // 001E CALL R4 2
0x80000000, // 001F RET 0
@ -138,232 +195,166 @@ be_local_closure(class_Matter_MessageHandler_msg_received, /* name */
be_nested_proto(
18, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[65]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(Frame),
/* K2 */ be_nested_str_weak(decode_header),
/* K3 */ be_nested_str_weak(sec_p),
/* K4 */ be_nested_str_weak(device),
/* K5 */ be_nested_str_weak(sessions),
/* K6 */ be_nested_str_weak(find_session_source_id_unsecure),
/* K7 */ be_nested_str_weak(source_node_id),
/* K8 */ be_nested_str_weak(control_message),
/* K9 */ be_nested_str_weak(process_incoming_control_message),
/* K10 */ be_nested_str_weak(local_session_id),
/* K11 */ be_const_int(0),
/* K12 */ be_nested_str_weak(sec_sesstype),
/* K13 */ be_nested_str_weak(_ip),
/* K14 */ be_nested_str_weak(_port),
/* K15 */ be_nested_str_weak(_message_handler),
/* K16 */ be_nested_str_weak(session),
/* K17 */ be_nested_str_weak(_counter_insecure_rcv),
/* K18 */ be_nested_str_weak(validate),
/* K19 */ be_nested_str_weak(message_counter),
/* K20 */ be_nested_str_weak(tasmota),
/* K21 */ be_nested_str_weak(loglevel),
/* K22 */ be_nested_str_weak(log),
/* K23 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20unencrypted_X20message_X20_X3D_X20_X25i_X20ref_X20_X3D_X20_X25i),
/* K24 */ be_nested_str_weak(val),
/* K25 */ be_nested_str_weak(send_simple_ack),
/* K26 */ be_nested_str_weak(decode_payload),
/* K27 */ be_nested_str_weak(received_ack),
/* K28 */ be_nested_str_weak(opcode),
/* K29 */ be_nested_str_weak(get_opcode_name),
/* K30 */ be_nested_str_weak(0x_X2502X),
/* K31 */ be_const_int(3),
/* K32 */ be_nested_str_weak(MTR_X3A_X20_X3EReceived_X20_X20_X28_X256i_X29_X20_X25s_X20from_X20_X5B_X25s_X5D_X3A_X25i),
/* K33 */ be_nested_str_weak(MTR_X3A_X20_X3Ercv_X20Ack_X20_X20_X20_X28_X256i_X29_X20rid_X3D_X25i_X20exch_X3D_X25i_X20ack_X3D_X25s_X20_X25sfrom_X20_X5B_X25s_X5D_X3A_X25i),
/* K34 */ be_nested_str_weak(x_flag_r),
/* K35 */ be_nested_str_weak(_X7Breliable_X7D_X20),
/* K36 */ be_nested_str_weak(),
/* K37 */ be_nested_str_weak(exchange_id),
/* K38 */ be_nested_str_weak(ack_message_counter),
/* K39 */ be_nested_str_weak(commissioning),
/* K40 */ be_nested_str_weak(process_incoming),
/* K41 */ be_nested_str_weak(MTR_X3A_X20decode_X20header_X3A_X20local_session_id_X3D_X25i_X20message_counter_X3D_X25i),
/* K42 */ be_nested_str_weak(get_session_by_local_session_id),
/* K43 */ be_nested_str_weak(MTR_X3A_X20unknown_X20local_session_id_X3D),
/* K44 */ be_nested_str_weak(counter_rcv_validate),
/* K45 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20encrypted_X20message_X20_X3D_X20),
/* K46 */ be_nested_str_weak(_X20counter_X3D),
/* K47 */ be_nested_str_weak(counter_rcv),
/* K48 */ be_nested_str_weak(send_encrypted_ack),
/* K49 */ be_nested_str_weak(decrypt),
/* K50 */ be_nested_str_weak(MTR_X3A_X20_X3E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Decrypted_X20message_X3A_X20protocol_id_X3A),
/* K51 */ be_nested_str_weak(protocol_id),
/* K52 */ be_nested_str_weak(_X20opcode_X3D),
/* K53 */ be_nested_str_weak(_X20exchange_id_X3D),
/* K54 */ be_nested_str_weak(im),
/* K55 */ be_nested_str_weak(process_incoming_ack),
/* K56 */ be_nested_str_weak(send_enqueued),
/* K57 */ be_const_int(1),
/* K58 */ be_nested_str_weak(MTR_X3A_X20ignoring_X20unhandled_X20protocol_id_X3A),
/* K59 */ be_nested_str_weak(MTR_X3A_X20MessageHandler_X3A_X3Amsg_received_X20exception_X3A_X20),
/* K60 */ be_nested_str_weak(_X3B),
/* K61 */ be_const_int(2),
/* K62 */ be_nested_str_weak(_debug_present),
/* K63 */ be_nested_str_weak(debug),
/* K64 */ be_nested_str_weak(traceback),
}),
&be_ktab_class_Matter_MessageHandler, /* shared constants */
be_str_weak(msg_received),
&be_const_str_solidified,
( &(const binstruction[334]) { /* code */
0x50100000, // 0000 LDBOOL R4 0 0
0xA8020132, // 0001 EXBLK 0 #0135
0xB8160000, // 0002 GETNGBL R5 K0
0x8C140B01, // 0003 GETMET R5 R5 K1
0xB8160400, // 0002 GETNGBL R5 K2
0x8C140B18, // 0003 GETMET R5 R5 K24
0x5C1C0000, // 0004 MOVE R7 R0
0x5C200200, // 0005 MOVE R8 R1
0x5C240400, // 0006 MOVE R9 R2
0x5C280600, // 0007 MOVE R10 R3
0x7C140A00, // 0008 CALL R5 5
0x8C180B02, // 0009 GETMET R6 R5 K2
0x8C180B19, // 0009 GETMET R6 R5 K25
0x7C180200, // 000A CALL R6 1
0x5C1C0C00, // 000B MOVE R7 R6
0x741E0002, // 000C JMPT R7 #0010
0x501C0000, // 000D LDBOOL R7 0 0
0xA8040001, // 000E EXBLK 1 1
0x80040E00, // 000F RET 1 R7
0x881C0B03, // 0010 GETMBR R7 R5 K3
0x881C0B1A, // 0010 GETMBR R7 R5 K26
0x781E000C, // 0011 JMPF R7 #001F
0x881C0104, // 0012 GETMBR R7 R0 K4
0x881C0F05, // 0013 GETMBR R7 R7 K5
0x8C1C0F06, // 0014 GETMET R7 R7 K6
0x88240B07, // 0015 GETMBR R9 R5 K7
0x881C0100, // 0012 GETMBR R7 R0 K0
0x881C0F1B, // 0013 GETMBR R7 R7 K27
0x8C1C0F1C, // 0014 GETMET R7 R7 K28
0x88240B1D, // 0015 GETMBR R9 R5 K29
0x542A0059, // 0016 LDINT R10 90
0x7C1C0600, // 0017 CALL R7 3
0x88200108, // 0018 GETMBR R8 R0 K8
0x8C201109, // 0019 GETMET R8 R8 K9
0x88200106, // 0018 GETMBR R8 R0 K6
0x8C20111E, // 0019 GETMET R8 R8 K30
0x5C280A00, // 001A MOVE R10 R5
0x7C200400, // 001B CALL R8 2
0xA8040001, // 001C EXBLK 1 1
0x80041000, // 001D RET 1 R8
0x70020111, // 001E JMP #0131
0x881C0B0A, // 001F GETMBR R7 R5 K10
0x1C1C0F0B, // 0020 EQ R7 R7 K11
0x881C0B12, // 001F GETMBR R7 R5 K18
0x1C1C0F1F, // 0020 EQ R7 R7 K31
0x781E007A, // 0021 JMPF R7 #009D
0x881C0B0C, // 0022 GETMBR R7 R5 K12
0x1C1C0F0B, // 0023 EQ R7 R7 K11
0x881C0B20, // 0022 GETMBR R7 R5 K32
0x1C1C0F1F, // 0023 EQ R7 R7 K31
0x781E0077, // 0024 JMPF R7 #009D
0x881C0104, // 0025 GETMBR R7 R0 K4
0x881C0F05, // 0026 GETMBR R7 R7 K5
0x8C1C0F06, // 0027 GETMET R7 R7 K6
0x88240B07, // 0028 GETMBR R9 R5 K7
0x881C0100, // 0025 GETMBR R7 R0 K0
0x881C0F1B, // 0026 GETMBR R7 R7 K27
0x8C1C0F1C, // 0027 GETMET R7 R7 K28
0x88240B1D, // 0028 GETMBR R9 R5 K29
0x542A0059, // 0029 LDINT R10 90
0x7C1C0600, // 002A CALL R7 3
0x780A0000, // 002B JMPF R2 #002D
0x901E1A02, // 002C SETMBR R7 K13 R2
0x901E4202, // 002C SETMBR R7 K33 R2
0x780E0000, // 002D JMPF R3 #002F
0x901E1C03, // 002E SETMBR R7 K14 R3
0x901E1E00, // 002F SETMBR R7 K15 R0
0x90162007, // 0030 SETMBR R5 K16 R7
0x88200F11, // 0031 GETMBR R8 R7 K17
0x8C201112, // 0032 GETMET R8 R8 K18
0x88280B13, // 0033 GETMBR R10 R5 K19
0x901E4403, // 002E SETMBR R7 K34 R3
0x901E4600, // 002F SETMBR R7 K35 R0
0x90162207, // 0030 SETMBR R5 K17 R7
0x88200F24, // 0031 GETMBR R8 R7 K36
0x8C201125, // 0032 GETMET R8 R8 K37
0x88280B14, // 0033 GETMBR R10 R5 K20
0x502C0000, // 0034 LDBOOL R11 0 0
0x7C200600, // 0035 CALL R8 3
0x74220015, // 0036 JMPT R8 #004D
0xB8222800, // 0037 GETNGBL R8 K20
0x8C201115, // 0038 GETMET R8 R8 K21
0xB8221A00, // 0037 GETNGBL R8 K13
0x8C20110E, // 0038 GETMET R8 R8 K14
0x542A0003, // 0039 LDINT R10 4
0x7C200400, // 003A CALL R8 2
0x78220009, // 003B JMPF R8 #0046
0xB8222C00, // 003C GETNGBL R8 K22
0xB8221E00, // 003C GETNGBL R8 K15
0x60240018, // 003D GETGBL R9 G24
0x58280017, // 003E LDCONST R10 K23
0x882C0B13, // 003F GETMBR R11 R5 K19
0x88300F11, // 0040 GETMBR R12 R7 K17
0x8C301918, // 0041 GETMET R12 R12 K24
0x58280026, // 003E LDCONST R10 K38
0x882C0B14, // 003F GETMBR R11 R5 K20
0x88300F24, // 0040 GETMBR R12 R7 K36
0x8C301927, // 0041 GETMET R12 R12 K39
0x7C300200, // 0042 CALL R12 1
0x7C240600, // 0043 CALL R9 3
0x542A0003, // 0044 LDINT R10 4
0x7C200400, // 0045 CALL R8 2
0x8C200119, // 0046 GETMET R8 R0 K25
0x8C200128, // 0046 GETMET R8 R0 K40
0x5C280A00, // 0047 MOVE R10 R5
0x502C0000, // 0048 LDBOOL R11 0 0
0x7C200600, // 0049 CALL R8 3
0x50200000, // 004A LDBOOL R8 0 0
0xA8040001, // 004B EXBLK 1 1
0x80041000, // 004C RET 1 R8
0x8C200B1A, // 004D GETMET R8 R5 K26
0x8C200B29, // 004D GETMET R8 R5 K41
0x7C200200, // 004E CALL R8 1
0x74220002, // 004F JMPT R8 #0053
0x50200000, // 0050 LDBOOL R8 0 0
0xA8040001, // 0051 EXBLK 1 1
0x80041000, // 0052 RET 1 R8
0x88200104, // 0053 GETMBR R8 R0 K4
0x8C20111B, // 0054 GETMET R8 R8 K27
0x88200100, // 0053 GETMBR R8 R0 K0
0x8C20112A, // 0054 GETMET R8 R8 K42
0x5C280A00, // 0055 MOVE R10 R5
0x7C200400, // 0056 CALL R8 2
0x88200B1C, // 0057 GETMBR R8 R5 K28
0x88200B2B, // 0057 GETMBR R8 R5 K43
0x5426000F, // 0058 LDINT R9 16
0x20201009, // 0059 NE R8 R8 R9
0x7822001A, // 005A JMPF R8 #0076
0xB8220000, // 005B GETNGBL R8 K0
0x8C20111D, // 005C GETMET R8 R8 K29
0x88280B1C, // 005D GETMBR R10 R5 K28
0xB8220400, // 005B GETNGBL R8 K2
0x8C20112C, // 005C GETMET R8 R8 K44
0x88280B2B, // 005D GETMBR R10 R5 K43
0x7C200400, // 005E CALL R8 2
0x5C241000, // 005F MOVE R9 R8
0x74260004, // 0060 JMPT R9 #0066
0x60240018, // 0061 GETGBL R9 G24
0x5828001E, // 0062 LDCONST R10 K30
0x882C0B1C, // 0063 GETMBR R11 R5 K28
0x5828002D, // 0062 LDCONST R10 K45
0x882C0B2B, // 0063 GETMBR R11 R5 K43
0x7C240400, // 0064 CALL R9 2
0x5C201200, // 0065 MOVE R8 R9
0xB8262800, // 0066 GETNGBL R9 K20
0x8C241315, // 0067 GETMET R9 R9 K21
0x582C001F, // 0068 LDCONST R11 K31
0xB8261A00, // 0066 GETNGBL R9 K13
0x8C24130E, // 0067 GETMET R9 R9 K14
0x582C002E, // 0068 LDCONST R11 K46
0x7C240400, // 0069 CALL R9 2
0x78260009, // 006A JMPF R9 #0075
0xB8262C00, // 006B GETNGBL R9 K22
0xB8261E00, // 006B GETNGBL R9 K15
0x60280018, // 006C GETGBL R10 G24
0x582C0020, // 006D LDCONST R11 K32
0x88300F0A, // 006E GETMBR R12 R7 K10
0x582C002F, // 006D LDCONST R11 K47
0x88300F12, // 006E GETMBR R12 R7 K18
0x5C341000, // 006F MOVE R13 R8
0x5C380400, // 0070 MOVE R14 R2
0x5C3C0600, // 0071 MOVE R15 R3
0x7C280A00, // 0072 CALL R10 5
0x582C001F, // 0073 LDCONST R11 K31
0x582C002E, // 0073 LDCONST R11 K46
0x7C240400, // 0074 CALL R9 2
0x70020017, // 0075 JMP #008E
0xB8222800, // 0076 GETNGBL R8 K20
0x8C201115, // 0077 GETMET R8 R8 K21
0xB8221A00, // 0076 GETNGBL R8 K13
0x8C20110E, // 0077 GETMET R8 R8 K14
0x542A0003, // 0078 LDINT R10 4
0x7C200400, // 0079 CALL R8 2
0x78220012, // 007A JMPF R8 #008E
0xB8222C00, // 007B GETNGBL R8 K22
0xB8221E00, // 007B GETNGBL R8 K15
0x60240018, // 007C GETGBL R9 G24
0x58280021, // 007D LDCONST R10 K33
0x882C0F0A, // 007E GETMBR R11 R7 K10
0x88300B13, // 007F GETMBR R12 R5 K19
0x88340B22, // 0080 GETMBR R13 R5 K34
0x58280030, // 007D LDCONST R10 K48
0x882C0F12, // 007E GETMBR R11 R7 K18
0x88300B14, // 007F GETMBR R12 R5 K20
0x88340B09, // 0080 GETMBR R13 R5 K9
0x78360001, // 0081 JMPF R13 #0084
0x58340023, // 0082 LDCONST R13 K35
0x58340031, // 0082 LDCONST R13 K49
0x70020000, // 0083 JMP #0085
0x58340024, // 0084 LDCONST R13 K36
0x88380B25, // 0085 GETMBR R14 R5 K37
0x58340016, // 0084 LDCONST R13 K22
0x88380B32, // 0085 GETMBR R14 R5 K50
0x603C0008, // 0086 GETGBL R15 G8
0x88400B26, // 0087 GETMBR R16 R5 K38
0x88400B13, // 0087 GETMBR R16 R5 K19
0x7C3C0200, // 0088 CALL R15 1
0x5C400400, // 0089 MOVE R16 R2
0x5C440600, // 008A MOVE R17 R3
0x7C241000, // 008B CALL R9 8
0x542A0003, // 008C LDINT R10 4
0x7C200400, // 008D CALL R8 2
0x88200127, // 008E GETMBR R8 R0 K39
0x8C201128, // 008F GETMET R8 R8 K40
0x88200101, // 008E GETMBR R8 R0 K1
0x8C201133, // 008F GETMET R8 R8 K51
0x5C280A00, // 0090 MOVE R10 R5
0x7C200400, // 0091 CALL R8 2
0x5C101000, // 0092 MOVE R4 R8
0x5C200800, // 0093 MOVE R8 R4
0x74220003, // 0094 JMPT R8 #0099
0x8C200119, // 0095 GETMET R8 R0 K25
0x8C200128, // 0095 GETMET R8 R0 K40
0x5C280A00, // 0096 MOVE R10 R5
0x502C0000, // 0097 LDBOOL R11 0 0
0x7C200600, // 0098 CALL R8 3
@ -371,153 +362,153 @@ be_local_closure(class_Matter_MessageHandler_msg_received, /* name */
0xA8040001, // 009A EXBLK 1 1
0x80041000, // 009B RET 1 R8
0x70020093, // 009C JMP #0131
0xB81E2800, // 009D GETNGBL R7 K20
0x8C1C0F15, // 009E GETMET R7 R7 K21
0xB81E1A00, // 009D GETNGBL R7 K13
0x8C1C0F0E, // 009E GETMET R7 R7 K14
0x54260003, // 009F LDINT R9 4
0x7C1C0400, // 00A0 CALL R7 2
0x781E0007, // 00A1 JMPF R7 #00AA
0xB81E2C00, // 00A2 GETNGBL R7 K22
0xB81E1E00, // 00A2 GETNGBL R7 K15
0x60200018, // 00A3 GETGBL R8 G24
0x58240029, // 00A4 LDCONST R9 K41
0x88280B0A, // 00A5 GETMBR R10 R5 K10
0x882C0B13, // 00A6 GETMBR R11 R5 K19
0x58240034, // 00A4 LDCONST R9 K52
0x88280B12, // 00A5 GETMBR R10 R5 K18
0x882C0B14, // 00A6 GETMBR R11 R5 K20
0x7C200600, // 00A7 CALL R8 3
0x54260003, // 00A8 LDINT R9 4
0x7C1C0400, // 00A9 CALL R7 2
0x881C0104, // 00AA GETMBR R7 R0 K4
0x881C0F05, // 00AB GETMBR R7 R7 K5
0x8C1C0F2A, // 00AC GETMET R7 R7 K42
0x88240B0A, // 00AD GETMBR R9 R5 K10
0x881C0100, // 00AA GETMBR R7 R0 K0
0x881C0F1B, // 00AB GETMBR R7 R7 K27
0x8C1C0F35, // 00AC GETMET R7 R7 K53
0x88240B12, // 00AD GETMBR R9 R5 K18
0x7C1C0400, // 00AE CALL R7 2
0x4C200000, // 00AF LDNIL R8
0x1C200E08, // 00B0 EQ R8 R7 R8
0x78220009, // 00B1 JMPF R8 #00BC
0xB8222C00, // 00B2 GETNGBL R8 K22
0xB8221E00, // 00B2 GETNGBL R8 K15
0x60240008, // 00B3 GETGBL R9 G8
0x88280B0A, // 00B4 GETMBR R10 R5 K10
0x88280B12, // 00B4 GETMBR R10 R5 K18
0x7C240200, // 00B5 CALL R9 1
0x00265609, // 00B6 ADD R9 K43 R9
0x5828001F, // 00B7 LDCONST R10 K31
0x00266C09, // 00B6 ADD R9 K54 R9
0x5828002E, // 00B7 LDCONST R10 K46
0x7C200400, // 00B8 CALL R8 2
0x50200000, // 00B9 LDBOOL R8 0 0
0xA8040001, // 00BA EXBLK 1 1
0x80041000, // 00BB RET 1 R8
0x780A0000, // 00BC JMPF R2 #00BE
0x901E1A02, // 00BD SETMBR R7 K13 R2
0x901E4202, // 00BD SETMBR R7 K33 R2
0x780E0000, // 00BE JMPF R3 #00C0
0x901E1C03, // 00BF SETMBR R7 K14 R3
0x901E1E00, // 00C0 SETMBR R7 K15 R0
0x90162007, // 00C1 SETMBR R5 K16 R7
0x8C200F2C, // 00C2 GETMET R8 R7 K44
0x88280B13, // 00C3 GETMBR R10 R5 K19
0x901E4403, // 00BF SETMBR R7 K34 R3
0x901E4600, // 00C0 SETMBR R7 K35 R0
0x90162207, // 00C1 SETMBR R5 K17 R7
0x8C200F37, // 00C2 GETMET R8 R7 K55
0x88280B14, // 00C3 GETMBR R10 R5 K20
0x502C0200, // 00C4 LDBOOL R11 1 0
0x7C200600, // 00C5 CALL R8 3
0x74220017, // 00C6 JMPT R8 #00DF
0xB8222800, // 00C7 GETNGBL R8 K20
0x8C201115, // 00C8 GETMET R8 R8 K21
0x5828001F, // 00C9 LDCONST R10 K31
0xB8221A00, // 00C7 GETNGBL R8 K13
0x8C20110E, // 00C8 GETMET R8 R8 K14
0x5828002E, // 00C9 LDCONST R10 K46
0x7C200400, // 00CA CALL R8 2
0x7822000B, // 00CB JMPF R8 #00D8
0xB8222C00, // 00CC GETNGBL R8 K22
0xB8221E00, // 00CC GETNGBL R8 K15
0x60240008, // 00CD GETGBL R9 G8
0x88280B13, // 00CE GETMBR R10 R5 K19
0x88280B14, // 00CE GETMBR R10 R5 K20
0x7C240200, // 00CF CALL R9 1
0x00265A09, // 00D0 ADD R9 K45 R9
0x0024132E, // 00D1 ADD R9 R9 K46
0x00267009, // 00D0 ADD R9 K56 R9
0x00241339, // 00D1 ADD R9 R9 K57
0x60280008, // 00D2 GETGBL R10 G8
0x882C0F2F, // 00D3 GETMBR R11 R7 K47
0x882C0F3A, // 00D3 GETMBR R11 R7 K58
0x7C280200, // 00D4 CALL R10 1
0x0024120A, // 00D5 ADD R9 R9 R10
0x5828001F, // 00D6 LDCONST R10 K31
0x5828002E, // 00D6 LDCONST R10 K46
0x7C200400, // 00D7 CALL R8 2
0x8C200130, // 00D8 GETMET R8 R0 K48
0x8C20013B, // 00D8 GETMET R8 R0 K59
0x5C280A00, // 00D9 MOVE R10 R5
0x502C0000, // 00DA LDBOOL R11 0 0
0x7C200600, // 00DB CALL R8 3
0x50200000, // 00DC LDBOOL R8 0 0
0xA8040001, // 00DD EXBLK 1 1
0x80041000, // 00DE RET 1 R8
0x8C200B31, // 00DF GETMET R8 R5 K49
0x8C200B3C, // 00DF GETMET R8 R5 K60
0x7C200200, // 00E0 CALL R8 1
0x5C241000, // 00E1 MOVE R9 R8
0x74260002, // 00E2 JMPT R9 #00E6
0x50240000, // 00E3 LDBOOL R9 0 0
0xA8040001, // 00E4 EXBLK 1 1
0x80041200, // 00E5 RET 1 R9
0x8C240B1A, // 00E6 GETMET R9 R5 K26
0x8C240B29, // 00E6 GETMET R9 R5 K41
0x7C240200, // 00E7 CALL R9 1
0xB8262800, // 00E8 GETNGBL R9 K20
0x8C241315, // 00E9 GETMET R9 R9 K21
0xB8261A00, // 00E8 GETNGBL R9 K13
0x8C24130E, // 00E9 GETMET R9 R9 K14
0x542E0003, // 00EA LDINT R11 4
0x7C240400, // 00EB CALL R9 2
0x78260012, // 00EC JMPF R9 #0100
0xB8262C00, // 00ED GETNGBL R9 K22
0xB8261E00, // 00ED GETNGBL R9 K15
0x60280008, // 00EE GETGBL R10 G8
0x882C0B33, // 00EF GETMBR R11 R5 K51
0x882C0B3E, // 00EF GETMBR R11 R5 K62
0x7C280200, // 00F0 CALL R10 1
0x002A640A, // 00F1 ADD R10 K50 R10
0x00281534, // 00F2 ADD R10 R10 K52
0x002A7A0A, // 00F1 ADD R10 K61 R10
0x0028153F, // 00F2 ADD R10 R10 K63
0x602C0008, // 00F3 GETGBL R11 G8
0x88300B1C, // 00F4 GETMBR R12 R5 K28
0x88300B2B, // 00F4 GETMBR R12 R5 K43
0x7C2C0200, // 00F5 CALL R11 1
0x0028140B, // 00F6 ADD R10 R10 R11
0x00281535, // 00F7 ADD R10 R10 K53
0x00281540, // 00F7 ADD R10 R10 K64
0x602C0008, // 00F8 GETGBL R11 G8
0x88300B25, // 00F9 GETMBR R12 R5 K37
0x88300B32, // 00F9 GETMBR R12 R5 K50
0x5436FFFE, // 00FA LDINT R13 65535
0x2C30180D, // 00FB AND R12 R12 R13
0x7C2C0200, // 00FC CALL R11 1
0x0028140B, // 00FD ADD R10 R10 R11
0x542E0003, // 00FE LDINT R11 4
0x7C240400, // 00FF CALL R9 2
0x88240104, // 0100 GETMBR R9 R0 K4
0x8C24131B, // 0101 GETMET R9 R9 K27
0x88240100, // 0100 GETMBR R9 R0 K0
0x8C24132A, // 0101 GETMET R9 R9 K42
0x5C2C0A00, // 0102 MOVE R11 R5
0x7C240400, // 0103 CALL R9 2
0x88240B33, // 0104 GETMBR R9 R5 K51
0x1C28130B, // 0105 EQ R10 R9 K11
0x88240B3E, // 0104 GETMBR R9 R5 K62
0x1C28131F, // 0105 EQ R10 R9 K31
0x782A000F, // 0106 JMPF R10 #0117
0x88280B1C, // 0107 GETMBR R10 R5 K28
0x88280B2B, // 0107 GETMBR R10 R5 K43
0x542E000F, // 0108 LDINT R11 16
0x1C28140B, // 0109 EQ R10 R10 R11
0x782A0009, // 010A JMPF R10 #0115
0x88280136, // 010B GETMBR R10 R0 K54
0x8C281537, // 010C GETMET R10 R10 K55
0x88280104, // 010B GETMBR R10 R0 K4
0x8C281541, // 010C GETMET R10 R10 K65
0x5C300A00, // 010D MOVE R12 R5
0x7C280400, // 010E CALL R10 2
0x5C101400, // 010F MOVE R4 R10
0x78120003, // 0110 JMPF R4 #0115
0x88280136, // 0111 GETMBR R10 R0 K54
0x8C281538, // 0112 GETMET R10 R10 K56
0x88280104, // 0111 GETMBR R10 R0 K4
0x8C281542, // 0112 GETMET R10 R10 K66
0x5C300000, // 0113 MOVE R12 R0
0x7C280400, // 0114 CALL R10 2
0x50100200, // 0115 LDBOOL R4 1 0
0x70020019, // 0116 JMP #0131
0x1C281339, // 0117 EQ R10 R9 K57
0x1C281343, // 0117 EQ R10 R9 K67
0x782A0010, // 0118 JMPF R10 #012A
0x88280136, // 0119 GETMBR R10 R0 K54
0x8C281528, // 011A GETMET R10 R10 K40
0x88280104, // 0119 GETMBR R10 R0 K4
0x8C281533, // 011A GETMET R10 R10 K51
0x5C300A00, // 011B MOVE R12 R5
0x7C280400, // 011C CALL R10 2
0x5C101400, // 011D MOVE R4 R10
0x78120004, // 011E JMPF R4 #0124
0x88280136, // 011F GETMBR R10 R0 K54
0x8C281538, // 0120 GETMET R10 R10 K56
0x88280104, // 011F GETMBR R10 R0 K4
0x8C281542, // 0120 GETMET R10 R10 K66
0x5C300000, // 0121 MOVE R12 R0
0x7C280400, // 0122 CALL R10 2
0x70020003, // 0123 JMP #0128
0x8C280130, // 0124 GETMET R10 R0 K48
0x8C28013B, // 0124 GETMET R10 R0 K59
0x5C300A00, // 0125 MOVE R12 R5
0x50340200, // 0126 LDBOOL R13 1 0
0x7C280600, // 0127 CALL R10 3
0x50100200, // 0128 LDBOOL R4 1 0
0x70020006, // 0129 JMP #0131
0xB82A2C00, // 012A GETNGBL R10 K22
0xB82A1E00, // 012A GETNGBL R10 K15
0x602C0008, // 012B GETGBL R11 G8
0x5C301200, // 012C MOVE R12 R9
0x7C2C0200, // 012D CALL R11 1
0x002E740B, // 012E ADD R11 K58 R11
0x5830001F, // 012F LDCONST R12 K31
0x002E880B, // 012E ADD R11 K68 R11
0x5830002E, // 012F LDCONST R12 K46
0x7C280400, // 0130 CALL R10 2
0xA8040001, // 0131 EXBLK 1 1
0x80040800, // 0132 RET 1 R4
@ -525,23 +516,23 @@ be_local_closure(class_Matter_MessageHandler_msg_received, /* name */
0x70020017, // 0134 JMP #014D
0xAC140002, // 0135 CATCH R5 0 2
0x70020014, // 0136 JMP #014C
0xB81E2C00, // 0137 GETNGBL R7 K22
0xB81E1E00, // 0137 GETNGBL R7 K15
0x60200008, // 0138 GETGBL R8 G8
0x5C240A00, // 0139 MOVE R9 R5
0x7C200200, // 013A CALL R8 1
0x00227608, // 013B ADD R8 K59 R8
0x0020113C, // 013C ADD R8 R8 K60
0x00228A08, // 013B ADD R8 K69 R8
0x00201146, // 013C ADD R8 R8 K70
0x60240008, // 013D GETGBL R9 G8
0x5C280C00, // 013E MOVE R10 R6
0x7C240200, // 013F CALL R9 1
0x00201009, // 0140 ADD R8 R8 R9
0x5824003D, // 0141 LDCONST R9 K61
0x58240047, // 0141 LDCONST R9 K71
0x7C1C0400, // 0142 CALL R7 2
0xB81E2800, // 0143 GETNGBL R7 K20
0x881C0F3E, // 0144 GETMBR R7 R7 K62
0xB81E1A00, // 0143 GETNGBL R7 K13
0x881C0F48, // 0144 GETMBR R7 R7 K72
0x781E0002, // 0145 JMPF R7 #0149
0xA41E7E00, // 0146 IMPORT R7 K63
0x8C200F40, // 0147 GETMET R8 R7 K64
0xA41E9200, // 0146 IMPORT R7 K73
0x8C200F4A, // 0147 GETMET R8 R7 K74
0x7C200200, // 0148 CALL R8 1
0x501C0000, // 0149 LDBOOL R7 0 0
0x80040E00, // 014A RET 1 R7
@ -561,21 +552,18 @@ be_local_closure(class_Matter_MessageHandler_send_response_frame, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(device),
/* K1 */ be_nested_str_weak(msg_send),
}),
&be_ktab_class_Matter_MessageHandler, /* shared constants */
be_str_weak(send_response_frame),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x8C08054B, // 0001 GETMET R2 R2 K75
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x80000000, // 0004 RET 0
@ -592,60 +580,45 @@ be_local_closure(class_Matter_MessageHandler_send_simple_ack, /* name */
be_nested_proto(
11, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(x_flag_r),
/* K1 */ be_nested_str_weak(build_standalone_ack),
/* K2 */ be_nested_str_weak(local_session_id),
/* K3 */ be_nested_str_weak(encode_frame),
/* K4 */ be_nested_str_weak(tasmota),
/* K5 */ be_nested_str_weak(loglevel),
/* K6 */ be_nested_str_weak(log),
/* K7 */ be_nested_str_weak(MTR_X3A_X20_X3CAck_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20ack_X3D_X25i_X20id_X3D_X25i_X20_X25s),
/* K8 */ be_nested_str_weak(session),
/* K9 */ be_nested_str_weak(ack_message_counter),
/* K10 */ be_nested_str_weak(message_counter),
/* K11 */ be_nested_str_weak(_X7Breliable_X7D),
/* K12 */ be_nested_str_weak(),
/* K13 */ be_nested_str_weak(send_response_frame),
}),
&be_ktab_class_Matter_MessageHandler, /* shared constants */
be_str_weak(send_simple_ack),
&be_const_str_solidified,
( &(const binstruction[32]) { /* code */
0x880C0300, // 0000 GETMBR R3 R1 K0
0x880C0309, // 0000 GETMBR R3 R1 K9
0x780E001C, // 0001 JMPF R3 #001F
0x8C0C0301, // 0002 GETMET R3 R1 K1
0x8C0C030A, // 0002 GETMET R3 R1 K10
0x5C140400, // 0003 MOVE R5 R2
0x7C0C0400, // 0004 CALL R3 2
0x88100302, // 0005 GETMBR R4 R1 K2
0x900E0404, // 0006 SETMBR R3 K2 R4
0x8C100703, // 0007 GETMET R4 R3 K3
0x88100312, // 0005 GETMBR R4 R1 K18
0x900E2404, // 0006 SETMBR R3 K18 R4
0x8C10070B, // 0007 GETMET R4 R3 K11
0x7C100200, // 0008 CALL R4 1
0xB8120800, // 0009 GETNGBL R4 K4
0x8C100905, // 000A GETMET R4 R4 K5
0xB8121A00, // 0009 GETNGBL R4 K13
0x8C10090E, // 000A GETMET R4 R4 K14
0x541A0003, // 000B LDINT R6 4
0x7C100400, // 000C CALL R4 2
0x7812000D, // 000D JMPF R4 #001C
0xB8120C00, // 000E GETNGBL R4 K6
0xB8121E00, // 000E GETNGBL R4 K15
0x60140018, // 000F GETGBL R5 G24
0x58180007, // 0010 LDCONST R6 K7
0x881C0708, // 0011 GETMBR R7 R3 K8
0x881C0F02, // 0012 GETMBR R7 R7 K2
0x88200709, // 0013 GETMBR R8 R3 K9
0x8824070A, // 0014 GETMBR R9 R3 K10
0x5818004C, // 0010 LDCONST R6 K76
0x881C0711, // 0011 GETMBR R7 R3 K17
0x881C0F12, // 0012 GETMBR R7 R7 K18
0x88200713, // 0013 GETMBR R8 R3 K19
0x88240714, // 0014 GETMBR R9 R3 K20
0x780A0001, // 0015 JMPF R2 #0018
0x5828000B, // 0016 LDCONST R10 K11
0x58280015, // 0016 LDCONST R10 K21
0x70020000, // 0017 JMP #0019
0x5828000C, // 0018 LDCONST R10 K12
0x58280016, // 0018 LDCONST R10 K22
0x7C140A00, // 0019 CALL R5 5
0x541A0003, // 001A LDINT R6 4
0x7C100400, // 001B CALL R4 2
0x8C10010D, // 001C GETMET R4 R0 K13
0x8C100117, // 001C GETMET R4 R0 K23
0x5C180600, // 001D MOVE R6 R3
0x7C100400, // 001E CALL R4 2
0x80000000, // 001F RET 0
@ -662,21 +635,18 @@ be_local_closure(class_Matter_MessageHandler_every_50ms, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(im),
/* K1 */ be_nested_str_weak(every_50ms),
}),
&be_ktab_class_Matter_MessageHandler, /* shared constants */
be_str_weak(every_50ms),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x88040104, // 0000 GETMBR R1 R0 K4
0x8C04034D, // 0001 GETMET R1 R1 K77
0x7C040200, // 0002 CALL R1 1
0x80000000, // 0003 RET 0
})
@ -692,25 +662,21 @@ be_local_closure(class_Matter_MessageHandler_every_second, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(commissioning),
/* K1 */ be_nested_str_weak(every_second),
/* K2 */ be_nested_str_weak(im),
}),
&be_ktab_class_Matter_MessageHandler, /* shared constants */
be_str_weak(every_second),
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x88040101, // 0000 GETMBR R1 R0 K1
0x8C04034E, // 0001 GETMET R1 R1 K78
0x7C040200, // 0002 CALL R1 1
0x88040102, // 0003 GETMBR R1 R0 K2
0x8C040301, // 0004 GETMET R1 R1 K1
0x88040104, // 0003 GETMBR R1 R0 K4
0x8C04034E, // 0004 GETMET R1 R1 K78
0x7C040200, // 0005 CALL R1 1
0x80000000, // 0006 RET 0
})

View File

@ -3,6 +3,29 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Path' ktab size: 19, total: 30 (saved 88 bytes)
static const bvalue be_ktab_class_Matter_Path[19] = {
/* K0 */ be_nested_str_weak(endpoint),
/* K1 */ be_nested_str_weak(cluster),
/* K2 */ be_nested_str_weak(attribute),
/* K3 */ be_nested_str_weak(fabric_filtered),
/* K4 */ be_nested_str_weak(command),
/* K5 */ be_nested_str_weak(status),
/* K6 */ be_nested_str_weak(log),
/* K7 */ be_nested_str_weak(msg),
/* K8 */ be_nested_str_weak(),
/* K9 */ be_nested_str_weak(_X5B_X2502X_X5D),
/* K10 */ be_nested_str_weak(_X5B_X2A_X2A_X5D),
/* K11 */ be_nested_str_weak(_X2504X_X2F),
/* K12 */ be_nested_str_weak(_X2A_X2A_X2A_X2A_X2F),
/* K13 */ be_nested_str_weak(_X2504X),
/* K14 */ be_nested_str_weak(_X21),
/* K15 */ be_nested_str_weak(_X2A_X2A_X2A_X2A),
/* K16 */ be_nested_str_weak(Exception_X3E_X20),
/* K17 */ be_nested_str_weak(_X2C_X20),
/* K18 */ be_nested_str_weak(reset),
};
extern const bclass be_class_Matter_Path;
@ -13,22 +36,13 @@ be_local_closure(class_Matter_Path_reset, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(endpoint),
/* K1 */ be_nested_str_weak(cluster),
/* K2 */ be_nested_str_weak(attribute),
/* K3 */ be_nested_str_weak(fabric_filtered),
/* K4 */ be_nested_str_weak(command),
/* K5 */ be_nested_str_weak(status),
/* K6 */ be_nested_str_weak(log),
/* K7 */ be_nested_str_weak(msg),
}),
&be_ktab_class_Matter_Path, /* shared constants */
be_str_weak(reset),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
@ -55,17 +69,13 @@ be_local_closure(class_Matter_Path_init, /* name */
be_nested_proto(
4, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(endpoint),
/* K1 */ be_nested_str_weak(cluster),
/* K2 */ be_nested_str_weak(attribute),
}),
&be_ktab_class_Matter_Path, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
@ -86,90 +96,74 @@ be_local_closure(class_Matter_Path_tostring, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(endpoint),
/* K2 */ be_nested_str_weak(_X5B_X2502X_X5D),
/* K3 */ be_nested_str_weak(_X5B_X2A_X2A_X5D),
/* K4 */ be_nested_str_weak(cluster),
/* K5 */ be_nested_str_weak(_X2504X_X2F),
/* K6 */ be_nested_str_weak(_X2A_X2A_X2A_X2A_X2F),
/* K7 */ be_nested_str_weak(attribute),
/* K8 */ be_nested_str_weak(_X2504X),
/* K9 */ be_nested_str_weak(command),
/* K10 */ be_nested_str_weak(fabric_filtered),
/* K11 */ be_nested_str_weak(_X21),
/* K12 */ be_nested_str_weak(_X2A_X2A_X2A_X2A),
/* K13 */ be_nested_str_weak(Exception_X3E_X20),
/* K14 */ be_nested_str_weak(_X2C_X20),
}),
&be_ktab_class_Matter_Path, /* shared constants */
be_str_weak(tostring),
&be_const_str_solidified,
( &(const binstruction[77]) { /* code */
0xA802003C, // 0000 EXBLK 0 #003E
0x58040000, // 0001 LDCONST R1 K0
0x88080101, // 0002 GETMBR R2 R0 K1
0x58040008, // 0001 LDCONST R1 K8
0x88080100, // 0002 GETMBR R2 R0 K0
0x4C0C0000, // 0003 LDNIL R3
0x20080403, // 0004 NE R2 R2 R3
0x780A0004, // 0005 JMPF R2 #000B
0x60080018, // 0006 GETGBL R2 G24
0x580C0002, // 0007 LDCONST R3 K2
0x88100101, // 0008 GETMBR R4 R0 K1
0x580C0009, // 0007 LDCONST R3 K9
0x88100100, // 0008 GETMBR R4 R0 K0
0x7C080400, // 0009 CALL R2 2
0x70020000, // 000A JMP #000C
0x58080003, // 000B LDCONST R2 K3
0x5808000A, // 000B LDCONST R2 K10
0x00040202, // 000C ADD R1 R1 R2
0x88080104, // 000D GETMBR R2 R0 K4
0x88080101, // 000D GETMBR R2 R0 K1
0x4C0C0000, // 000E LDNIL R3
0x20080403, // 000F NE R2 R2 R3
0x780A0004, // 0010 JMPF R2 #0016
0x60080018, // 0011 GETGBL R2 G24
0x580C0005, // 0012 LDCONST R3 K5
0x88100104, // 0013 GETMBR R4 R0 K4
0x580C000B, // 0012 LDCONST R3 K11
0x88100101, // 0013 GETMBR R4 R0 K1
0x7C080400, // 0014 CALL R2 2
0x70020000, // 0015 JMP #0017
0x58080006, // 0016 LDCONST R2 K6
0x5808000C, // 0016 LDCONST R2 K12
0x00040202, // 0017 ADD R1 R1 R2
0x88080107, // 0018 GETMBR R2 R0 K7
0x88080102, // 0018 GETMBR R2 R0 K2
0x4C0C0000, // 0019 LDNIL R3
0x20080403, // 001A NE R2 R2 R3
0x780A0004, // 001B JMPF R2 #0021
0x60080018, // 001C GETGBL R2 G24
0x580C0008, // 001D LDCONST R3 K8
0x88100107, // 001E GETMBR R4 R0 K7
0x580C000D, // 001D LDCONST R3 K13
0x88100102, // 001E GETMBR R4 R0 K2
0x7C080400, // 001F CALL R2 2
0x70020000, // 0020 JMP #0022
0x58080000, // 0021 LDCONST R2 K0
0x58080008, // 0021 LDCONST R2 K8
0x00040202, // 0022 ADD R1 R1 R2
0x88080109, // 0023 GETMBR R2 R0 K9
0x88080104, // 0023 GETMBR R2 R0 K4
0x4C0C0000, // 0024 LDNIL R3
0x20080403, // 0025 NE R2 R2 R3
0x780A0004, // 0026 JMPF R2 #002C
0x60080018, // 0027 GETGBL R2 G24
0x580C0008, // 0028 LDCONST R3 K8
0x88100109, // 0029 GETMBR R4 R0 K9
0x580C000D, // 0028 LDCONST R3 K13
0x88100104, // 0029 GETMBR R4 R0 K4
0x7C080400, // 002A CALL R2 2
0x70020000, // 002B JMP #002D
0x58080000, // 002C LDCONST R2 K0
0x58080008, // 002C LDCONST R2 K8
0x00040202, // 002D ADD R1 R1 R2
0x8808010A, // 002E GETMBR R2 R0 K10
0x88080103, // 002E GETMBR R2 R0 K3
0x780A0000, // 002F JMPF R2 #0031
0x0004030B, // 0030 ADD R1 R1 K11
0x88080107, // 0031 GETMBR R2 R0 K7
0x0004030E, // 0030 ADD R1 R1 K14
0x88080102, // 0031 GETMBR R2 R0 K2
0x4C0C0000, // 0032 LDNIL R3
0x1C080403, // 0033 EQ R2 R2 R3
0x780A0004, // 0034 JMPF R2 #003A
0x88080109, // 0035 GETMBR R2 R0 K9
0x88080104, // 0035 GETMBR R2 R0 K4
0x4C0C0000, // 0036 LDNIL R3
0x1C080403, // 0037 EQ R2 R2 R3
0x780A0000, // 0038 JMPF R2 #003A
0x0004030C, // 0039 ADD R1 R1 K12
0x0004030F, // 0039 ADD R1 R1 K15
0xA8040001, // 003A EXBLK 1 1
0x80040200, // 003B RET 1 R1
0xA8040001, // 003C EXBLK 1 1
@ -179,8 +173,8 @@ be_local_closure(class_Matter_Path_tostring, /* name */
0x600C0008, // 0040 GETGBL R3 G8
0x5C100200, // 0041 MOVE R4 R1
0x7C0C0200, // 0042 CALL R3 1
0x000E1A03, // 0043 ADD R3 K13 R3
0x000C070E, // 0044 ADD R3 R3 K14
0x000E2003, // 0043 ADD R3 K16 R3
0x000C0711, // 0044 ADD R3 R3 K17
0x60100008, // 0045 GETGBL R4 G8
0x5C140400, // 0046 MOVE R5 R2
0x7C100200, // 0047 CALL R4 1
@ -202,29 +196,24 @@ be_local_closure(class_Matter_Path_copy, /* name */
be_nested_proto(
4, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(reset),
/* K1 */ be_nested_str_weak(endpoint),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
}),
&be_ktab_class_Matter_Path, /* shared constants */
be_str_weak(copy),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x8C080100, // 0000 GETMET R2 R0 K0
0x8C080112, // 0000 GETMET R2 R0 K18
0x7C080200, // 0001 CALL R2 1
0x88080301, // 0002 GETMBR R2 R1 K1
0x90020202, // 0003 SETMBR R0 K1 R2
0x88080302, // 0004 GETMBR R2 R1 K2
0x90020402, // 0005 SETMBR R0 K2 R2
0x88080303, // 0006 GETMBR R2 R1 K3
0x90020602, // 0007 SETMBR R0 K3 R2
0x88080300, // 0002 GETMBR R2 R1 K0
0x90020002, // 0003 SETMBR R0 K0 R2
0x88080301, // 0004 GETMBR R2 R1 K1
0x90020202, // 0005 SETMBR R0 K1 R2
0x88080302, // 0006 GETMBR R2 R1 K2
0x90020402, // 0007 SETMBR R0 K2 R2
0x80000000, // 0008 RET 0
})
)

View File

@ -3,6 +3,24 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_EventGenerator' ktab size: 14, total: 26 (saved 96 bytes)
static const bvalue be_ktab_class_Matter_EventGenerator[14] = {
/* K0 */ be_nested_str_weak(device),
/* K1 */ be_nested_str_weak(reset),
/* K2 */ be_nested_str_weak(path_in_endpoint),
/* K3 */ be_nested_str_weak(path_in_cluster),
/* K4 */ be_nested_str_weak(path_in_event),
/* K5 */ be_nested_str_weak(path_in_event_min),
/* K6 */ be_nested_str_weak(event_no),
/* K7 */ be_nested_str_weak(finished),
/* K8 */ be_nested_str_weak(endpoint),
/* K9 */ be_nested_str_weak(cluster),
/* K10 */ be_nested_str_weak(event_id),
/* K11 */ be_nested_str_weak(events),
/* K12 */ be_nested_str_weak(find_min_no),
/* K13 */ be_nested_str_weak(event_is_match),
};
extern const bclass be_class_Matter_EventGenerator;
@ -13,15 +31,13 @@ be_local_closure(class_Matter_EventGenerator_init, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(device),
}),
&be_ktab_class_Matter_EventGenerator, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
@ -40,13 +56,13 @@ be_local_closure(class_Matter_EventGenerator_get_pi, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_EventGenerator, /* shared constants */
be_str_weak(get_pi),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
@ -65,33 +81,25 @@ be_local_closure(class_Matter_EventGenerator_start, /* name */
be_nested_proto(
7, /* nstack */
5, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(reset),
/* K1 */ be_nested_str_weak(path_in_endpoint),
/* K2 */ be_nested_str_weak(path_in_cluster),
/* K3 */ be_nested_str_weak(path_in_event),
/* K4 */ be_nested_str_weak(path_in_event_min),
/* K5 */ be_nested_str_weak(event_no),
/* K6 */ be_nested_str_weak(finished),
}),
&be_ktab_class_Matter_EventGenerator, /* shared constants */
be_str_weak(start),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x8C140100, // 0000 GETMET R5 R0 K0
0x8C140101, // 0000 GETMET R5 R0 K1
0x7C140200, // 0001 CALL R5 1
0x90020201, // 0002 SETMBR R0 K1 R1
0x90020402, // 0003 SETMBR R0 K2 R2
0x90020603, // 0004 SETMBR R0 K3 R3
0x90020804, // 0005 SETMBR R0 K4 R4
0x90020A04, // 0006 SETMBR R0 K5 R4
0x90020401, // 0002 SETMBR R0 K2 R1
0x90020602, // 0003 SETMBR R0 K3 R2
0x90020803, // 0004 SETMBR R0 K4 R3
0x90020A04, // 0005 SETMBR R0 K5 R4
0x90020C04, // 0006 SETMBR R0 K6 R4
0x50140000, // 0007 LDBOOL R5 0 0
0x90020C05, // 0008 SETMBR R0 K6 R5
0x90020E05, // 0008 SETMBR R0 K7 R5
0x80000000, // 0009 RET 0
})
)
@ -106,23 +114,20 @@ be_local_closure(class_Matter_EventGenerator_reset, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(event_no),
/* K1 */ be_nested_str_weak(finished),
}),
&be_ktab_class_Matter_EventGenerator, /* shared constants */
be_str_weak(reset),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x4C040000, // 0000 LDNIL R1
0x90020001, // 0001 SETMBR R0 K0 R1
0x90020C01, // 0001 SETMBR R0 K6 R1
0x50080200, // 0002 LDBOOL R2 1 0
0x90020202, // 0003 SETMBR R0 K1 R2
0x90020E02, // 0003 SETMBR R0 K7 R2
0x80000000, // 0004 RET 0
})
)
@ -137,19 +142,17 @@ be_local_closure(class_Matter_EventGenerator_is_finished, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(finished),
}),
&be_ktab_class_Matter_EventGenerator, /* shared constants */
be_str_weak(is_finished),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040107, // 0000 GETMBR R1 R0 K7
0x80040200, // 0001 RET 1 R1
})
)
@ -164,43 +167,36 @@ be_local_closure(class_Matter_EventGenerator_event_is_match, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(path_in_endpoint),
/* K1 */ be_nested_str_weak(endpoint),
/* K2 */ be_nested_str_weak(path_in_cluster),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(path_in_event),
/* K5 */ be_nested_str_weak(event_id),
}),
&be_ktab_class_Matter_EventGenerator, /* shared constants */
be_str_weak(event_is_match),
&be_const_str_solidified,
( &(const binstruction[38]) { /* code */
0x50080200, // 0000 LDBOOL R2 1 0
0x880C0100, // 0001 GETMBR R3 R0 K0
0x880C0102, // 0001 GETMBR R3 R0 K2
0x4C100000, // 0002 LDNIL R4
0x200C0604, // 0003 NE R3 R3 R4
0x780E0007, // 0004 JMPF R3 #000D
0x780A0003, // 0005 JMPF R2 #000A
0x880C0100, // 0006 GETMBR R3 R0 K0
0x88100301, // 0007 GETMBR R4 R1 K1
0x880C0102, // 0006 GETMBR R3 R0 K2
0x88100308, // 0007 GETMBR R4 R1 K8
0x1C0C0604, // 0008 EQ R3 R3 R4
0x740E0000, // 0009 JMPT R3 #000B
0x500C0001, // 000A LDBOOL R3 0 1
0x500C0200, // 000B LDBOOL R3 1 0
0x5C080600, // 000C MOVE R2 R3
0x880C0102, // 000D GETMBR R3 R0 K2
0x880C0103, // 000D GETMBR R3 R0 K3
0x4C100000, // 000E LDNIL R4
0x200C0604, // 000F NE R3 R3 R4
0x780E0007, // 0010 JMPF R3 #0019
0x780A0003, // 0011 JMPF R2 #0016
0x880C0102, // 0012 GETMBR R3 R0 K2
0x88100303, // 0013 GETMBR R4 R1 K3
0x880C0103, // 0012 GETMBR R3 R0 K3
0x88100309, // 0013 GETMBR R4 R1 K9
0x1C0C0604, // 0014 EQ R3 R3 R4
0x740E0000, // 0015 JMPT R3 #0017
0x500C0001, // 0016 LDBOOL R3 0 1
@ -212,7 +208,7 @@ be_local_closure(class_Matter_EventGenerator_event_is_match, /* name */
0x780E0007, // 001C JMPF R3 #0025
0x780A0003, // 001D JMPF R2 #0022
0x880C0104, // 001E GETMBR R3 R0 K4
0x88100305, // 001F GETMBR R4 R1 K5
0x8810030A, // 001F GETMBR R4 R1 K10
0x1C0C0604, // 0020 EQ R3 R3 R4
0x740E0000, // 0021 JMPT R3 #0023
0x500C0001, // 0022 LDBOOL R3 0 1
@ -232,45 +228,37 @@ be_local_closure(class_Matter_EventGenerator_next_event, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(finished),
/* K1 */ be_nested_str_weak(device),
/* K2 */ be_nested_str_weak(events),
/* K3 */ be_nested_str_weak(find_min_no),
/* K4 */ be_nested_str_weak(event_no),
/* K5 */ be_nested_str_weak(reset),
/* K6 */ be_nested_str_weak(event_is_match),
}),
&be_ktab_class_Matter_EventGenerator, /* shared constants */
be_str_weak(next_event),
&be_const_str_solidified,
( &(const binstruction[27]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040107, // 0000 GETMBR R1 R0 K7
0x78060001, // 0001 JMPF R1 #0004
0x4C040000, // 0002 LDNIL R1
0x80040200, // 0003 RET 1 R1
0x50040200, // 0004 LDBOOL R1 1 0
0x78060013, // 0005 JMPF R1 #001A
0x88040101, // 0006 GETMBR R1 R0 K1
0x88040302, // 0007 GETMBR R1 R1 K2
0x8C040303, // 0008 GETMET R1 R1 K3
0x880C0104, // 0009 GETMBR R3 R0 K4
0x88040100, // 0006 GETMBR R1 R0 K0
0x8804030B, // 0007 GETMBR R1 R1 K11
0x8C04030C, // 0008 GETMET R1 R1 K12
0x880C0106, // 0009 GETMBR R3 R0 K6
0x7C040400, // 000A CALL R1 2
0x4C080000, // 000B LDNIL R2
0x1C080202, // 000C EQ R2 R1 R2
0x780A0003, // 000D JMPF R2 #0012
0x8C080105, // 000E GETMET R2 R0 K5
0x8C080101, // 000E GETMET R2 R0 K1
0x7C080200, // 000F CALL R2 1
0x4C080000, // 0010 LDNIL R2
0x80040400, // 0011 RET 1 R2
0x88080304, // 0012 GETMBR R2 R1 K4
0x90020802, // 0013 SETMBR R0 K4 R2
0x8C080106, // 0014 GETMET R2 R0 K6
0x88080306, // 0012 GETMBR R2 R1 K6
0x90020C02, // 0013 SETMBR R0 K6 R2
0x8C08010D, // 0014 GETMET R2 R0 K13
0x5C100200, // 0015 MOVE R4 R1
0x7C080400, // 0016 CALL R2 2
0x780A0000, // 0017 JMPF R2 #0019
@ -290,22 +278,19 @@ be_local_closure(class_Matter_EventGenerator_restart_from, /* name */
be_nested_proto(
3, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(finished),
/* K1 */ be_nested_str_weak(event_no),
}),
&be_ktab_class_Matter_EventGenerator, /* shared constants */
be_str_weak(restart_from),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x50080000, // 0000 LDBOOL R2 0 0
0x90020002, // 0001 SETMBR R0 K0 R2
0x90020201, // 0002 SETMBR R0 K1 R1
0x90020E02, // 0001 SETMBR R0 K7 R2
0x90020C01, // 0002 SETMBR R0 K6 R1
0x80000000, // 0003 RET 0
})
)

View File

@ -3,6 +3,45 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_PathGenerator' ktab size: 35, total: 78 (saved 344 bytes)
static const bvalue be_ktab_class_Matter_PathGenerator[35] = {
/* K0 */ be_nested_str_weak(path_concrete),
/* K1 */ be_nested_str_weak(reset),
/* K2 */ be_nested_str_weak(pi),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(clusters),
/* K6 */ be_nested_str_weak(device),
/* K7 */ be_nested_str_weak(path_in_endpoint),
/* K8 */ be_nested_str_weak(path_in_cluster),
/* K9 */ be_nested_str_weak(path_in_attribute),
/* K10 */ be_nested_str_weak(is_direct),
/* K11 */ be_nested_str_weak(_next_endpoint),
/* K12 */ be_nested_str_weak(endpoint_found),
/* K13 */ be_nested_str_weak(_next_cluster),
/* K14 */ be_nested_str_weak(cluster_found),
/* K15 */ be_nested_str_weak(_next_attribute),
/* K16 */ be_nested_str_weak(attribute_found),
/* K17 */ be_nested_str_weak(endpoint),
/* K18 */ be_nested_str_weak(get_endpoint),
/* K19 */ be_nested_str_weak(fabric_filtered),
/* K20 */ be_nested_str_weak(path_in_fabric_filtered),
/* K21 */ be_nested_str_weak(status),
/* K22 */ be_nested_str_weak(_default_status_error),
/* K23 */ be_nested_str_weak(find),
/* K24 */ be_const_int(1),
/* K25 */ be_nested_str_weak(matter),
/* K26 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT),
/* K27 */ be_nested_str_weak(UNSUPPORTED_CLUSTER),
/* K28 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE),
/* K29 */ be_nested_str_weak(UNREPORTABLE_ATTRIBUTE),
/* K30 */ be_nested_str_weak(get_attribute_list),
/* K31 */ be_const_int(1),
/* K32 */ be_nested_str_weak(plugins),
/* K33 */ be_nested_str_weak(get_cluster_list_sorted),
/* K34 */ be_nested_str_weak(Path),
};
extern const bclass be_class_Matter_PathGenerator;
@ -13,20 +52,13 @@ be_local_closure(class_Matter_PathGenerator_reset, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(path_concrete),
/* K1 */ be_nested_str_weak(reset),
/* K2 */ be_nested_str_weak(pi),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(clusters),
}),
&be_ktab_class_Matter_PathGenerator, /* shared constants */
be_str_weak(reset),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
@ -53,19 +85,17 @@ be_local_closure(class_Matter_PathGenerator_init, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(device),
}),
&be_ktab_class_Matter_PathGenerator, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90020C01, // 0000 SETMBR R0 K6 R1
0x80000000, // 0001 RET 0
})
)
@ -80,29 +110,25 @@ be_local_closure(class_Matter_PathGenerator_is_direct, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(path_in_endpoint),
/* K1 */ be_nested_str_weak(path_in_cluster),
/* K2 */ be_nested_str_weak(path_in_attribute),
}),
&be_ktab_class_Matter_PathGenerator, /* shared constants */
be_str_weak(is_direct),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040107, // 0000 GETMBR R1 R0 K7
0x4C080000, // 0001 LDNIL R2
0x20040202, // 0002 NE R1 R1 R2
0x78060007, // 0003 JMPF R1 #000C
0x88040101, // 0004 GETMBR R1 R0 K1
0x88040108, // 0004 GETMBR R1 R0 K8
0x4C080000, // 0005 LDNIL R2
0x20040202, // 0006 NE R1 R1 R2
0x78060003, // 0007 JMPF R1 #000C
0x88040102, // 0008 GETMBR R1 R0 K2
0x88040109, // 0008 GETMBR R1 R0 K9
0x4C080000, // 0009 LDNIL R2
0x20040202, // 000A NE R1 R1 R2
0x74060000, // 000B JMPT R1 #000D
@ -122,19 +148,17 @@ be_local_closure(class_Matter_PathGenerator_is_finished, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(pi),
}),
&be_ktab_class_Matter_PathGenerator, /* shared constants */
be_str_weak(is_finished),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040102, // 0000 GETMBR R1 R0 K2
0x50080000, // 0001 LDBOOL R2 0 0
0x20040202, // 0002 NE R1 R1 R2
0x80040200, // 0003 RET 1 R1
@ -151,58 +175,36 @@ be_local_closure(class_Matter_PathGenerator_next_attribute, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[21]) { /* constants */
/* K0 */ be_nested_str_weak(pi),
/* K1 */ be_nested_str_weak(is_direct),
/* K2 */ be_nested_str_weak(reset),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(_next_endpoint),
/* K5 */ be_nested_str_weak(endpoint_found),
/* K6 */ be_nested_str_weak(attribute),
/* K7 */ be_nested_str_weak(_next_cluster),
/* K8 */ be_nested_str_weak(cluster_found),
/* K9 */ be_nested_str_weak(_next_attribute),
/* K10 */ be_nested_str_weak(attribute_found),
/* K11 */ be_nested_str_weak(path_concrete),
/* K12 */ be_nested_str_weak(endpoint),
/* K13 */ be_nested_str_weak(get_endpoint),
/* K14 */ be_nested_str_weak(fabric_filtered),
/* K15 */ be_nested_str_weak(path_in_fabric_filtered),
/* K16 */ be_nested_str_weak(status),
/* K17 */ be_nested_str_weak(path_in_endpoint),
/* K18 */ be_nested_str_weak(path_in_cluster),
/* K19 */ be_nested_str_weak(path_in_attribute),
/* K20 */ be_nested_str_weak(_default_status_error),
}),
&be_ktab_class_Matter_PathGenerator, /* shared constants */
be_str_weak(next_attribute),
&be_const_str_solidified,
( &(const binstruction[95]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040102, // 0000 GETMBR R1 R0 K2
0x50080200, // 0001 LDBOOL R2 1 0
0x1C040202, // 0002 EQ R1 R1 R2
0x74060006, // 0003 JMPT R1 #000B
0x88040100, // 0004 GETMBR R1 R0 K0
0x88040102, // 0004 GETMBR R1 R0 K2
0x4C080000, // 0005 LDNIL R2
0x20040202, // 0006 NE R1 R1 R2
0x78060006, // 0007 JMPF R1 #000F
0x8C040101, // 0008 GETMET R1 R0 K1
0x8C04010A, // 0008 GETMET R1 R0 K10
0x7C040200, // 0009 CALL R1 1
0x78060003, // 000A JMPF R1 #000F
0x8C040102, // 000B GETMET R1 R0 K2
0x8C040101, // 000B GETMET R1 R0 K1
0x7C040200, // 000C CALL R1 1
0x4C040000, // 000D LDNIL R1
0x80040200, // 000E RET 1 R1
0x88040100, // 000F GETMBR R1 R0 K0
0x88040102, // 000F GETMBR R1 R0 K2
0x50080000, // 0010 LDBOOL R2 0 0
0x20040202, // 0011 NE R1 R1 R2
0x78060033, // 0012 JMPF R1 #0047
0x88040100, // 0013 GETMBR R1 R0 K0
0x88040102, // 0013 GETMBR R1 R0 K2
0x4C080000, // 0014 LDNIL R2
0x1C040202, // 0015 EQ R1 R1 R2
0x74060003, // 0016 JMPT R1 #001B
@ -210,71 +212,71 @@ be_local_closure(class_Matter_PathGenerator_next_attribute, /* name */
0x50080000, // 0018 LDBOOL R2 0 0
0x1C040202, // 0019 EQ R1 R1 R2
0x78060002, // 001A JMPF R1 #001E
0x8C040104, // 001B GETMET R1 R0 K4
0x8C04010B, // 001B GETMET R1 R0 K11
0x7C040200, // 001C CALL R1 1
0x7001FFF0, // 001D JMP #000F
0x50040200, // 001E LDBOOL R1 1 0
0x90020A01, // 001F SETMBR R0 K5 R1
0x90021801, // 001F SETMBR R0 K12 R1
0x88040103, // 0020 GETMBR R1 R0 K3
0x4C080000, // 0021 LDNIL R2
0x1C040202, // 0022 EQ R1 R1 R2
0x74060003, // 0023 JMPT R1 #0028
0x88040106, // 0024 GETMBR R1 R0 K6
0x88040104, // 0024 GETMBR R1 R0 K4
0x50080000, // 0025 LDBOOL R2 0 0
0x1C040202, // 0026 EQ R1 R1 R2
0x78060002, // 0027 JMPF R1 #002B
0x8C040107, // 0028 GETMET R1 R0 K7
0x8C04010D, // 0028 GETMET R1 R0 K13
0x7C040200, // 0029 CALL R1 1
0x7001FFE3, // 002A JMP #000F
0x50040200, // 002B LDBOOL R1 1 0
0x90021001, // 002C SETMBR R0 K8 R1
0x8C040109, // 002D GETMET R1 R0 K9
0x90021C01, // 002C SETMBR R0 K14 R1
0x8C04010F, // 002D GETMET R1 R0 K15
0x7C040200, // 002E CALL R1 1
0x88040106, // 002F GETMBR R1 R0 K6
0x88040104, // 002F GETMBR R1 R0 K4
0x50080000, // 0030 LDBOOL R2 0 0
0x1C040202, // 0031 EQ R1 R1 R2
0x78060000, // 0032 JMPF R1 #0034
0x7001FFDA, // 0033 JMP #000F
0x50040200, // 0034 LDBOOL R1 1 0
0x90021401, // 0035 SETMBR R0 K10 R1
0x8804010B, // 0036 GETMBR R1 R0 K11
0x8C080302, // 0037 GETMET R2 R1 K2
0x90022001, // 0035 SETMBR R0 K16 R1
0x88040100, // 0036 GETMBR R1 R0 K0
0x8C080301, // 0037 GETMET R2 R1 K1
0x7C080200, // 0038 CALL R2 1
0x88080100, // 0039 GETMBR R2 R0 K0
0x8C08050D, // 003A GETMET R2 R2 K13
0x88080102, // 0039 GETMBR R2 R0 K2
0x8C080512, // 003A GETMET R2 R2 K18
0x7C080200, // 003B CALL R2 1
0x90061802, // 003C SETMBR R1 K12 R2
0x90062202, // 003C SETMBR R1 K17 R2
0x88080103, // 003D GETMBR R2 R0 K3
0x90060602, // 003E SETMBR R1 K3 R2
0x88080106, // 003F GETMBR R2 R0 K6
0x90060C02, // 0040 SETMBR R1 K6 R2
0x8808010F, // 0041 GETMBR R2 R0 K15
0x90061C02, // 0042 SETMBR R1 K14 R2
0x88080104, // 003F GETMBR R2 R0 K4
0x90060802, // 0040 SETMBR R1 K4 R2
0x88080114, // 0041 GETMBR R2 R0 K20
0x90062602, // 0042 SETMBR R1 K19 R2
0x4C080000, // 0043 LDNIL R2
0x90062002, // 0044 SETMBR R1 K16 R2
0x90062A02, // 0044 SETMBR R1 K21 R2
0x80040200, // 0045 RET 1 R1
0x7001FFC7, // 0046 JMP #000F
0x8C040101, // 0047 GETMET R1 R0 K1
0x8C04010A, // 0047 GETMET R1 R0 K10
0x7C040200, // 0048 CALL R1 1
0x78060010, // 0049 JMPF R1 #005B
0x8804010B, // 004A GETMBR R1 R0 K11
0x8C080302, // 004B GETMET R2 R1 K2
0x88040100, // 004A GETMBR R1 R0 K0
0x8C080301, // 004B GETMET R2 R1 K1
0x7C080200, // 004C CALL R2 1
0x88080111, // 004D GETMBR R2 R0 K17
0x90061802, // 004E SETMBR R1 K12 R2
0x88080112, // 004F GETMBR R2 R0 K18
0x88080107, // 004D GETMBR R2 R0 K7
0x90062202, // 004E SETMBR R1 K17 R2
0x88080108, // 004F GETMBR R2 R0 K8
0x90060602, // 0050 SETMBR R1 K3 R2
0x88080113, // 0051 GETMBR R2 R0 K19
0x90060C02, // 0052 SETMBR R1 K6 R2
0x8808010F, // 0053 GETMBR R2 R0 K15
0x90061C02, // 0054 SETMBR R1 K14 R2
0x8C080114, // 0055 GETMET R2 R0 K20
0x88080109, // 0051 GETMBR R2 R0 K9
0x90060802, // 0052 SETMBR R1 K4 R2
0x88080114, // 0053 GETMBR R2 R0 K20
0x90062602, // 0054 SETMBR R1 K19 R2
0x8C080116, // 0055 GETMET R2 R0 K22
0x7C080200, // 0056 CALL R2 1
0x90062002, // 0057 SETMBR R1 K16 R2
0x90062A02, // 0057 SETMBR R1 K21 R2
0x50080200, // 0058 LDBOOL R2 1 0
0x90020002, // 0059 SETMBR R0 K0 R2
0x90020402, // 0059 SETMBR R0 K2 R2
0x80040200, // 005A RET 1 R1
0x8C040102, // 005B GETMET R1 R0 K2
0x8C040101, // 005B GETMET R1 R0 K1
0x7C040200, // 005C CALL R1 1
0x4C040000, // 005D LDNIL R1
0x80040200, // 005E RET 1 R1
@ -291,65 +293,58 @@ be_local_closure(class_Matter_PathGenerator__next_cluster, /* name */
be_nested_proto(
7, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(cluster),
/* K1 */ be_nested_str_weak(clusters),
/* K2 */ be_nested_str_weak(path_in_cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(find),
/* K5 */ be_const_int(1),
}),
&be_ktab_class_Matter_PathGenerator, /* shared constants */
be_str_weak(_next_cluster),
&be_const_str_solidified,
( &(const binstruction[44]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040103, // 0000 GETMBR R1 R0 K3
0x50080000, // 0001 LDBOOL R2 0 0
0x1C040202, // 0002 EQ R1 R1 R2
0x78060001, // 0003 JMPF R1 #0006
0x50040000, // 0004 LDBOOL R1 0 0
0x80040200, // 0005 RET 1 R1
0x88040101, // 0006 GETMBR R1 R0 K1
0x88080102, // 0007 GETMBR R2 R0 K2
0x88040105, // 0006 GETMBR R1 R0 K5
0x88080108, // 0007 GETMBR R2 R0 K8
0x4C0C0000, // 0008 LDNIL R3
0x90020603, // 0009 SETMBR R0 K3 R3
0x90020803, // 0009 SETMBR R0 K4 R3
0x540DFFFE, // 000A LDINT R3 -1
0x88100100, // 000B GETMBR R4 R0 K0
0x88100103, // 000B GETMBR R4 R0 K3
0x4C140000, // 000C LDNIL R5
0x20100805, // 000D NE R4 R4 R5
0x78120003, // 000E JMPF R4 #0013
0x8C100304, // 000F GETMET R4 R1 K4
0x88180100, // 0010 GETMBR R6 R0 K0
0x8C100317, // 000F GETMET R4 R1 K23
0x88180103, // 0010 GETMBR R6 R0 K3
0x7C100400, // 0011 CALL R4 2
0x5C0C0800, // 0012 MOVE R3 R4
0x4C100000, // 0013 LDNIL R4
0x20100604, // 0014 NE R4 R3 R4
0x78120011, // 0015 JMPF R4 #0028
0x00100705, // 0016 ADD R4 R3 K5
0x00100718, // 0016 ADD R4 R3 K24
0x6014000C, // 0017 GETGBL R5 G12
0x5C180200, // 0018 MOVE R6 R1
0x7C140200, // 0019 CALL R5 1
0x14100805, // 001A LT R4 R4 R5
0x7812000B, // 001B JMPF R4 #0028
0x000C0705, // 001C ADD R3 R3 K5
0x000C0718, // 001C ADD R3 R3 K24
0x94100203, // 001D GETIDX R4 R1 R3
0x90020004, // 001E SETMBR R0 K0 R4
0x90020604, // 001E SETMBR R0 K3 R4
0x4C100000, // 001F LDNIL R4
0x1C100404, // 0020 EQ R4 R2 R4
0x74120002, // 0021 JMPT R4 #0025
0x88100100, // 0022 GETMBR R4 R0 K0
0x88100103, // 0022 GETMBR R4 R0 K3
0x1C100404, // 0023 EQ R4 R2 R4
0x78120001, // 0024 JMPF R4 #0027
0x88100100, // 0025 GETMBR R4 R0 K0
0x88100103, // 0025 GETMBR R4 R0 K3
0x80040800, // 0026 RET 1 R4
0x7001FFED, // 0027 JMP #0016
0x50100000, // 0028 LDBOOL R4 0 0
0x90020004, // 0029 SETMBR R0 K0 R4
0x90020604, // 0029 SETMBR R0 K3 R4
0x50100000, // 002A LDBOOL R4 0 0
0x80040800, // 002B RET 1 R4
})
@ -365,46 +360,36 @@ be_local_closure(class_Matter_PathGenerator__default_status_error, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(is_direct),
/* K1 */ be_nested_str_weak(endpoint_found),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT),
/* K4 */ be_nested_str_weak(cluster_found),
/* K5 */ be_nested_str_weak(UNSUPPORTED_CLUSTER),
/* K6 */ be_nested_str_weak(attribute_found),
/* K7 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE),
/* K8 */ be_nested_str_weak(UNREPORTABLE_ATTRIBUTE),
}),
&be_ktab_class_Matter_PathGenerator, /* shared constants */
be_str_weak(_default_status_error),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C04010A, // 0000 GETMET R1 R0 K10
0x7C040200, // 0001 CALL R1 1
0x78060011, // 0002 JMPF R1 #0015
0x88040101, // 0003 GETMBR R1 R0 K1
0x8804010C, // 0003 GETMBR R1 R0 K12
0x74060002, // 0004 JMPT R1 #0008
0xB8060400, // 0005 GETNGBL R1 K2
0x88040303, // 0006 GETMBR R1 R1 K3
0xB8063200, // 0005 GETNGBL R1 K25
0x8804031A, // 0006 GETMBR R1 R1 K26
0x80040200, // 0007 RET 1 R1
0x88040104, // 0008 GETMBR R1 R0 K4
0x8804010E, // 0008 GETMBR R1 R0 K14
0x74060002, // 0009 JMPT R1 #000D
0xB8060400, // 000A GETNGBL R1 K2
0x88040305, // 000B GETMBR R1 R1 K5
0xB8063200, // 000A GETNGBL R1 K25
0x8804031B, // 000B GETMBR R1 R1 K27
0x80040200, // 000C RET 1 R1
0x88040106, // 000D GETMBR R1 R0 K6
0x88040110, // 000D GETMBR R1 R0 K16
0x74060002, // 000E JMPT R1 #0012
0xB8060400, // 000F GETNGBL R1 K2
0x88040307, // 0010 GETMBR R1 R1 K7
0xB8063200, // 000F GETNGBL R1 K25
0x8804031C, // 0010 GETMBR R1 R1 K28
0x80040200, // 0011 RET 1 R1
0xB8060400, // 0012 GETNGBL R1 K2
0x88040308, // 0013 GETMBR R1 R1 K8
0xB8063200, // 0012 GETNGBL R1 K25
0x8804031D, // 0013 GETMBR R1 R1 K29
0x80040200, // 0014 RET 1 R1
0x4C040000, // 0015 LDNIL R1
0x80040200, // 0016 RET 1 R1
@ -421,67 +406,59 @@ be_local_closure(class_Matter_PathGenerator__next_attribute, /* name */
be_nested_proto(
7, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(attribute),
/* K1 */ be_nested_str_weak(pi),
/* K2 */ be_nested_str_weak(get_attribute_list),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(path_in_attribute),
/* K5 */ be_nested_str_weak(find),
/* K6 */ be_const_int(1),
}),
&be_ktab_class_Matter_PathGenerator, /* shared constants */
be_str_weak(_next_attribute),
&be_const_str_solidified,
( &(const binstruction[45]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040104, // 0000 GETMBR R1 R0 K4
0x50080000, // 0001 LDBOOL R2 0 0
0x1C040202, // 0002 EQ R1 R1 R2
0x78060001, // 0003 JMPF R1 #0006
0x50040000, // 0004 LDBOOL R1 0 0
0x80040200, // 0005 RET 1 R1
0x88040101, // 0006 GETMBR R1 R0 K1
0x8C040302, // 0007 GETMET R1 R1 K2
0x88040102, // 0006 GETMBR R1 R0 K2
0x8C04031E, // 0007 GETMET R1 R1 K30
0x880C0103, // 0008 GETMBR R3 R0 K3
0x7C040400, // 0009 CALL R1 2
0x88080104, // 000A GETMBR R2 R0 K4
0x88080109, // 000A GETMBR R2 R0 K9
0x540DFFFE, // 000B LDINT R3 -1
0x88100100, // 000C GETMBR R4 R0 K0
0x88100104, // 000C GETMBR R4 R0 K4
0x4C140000, // 000D LDNIL R5
0x20100805, // 000E NE R4 R4 R5
0x78120003, // 000F JMPF R4 #0014
0x8C100305, // 0010 GETMET R4 R1 K5
0x88180100, // 0011 GETMBR R6 R0 K0
0x8C100317, // 0010 GETMET R4 R1 K23
0x88180104, // 0011 GETMBR R6 R0 K4
0x7C100400, // 0012 CALL R4 2
0x5C0C0800, // 0013 MOVE R3 R4
0x4C100000, // 0014 LDNIL R4
0x20100604, // 0015 NE R4 R3 R4
0x78120011, // 0016 JMPF R4 #0029
0x00100706, // 0017 ADD R4 R3 K6
0x0010071F, // 0017 ADD R4 R3 K31
0x6014000C, // 0018 GETGBL R5 G12
0x5C180200, // 0019 MOVE R6 R1
0x7C140200, // 001A CALL R5 1
0x14100805, // 001B LT R4 R4 R5
0x7812000B, // 001C JMPF R4 #0029
0x000C0706, // 001D ADD R3 R3 K6
0x000C071F, // 001D ADD R3 R3 K31
0x94100203, // 001E GETIDX R4 R1 R3
0x90020004, // 001F SETMBR R0 K0 R4
0x90020804, // 001F SETMBR R0 K4 R4
0x4C100000, // 0020 LDNIL R4
0x1C100404, // 0021 EQ R4 R2 R4
0x74120002, // 0022 JMPT R4 #0026
0x88100100, // 0023 GETMBR R4 R0 K0
0x88100104, // 0023 GETMBR R4 R0 K4
0x1C100404, // 0024 EQ R4 R2 R4
0x78120001, // 0025 JMPF R4 #0028
0x88100100, // 0026 GETMBR R4 R0 K0
0x88100104, // 0026 GETMBR R4 R0 K4
0x80040800, // 0027 RET 1 R4
0x7001FFED, // 0028 JMP #0017
0x50100000, // 0029 LDBOOL R4 0 0
0x90020004, // 002A SETMBR R0 K0 R4
0x90020804, // 002A SETMBR R0 K4 R4
0x50100000, // 002B LDBOOL R4 0 0
0x80040800, // 002C RET 1 R4
})
@ -497,79 +474,67 @@ be_local_closure(class_Matter_PathGenerator__next_endpoint, /* name */
be_nested_proto(
7, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(pi),
/* K1 */ be_nested_str_weak(device),
/* K2 */ be_nested_str_weak(plugins),
/* K3 */ be_nested_str_weak(path_in_endpoint),
/* K4 */ be_nested_str_weak(cluster),
/* K5 */ be_nested_str_weak(attribute),
/* K6 */ be_nested_str_weak(find),
/* K7 */ be_const_int(1),
/* K8 */ be_nested_str_weak(get_endpoint),
/* K9 */ be_nested_str_weak(clusters),
/* K10 */ be_nested_str_weak(get_cluster_list_sorted),
}),
&be_ktab_class_Matter_PathGenerator, /* shared constants */
be_str_weak(_next_endpoint),
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040102, // 0000 GETMBR R1 R0 K2
0x50080000, // 0001 LDBOOL R2 0 0
0x1C040202, // 0002 EQ R1 R1 R2
0x78060001, // 0003 JMPF R1 #0006
0x50040000, // 0004 LDBOOL R1 0 0
0x80040200, // 0005 RET 1 R1
0x88040101, // 0006 GETMBR R1 R0 K1
0x88040302, // 0007 GETMBR R1 R1 K2
0x88080103, // 0008 GETMBR R2 R0 K3
0x88040106, // 0006 GETMBR R1 R0 K6
0x88040320, // 0007 GETMBR R1 R1 K32
0x88080107, // 0008 GETMBR R2 R0 K7
0x4C0C0000, // 0009 LDNIL R3
0x90020803, // 000A SETMBR R0 K4 R3
0x90020603, // 000A SETMBR R0 K3 R3
0x4C0C0000, // 000B LDNIL R3
0x90020A03, // 000C SETMBR R0 K5 R3
0x90020803, // 000C SETMBR R0 K4 R3
0x540DFFFE, // 000D LDINT R3 -1
0x88100100, // 000E GETMBR R4 R0 K0
0x88100102, // 000E GETMBR R4 R0 K2
0x4C140000, // 000F LDNIL R5
0x20100805, // 0010 NE R4 R4 R5
0x78120003, // 0011 JMPF R4 #0016
0x8C100306, // 0012 GETMET R4 R1 K6
0x88180100, // 0013 GETMBR R6 R0 K0
0x8C100317, // 0012 GETMET R4 R1 K23
0x88180102, // 0013 GETMBR R6 R0 K2
0x7C100400, // 0014 CALL R4 2
0x5C0C0800, // 0015 MOVE R3 R4
0x4C100000, // 0016 LDNIL R4
0x20100604, // 0017 NE R4 R3 R4
0x78120017, // 0018 JMPF R4 #0031
0x00100707, // 0019 ADD R4 R3 K7
0x0010071F, // 0019 ADD R4 R3 K31
0x6014000C, // 001A GETGBL R5 G12
0x5C180200, // 001B MOVE R6 R1
0x7C140200, // 001C CALL R5 1
0x14100805, // 001D LT R4 R4 R5
0x78120011, // 001E JMPF R4 #0031
0x000C0707, // 001F ADD R3 R3 K7
0x000C071F, // 001F ADD R3 R3 K31
0x94100203, // 0020 GETIDX R4 R1 R3
0x90020004, // 0021 SETMBR R0 K0 R4
0x90020404, // 0021 SETMBR R0 K2 R4
0x4C100000, // 0022 LDNIL R4
0x1C100404, // 0023 EQ R4 R2 R4
0x74120004, // 0024 JMPT R4 #002A
0x88100100, // 0025 GETMBR R4 R0 K0
0x8C100908, // 0026 GETMET R4 R4 K8
0x88100102, // 0025 GETMBR R4 R0 K2
0x8C100912, // 0026 GETMET R4 R4 K18
0x7C100200, // 0027 CALL R4 1
0x1C100404, // 0028 EQ R4 R2 R4
0x78120005, // 0029 JMPF R4 #0030
0x88100100, // 002A GETMBR R4 R0 K0
0x8C10090A, // 002B GETMET R4 R4 K10
0x88100102, // 002A GETMBR R4 R0 K2
0x8C100921, // 002B GETMET R4 R4 K33
0x7C100200, // 002C CALL R4 1
0x90021204, // 002D SETMBR R0 K9 R4
0x88100100, // 002E GETMBR R4 R0 K0
0x90020A04, // 002D SETMBR R0 K5 R4
0x88100102, // 002E GETMBR R4 R0 K2
0x80040800, // 002F RET 1 R4
0x7001FFE7, // 0030 JMP #0019
0x50100000, // 0031 LDBOOL R4 0 0
0x90020004, // 0032 SETMBR R0 K0 R4
0x90020404, // 0032 SETMBR R0 K2 R4
0x50100000, // 0033 LDBOOL R4 0 0
0x80040800, // 0034 RET 1 R4
})
@ -585,29 +550,27 @@ be_local_closure(class_Matter_PathGenerator_get_pi, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(pi),
}),
&be_ktab_class_Matter_PathGenerator, /* shared constants */
be_str_weak(get_pi),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040102, // 0000 GETMBR R1 R0 K2
0x50080000, // 0001 LDBOOL R2 0 0
0x1C040202, // 0002 EQ R1 R1 R2
0x74060003, // 0003 JMPT R1 #0008
0x88040100, // 0004 GETMBR R1 R0 K0
0x88040102, // 0004 GETMBR R1 R0 K2
0x50080200, // 0005 LDBOOL R2 1 0
0x1C040202, // 0006 EQ R1 R1 R2
0x78060001, // 0007 JMPF R1 #000A
0x4C040000, // 0008 LDNIL R1
0x70020000, // 0009 JMP #000B
0x88040100, // 000A GETMBR R1 R0 K0
0x88040102, // 000A GETMBR R1 R0 K2
0x80040200, // 000B RET 1 R1
})
)
@ -622,50 +585,37 @@ be_local_closure(class_Matter_PathGenerator_start, /* name */
be_nested_proto(
7, /* nstack */
5, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(path_concrete),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(Path),
/* K3 */ be_nested_str_weak(reset),
/* K4 */ be_nested_str_weak(path_in_endpoint),
/* K5 */ be_nested_str_weak(path_in_cluster),
/* K6 */ be_nested_str_weak(path_in_attribute),
/* K7 */ be_nested_str_weak(path_in_fabric_filtered),
/* K8 */ be_nested_str_weak(pi),
/* K9 */ be_nested_str_weak(endpoint_found),
/* K10 */ be_nested_str_weak(cluster_found),
/* K11 */ be_nested_str_weak(attribute_found),
}),
&be_ktab_class_Matter_PathGenerator, /* shared constants */
be_str_weak(start),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xB8160200, // 0000 GETNGBL R5 K1
0x8C140B02, // 0001 GETMET R5 R5 K2
0xB8163200, // 0000 GETNGBL R5 K25
0x8C140B22, // 0001 GETMET R5 R5 K34
0x7C140200, // 0002 CALL R5 1
0x90020005, // 0003 SETMBR R0 K0 R5
0x8C140103, // 0004 GETMET R5 R0 K3
0x8C140101, // 0004 GETMET R5 R0 K1
0x7C140200, // 0005 CALL R5 1
0x90020801, // 0006 SETMBR R0 K4 R1
0x90020A02, // 0007 SETMBR R0 K5 R2
0x90020C03, // 0008 SETMBR R0 K6 R3
0x90020E01, // 0006 SETMBR R0 K7 R1
0x90021002, // 0007 SETMBR R0 K8 R2
0x90021203, // 0008 SETMBR R0 K9 R3
0x60140017, // 0009 GETGBL R5 G23
0x5C180800, // 000A MOVE R6 R4
0x7C140200, // 000B CALL R5 1
0x90020E05, // 000C SETMBR R0 K7 R5
0x90022805, // 000C SETMBR R0 K20 R5
0x4C140000, // 000D LDNIL R5
0x90021005, // 000E SETMBR R0 K8 R5
0x90020405, // 000E SETMBR R0 K2 R5
0x50140000, // 000F LDBOOL R5 0 0
0x90021205, // 0010 SETMBR R0 K9 R5
0x90021805, // 0010 SETMBR R0 K12 R5
0x50140000, // 0011 LDBOOL R5 0 0
0x90021405, // 0012 SETMBR R0 K10 R5
0x90021C05, // 0012 SETMBR R0 K14 R5
0x50140000, // 0013 LDBOOL R5 0 0
0x90021605, // 0014 SETMBR R0 K11 R5
0x90022005, // 0014 SETMBR R0 K16 R5
0x80000000, // 0015 RET 0
})
)

View File

@ -3,23 +3,8 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Aggregator;
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Aggregator_read_attribute, /* name */
be_nested_proto(
16, /* nstack */
4, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[18]) { /* constants */
// compact class 'Matter_Plugin_Aggregator' ktab size: 22, total: 29 (saved 56 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Aggregator[22] = {
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
@ -38,7 +23,29 @@ be_local_closure(class_Matter_Plugin_Aggregator_read_attribute, /* name */
/* K15 */ be_nested_str_weak(AGGREGATOR_ENDPOINT),
/* K16 */ be_nested_str_weak(stop_iteration),
/* K17 */ be_nested_str_weak(read_attribute),
}),
/* K18 */ be_nested_str_weak(command),
/* K19 */ be_const_int(1),
/* K20 */ be_nested_str_weak(Matter_TLV_struct),
/* K21 */ be_nested_str_weak(invoke_request),
};
extern const bclass be_class_Matter_Plugin_Aggregator;
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Aggregator_read_attribute, /* name */
be_nested_proto(
16, /* nstack */
4, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Aggregator, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[73]) { /* code */
@ -128,32 +135,20 @@ be_local_closure(class_Matter_Plugin_Aggregator_invoke_request, /* name */
be_nested_proto(
13, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(command),
/* K4 */ be_const_int(3),
/* K5 */ be_const_int(0),
/* K6 */ be_const_int(1),
/* K7 */ be_nested_str_weak(Matter_TLV_struct),
/* K8 */ be_nested_str_weak(add_TLV),
/* K9 */ be_nested_str_weak(U2),
/* K10 */ be_nested_str_weak(invoke_request),
}),
&be_ktab_class_Matter_Plugin_Aggregator, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[39]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140702, // 0002 GETMBR R5 R3 K2
0x88180703, // 0003 GETMBR R6 R3 K3
0x88180712, // 0003 GETMBR R6 R3 K18
0x1C1C0B04, // 0004 EQ R7 R5 K4
0x781E0016, // 0005 JMPF R7 #001D
0x1C1C0D05, // 0006 EQ R7 R6 K5
@ -161,16 +156,16 @@ be_local_closure(class_Matter_Plugin_Aggregator_invoke_request, /* name */
0x501C0200, // 0008 LDBOOL R7 1 0
0x80040E00, // 0009 RET 1 R7
0x70020010, // 000A JMP #001C
0x1C1C0D06, // 000B EQ R7 R6 K6
0x1C1C0D13, // 000B EQ R7 R6 K19
0x781E0009, // 000C JMPF R7 #0017
0x8C1C0907, // 000D GETMET R7 R4 K7
0x8C1C0914, // 000D GETMET R7 R4 K20
0x7C1C0200, // 000E CALL R7 1
0x8C200F08, // 000F GETMET R8 R7 K8
0x8C200F0C, // 000F GETMET R8 R7 K12
0x58280005, // 0010 LDCONST R10 K5
0x882C0909, // 0011 GETMBR R11 R4 K9
0x882C0907, // 0011 GETMBR R11 R4 K7
0x58300005, // 0012 LDCONST R12 K5
0x7C200800, // 0013 CALL R8 4
0x900E0705, // 0014 SETMBR R3 K3 K5
0x900E2505, // 0014 SETMBR R3 K18 K5
0x80040E00, // 0015 RET 1 R7
0x70020004, // 0016 JMP #001C
0x541E003F, // 0017 LDINT R7 64
@ -182,7 +177,7 @@ be_local_closure(class_Matter_Plugin_Aggregator_invoke_request, /* name */
0x601C0003, // 001D GETGBL R7 G3
0x5C200000, // 001E MOVE R8 R0
0x7C1C0200, // 001F CALL R7 1
0x8C1C0F0A, // 0020 GETMET R7 R7 K10
0x8C1C0F15, // 0020 GETMET R7 R7 K21
0x5C240200, // 0021 MOVE R9 R1
0x5C280400, // 0022 MOVE R10 R2
0x5C2C0600, // 0023 MOVE R11 R3

View File

@ -3,6 +3,40 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Fan' ktab size: 30, total: 64 (saved 272 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Fan[30] = {
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(shadow_fan_mode),
/* K2 */ be_nested_str_weak(attribute_updated),
/* K3 */ be_nested_str_weak(shadow_fan_speed_pct),
/* K4 */ be_const_int(3),
/* K5 */ be_nested_str_weak(tasmota),
/* K6 */ be_nested_str_weak(scale_uint),
/* K7 */ be_const_int(2),
/* K8 */ be_nested_str_weak(find),
/* K9 */ be_nested_str_weak(FanMode),
/* K10 */ be_nested_str_weak(set_fan_mode),
/* K11 */ be_nested_str_weak(FanSpeed255),
/* K12 */ be_nested_str_weak(set_fan_speed_pct),
/* K13 */ be_nested_str_weak(FanSpeed),
/* K14 */ be_const_int(0),
/* K15 */ be_const_int(1),
/* K16 */ be_const_int(3),
/* K17 */ be_nested_str_weak(matter),
/* K18 */ be_nested_str_weak(TLV),
/* K19 */ be_nested_str_weak(cluster),
/* K20 */ be_nested_str_weak(attribute),
/* K21 */ be_nested_str_weak(update_shadow_lazy),
/* K22 */ be_nested_str_weak(int),
/* K23 */ be_nested_str_weak(publish_command),
/* K24 */ be_nested_str_weak(status),
/* K25 */ be_nested_str_weak(CONSTRAINT_ERROR),
/* K26 */ be_nested_str_weak(init),
/* K27 */ be_nested_str_weak(set),
/* K28 */ be_nested_str_weak(U1),
/* K29 */ be_nested_str_weak(read_attribute),
};
extern const bclass be_class_Matter_Plugin_Fan;
@ -13,22 +47,13 @@ be_local_closure(class_Matter_Plugin_Fan_set_fan_mode, /* name */
be_nested_proto(
10, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 8]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(shadow_fan_mode),
/* K2 */ be_nested_str_weak(attribute_updated),
/* K3 */ be_nested_str_weak(shadow_fan_speed_pct),
/* K4 */ be_const_int(3),
/* K5 */ be_nested_str_weak(tasmota),
/* K6 */ be_nested_str_weak(scale_uint),
/* K7 */ be_const_int(2),
}),
&be_ktab_class_Matter_Plugin_Fan, /* shared constants */
be_str_weak(set_fan_mode),
&be_const_str_solidified,
( &(const binstruction[48]) { /* code */
@ -93,62 +118,52 @@ be_local_closure(class_Matter_Plugin_Fan_update_virtual, /* name */
be_nested_proto(
13, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(find),
/* K1 */ be_nested_str_weak(FanMode),
/* K2 */ be_nested_str_weak(set_fan_mode),
/* K3 */ be_nested_str_weak(FanSpeed255),
/* K4 */ be_nested_str_weak(set_fan_speed_pct),
/* K5 */ be_nested_str_weak(tasmota),
/* K6 */ be_nested_str_weak(scale_uint),
/* K7 */ be_const_int(0),
/* K8 */ be_nested_str_weak(FanSpeed),
}),
&be_ktab_class_Matter_Plugin_Fan, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0x8C080300, // 0000 GETMET R2 R1 K0
0x58100001, // 0001 LDCONST R4 K1
0x8C080308, // 0000 GETMET R2 R1 K8
0x58100009, // 0001 LDCONST R4 K9
0x7C080400, // 0002 CALL R2 2
0x4C0C0000, // 0003 LDNIL R3
0x200C0403, // 0004 NE R3 R2 R3
0x780E0004, // 0005 JMPF R3 #000B
0x8C0C0102, // 0006 GETMET R3 R0 K2
0x8C0C010A, // 0006 GETMET R3 R0 K10
0x60140009, // 0007 GETGBL R5 G9
0x5C180400, // 0008 MOVE R6 R2
0x7C140200, // 0009 CALL R5 1
0x7C0C0400, // 000A CALL R3 2
0x8C0C0300, // 000B GETMET R3 R1 K0
0x58140003, // 000C LDCONST R5 K3
0x8C0C0308, // 000B GETMET R3 R1 K8
0x5814000B, // 000C LDCONST R5 K11
0x7C0C0400, // 000D CALL R3 2
0x4C100000, // 000E LDNIL R4
0x20100604, // 000F NE R4 R3 R4
0x7812000B, // 0010 JMPF R4 #001D
0x8C100104, // 0011 GETMET R4 R0 K4
0x8C10010C, // 0011 GETMET R4 R0 K12
0xB81A0A00, // 0012 GETNGBL R6 K5
0x8C180D06, // 0013 GETMET R6 R6 K6
0x60200009, // 0014 GETGBL R8 G9
0x5C240600, // 0015 MOVE R9 R3
0x7C200200, // 0016 CALL R8 1
0x58240007, // 0017 LDCONST R9 K7
0x58240000, // 0017 LDCONST R9 K0
0x542A00FE, // 0018 LDINT R10 255
0x582C0007, // 0019 LDCONST R11 K7
0x582C0000, // 0019 LDCONST R11 K0
0x54320063, // 001A LDINT R12 100
0x7C180C00, // 001B CALL R6 6
0x7C100400, // 001C CALL R4 2
0x8C100300, // 001D GETMET R4 R1 K0
0x58180008, // 001E LDCONST R6 K8
0x8C100308, // 001D GETMET R4 R1 K8
0x5818000D, // 001E LDCONST R6 K13
0x7C100400, // 001F CALL R4 2
0x4C140000, // 0020 LDNIL R5
0x20140805, // 0021 NE R5 R4 R5
0x78160004, // 0022 JMPF R5 #0028
0x8C140104, // 0023 GETMET R5 R0 K4
0x8C14010C, // 0023 GETMET R5 R0 K12
0x601C0009, // 0024 GETGBL R7 G9
0x5C200800, // 0025 MOVE R8 R4
0x7C1C0200, // 0026 CALL R7 1
@ -167,23 +182,13 @@ be_local_closure(class_Matter_Plugin_Fan_set_fan_speed_pct, /* name */
be_nested_proto(
10, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(shadow_fan_speed_pct),
/* K2 */ be_nested_str_weak(attribute_updated),
/* K3 */ be_const_int(2),
/* K4 */ be_nested_str_weak(shadow_fan_mode),
/* K5 */ be_nested_str_weak(tasmota),
/* K6 */ be_nested_str_weak(scale_uint),
/* K7 */ be_const_int(1),
/* K8 */ be_const_int(3),
}),
&be_ktab_class_Matter_Plugin_Fan, /* shared constants */
be_str_weak(set_fan_speed_pct),
&be_const_str_solidified,
( &(const binstruction[42]) { /* code */
@ -191,42 +196,42 @@ be_local_closure(class_Matter_Plugin_Fan_set_fan_speed_pct, /* name */
0x5C0C0200, // 0001 MOVE R3 R1
0x7C080200, // 0002 CALL R2 1
0x5C040400, // 0003 MOVE R1 R2
0x14080300, // 0004 LT R2 R1 K0
0x1408030E, // 0004 LT R2 R1 K14
0x780A0000, // 0005 JMPF R2 #0007
0x58040000, // 0006 LDCONST R1 K0
0x5804000E, // 0006 LDCONST R1 K14
0x540A0063, // 0007 LDINT R2 100
0x24080202, // 0008 GT R2 R1 R2
0x780A0000, // 0009 JMPF R2 #000B
0x54060063, // 000A LDINT R1 100
0x88080101, // 000B GETMBR R2 R0 K1
0x88080103, // 000B GETMBR R2 R0 K3
0x20080202, // 000C NE R2 R1 R2
0x780A001A, // 000D JMPF R2 #0029
0x8C080102, // 000E GETMET R2 R0 K2
0x54120201, // 000F LDINT R4 514
0x58140003, // 0010 LDCONST R5 K3
0x58140007, // 0010 LDCONST R5 K7
0x7C080600, // 0011 CALL R2 3
0x90020201, // 0012 SETMBR R0 K1 R1
0x88080104, // 0013 GETMBR R2 R0 K4
0x1C0C0300, // 0014 EQ R3 R1 K0
0x90020601, // 0012 SETMBR R0 K3 R1
0x88080101, // 0013 GETMBR R2 R0 K1
0x1C0C030E, // 0014 EQ R3 R1 K14
0x780E0001, // 0015 JMPF R3 #0018
0x58080000, // 0016 LDCONST R2 K0
0x5808000E, // 0016 LDCONST R2 K14
0x70020008, // 0017 JMP #0021
0xB80E0A00, // 0018 GETNGBL R3 K5
0x8C0C0706, // 0019 GETMET R3 R3 K6
0x5C140200, // 001A MOVE R5 R1
0x58180007, // 001B LDCONST R6 K7
0x5818000F, // 001B LDCONST R6 K15
0x541E0063, // 001C LDINT R7 100
0x58200007, // 001D LDCONST R8 K7
0x58240008, // 001E LDCONST R9 K8
0x5820000F, // 001D LDCONST R8 K15
0x58240010, // 001E LDCONST R9 K16
0x7C0C0C00, // 001F CALL R3 6
0x5C080600, // 0020 MOVE R2 R3
0x880C0104, // 0021 GETMBR R3 R0 K4
0x880C0101, // 0021 GETMBR R3 R0 K1
0x200C0403, // 0022 NE R3 R2 R3
0x780E0004, // 0023 JMPF R3 #0029
0x90020802, // 0024 SETMBR R0 K4 R2
0x90020202, // 0024 SETMBR R0 K1 R2
0x8C0C0102, // 0025 GETMET R3 R0 K2
0x54160201, // 0026 LDINT R5 514
0x58180000, // 0027 LDCONST R6 K0
0x5818000E, // 0027 LDCONST R6 K14
0x7C0C0600, // 0028 CALL R3 3
0x80000000, // 0029 RET 0
})
@ -242,111 +247,90 @@ be_local_closure(class_Matter_Plugin_Fan_write_attribute, /* name */
be_nested_proto(
21, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[20]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(int),
/* K7 */ be_nested_str_weak(set_fan_mode),
/* K8 */ be_nested_str_weak(publish_command),
/* K9 */ be_nested_str_weak(FanMode),
/* K10 */ be_nested_str_weak(shadow_fan_mode),
/* K11 */ be_nested_str_weak(FanSpeed),
/* K12 */ be_nested_str_weak(shadow_fan_speed_pct),
/* K13 */ be_nested_str_weak(FanSpeed255),
/* K14 */ be_nested_str_weak(tasmota),
/* K15 */ be_nested_str_weak(scale_uint),
/* K16 */ be_nested_str_weak(status),
/* K17 */ be_nested_str_weak(CONSTRAINT_ERROR),
/* K18 */ be_const_int(2),
/* K19 */ be_nested_str_weak(set_fan_speed_pct),
}),
&be_ktab_class_Matter_Plugin_Fan, /* shared constants */
be_str_weak(write_attribute),
&be_const_str_solidified,
( &(const binstruction[78]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8122200, // 0000 GETNGBL R4 K17
0x88100912, // 0001 GETMBR R4 R4 K18
0x88140513, // 0002 GETMBR R5 R2 K19
0x88180514, // 0003 GETMBR R6 R2 K20
0x541E0201, // 0004 LDINT R7 514
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0044, // 0006 JMPF R7 #004C
0x8C1C0104, // 0007 GETMET R7 R0 K4
0x8C1C0115, // 0007 GETMET R7 R0 K21
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D05, // 0009 EQ R7 R6 K5
0x1C1C0D00, // 0009 EQ R7 R6 K0
0x781E001F, // 000A JMPF R7 #002B
0x601C0004, // 000B GETGBL R7 G4
0x5C200600, // 000C MOVE R8 R3
0x7C1C0200, // 000D CALL R7 1
0x1C1C0F06, // 000E EQ R7 R7 K6
0x1C1C0F16, // 000E EQ R7 R7 K22
0x781E0014, // 000F JMPF R7 #0025
0x8C1C0107, // 0010 GETMET R7 R0 K7
0x8C1C010A, // 0010 GETMET R7 R0 K10
0x5C240600, // 0011 MOVE R9 R3
0x7C1C0400, // 0012 CALL R7 2
0x8C1C0108, // 0013 GETMET R7 R0 K8
0x8C1C0117, // 0013 GETMET R7 R0 K23
0x58240009, // 0014 LDCONST R9 K9
0x8828010A, // 0015 GETMBR R10 R0 K10
0x582C000B, // 0016 LDCONST R11 K11
0x8830010C, // 0017 GETMBR R12 R0 K12
0x5834000D, // 0018 LDCONST R13 K13
0xB83A1C00, // 0019 GETNGBL R14 K14
0x8C381D0F, // 001A GETMET R14 R14 K15
0x8840010C, // 001B GETMBR R16 R0 K12
0x58440005, // 001C LDCONST R17 K5
0x88280101, // 0015 GETMBR R10 R0 K1
0x582C000D, // 0016 LDCONST R11 K13
0x88300103, // 0017 GETMBR R12 R0 K3
0x5834000B, // 0018 LDCONST R13 K11
0xB83A0A00, // 0019 GETNGBL R14 K5
0x8C381D06, // 001A GETMET R14 R14 K6
0x88400103, // 001B GETMBR R16 R0 K3
0x58440000, // 001C LDCONST R17 K0
0x544A0063, // 001D LDINT R18 100
0x584C0005, // 001E LDCONST R19 K5
0x584C0000, // 001E LDCONST R19 K0
0x545200FE, // 001F LDINT R20 255
0x7C380C00, // 0020 CALL R14 6
0x7C1C0E00, // 0021 CALL R7 7
0x501C0200, // 0022 LDBOOL R7 1 0
0x80040E00, // 0023 RET 1 R7
0x70020004, // 0024 JMP #002A
0xB81E0000, // 0025 GETNGBL R7 K0
0x881C0F11, // 0026 GETMBR R7 R7 K17
0x900A2007, // 0027 SETMBR R2 K16 R7
0xB81E2200, // 0025 GETNGBL R7 K17
0x881C0F19, // 0026 GETMBR R7 R7 K25
0x900A3007, // 0027 SETMBR R2 K24 R7
0x501C0000, // 0028 LDBOOL R7 0 0
0x80040E00, // 0029 RET 1 R7
0x70020020, // 002A JMP #004C
0x1C1C0D12, // 002B EQ R7 R6 K18
0x1C1C0D07, // 002B EQ R7 R6 K7
0x781E001E, // 002C JMPF R7 #004C
0x601C0004, // 002D GETGBL R7 G4
0x5C200600, // 002E MOVE R8 R3
0x7C1C0200, // 002F CALL R7 1
0x1C1C0F06, // 0030 EQ R7 R7 K6
0x1C1C0F16, // 0030 EQ R7 R7 K22
0x781E0014, // 0031 JMPF R7 #0047
0x8C1C0113, // 0032 GETMET R7 R0 K19
0x8C1C010C, // 0032 GETMET R7 R0 K12
0x5C240600, // 0033 MOVE R9 R3
0x7C1C0400, // 0034 CALL R7 2
0x8C1C0108, // 0035 GETMET R7 R0 K8
0x8C1C0117, // 0035 GETMET R7 R0 K23
0x58240009, // 0036 LDCONST R9 K9
0x8828010A, // 0037 GETMBR R10 R0 K10
0x582C000B, // 0038 LDCONST R11 K11
0x8830010C, // 0039 GETMBR R12 R0 K12
0x5834000D, // 003A LDCONST R13 K13
0xB83A1C00, // 003B GETNGBL R14 K14
0x8C381D0F, // 003C GETMET R14 R14 K15
0x8840010C, // 003D GETMBR R16 R0 K12
0x58440005, // 003E LDCONST R17 K5
0x88280101, // 0037 GETMBR R10 R0 K1
0x582C000D, // 0038 LDCONST R11 K13
0x88300103, // 0039 GETMBR R12 R0 K3
0x5834000B, // 003A LDCONST R13 K11
0xB83A0A00, // 003B GETNGBL R14 K5
0x8C381D06, // 003C GETMET R14 R14 K6
0x88400103, // 003D GETMBR R16 R0 K3
0x58440000, // 003E LDCONST R17 K0
0x544A0063, // 003F LDINT R18 100
0x584C0005, // 0040 LDCONST R19 K5
0x584C0000, // 0040 LDCONST R19 K0
0x545200FE, // 0041 LDINT R20 255
0x7C380C00, // 0042 CALL R14 6
0x7C1C0E00, // 0043 CALL R7 7
0x501C0200, // 0044 LDBOOL R7 1 0
0x80040E00, // 0045 RET 1 R7
0x70020004, // 0046 JMP #004C
0xB81E0000, // 0047 GETNGBL R7 K0
0x881C0F11, // 0048 GETMBR R7 R7 K17
0x900A2007, // 0049 SETMBR R2 K16 R7
0xB81E2200, // 0047 GETNGBL R7 K17
0x881C0F19, // 0048 GETMBR R7 R7 K25
0x900A3007, // 0049 SETMBR R2 K24 R7
0x501C0000, // 004A LDBOOL R7 0 0
0x80040E00, // 004B RET 1 R7
0x4C1C0000, // 004C LDNIL R7
@ -364,31 +348,26 @@ be_local_closure(class_Matter_Plugin_Fan_init, /* name */
be_nested_proto(
9, /* nstack */
4, /* argc */
2, /* varg */
10, /* 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_weak(init),
/* K1 */ be_nested_str_weak(shadow_fan_mode),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str_weak(shadow_fan_speed_pct),
}),
&be_ktab_class_Matter_Plugin_Fan, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[11]) { /* code */
0x60100003, // 0000 GETGBL R4 G3
0x5C140000, // 0001 MOVE R5 R0
0x7C100200, // 0002 CALL R4 1
0x8C100900, // 0003 GETMET R4 R4 K0
0x8C10091A, // 0003 GETMET R4 R4 K26
0x5C180200, // 0004 MOVE R6 R1
0x5C1C0400, // 0005 MOVE R7 R2
0x5C200600, // 0006 MOVE R8 R3
0x7C100800, // 0007 CALL R4 4
0x90020302, // 0008 SETMBR R0 K1 K2
0x90020702, // 0009 SETMBR R0 K3 K2
0x90020300, // 0008 SETMBR R0 K1 K0
0x90020700, // 0009 SETMBR R0 K3 K0
0x80000000, // 000A RET 0
})
)
@ -403,75 +382,60 @@ be_local_closure(class_Matter_Plugin_Fan_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(set),
/* K7 */ be_nested_str_weak(U1),
/* K8 */ be_nested_str_weak(shadow_fan_mode),
/* K9 */ be_const_int(1),
/* K10 */ be_const_int(2),
/* K11 */ be_nested_str_weak(shadow_fan_speed_pct),
/* K12 */ be_const_int(3),
/* K13 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Fan, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[49]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8122200, // 0000 GETNGBL R4 K17
0x88100912, // 0001 GETMBR R4 R4 K18
0x88140513, // 0002 GETMBR R5 R2 K19
0x88180514, // 0003 GETMBR R6 R2 K20
0x541E0201, // 0004 LDINT R7 514
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0020, // 0006 JMPF R7 #0028
0x8C1C0104, // 0007 GETMET R7 R0 K4
0x8C1C0115, // 0007 GETMET R7 R0 K21
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D05, // 0009 EQ R7 R6 K5
0x1C1C0D00, // 0009 EQ R7 R6 K0
0x781E0005, // 000A JMPF R7 #0011
0x8C1C0706, // 000B GETMET R7 R3 K6
0x88240907, // 000C GETMBR R9 R4 K7
0x88280108, // 000D GETMBR R10 R0 K8
0x8C1C071B, // 000B GETMET R7 R3 K27
0x8824091C, // 000C GETMBR R9 R4 K28
0x88280101, // 000D GETMBR R10 R0 K1
0x7C1C0600, // 000E CALL R7 3
0x80040E00, // 000F RET 1 R7
0x70020016, // 0010 JMP #0028
0x1C1C0D09, // 0011 EQ R7 R6 K9
0x1C1C0D0F, // 0011 EQ R7 R6 K15
0x781E0005, // 0012 JMPF R7 #0019
0x8C1C0706, // 0013 GETMET R7 R3 K6
0x88240907, // 0014 GETMBR R9 R4 K7
0x5828000A, // 0015 LDCONST R10 K10
0x8C1C071B, // 0013 GETMET R7 R3 K27
0x8824091C, // 0014 GETMBR R9 R4 K28
0x58280007, // 0015 LDCONST R10 K7
0x7C1C0600, // 0016 CALL R7 3
0x80040E00, // 0017 RET 1 R7
0x7002000E, // 0018 JMP #0028
0x1C1C0D0A, // 0019 EQ R7 R6 K10
0x1C1C0D07, // 0019 EQ R7 R6 K7
0x781E0005, // 001A JMPF R7 #0021
0x8C1C0706, // 001B GETMET R7 R3 K6
0x88240907, // 001C GETMBR R9 R4 K7
0x8828010B, // 001D GETMBR R10 R0 K11
0x8C1C071B, // 001B GETMET R7 R3 K27
0x8824091C, // 001C GETMBR R9 R4 K28
0x88280103, // 001D GETMBR R10 R0 K3
0x7C1C0600, // 001E CALL R7 3
0x80040E00, // 001F RET 1 R7
0x70020006, // 0020 JMP #0028
0x1C1C0D0C, // 0021 EQ R7 R6 K12
0x1C1C0D10, // 0021 EQ R7 R6 K16
0x781E0004, // 0022 JMPF R7 #0028
0x8C1C0706, // 0023 GETMET R7 R3 K6
0x88240907, // 0024 GETMBR R9 R4 K7
0x8828010B, // 0025 GETMBR R10 R0 K11
0x8C1C071B, // 0023 GETMET R7 R3 K27
0x8824091C, // 0024 GETMBR R9 R4 K28
0x88280103, // 0025 GETMBR R10 R0 K3
0x7C1C0600, // 0026 CALL R7 3
0x80040E00, // 0027 RET 1 R7
0x601C0003, // 0028 GETGBL R7 G3
0x5C200000, // 0029 MOVE R8 R0
0x7C1C0200, // 002A CALL R7 1
0x8C1C0F0D, // 002B GETMET R7 R7 K13
0x8C1C0F1D, // 002B GETMET R7 R7 K29
0x5C240200, // 002C MOVE R9 R1
0x5C280400, // 002D MOVE R10 R2
0x5C2C0600, // 002E MOVE R11 R3

View File

@ -3,23 +3,8 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Light0;
/********************************************************************
** Solidified function: set_onoff
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_set_onoff, /* 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[19]) { /* constants */
// compact class 'Matter_Plugin_Light0' ktab size: 49, total: 87 (saved 304 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Light0[49] = {
/* K0 */ be_nested_str_weak(BRIDGE),
/* K1 */ be_nested_str_weak(call_remote_sync),
/* K2 */ be_nested_str_weak(Power),
@ -39,7 +24,55 @@ be_local_closure(class_Matter_Plugin_Light0_set_onoff, /* name */
/* K16 */ be_nested_str_weak(set),
/* K17 */ be_nested_str_weak(power),
/* K18 */ be_nested_str_weak(light_index),
}),
/* K19 */ be_nested_str_weak(webserver),
/* K20 */ be_nested_str_weak(web_values_prefix),
/* K21 */ be_nested_str_weak(content_send),
/* K22 */ be_nested_str_weak(_X25s),
/* K23 */ be_nested_str_weak(web_value_onoff),
/* K24 */ be_nested_str_weak(init),
/* K25 */ be_nested_str_weak(find),
/* K26 */ be_nested_str_weak(ARG),
/* K27 */ be_const_int(0),
/* K28 */ be_const_int(1),
/* K29 */ be_nested_str_weak(set_onoff),
/* K30 */ be_nested_str_weak(update_virtual),
/* K31 */ be_nested_str_weak(matter),
/* K32 */ be_nested_str_weak(TLV),
/* K33 */ be_nested_str_weak(cluster),
/* K34 */ be_nested_str_weak(attribute),
/* K35 */ be_nested_str_weak(update_shadow_lazy),
/* K36 */ be_nested_str_weak(BOOL),
/* K37 */ be_nested_str_weak(read_attribute),
/* K38 */ be_nested_str_weak(get_name),
/* K39 */ be_nested_str_weak(PREFIX),
/* K40 */ be_nested_str_weak(html_escape),
/* K41 */ be_nested_str_weak(),
/* K42 */ be_nested_str_weak(get_power),
/* K43 */ be_nested_str_weak(command),
/* K44 */ be_nested_str_weak(publish_command),
/* K45 */ be_const_int(2),
/* K46 */ be_nested_str_weak(contains),
/* K47 */ be_nested_str_weak(POWER),
/* K48 */ be_nested_str_weak(ON),
};
extern const bclass be_class_Matter_Plugin_Light0;
/********************************************************************
** Solidified function: set_onoff
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_set_onoff, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Light0, /* shared constants */
be_str_weak(set_onoff),
&be_const_str_solidified,
( &(const binstruction[56]) { /* code */
@ -112,31 +145,24 @@ be_local_closure(class_Matter_Plugin_Light0_web_values, /* name */
be_nested_proto(
9, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X25s),
/* K4 */ be_nested_str_weak(web_value_onoff),
/* K5 */ be_nested_str_weak(shadow_onoff),
}),
&be_ktab_class_Matter_Plugin_Light0, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4062600, // 0000 IMPORT R1 K19
0x8C080114, // 0001 GETMET R2 R0 K20
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C080315, // 0003 GETMET R2 R1 K21
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x8C180104, // 0006 GETMET R6 R0 K4
0x88200105, // 0007 GETMBR R8 R0 K5
0x58140016, // 0005 LDCONST R5 K22
0x8C180117, // 0006 GETMET R6 R0 K23
0x88200108, // 0007 GETMBR R8 R0 K8
0x7C180400, // 0008 CALL R6 2
0x7C100400, // 0009 CALL R4 2
0x7C080400, // 000A CALL R2 2
@ -154,28 +180,23 @@ be_local_closure(class_Matter_Plugin_Light0_init, /* name */
be_nested_proto(
9, /* nstack */
4, /* argc */
2, /* varg */
10, /* 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_weak(shadow_onoff),
/* K1 */ be_nested_str_weak(light_index),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str_weak(init),
}),
&be_ktab_class_Matter_Plugin_Light0, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x50100000, // 0000 LDBOOL R4 0 0
0x90020004, // 0001 SETMBR R0 K0 R4
0x90020302, // 0002 SETMBR R0 K1 K2
0x90021004, // 0001 SETMBR R0 K8 R4
0x9002250A, // 0002 SETMBR R0 K18 K10
0x60100003, // 0003 GETGBL R4 G3
0x5C140000, // 0004 MOVE R5 R0
0x7C100200, // 0005 CALL R4 1
0x8C100903, // 0006 GETMET R4 R4 K3
0x8C100918, // 0006 GETMET R4 R4 K24
0x5C180200, // 0007 MOVE R6 R1
0x5C1C0400, // 0008 MOVE R7 R2
0x5C200600, // 0009 MOVE R8 R3
@ -194,37 +215,31 @@ be_local_closure(class_Matter_Plugin_Light0_parse_configuration, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota_relay_index),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(ARG),
/* K3 */ be_const_int(0),
/* K4 */ be_const_int(1),
}),
&be_ktab_class_Matter_Plugin_Light0, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0x60080009, // 0000 GETGBL R2 G9
0x8C0C0301, // 0001 GETMET R3 R1 K1
0x88140102, // 0002 GETMBR R5 R0 K2
0x8C0C0319, // 0001 GETMET R3 R1 K25
0x8814011A, // 0002 GETMBR R5 R0 K26
0x4C180000, // 0003 LDNIL R6
0x7C0C0600, // 0004 CALL R3 3
0x7C080200, // 0005 CALL R2 1
0x90020002, // 0006 SETMBR R0 K0 R2
0x88080100, // 0007 GETMBR R2 R0 K0
0x90020602, // 0006 SETMBR R0 K3 R2
0x88080103, // 0007 GETMBR R2 R0 K3
0x4C0C0000, // 0008 LDNIL R3
0x20080403, // 0009 NE R2 R2 R3
0x780A0003, // 000A JMPF R2 #000F
0x88080100, // 000B GETMBR R2 R0 K0
0x18080503, // 000C LE R2 R2 K3
0x88080103, // 000B GETMBR R2 R0 K3
0x1808051B, // 000C LE R2 R2 K27
0x780A0000, // 000D JMPF R2 #000F
0x90020104, // 000E SETMBR R0 K0 K4
0x9002071C, // 000E SETMBR R0 K3 K28
0x80000000, // 000F RET 0
})
)
@ -239,28 +254,23 @@ be_local_closure(class_Matter_Plugin_Light0_update_virtual, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(find),
/* K1 */ be_nested_str_weak(Power),
/* K2 */ be_nested_str_weak(set_onoff),
/* K3 */ be_nested_str_weak(update_virtual),
}),
&be_ktab_class_Matter_Plugin_Light0, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x8C080300, // 0000 GETMET R2 R1 K0
0x58100001, // 0001 LDCONST R4 K1
0x8C080319, // 0000 GETMET R2 R1 K25
0x58100002, // 0001 LDCONST R4 K2
0x7C080400, // 0002 CALL R2 2
0x4C0C0000, // 0003 LDNIL R3
0x200C0403, // 0004 NE R3 R2 R3
0x780E0004, // 0005 JMPF R3 #000B
0x8C0C0102, // 0006 GETMET R3 R0 K2
0x8C0C011D, // 0006 GETMET R3 R0 K29
0x60140017, // 0007 GETGBL R5 G23
0x5C180400, // 0008 MOVE R6 R2
0x7C140200, // 0009 CALL R5 1
@ -268,7 +278,7 @@ be_local_closure(class_Matter_Plugin_Light0_update_virtual, /* name */
0x600C0003, // 000B GETGBL R3 G3
0x5C100000, // 000C MOVE R4 R0
0x7C0C0200, // 000D CALL R3 1
0x8C0C0703, // 000E GETMET R3 R3 K3
0x8C0C071E, // 000E GETMET R3 R3 K30
0x5C140200, // 000F MOVE R5 R1
0x7C0C0400, // 0010 CALL R3 2
0x80000000, // 0011 RET 0
@ -285,47 +295,36 @@ be_local_closure(class_Matter_Plugin_Light0_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(set),
/* K7 */ be_nested_str_weak(BOOL),
/* K8 */ be_nested_str_weak(shadow_onoff),
/* K9 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Light0, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8123E00, // 0000 GETNGBL R4 K31
0x88100920, // 0001 GETMBR R4 R4 K32
0x88140521, // 0002 GETMBR R5 R2 K33
0x88180522, // 0003 GETMBR R6 R2 K34
0x541E0005, // 0004 LDINT R7 6
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0008, // 0006 JMPF R7 #0010
0x8C1C0104, // 0007 GETMET R7 R0 K4
0x8C1C0123, // 0007 GETMET R7 R0 K35
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D05, // 0009 EQ R7 R6 K5
0x1C1C0D0A, // 0009 EQ R7 R6 K10
0x781E0004, // 000A JMPF R7 #0010
0x8C1C0706, // 000B GETMET R7 R3 K6
0x88240907, // 000C GETMBR R9 R4 K7
0x8C1C0710, // 000B GETMET R7 R3 K16
0x88240924, // 000C GETMBR R9 R4 K36
0x88280108, // 000D GETMBR R10 R0 K8
0x7C1C0600, // 000E CALL R7 3
0x80040E00, // 000F RET 1 R7
0x601C0003, // 0010 GETGBL R7 G3
0x5C200000, // 0011 MOVE R8 R0
0x7C1C0200, // 0012 CALL R7 1
0x8C1C0F09, // 0013 GETMET R7 R7 K9
0x8C1C0F25, // 0013 GETMET R7 R7 K37
0x5C240200, // 0014 MOVE R9 R1
0x5C280400, // 0015 MOVE R10 R2
0x5C2C0600, // 0016 MOVE R11 R3
@ -344,27 +343,18 @@ be_local_closure(class_Matter_Plugin_Light0_web_values_prefix, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(webserver),
/* K1 */ be_nested_str_weak(get_name),
/* K2 */ be_nested_str_weak(Power),
/* K3 */ be_nested_str_weak(tasmota_relay_index),
/* K4 */ be_nested_str_weak(content_send),
/* K5 */ be_nested_str_weak(PREFIX),
/* K6 */ be_nested_str_weak(html_escape),
/* K7 */ be_nested_str_weak(),
}),
&be_ktab_class_Matter_Plugin_Light0, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4062600, // 0000 IMPORT R1 K19
0x8C080126, // 0001 GETMET R2 R0 K38
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
@ -373,15 +363,15 @@ be_local_closure(class_Matter_Plugin_Light0_web_values_prefix, /* name */
0x7C0C0200, // 0007 CALL R3 1
0x000E0403, // 0008 ADD R3 K2 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C0304, // 000A GETMET R3 R1 K4
0x8C0C0315, // 000A GETMET R3 R1 K21
0x60140018, // 000B GETGBL R5 G24
0x88180105, // 000C GETMBR R6 R0 K5
0x88180127, // 000C GETMBR R6 R0 K39
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0306, // 000E GETMET R7 R1 K6
0x8C1C0328, // 000E GETMET R7 R1 K40
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0007, // 0012 LDCONST R7 K7
0x581C0029, // 0012 LDCONST R7 K41
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
@ -398,13 +388,13 @@ be_local_closure(class_Matter_Plugin_Light0__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
8, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Light0, /* shared constants */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
@ -425,58 +415,47 @@ be_local_closure(class_Matter_Plugin_Light0_update_shadow, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(VIRTUAL),
/* K1 */ be_nested_str_weak(BRIDGE),
/* K2 */ be_nested_str_weak(tasmota_relay_index),
/* K3 */ be_nested_str_weak(tasmota),
/* K4 */ be_nested_str_weak(get_power),
/* K5 */ be_const_int(1),
/* K6 */ be_nested_str_weak(shadow_onoff),
/* K7 */ be_nested_str_weak(attribute_updated),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str_weak(update_shadow),
}),
&be_ktab_class_Matter_Plugin_Light0, /* shared constants */
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[33]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040107, // 0000 GETMBR R1 R0 K7
0x74060018, // 0001 JMPT R1 #001B
0x88040101, // 0002 GETMBR R1 R0 K1
0x88040100, // 0002 GETMBR R1 R0 K0
0x74060016, // 0003 JMPT R1 #001B
0x88040102, // 0004 GETMBR R1 R0 K2
0x88040103, // 0004 GETMBR R1 R0 K3
0x4C080000, // 0005 LDNIL R2
0x20040202, // 0006 NE R1 R1 R2
0x78060012, // 0007 JMPF R1 #001B
0xB8060600, // 0008 GETNGBL R1 K3
0x8C040304, // 0009 GETMET R1 R1 K4
0x880C0102, // 000A GETMBR R3 R0 K2
0x040C0705, // 000B SUB R3 R3 K5
0xB8061600, // 0008 GETNGBL R1 K11
0x8C04032A, // 0009 GETMET R1 R1 K42
0x880C0103, // 000A GETMBR R3 R0 K3
0x040C070D, // 000B SUB R3 R3 K13
0x7C040400, // 000C CALL R1 2
0x4C080000, // 000D LDNIL R2
0x20080202, // 000E NE R2 R1 R2
0x780A000A, // 000F JMPF R2 #001B
0x88080106, // 0010 GETMBR R2 R0 K6
0x88080108, // 0010 GETMBR R2 R0 K8
0x600C0017, // 0011 GETGBL R3 G23
0x5C100200, // 0012 MOVE R4 R1
0x7C0C0200, // 0013 CALL R3 1
0x20080403, // 0014 NE R2 R2 R3
0x780A0003, // 0015 JMPF R2 #001A
0x8C080107, // 0016 GETMET R2 R0 K7
0x8C080109, // 0016 GETMET R2 R0 K9
0x54120005, // 0017 LDINT R4 6
0x58140008, // 0018 LDCONST R5 K8
0x5814000A, // 0018 LDCONST R5 K10
0x7C080600, // 0019 CALL R2 3
0x90020C01, // 001A SETMBR R0 K6 R1
0x90021001, // 001A SETMBR R0 K8 R1
0x60040003, // 001B GETGBL R1 G3
0x5C080000, // 001C MOVE R2 R0
0x7C040200, // 001D CALL R1 1
0x8C040309, // 001E GETMET R1 R1 K9
0x8C04030E, // 001E GETMET R1 R1 K14
0x7C040200, // 001F CALL R1 1
0x80000000, // 0020 RET 0
})
@ -492,77 +471,64 @@ be_local_closure(class_Matter_Plugin_Light0_invoke_request, /* name */
be_nested_proto(
11, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(command),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(set_onoff),
/* K7 */ be_nested_str_weak(publish_command),
/* K8 */ be_nested_str_weak(Power),
/* K9 */ be_const_int(1),
/* K10 */ be_const_int(2),
/* K11 */ be_nested_str_weak(shadow_onoff),
}),
&be_ktab_class_Matter_Plugin_Light0, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[52]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140702, // 0002 GETMBR R5 R3 K2
0x88180703, // 0003 GETMBR R6 R3 K3
0xB8123E00, // 0000 GETNGBL R4 K31
0x88100920, // 0001 GETMBR R4 R4 K32
0x88140721, // 0002 GETMBR R5 R3 K33
0x8818072B, // 0003 GETMBR R6 R3 K43
0x541E0005, // 0004 LDINT R7 6
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E002B, // 0006 JMPF R7 #0033
0x8C1C0104, // 0007 GETMET R7 R0 K4
0x8C1C0123, // 0007 GETMET R7 R0 K35
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D05, // 0009 EQ R7 R6 K5
0x1C1C0D0A, // 0009 EQ R7 R6 K10
0x781E0009, // 000A JMPF R7 #0015
0x8C1C0106, // 000B GETMET R7 R0 K6
0x8C1C011D, // 000B GETMET R7 R0 K29
0x50240000, // 000C LDBOOL R9 0 0
0x7C1C0400, // 000D CALL R7 2
0x8C1C0107, // 000E GETMET R7 R0 K7
0x58240008, // 000F LDCONST R9 K8
0x58280005, // 0010 LDCONST R10 K5
0x8C1C012C, // 000E GETMET R7 R0 K44
0x58240002, // 000F LDCONST R9 K2
0x5828000A, // 0010 LDCONST R10 K10
0x7C1C0600, // 0011 CALL R7 3
0x501C0200, // 0012 LDBOOL R7 1 0
0x80040E00, // 0013 RET 1 R7
0x7002001D, // 0014 JMP #0033
0x1C1C0D09, // 0015 EQ R7 R6 K9
0x1C1C0D1C, // 0015 EQ R7 R6 K28
0x781E0009, // 0016 JMPF R7 #0021
0x8C1C0106, // 0017 GETMET R7 R0 K6
0x8C1C011D, // 0017 GETMET R7 R0 K29
0x50240200, // 0018 LDBOOL R9 1 0
0x7C1C0400, // 0019 CALL R7 2
0x8C1C0107, // 001A GETMET R7 R0 K7
0x58240008, // 001B LDCONST R9 K8
0x58280009, // 001C LDCONST R10 K9
0x8C1C012C, // 001A GETMET R7 R0 K44
0x58240002, // 001B LDCONST R9 K2
0x5828001C, // 001C LDCONST R10 K28
0x7C1C0600, // 001D CALL R7 3
0x501C0200, // 001E LDBOOL R7 1 0
0x80040E00, // 001F RET 1 R7
0x70020011, // 0020 JMP #0033
0x1C1C0D0A, // 0021 EQ R7 R6 K10
0x1C1C0D2D, // 0021 EQ R7 R6 K45
0x781E000F, // 0022 JMPF R7 #0033
0x8C1C0106, // 0023 GETMET R7 R0 K6
0x8824010B, // 0024 GETMBR R9 R0 K11
0x8C1C011D, // 0023 GETMET R7 R0 K29
0x88240108, // 0024 GETMBR R9 R0 K8
0x78260000, // 0025 JMPF R9 #0027
0x50240001, // 0026 LDBOOL R9 0 1
0x50240200, // 0027 LDBOOL R9 1 0
0x7C1C0400, // 0028 CALL R7 2
0x8C1C0107, // 0029 GETMET R7 R0 K7
0x58240008, // 002A LDCONST R9 K8
0x8828010B, // 002B GETMBR R10 R0 K11
0x8C1C012C, // 0029 GETMET R7 R0 K44
0x58240002, // 002A LDCONST R9 K2
0x88280108, // 002B GETMBR R10 R0 K8
0x782A0001, // 002C JMPF R10 #002F
0x58280009, // 002D LDCONST R10 K9
0x5828001C, // 002D LDCONST R10 K28
0x70020000, // 002E JMP #0030
0x58280005, // 002F LDCONST R10 K5
0x5828000A, // 002F LDCONST R10 K10
0x7C1C0600, // 0030 CALL R7 3
0x501C0200, // 0031 LDBOOL R7 1 0
0x80040E00, // 0032 RET 1 R7
@ -580,23 +546,13 @@ be_local_closure(class_Matter_Plugin_Light0_parse_status, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota_relay_index),
/* K1 */ be_const_int(1),
/* K2 */ be_nested_str_weak(contains),
/* K3 */ be_nested_str_weak(POWER),
/* K4 */ be_nested_str_weak(find),
/* K5 */ be_nested_str_weak(ON),
/* K6 */ be_nested_str_weak(shadow_onoff),
/* K7 */ be_nested_str_weak(attribute_updated),
/* K8 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Light0, /* shared constants */
be_str_weak(parse_status),
&be_const_str_solidified,
( &(const binstruction[37]) { /* code */
@ -604,38 +560,38 @@ be_local_closure(class_Matter_Plugin_Light0_parse_status, /* name */
0x1C0C0403, // 0001 EQ R3 R2 R3
0x780E0020, // 0002 JMPF R3 #0024
0x500C0000, // 0003 LDBOOL R3 0 0
0x88100100, // 0004 GETMBR R4 R0 K0
0x1C100901, // 0005 EQ R4 R4 K1
0x88100103, // 0004 GETMBR R4 R0 K3
0x1C10090D, // 0005 EQ R4 R4 K13
0x78120009, // 0006 JMPF R4 #0011
0x8C100302, // 0007 GETMET R4 R1 K2
0x58180003, // 0008 LDCONST R6 K3
0x8C10032E, // 0007 GETMET R4 R1 K46
0x5818002F, // 0008 LDCONST R6 K47
0x7C100400, // 0009 CALL R4 2
0x78120005, // 000A JMPF R4 #0011
0x8C100304, // 000B GETMET R4 R1 K4
0x58180003, // 000C LDCONST R6 K3
0x8C100319, // 000B GETMET R4 R1 K25
0x5818002F, // 000C LDCONST R6 K47
0x7C100400, // 000D CALL R4 2
0x1C100905, // 000E EQ R4 R4 K5
0x1C100930, // 000E EQ R4 R4 K48
0x5C0C0800, // 000F MOVE R3 R4
0x70020007, // 0010 JMP #0019
0x8C100304, // 0011 GETMET R4 R1 K4
0x8C100319, // 0011 GETMET R4 R1 K25
0x60180008, // 0012 GETGBL R6 G8
0x881C0100, // 0013 GETMBR R7 R0 K0
0x881C0103, // 0013 GETMBR R7 R0 K3
0x7C180200, // 0014 CALL R6 1
0x001A0606, // 0015 ADD R6 K3 R6
0x001A5E06, // 0015 ADD R6 K47 R6
0x7C100400, // 0016 CALL R4 2
0x1C100905, // 0017 EQ R4 R4 K5
0x1C100930, // 0017 EQ R4 R4 K48
0x5C0C0800, // 0018 MOVE R3 R4
0x88100106, // 0019 GETMBR R4 R0 K6
0x88100108, // 0019 GETMBR R4 R0 K8
0x60140017, // 001A GETGBL R5 G23
0x5C180600, // 001B MOVE R6 R3
0x7C140200, // 001C CALL R5 1
0x20100805, // 001D NE R4 R4 R5
0x78120004, // 001E JMPF R4 #0024
0x8C100107, // 001F GETMET R4 R0 K7
0x8C100109, // 001F GETMET R4 R0 K9
0x541A0005, // 0020 LDINT R6 6
0x581C0008, // 0021 LDCONST R7 K8
0x581C000A, // 0021 LDCONST R7 K10
0x7C100600, // 0022 CALL R4 3
0x90020C03, // 0023 SETMBR R0 K6 R3
0x90021003, // 0023 SETMBR R0 K8 R3
0x80000000, // 0024 RET 0
})
)

View File

@ -3,23 +3,8 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Sensor;
/********************************************************************
** Solidified function: parse_status
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_parse_status, /* name */
be_nested_proto(
9, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
// compact class 'Matter_Plugin_Sensor' ktab size: 36, total: 53 (saved 136 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor[36] = {
/* K0 */ be_nested_str_weak(contains),
/* K1 */ be_nested_str_weak(TempUnit),
/* K2 */ be_nested_str_weak(temp_unit),
@ -30,7 +15,51 @@ be_local_closure(class_Matter_Plugin_Sensor_parse_status, /* name */
/* K7 */ be_nested_str_weak(match),
/* K8 */ be_nested_str_weak(shadow_value),
/* K9 */ be_nested_str_weak(value_changed),
}),
/* K10 */ be_nested_str_weak(tasmota_sensor_filter),
/* K11 */ be_nested_str_weak(find),
/* K12 */ be_nested_str_weak(ARG),
/* K13 */ be_nested_str_weak(tasmota),
/* K14 */ be_nested_str_weak(Rule_Matcher),
/* K15 */ be_nested_str_weak(parse),
/* K16 */ be_nested_str_weak(TEMP_C),
/* K17 */ be_nested_str_weak(PRESSURE_HPA),
/* K18 */ be_nested_str_weak(VIRTUAL),
/* K19 */ be_nested_str_weak(JSON_NAME),
/* K20 */ be_nested_str_weak(init),
/* K21 */ be_nested_str_weak(add_read_sensors_schedule),
/* K22 */ be_nested_str_weak(UPDATE_TIME),
/* K23 */ be_nested_str_weak(string),
/* K24 */ be_nested_str_weak(webserver),
/* K25 */ be_nested_str_weak(html_escape),
/* K26 */ be_nested_str_weak(split),
/* K27 */ be_nested_str_weak(_X23),
/* K28 */ be_const_int(0),
/* K29 */ be_nested_str_weak(),
/* K30 */ be_nested_str_weak(get_name),
/* K31 */ be_nested_str_weak(filter_name_html),
/* K32 */ be_nested_str_weak(content_send),
/* K33 */ be_nested_str_weak(PREFIX),
/* K34 */ be_nested_str_weak(bool),
/* K35 */ be_nested_str_weak(update_virtual),
};
extern const bclass be_class_Matter_Plugin_Sensor;
/********************************************************************
** Solidified function: parse_status
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_parse_status, /* name */
be_nested_proto(
9, /* nstack */
3, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor, /* shared constants */
be_str_weak(parse_status),
&be_const_str_solidified,
( &(const binstruction[35]) { /* code */
@ -82,44 +111,32 @@ be_local_closure(class_Matter_Plugin_Sensor_parse_configuration, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota_sensor_filter),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(ARG),
/* K3 */ be_nested_str_weak(tasmota_sensor_matcher),
/* K4 */ be_nested_str_weak(tasmota),
/* K5 */ be_nested_str_weak(Rule_Matcher),
/* K6 */ be_nested_str_weak(parse),
/* K7 */ be_nested_str_weak(temp_unit),
/* K8 */ be_nested_str_weak(TEMP_C),
/* K9 */ be_nested_str_weak(pressure_unit),
/* K10 */ be_nested_str_weak(PRESSURE_HPA),
}),
&be_ktab_class_Matter_Plugin_Sensor, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0x8C080301, // 0000 GETMET R2 R1 K1
0x88100102, // 0001 GETMBR R4 R0 K2
0x8C08030B, // 0000 GETMET R2 R1 K11
0x8810010C, // 0001 GETMBR R4 R0 K12
0x7C080400, // 0002 CALL R2 2
0x90020002, // 0003 SETMBR R0 K0 R2
0x88080100, // 0004 GETMBR R2 R0 K0
0x90021402, // 0003 SETMBR R0 K10 R2
0x8808010A, // 0004 GETMBR R2 R0 K10
0x780A0005, // 0005 JMPF R2 #000C
0xB80A0800, // 0006 GETNGBL R2 K4
0x88080505, // 0007 GETMBR R2 R2 K5
0x8C080506, // 0008 GETMET R2 R2 K6
0x88100100, // 0009 GETMBR R4 R0 K0
0xB80A1A00, // 0006 GETNGBL R2 K13
0x8808050E, // 0007 GETMBR R2 R2 K14
0x8C08050F, // 0008 GETMET R2 R2 K15
0x8810010A, // 0009 GETMBR R4 R0 K10
0x7C080400, // 000A CALL R2 2
0x90020602, // 000B SETMBR R0 K3 R2
0x88080108, // 000C GETMBR R2 R0 K8
0x90020E02, // 000D SETMBR R0 K7 R2
0x8808010A, // 000E GETMBR R2 R0 K10
0x90021202, // 000F SETMBR R0 K9 R2
0x90020A02, // 000B SETMBR R0 K5 R2
0x88080110, // 000C GETMBR R2 R0 K16
0x90020402, // 000D SETMBR R0 K2 R2
0x88080111, // 000E GETMBR R2 R0 K17
0x90020802, // 000F SETMBR R0 K4 R2
0x80000000, // 0010 RET 0
})
)
@ -134,13 +151,13 @@ be_local_closure(class_Matter_Plugin_Sensor_pre_value, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor, /* shared constants */
be_str_weak(pre_value),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -158,31 +175,22 @@ be_local_closure(class_Matter_Plugin_Sensor_parse_sensors, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(VIRTUAL),
/* K1 */ be_nested_str_weak(tasmota_sensor_matcher),
/* K2 */ be_nested_str_weak(match),
/* K3 */ be_nested_str_weak(find),
/* K4 */ be_nested_str_weak(JSON_NAME),
/* K5 */ be_nested_str_weak(pre_value),
/* K6 */ be_nested_str_weak(shadow_value),
/* K7 */ be_nested_str_weak(value_changed),
}),
&be_ktab_class_Matter_Plugin_Sensor, /* shared constants */
be_str_weak(parse_sensors),
&be_const_str_solidified,
( &(const binstruction[33]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x88080112, // 0000 GETMBR R2 R0 K18
0x740A001D, // 0001 JMPT R2 #0020
0x88080101, // 0002 GETMBR R2 R0 K1
0x88080105, // 0002 GETMBR R2 R0 K5
0x780A001B, // 0003 JMPF R2 #0020
0x88080101, // 0004 GETMBR R2 R0 K1
0x8C080502, // 0005 GETMET R2 R2 K2
0x88080105, // 0004 GETMBR R2 R0 K5
0x8C080507, // 0005 GETMET R2 R2 K7
0x5C100200, // 0006 MOVE R4 R1
0x7C080400, // 0007 CALL R2 2
0x600C000F, // 0008 GETGBL R3 G15
@ -190,11 +198,11 @@ be_local_closure(class_Matter_Plugin_Sensor_parse_sensors, /* name */
0x60140013, // 000A GETGBL R5 G19
0x7C0C0400, // 000B CALL R3 2
0x780E0003, // 000C JMPF R3 #0011
0x8C0C0503, // 000D GETMET R3 R2 K3
0x88140104, // 000E GETMBR R5 R0 K4
0x8C0C050B, // 000D GETMET R3 R2 K11
0x88140113, // 000E GETMBR R5 R0 K19
0x7C0C0400, // 000F CALL R3 2
0x5C080600, // 0010 MOVE R2 R3
0x8C0C0105, // 0011 GETMET R3 R0 K5
0x8C0C0106, // 0011 GETMET R3 R0 K6
0x6014000A, // 0012 GETGBL R5 G10
0x5C180400, // 0013 MOVE R6 R2
0x7C140200, // 0014 CALL R5 1
@ -203,12 +211,12 @@ be_local_closure(class_Matter_Plugin_Sensor_parse_sensors, /* name */
0x4C0C0000, // 0017 LDNIL R3
0x200C0403, // 0018 NE R3 R2 R3
0x780E0005, // 0019 JMPF R3 #0020
0x880C0106, // 001A GETMBR R3 R0 K6
0x880C0108, // 001A GETMBR R3 R0 K8
0x200C0403, // 001B NE R3 R2 R3
0x780E0002, // 001C JMPF R3 #0020
0x8C0C0107, // 001D GETMET R3 R0 K7
0x8C0C0109, // 001D GETMET R3 R0 K9
0x7C0C0200, // 001E CALL R3 1
0x90020C02, // 001F SETMBR R0 K6 R2
0x90021002, // 001F SETMBR R0 K8 R2
0x80000000, // 0020 RET 0
})
)
@ -223,13 +231,13 @@ be_local_closure(class_Matter_Plugin_Sensor_value_changed, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor, /* shared constants */
be_str_weak(value_changed),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -247,30 +255,26 @@ be_local_closure(class_Matter_Plugin_Sensor_init, /* name */
be_nested_proto(
9, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(init),
/* K1 */ be_nested_str_weak(add_read_sensors_schedule),
/* K2 */ be_nested_str_weak(UPDATE_TIME),
}),
&be_ktab_class_Matter_Plugin_Sensor, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x60100003, // 0000 GETGBL R4 G3
0x5C140000, // 0001 MOVE R5 R0
0x7C100200, // 0002 CALL R4 1
0x8C100900, // 0003 GETMET R4 R4 K0
0x8C100914, // 0003 GETMET R4 R4 K20
0x5C180200, // 0004 MOVE R6 R1
0x5C1C0400, // 0005 MOVE R7 R2
0x5C200600, // 0006 MOVE R8 R3
0x7C100800, // 0007 CALL R4 4
0x8C100301, // 0008 GETMET R4 R1 K1
0x88180102, // 0009 GETMBR R6 R0 K2
0x8C100315, // 0008 GETMET R4 R1 K21
0x88180116, // 0009 GETMBR R6 R0 K22
0x7C100400, // 000A CALL R4 2
0x80000000, // 000B RET 0
})
@ -286,38 +290,29 @@ be_local_closure(class_Matter_Plugin_Sensor_filter_name_html, /* name */
be_nested_proto(
9, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(tasmota_sensor_filter),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(webserver),
/* K3 */ be_nested_str_weak(html_escape),
/* K4 */ be_nested_str_weak(split),
/* K5 */ be_nested_str_weak(_X23),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(),
}),
&be_ktab_class_Matter_Plugin_Sensor, /* shared constants */
be_str_weak(filter_name_html),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8804010A, // 0000 GETMBR R1 R0 K10
0x78060009, // 0001 JMPF R1 #000C
0xA4060200, // 0002 IMPORT R1 K1
0xA40A0400, // 0003 IMPORT R2 K2
0x8C0C0503, // 0004 GETMET R3 R2 K3
0x8C140304, // 0005 GETMET R5 R1 K4
0x881C0100, // 0006 GETMBR R7 R0 K0
0x58200005, // 0007 LDCONST R8 K5
0xA4062E00, // 0002 IMPORT R1 K23
0xA40A3000, // 0003 IMPORT R2 K24
0x8C0C0519, // 0004 GETMET R3 R2 K25
0x8C14031A, // 0005 GETMET R5 R1 K26
0x881C010A, // 0006 GETMBR R7 R0 K10
0x5820001B, // 0007 LDCONST R8 K27
0x7C140600, // 0008 CALL R5 3
0x94140B06, // 0009 GETIDX R5 R5 K6
0x94140B1C, // 0009 GETIDX R5 R5 K28
0x7C0C0400, // 000A CALL R3 2
0x80040600, // 000B RET 1 R3
0x80060E00, // 000C RET 1 K7
0x80063A00, // 000C RET 1 K29
})
)
);
@ -331,41 +326,33 @@ be_local_closure(class_Matter_Plugin_Sensor_web_values_prefix, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(get_name),
/* K2 */ be_nested_str_weak(filter_name_html),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(PREFIX),
/* K5 */ be_nested_str_weak(html_escape),
/* K6 */ be_nested_str_weak(),
}),
&be_ktab_class_Matter_Plugin_Sensor, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4063000, // 0000 IMPORT R1 K24
0x8C08011E, // 0001 GETMET R2 R0 K30
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0002, // 0004 JMPT R3 #0008
0x8C0C0102, // 0005 GETMET R3 R0 K2
0x8C0C011F, // 0005 GETMET R3 R0 K31
0x7C0C0200, // 0006 CALL R3 1
0x5C080600, // 0007 MOVE R2 R3
0x8C0C0303, // 0008 GETMET R3 R1 K3
0x8C0C0320, // 0008 GETMET R3 R1 K32
0x60140018, // 0009 GETGBL R5 G24
0x88180104, // 000A GETMBR R6 R0 K4
0x88180121, // 000A GETMBR R6 R0 K33
0x780A0003, // 000B JMPF R2 #0010
0x8C1C0305, // 000C GETMET R7 R1 K5
0x8C1C0319, // 000C GETMET R7 R1 K25
0x5C240400, // 000D MOVE R9 R2
0x7C1C0400, // 000E CALL R7 2
0x70020000, // 000F JMP #0011
0x581C0006, // 0010 LDCONST R7 K6
0x581C001D, // 0010 LDCONST R7 K29
0x7C140400, // 0011 CALL R5 2
0x7C0C0400, // 0012 CALL R3 2
0x80000000, // 0013 RET 0
@ -382,25 +369,18 @@ be_local_closure(class_Matter_Plugin_Sensor_update_virtual, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(find),
/* K1 */ be_nested_str_weak(JSON_NAME),
/* K2 */ be_nested_str_weak(bool),
/* K3 */ be_nested_str_weak(shadow_value),
/* K4 */ be_nested_str_weak(value_changed),
/* K5 */ be_nested_str_weak(update_virtual),
}),
&be_ktab_class_Matter_Plugin_Sensor, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[28]) { /* code */
0x8C080300, // 0000 GETMET R2 R1 K0
0x88100101, // 0001 GETMBR R4 R0 K1
0x8C08030B, // 0000 GETMET R2 R1 K11
0x88100113, // 0001 GETMBR R4 R0 K19
0x7C080400, // 0002 CALL R2 2
0x4C0C0000, // 0003 LDNIL R3
0x200C0403, // 0004 NE R3 R2 R3
@ -408,22 +388,22 @@ be_local_closure(class_Matter_Plugin_Sensor_update_virtual, /* name */
0x600C0004, // 0006 GETGBL R3 G4
0x5C100400, // 0007 MOVE R4 R2
0x7C0C0200, // 0008 CALL R3 1
0x1C0C0702, // 0009 EQ R3 R3 K2
0x1C0C0722, // 0009 EQ R3 R3 K34
0x780E0003, // 000A JMPF R3 #000F
0x600C0009, // 000B GETGBL R3 G9
0x5C100400, // 000C MOVE R4 R2
0x7C0C0200, // 000D CALL R3 1
0x5C080600, // 000E MOVE R2 R3
0x880C0103, // 000F GETMBR R3 R0 K3
0x880C0108, // 000F GETMBR R3 R0 K8
0x200C0602, // 0010 NE R3 R3 R2
0x780E0002, // 0011 JMPF R3 #0015
0x8C0C0104, // 0012 GETMET R3 R0 K4
0x8C0C0109, // 0012 GETMET R3 R0 K9
0x7C0C0200, // 0013 CALL R3 1
0x90020602, // 0014 SETMBR R0 K3 R2
0x90021002, // 0014 SETMBR R0 K8 R2
0x600C0003, // 0015 GETGBL R3 G3
0x5C100000, // 0016 MOVE R4 R0
0x7C0C0200, // 0017 CALL R3 1
0x8C0C0705, // 0018 GETMET R3 R3 K5
0x8C0C0723, // 0018 GETMET R3 R3 K35
0x5C140200, // 0019 MOVE R5 R1
0x7C0C0400, // 001A CALL R3 2
0x80000000, // 001B RET 0

View File

@ -3,6 +3,46 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Air_Quality' ktab size: 36, total: 73 (saved 296 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Air_Quality[36] = {
/* K0 */ be_nested_str_weak(web_values_prefix),
/* K1 */ be_nested_str_weak(Air),
/* K2 */ be_nested_str_weak(shadow_air_quality),
/* K3 */ be_nested_str_weak(PM1),
/* K4 */ be_nested_str_weak(shadow_pm1),
/* K5 */ be_nested_str_weak(PM2_X2E5),
/* K6 */ be_nested_str_weak(shadow_pm2_5),
/* K7 */ be_nested_str_weak(PM10),
/* K8 */ be_nested_str_weak(shadow_pm10),
/* K9 */ be_nested_str_weak(CO2),
/* K10 */ be_nested_str_weak(shadow_co2),
/* K11 */ be_nested_str_weak(NO2),
/* K12 */ be_nested_str_weak(shadow_no2),
/* K13 */ be_nested_str_weak(TVOC),
/* K14 */ be_nested_str_weak(shadow_tvoc),
/* K15 */ be_nested_str_weak(find),
/* K16 */ be_nested_str_weak(prefix),
/* K17 */ be_nested_str_weak(_parse_update_virtual),
/* K18 */ be_nested_str_weak(AirQuality),
/* K19 */ be_const_int(0),
/* K20 */ be_nested_str_weak(update_virtual),
/* K21 */ be_nested_str_weak(init),
/* K22 */ be_nested_str_weak(add_read_sensors_schedule),
/* K23 */ be_nested_str_weak(UPDATE_TIME),
/* K24 */ be_nested_str_weak(matter),
/* K25 */ be_nested_str_weak(TLV),
/* K26 */ be_nested_str_weak(cluster),
/* K27 */ be_nested_str_weak(attribute),
/* K28 */ be_nested_str_weak(set_or_nil),
/* K29 */ be_nested_str_weak(U1),
/* K30 */ be_nested_str_weak(read_attribute),
/* K31 */ be_nested_str_weak(ARG),
/* K32 */ be_nested_str_weak(_parse_sensor_entry),
/* K33 */ be_nested_str_weak(CarbonDioxide),
/* K34 */ be_nested_str_weak(parse_sensors),
/* K35 */ be_nested_str_weak(attribute_updated),
};
extern const bclass be_class_Matter_Plugin_Sensor_Air_Quality;
@ -13,7 +53,7 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_web_values, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
@ -51,23 +91,7 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_web_values, /* name */
),
}),
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(web_values_prefix),
/* K1 */ be_nested_str_weak(Air),
/* K2 */ be_nested_str_weak(shadow_air_quality),
/* K3 */ be_nested_str_weak(PM1),
/* K4 */ be_nested_str_weak(shadow_pm1),
/* K5 */ be_nested_str_weak(PM2_X2E5),
/* K6 */ be_nested_str_weak(shadow_pm2_5),
/* K7 */ be_nested_str_weak(PM10),
/* K8 */ be_nested_str_weak(shadow_pm10),
/* K9 */ be_nested_str_weak(CO2),
/* K10 */ be_nested_str_weak(shadow_co2),
/* K11 */ be_nested_str_weak(NO2),
/* K12 */ be_nested_str_weak(shadow_no2),
/* K13 */ be_nested_str_weak(TVOC),
/* K14 */ be_nested_str_weak(shadow_tvoc),
}),
&be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[32]) { /* code */
@ -116,24 +140,21 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_status, /* name
be_nested_proto(
6, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(find),
/* K1 */ be_nested_str_weak(prefix),
}),
&be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */
be_str_weak(parse_status),
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x540E0009, // 0000 LDINT R3 10
0x1C0C0403, // 0001 EQ R3 R2 R3
0x780E0002, // 0002 JMPF R3 #0006
0x8C0C0300, // 0003 GETMET R3 R1 K0
0x88140101, // 0004 GETMBR R5 R0 K1
0x8C0C030F, // 0003 GETMET R3 R1 K15
0x88140110, // 0004 GETMBR R5 R0 K16
0x7C0C0400, // 0005 CALL R3 2
0x80000000, // 0006 RET 0
})
@ -149,90 +170,74 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_update_virtual, /* nam
be_nested_proto(
10, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(shadow_air_quality),
/* K1 */ be_nested_str_weak(_parse_update_virtual),
/* K2 */ be_nested_str_weak(AirQuality),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(shadow_co2),
/* K5 */ be_nested_str_weak(CO2),
/* K6 */ be_nested_str_weak(shadow_pm1),
/* K7 */ be_nested_str_weak(PM1),
/* K8 */ be_nested_str_weak(shadow_pm2_5),
/* K9 */ be_nested_str_weak(PM2_X2E5),
/* K10 */ be_nested_str_weak(shadow_pm10),
/* K11 */ be_nested_str_weak(PM10),
/* K12 */ be_nested_str_weak(shadow_tvoc),
/* K13 */ be_nested_str_weak(TVOC),
/* K14 */ be_nested_str_weak(update_virtual),
}),
&be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[61]) { /* code */
0x8C080101, // 0000 GETMET R2 R0 K1
0x8C080111, // 0000 GETMET R2 R0 K17
0x5C100200, // 0001 MOVE R4 R1
0x58140002, // 0002 LDCONST R5 K2
0x58140012, // 0002 LDCONST R5 K18
0x60180007, // 0003 GETGBL R6 G7
0x881C0100, // 0004 GETMBR R7 R0 K0
0x881C0102, // 0004 GETMBR R7 R0 K2
0x5422005A, // 0005 LDINT R8 91
0x58240003, // 0006 LDCONST R9 K3
0x58240013, // 0006 LDCONST R9 K19
0x7C080E00, // 0007 CALL R2 7
0x90020002, // 0008 SETMBR R0 K0 R2
0x8C080101, // 0009 GETMET R2 R0 K1
0x90020402, // 0008 SETMBR R0 K2 R2
0x8C080111, // 0009 GETMET R2 R0 K17
0x5C100200, // 000A MOVE R4 R1
0x58140005, // 000B LDCONST R5 K5
0x88180104, // 000C GETMBR R6 R0 K4
0x58140009, // 000B LDCONST R5 K9
0x8818010A, // 000C GETMBR R6 R0 K10
0x601C0007, // 000D GETGBL R7 G7
0x5422040C, // 000E LDINT R8 1037
0x58240003, // 000F LDCONST R9 K3
0x58240013, // 000F LDCONST R9 K19
0x7C080E00, // 0010 CALL R2 7
0x90020802, // 0011 SETMBR R0 K4 R2
0x8C080101, // 0012 GETMET R2 R0 K1
0x90021402, // 0011 SETMBR R0 K10 R2
0x8C080111, // 0012 GETMET R2 R0 K17
0x5C100200, // 0013 MOVE R4 R1
0x58140007, // 0014 LDCONST R5 K7
0x88180106, // 0015 GETMBR R6 R0 K6
0x58140003, // 0014 LDCONST R5 K3
0x88180104, // 0015 GETMBR R6 R0 K4
0x601C0007, // 0016 GETGBL R7 G7
0x5422042B, // 0017 LDINT R8 1068
0x58240003, // 0018 LDCONST R9 K3
0x58240013, // 0018 LDCONST R9 K19
0x7C080E00, // 0019 CALL R2 7
0x90020C02, // 001A SETMBR R0 K6 R2
0x8C080101, // 001B GETMET R2 R0 K1
0x90020802, // 001A SETMBR R0 K4 R2
0x8C080111, // 001B GETMET R2 R0 K17
0x5C100200, // 001C MOVE R4 R1
0x58140009, // 001D LDCONST R5 K9
0x88180108, // 001E GETMBR R6 R0 K8
0x58140005, // 001D LDCONST R5 K5
0x88180106, // 001E GETMBR R6 R0 K6
0x601C0007, // 001F GETGBL R7 G7
0x54220429, // 0020 LDINT R8 1066
0x58240003, // 0021 LDCONST R9 K3
0x58240013, // 0021 LDCONST R9 K19
0x7C080E00, // 0022 CALL R2 7
0x90021002, // 0023 SETMBR R0 K8 R2
0x8C080101, // 0024 GETMET R2 R0 K1
0x90020C02, // 0023 SETMBR R0 K6 R2
0x8C080111, // 0024 GETMET R2 R0 K17
0x5C100200, // 0025 MOVE R4 R1
0x5814000B, // 0026 LDCONST R5 K11
0x8818010A, // 0027 GETMBR R6 R0 K10
0x58140007, // 0026 LDCONST R5 K7
0x88180108, // 0027 GETMBR R6 R0 K8
0x601C0007, // 0028 GETGBL R7 G7
0x5422042C, // 0029 LDINT R8 1069
0x58240003, // 002A LDCONST R9 K3
0x58240013, // 002A LDCONST R9 K19
0x7C080E00, // 002B CALL R2 7
0x90021402, // 002C SETMBR R0 K10 R2
0x8C080101, // 002D GETMET R2 R0 K1
0x90021002, // 002C SETMBR R0 K8 R2
0x8C080111, // 002D GETMET R2 R0 K17
0x5C100200, // 002E MOVE R4 R1
0x5814000D, // 002F LDCONST R5 K13
0x8818010C, // 0030 GETMBR R6 R0 K12
0x8818010E, // 0030 GETMBR R6 R0 K14
0x601C0007, // 0031 GETGBL R7 G7
0x5422042D, // 0032 LDINT R8 1070
0x58240003, // 0033 LDCONST R9 K3
0x58240013, // 0033 LDCONST R9 K19
0x7C080E00, // 0034 CALL R2 7
0x90021802, // 0035 SETMBR R0 K12 R2
0x90021C02, // 0035 SETMBR R0 K14 R2
0x60080003, // 0036 GETGBL R2 G3
0x5C0C0000, // 0037 MOVE R3 R0
0x7C080200, // 0038 CALL R2 1
0x8C08050E, // 0039 GETMET R2 R2 K14
0x8C080514, // 0039 GETMET R2 R2 K20
0x5C100200, // 003A MOVE R4 R1
0x7C080400, // 003B CALL R2 2
0x80000000, // 003C RET 0
@ -249,33 +254,28 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_init, /* name */
be_nested_proto(
9, /* nstack */
4, /* argc */
2, /* varg */
10, /* 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_weak(init),
/* K1 */ be_nested_str_weak(shadow_air_quality),
/* K2 */ be_nested_str_weak(add_read_sensors_schedule),
/* K3 */ be_nested_str_weak(UPDATE_TIME),
}),
&be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0x60100003, // 0000 GETGBL R4 G3
0x5C140000, // 0001 MOVE R5 R0
0x7C100200, // 0002 CALL R4 1
0x8C100900, // 0003 GETMET R4 R4 K0
0x8C100915, // 0003 GETMET R4 R4 K21
0x5C180200, // 0004 MOVE R6 R1
0x5C1C0400, // 0005 MOVE R7 R2
0x5C200600, // 0006 MOVE R8 R3
0x7C100800, // 0007 CALL R4 4
0x50100000, // 0008 LDBOOL R4 0 0
0x90020204, // 0009 SETMBR R0 K1 R4
0x8C100302, // 000A GETMET R4 R1 K2
0x88180103, // 000B GETMBR R6 R0 K3
0x90020404, // 0009 SETMBR R0 K2 R4
0x8C100316, // 000A GETMET R4 R1 K22
0x88180117, // 000B GETMBR R6 R0 K23
0x7C100400, // 000C CALL R4 2
0x80000000, // 000D RET 0
})
@ -291,7 +291,7 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute, /* nam
be_nested_proto(
14, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
@ -401,40 +401,24 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute, /* nam
),
}),
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(set_or_nil),
/* K6 */ be_nested_str_weak(U1),
/* K7 */ be_nested_str_weak(shadow_air_quality),
/* K8 */ be_nested_str_weak(shadow_co2),
/* K9 */ be_nested_str_weak(shadow_pm1),
/* K10 */ be_nested_str_weak(shadow_pm2_5),
/* K11 */ be_nested_str_weak(shadow_pm10),
/* K12 */ be_nested_str_weak(shadow_tvoc),
/* K13 */ be_nested_str_weak(shadow_no2),
/* K14 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[93]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8123000, // 0000 GETNGBL R4 K24
0x88100919, // 0001 GETMBR R4 R4 K25
0x8814051A, // 0002 GETMBR R5 R2 K26
0x8818051B, // 0003 GETMBR R6 R2 K27
0x4C1C0000, // 0004 LDNIL R7
0x84200000, // 0005 CLOSURE R8 P0
0x5426005A, // 0006 LDINT R9 91
0x1C240A09, // 0007 EQ R9 R5 R9
0x78260008, // 0008 JMPF R9 #0012
0x1C240D04, // 0009 EQ R9 R6 K4
0x1C240D13, // 0009 EQ R9 R6 K19
0x78260005, // 000A JMPF R9 #0011
0x8C240705, // 000B GETMET R9 R3 K5
0x882C0906, // 000C GETMBR R11 R4 K6
0x88300107, // 000D GETMBR R12 R0 K7
0x8C24071C, // 000B GETMET R9 R3 K28
0x882C091D, // 000C GETMBR R11 R4 K29
0x88300102, // 000D GETMBR R12 R0 K2
0x7C240600, // 000E CALL R9 3
0xA0000000, // 000F CLOSE R0
0x80041200, // 0010 RET 1 R9
@ -443,7 +427,7 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute, /* nam
0x1C240A09, // 0013 EQ R9 R5 R9
0x78260007, // 0014 JMPF R9 #001D
0x5C241000, // 0015 MOVE R9 R8
0x88280108, // 0016 GETMBR R10 R0 K8
0x8828010A, // 0016 GETMBR R10 R0 K10
0x7C240200, // 0017 CALL R9 1
0x5C1C1200, // 0018 MOVE R7 R9
0x78260001, // 0019 JMPF R9 #001C
@ -454,7 +438,7 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute, /* nam
0x1C240A09, // 001E EQ R9 R5 R9
0x78260007, // 001F JMPF R9 #0028
0x5C241000, // 0020 MOVE R9 R8
0x88280109, // 0021 GETMBR R10 R0 K9
0x88280104, // 0021 GETMBR R10 R0 K4
0x7C240200, // 0022 CALL R9 1
0x5C1C1200, // 0023 MOVE R7 R9
0x78260001, // 0024 JMPF R9 #0027
@ -465,7 +449,7 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute, /* nam
0x1C240A09, // 0029 EQ R9 R5 R9
0x78260007, // 002A JMPF R9 #0033
0x5C241000, // 002B MOVE R9 R8
0x8828010A, // 002C GETMBR R10 R0 K10
0x88280106, // 002C GETMBR R10 R0 K6
0x7C240200, // 002D CALL R9 1
0x5C1C1200, // 002E MOVE R7 R9
0x78260001, // 002F JMPF R9 #0032
@ -476,7 +460,7 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute, /* nam
0x1C240A09, // 0034 EQ R9 R5 R9
0x78260007, // 0035 JMPF R9 #003E
0x5C241000, // 0036 MOVE R9 R8
0x8828010B, // 0037 GETMBR R10 R0 K11
0x88280108, // 0037 GETMBR R10 R0 K8
0x7C240200, // 0038 CALL R9 1
0x5C1C1200, // 0039 MOVE R7 R9
0x78260001, // 003A JMPF R9 #003D
@ -487,7 +471,7 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute, /* nam
0x1C240A09, // 003F EQ R9 R5 R9
0x78260007, // 0040 JMPF R9 #0049
0x5C241000, // 0041 MOVE R9 R8
0x8828010C, // 0042 GETMBR R10 R0 K12
0x8828010E, // 0042 GETMBR R10 R0 K14
0x7C240200, // 0043 CALL R9 1
0x5C1C1200, // 0044 MOVE R7 R9
0x78260001, // 0045 JMPF R9 #0048
@ -498,7 +482,7 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute, /* nam
0x1C240A09, // 004A EQ R9 R5 R9
0x78260006, // 004B JMPF R9 #0053
0x5C241000, // 004C MOVE R9 R8
0x8828010D, // 004D GETMBR R10 R0 K13
0x8828010C, // 004D GETMBR R10 R0 K12
0x7C240200, // 004E CALL R9 1
0x5C1C1200, // 004F MOVE R7 R9
0x78260001, // 0050 JMPF R9 #0053
@ -507,7 +491,7 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute, /* nam
0x60240003, // 0053 GETGBL R9 G3
0x5C280000, // 0054 MOVE R10 R0
0x7C240200, // 0055 CALL R9 1
0x8C24130E, // 0056 GETMET R9 R9 K14
0x8C24131E, // 0056 GETMET R9 R9 K30
0x5C2C0200, // 0057 MOVE R11 R1
0x5C300400, // 0058 MOVE R12 R2
0x5C340600, // 0059 MOVE R13 R3
@ -527,26 +511,22 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_configuration, /
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(prefix),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(ARG),
}),
&be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x60080008, // 0000 GETGBL R2 G8
0x8C0C0301, // 0001 GETMET R3 R1 K1
0x88140102, // 0002 GETMBR R5 R0 K2
0x8C0C030F, // 0001 GETMET R3 R1 K15
0x8814011F, // 0002 GETMBR R5 R0 K31
0x7C0C0400, // 0003 CALL R3 2
0x7C080200, // 0004 CALL R2 1
0x90020002, // 0005 SETMBR R0 K0 R2
0x90022002, // 0005 SETMBR R0 K16 R2
0x80000000, // 0006 RET 0
})
)
@ -561,98 +541,80 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_sensors, /* name
be_nested_proto(
11, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[17]) { /* constants */
/* K0 */ be_nested_str_weak(find),
/* K1 */ be_nested_str_weak(prefix),
/* K2 */ be_nested_str_weak(shadow_co2),
/* K3 */ be_nested_str_weak(_parse_sensor_entry),
/* K4 */ be_nested_str_weak(CarbonDioxide),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_pm1),
/* K7 */ be_nested_str_weak(PM1),
/* K8 */ be_nested_str_weak(shadow_pm2_5),
/* K9 */ be_nested_str_weak(PM2_X2E5),
/* K10 */ be_nested_str_weak(shadow_pm10),
/* K11 */ be_nested_str_weak(PM10),
/* K12 */ be_nested_str_weak(shadow_tvoc),
/* K13 */ be_nested_str_weak(TVOC),
/* K14 */ be_nested_str_weak(shadow_no2),
/* K15 */ be_nested_str_weak(NO2),
/* K16 */ be_nested_str_weak(parse_sensors),
}),
&be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */
be_str_weak(parse_sensors),
&be_const_str_solidified,
( &(const binstruction[67]) { /* code */
0x8C080300, // 0000 GETMET R2 R1 K0
0x88100101, // 0001 GETMBR R4 R0 K1
0x8C08030F, // 0000 GETMET R2 R1 K15
0x88100110, // 0001 GETMBR R4 R0 K16
0x7C080400, // 0002 CALL R2 2
0x4C0C0000, // 0003 LDNIL R3
0x200C0403, // 0004 NE R3 R2 R3
0x780E0035, // 0005 JMPF R3 #003C
0x8C0C0103, // 0006 GETMET R3 R0 K3
0x8C0C0120, // 0006 GETMET R3 R0 K32
0x5C140400, // 0007 MOVE R5 R2
0x58180004, // 0008 LDCONST R6 K4
0x881C0102, // 0009 GETMBR R7 R0 K2
0x58180021, // 0008 LDCONST R6 K33
0x881C010A, // 0009 GETMBR R7 R0 K10
0x60200007, // 000A GETGBL R8 G7
0x5426040C, // 000B LDINT R9 1037
0x58280005, // 000C LDCONST R10 K5
0x58280013, // 000C LDCONST R10 K19
0x7C0C0E00, // 000D CALL R3 7
0x90020403, // 000E SETMBR R0 K2 R3
0x8C0C0103, // 000F GETMET R3 R0 K3
0x90021403, // 000E SETMBR R0 K10 R3
0x8C0C0120, // 000F GETMET R3 R0 K32
0x5C140400, // 0010 MOVE R5 R2
0x58180007, // 0011 LDCONST R6 K7
0x881C0106, // 0012 GETMBR R7 R0 K6
0x58180003, // 0011 LDCONST R6 K3
0x881C0104, // 0012 GETMBR R7 R0 K4
0x60200007, // 0013 GETGBL R8 G7
0x5426042B, // 0014 LDINT R9 1068
0x58280005, // 0015 LDCONST R10 K5
0x58280013, // 0015 LDCONST R10 K19
0x7C0C0E00, // 0016 CALL R3 7
0x90020C03, // 0017 SETMBR R0 K6 R3
0x8C0C0103, // 0018 GETMET R3 R0 K3
0x90020803, // 0017 SETMBR R0 K4 R3
0x8C0C0120, // 0018 GETMET R3 R0 K32
0x5C140400, // 0019 MOVE R5 R2
0x58180009, // 001A LDCONST R6 K9
0x881C0108, // 001B GETMBR R7 R0 K8
0x58180005, // 001A LDCONST R6 K5
0x881C0106, // 001B GETMBR R7 R0 K6
0x60200007, // 001C GETGBL R8 G7
0x54260429, // 001D LDINT R9 1066
0x58280005, // 001E LDCONST R10 K5
0x58280013, // 001E LDCONST R10 K19
0x7C0C0E00, // 001F CALL R3 7
0x90021003, // 0020 SETMBR R0 K8 R3
0x8C0C0103, // 0021 GETMET R3 R0 K3
0x90020C03, // 0020 SETMBR R0 K6 R3
0x8C0C0120, // 0021 GETMET R3 R0 K32
0x5C140400, // 0022 MOVE R5 R2
0x5818000B, // 0023 LDCONST R6 K11
0x881C010A, // 0024 GETMBR R7 R0 K10
0x58180007, // 0023 LDCONST R6 K7
0x881C0108, // 0024 GETMBR R7 R0 K8
0x60200007, // 0025 GETGBL R8 G7
0x5426042C, // 0026 LDINT R9 1069
0x58280005, // 0027 LDCONST R10 K5
0x58280013, // 0027 LDCONST R10 K19
0x7C0C0E00, // 0028 CALL R3 7
0x90021403, // 0029 SETMBR R0 K10 R3
0x8C0C0103, // 002A GETMET R3 R0 K3
0x90021003, // 0029 SETMBR R0 K8 R3
0x8C0C0120, // 002A GETMET R3 R0 K32
0x5C140400, // 002B MOVE R5 R2
0x5818000D, // 002C LDCONST R6 K13
0x881C010C, // 002D GETMBR R7 R0 K12
0x881C010E, // 002D GETMBR R7 R0 K14
0x60200007, // 002E GETGBL R8 G7
0x5426042D, // 002F LDINT R9 1070
0x58280005, // 0030 LDCONST R10 K5
0x58280013, // 0030 LDCONST R10 K19
0x7C0C0E00, // 0031 CALL R3 7
0x90021803, // 0032 SETMBR R0 K12 R3
0x8C0C0103, // 0033 GETMET R3 R0 K3
0x90021C03, // 0032 SETMBR R0 K14 R3
0x8C0C0120, // 0033 GETMET R3 R0 K32
0x5C140400, // 0034 MOVE R5 R2
0x5818000F, // 0035 LDCONST R6 K15
0x881C010E, // 0036 GETMBR R7 R0 K14
0x5818000B, // 0035 LDCONST R6 K11
0x881C010C, // 0036 GETMBR R7 R0 K12
0x60200007, // 0037 GETGBL R8 G7
0x54260412, // 0038 LDINT R9 1043
0x58280005, // 0039 LDCONST R10 K5
0x58280013, // 0039 LDCONST R10 K19
0x7C0C0E00, // 003A CALL R3 7
0x90021C03, // 003B SETMBR R0 K14 R3
0x90021803, // 003B SETMBR R0 K12 R3
0x600C0003, // 003C GETGBL R3 G3
0x5C100000, // 003D MOVE R4 R0
0x7C0C0200, // 003E CALL R3 1
0x8C0C0710, // 003F GETMET R3 R3 K16
0x8C0C0722, // 003F GETMET R3 R3 K34
0x5C140200, // 0040 MOVE R5 R1
0x7C0C0400, // 0041 CALL R3 2
0x80000000, // 0042 RET 0
@ -669,20 +631,17 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality__parse_sensor_entry, /
be_nested_proto(
12, /* nstack */
7, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(find),
/* K1 */ be_nested_str_weak(attribute_updated),
}),
&be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */
be_str_weak(_parse_sensor_entry),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x8C1C0300, // 0000 GETMET R7 R1 K0
0x8C1C030F, // 0000 GETMET R7 R1 K15
0x5C240400, // 0001 MOVE R9 R2
0x7C1C0400, // 0002 CALL R7 2
0x4C200000, // 0003 LDNIL R8
@ -697,7 +656,7 @@ be_local_closure(class_Matter_Plugin_Sensor_Air_Quality__parse_sensor_entry, /
0x78220005, // 000C JMPF R8 #0013
0x20200E03, // 000D NE R8 R7 R3
0x78220003, // 000E JMPF R8 #0013
0x8C200101, // 000F GETMET R8 R0 K1
0x8C200123, // 000F GETMET R8 R0 K35
0x5C280A00, // 0010 MOVE R10 R5
0x5C2C0C00, // 0011 MOVE R11 R6
0x7C200600, // 0012 CALL R8 3

View File

@ -3,6 +3,27 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Boolean' ktab size: 17, total: 26 (saved 72 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Boolean[17] = {
/* K0 */ be_nested_str_weak(tasmota_switch_index),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(ARG),
/* K3 */ be_const_int(1),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(update_shadow),
/* K6 */ be_nested_str_weak(VIRTUAL),
/* K7 */ be_nested_str_weak(Switch),
/* K8 */ be_nested_str_weak(tasmota),
/* K9 */ be_nested_str_weak(cmd),
/* K10 */ be_nested_str_weak(Status_X2010),
/* K11 */ be_nested_str_weak(StatusSNS),
/* K12 */ be_nested_str_weak(contains),
/* K13 */ be_nested_str_weak(ON),
/* K14 */ be_nested_str_weak(shadow_bool_value),
/* K15 */ be_nested_str_weak(value_updated),
/* K16 */ be_nested_str_weak(init),
};
extern const bclass be_class_Matter_Plugin_Sensor_Boolean;
@ -13,19 +34,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Boolean_parse_configuration, /* na
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota_switch_index),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(ARG),
/* K3 */ be_const_int(1),
/* K4 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
@ -54,13 +69,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Boolean_value_updated, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -78,13 +93,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Boolean__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
8, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
@ -105,70 +120,56 @@ be_local_closure(class_Matter_Plugin_Sensor_Boolean_update_shadow, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(update_shadow),
/* K1 */ be_nested_str_weak(VIRTUAL),
/* K2 */ be_nested_str_weak(Switch),
/* K3 */ be_nested_str_weak(tasmota_switch_index),
/* K4 */ be_nested_str_weak(tasmota),
/* K5 */ be_nested_str_weak(cmd),
/* K6 */ be_nested_str_weak(Status_X2010),
/* K7 */ be_nested_str_weak(find),
/* K8 */ be_nested_str_weak(StatusSNS),
/* K9 */ be_nested_str_weak(contains),
/* K10 */ be_nested_str_weak(ON),
/* K11 */ be_nested_str_weak(shadow_bool_value),
/* K12 */ be_nested_str_weak(value_updated),
}),
&be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0x60040003, // 0000 GETGBL R1 G3
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x8C040300, // 0003 GETMET R1 R1 K0
0x8C040305, // 0003 GETMET R1 R1 K5
0x7C040200, // 0004 CALL R1 1
0x88040101, // 0005 GETMBR R1 R0 K1
0x88040106, // 0005 GETMBR R1 R0 K6
0x74060020, // 0006 JMPT R1 #0028
0x60040008, // 0007 GETGBL R1 G8
0x88080103, // 0008 GETMBR R2 R0 K3
0x88080100, // 0008 GETMBR R2 R0 K0
0x7C040200, // 0009 CALL R1 1
0x00060401, // 000A ADD R1 K2 R1
0xB80A0800, // 000B GETNGBL R2 K4
0x8C080505, // 000C GETMET R2 R2 K5
0x58100006, // 000D LDCONST R4 K6
0x00060E01, // 000A ADD R1 K7 R1
0xB80A1000, // 000B GETNGBL R2 K8
0x8C080509, // 000C GETMET R2 R2 K9
0x5810000A, // 000D LDCONST R4 K10
0x50140200, // 000E LDBOOL R5 1 0
0x7C080600, // 000F CALL R2 3
0x4C0C0000, // 0010 LDNIL R3
0x200C0403, // 0011 NE R3 R2 R3
0x780E0003, // 0012 JMPF R3 #0017
0x8C0C0507, // 0013 GETMET R3 R2 K7
0x58140008, // 0014 LDCONST R5 K8
0x8C0C0501, // 0013 GETMET R3 R2 K1
0x5814000B, // 0014 LDCONST R5 K11
0x7C0C0400, // 0015 CALL R3 2
0x5C080600, // 0016 MOVE R2 R3
0x4C0C0000, // 0017 LDNIL R3
0x200C0403, // 0018 NE R3 R2 R3
0x780E000D, // 0019 JMPF R3 #0028
0x8C0C0509, // 001A GETMET R3 R2 K9
0x8C0C050C, // 001A GETMET R3 R2 K12
0x5C140200, // 001B MOVE R5 R1
0x7C0C0400, // 001C CALL R3 2
0x780E0009, // 001D JMPF R3 #0028
0x8C0C0507, // 001E GETMET R3 R2 K7
0x8C0C0501, // 001E GETMET R3 R2 K1
0x5C140200, // 001F MOVE R5 R1
0x7C0C0400, // 0020 CALL R3 2
0x1C0C070A, // 0021 EQ R3 R3 K10
0x8810010B, // 0022 GETMBR R4 R0 K11
0x1C0C070D, // 0021 EQ R3 R3 K13
0x8810010E, // 0022 GETMBR R4 R0 K14
0x20100803, // 0023 NE R4 R4 R3
0x78120001, // 0024 JMPF R4 #0027
0x8C10010C, // 0025 GETMET R4 R0 K12
0x8C10010F, // 0025 GETMET R4 R0 K15
0x7C100200, // 0026 CALL R4 1
0x90021603, // 0027 SETMBR R0 K11 R3
0x90021C03, // 0027 SETMBR R0 K14 R3
0x80000000, // 0028 RET 0
})
)
@ -183,29 +184,26 @@ be_local_closure(class_Matter_Plugin_Sensor_Boolean_init, /* name */
be_nested_proto(
9, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(init),
/* K1 */ be_nested_str_weak(shadow_bool_value),
}),
&be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[11]) { /* code */
0x60100003, // 0000 GETGBL R4 G3
0x5C140000, // 0001 MOVE R5 R0
0x7C100200, // 0002 CALL R4 1
0x8C100900, // 0003 GETMET R4 R4 K0
0x8C100910, // 0003 GETMET R4 R4 K16
0x5C180200, // 0004 MOVE R6 R1
0x5C1C0400, // 0005 MOVE R7 R2
0x5C200600, // 0006 MOVE R8 R3
0x7C100800, // 0007 CALL R4 4
0x50100000, // 0008 LDBOOL R4 0 0
0x90020204, // 0009 SETMBR R0 K1 R4
0x90021C04, // 0009 SETMBR R0 K14 R4
0x80000000, // 000A RET 0
})
)
@ -220,20 +218,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Boolean_parse_status, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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_weak(find),
/* K1 */ be_nested_str_weak(Switch),
/* K2 */ be_nested_str_weak(tasmota_switch_index),
/* K3 */ be_nested_str_weak(ON),
/* K4 */ be_nested_str_weak(shadow_bool_value),
/* K5 */ be_nested_str_weak(value_updated),
}),
&be_ktab_class_Matter_Plugin_Sensor_Boolean, /* shared constants */
be_str_weak(parse_status),
&be_const_str_solidified,
( &(const binstruction[26]) { /* code */
@ -241,27 +232,27 @@ be_local_closure(class_Matter_Plugin_Sensor_Boolean_parse_status, /* name */
0x1C0C0403, // 0001 EQ R3 R2 R3
0x780E0015, // 0002 JMPF R3 #0019
0x500C0000, // 0003 LDBOOL R3 0 0
0x8C100300, // 0004 GETMET R4 R1 K0
0x8C100301, // 0004 GETMET R4 R1 K1
0x60180008, // 0005 GETGBL R6 G8
0x881C0102, // 0006 GETMBR R7 R0 K2
0x881C0100, // 0006 GETMBR R7 R0 K0
0x7C180200, // 0007 CALL R6 1
0x001A0206, // 0008 ADD R6 K1 R6
0x001A0E06, // 0008 ADD R6 K7 R6
0x7C100400, // 0009 CALL R4 2
0x1C100903, // 000A EQ R4 R4 K3
0x1C10090D, // 000A EQ R4 R4 K13
0x5C0C0800, // 000B MOVE R3 R4
0x88100104, // 000C GETMBR R4 R0 K4
0x8810010E, // 000C GETMBR R4 R0 K14
0x4C140000, // 000D LDNIL R5
0x20100805, // 000E NE R4 R4 R5
0x78120007, // 000F JMPF R4 #0018
0x88100104, // 0010 GETMBR R4 R0 K4
0x8810010E, // 0010 GETMBR R4 R0 K14
0x60140017, // 0011 GETGBL R5 G23
0x5C180600, // 0012 MOVE R6 R3
0x7C140200, // 0013 CALL R5 1
0x20100805, // 0014 NE R4 R4 R5
0x78120001, // 0015 JMPF R4 #0018
0x8C100105, // 0016 GETMET R4 R0 K5
0x8C10010F, // 0016 GETMET R4 R0 K15
0x7C100200, // 0017 CALL R4 1
0x90020803, // 0018 SETMBR R0 K4 R3
0x90021C03, // 0018 SETMBR R0 K14 R3
0x80000000, // 0019 RET 0
})
)

View File

@ -3,23 +3,8 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Sensor_GenericSwitch_Btn;
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[13]) { /* constants */
// compact class 'Matter_Plugin_Sensor_GenericSwitch_Btn' ktab size: 26, total: 35 (saved 72 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn[26] = {
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
@ -33,7 +18,38 @@ be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_read_attribute,
/* K10 */ be_nested_str_weak(shadow_position),
/* K11 */ be_nested_str_weak(U4),
/* K12 */ be_nested_str_weak(read_attribute),
}),
/* K13 */ be_nested_str_weak(attribute_updated),
/* K14 */ be_nested_str_weak(tasmota_switch_index),
/* K15 */ be_nested_str_weak(find),
/* K16 */ be_nested_str_weak(ARG),
/* K17 */ be_const_int(0),
/* K18 */ be_nested_str_weak(_X2C_X22Switch_X22_X3A_X25s),
/* K19 */ be_nested_str_weak(shadow_onoff),
/* K20 */ be_nested_str_weak(set_position),
/* K21 */ be_nested_str_weak(publish_event),
/* K22 */ be_nested_str_weak(EVENT_INFO),
/* K23 */ be_nested_str_weak(Matter_TLV_item),
/* K24 */ be_const_int(3),
/* K25 */ be_const_int(2),
};
extern const bclass be_class_Matter_Plugin_Sensor_GenericSwitch_Btn;
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[48]) { /* code */
@ -98,13 +114,13 @@ be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn__X3Clambda_X3E,
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
8, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
@ -125,28 +141,24 @@ be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_set_position, /*
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(shadow_position),
/* K1 */ be_nested_str_weak(attribute_updated),
/* K2 */ be_const_int(1),
}),
&be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */
be_str_weak(set_position),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8808010A, // 0000 GETMBR R2 R0 K10
0x20080202, // 0001 NE R2 R1 R2
0x780A0004, // 0002 JMPF R2 #0008
0x8C080101, // 0003 GETMET R2 R0 K1
0x8C08010D, // 0003 GETMET R2 R0 K13
0x5412003A, // 0004 LDINT R4 59
0x58140002, // 0005 LDCONST R5 K2
0x58140008, // 0005 LDCONST R5 K8
0x7C080600, // 0006 CALL R2 3
0x90020001, // 0007 SETMBR R0 K0 R1
0x90021401, // 0007 SETMBR R0 K10 R1
0x80000000, // 0008 RET 0
})
)
@ -161,33 +173,27 @@ be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_parse_configuratio
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota_switch_index),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(ARG),
/* K3 */ be_const_int(1),
/* K4 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x60080009, // 0000 GETGBL R2 G9
0x8C0C0301, // 0001 GETMET R3 R1 K1
0x88140102, // 0002 GETMBR R5 R0 K2
0x58180003, // 0003 LDCONST R6 K3
0x8C0C030F, // 0001 GETMET R3 R1 K15
0x88140110, // 0002 GETMBR R5 R0 K16
0x58180008, // 0003 LDCONST R6 K8
0x7C0C0600, // 0004 CALL R3 3
0x7C080200, // 0005 CALL R2 1
0x90020002, // 0006 SETMBR R0 K0 R2
0x88080100, // 0007 GETMBR R2 R0 K0
0x18080504, // 0008 LE R2 R2 K4
0x90021C02, // 0006 SETMBR R0 K14 R2
0x8808010E, // 0007 GETMBR R2 R0 K14
0x18080511, // 0008 LE R2 R2 K17
0x780A0000, // 0009 JMPF R2 #000B
0x90020103, // 000A SETMBR R0 K0 K3
0x90021D08, // 000A SETMBR R0 K14 K8
0x80000000, // 000B RET 0
})
)
@ -202,23 +208,20 @@ be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_append_state_json,
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(_X2C_X22Switch_X22_X3A_X25s),
/* K1 */ be_nested_str_weak(shadow_onoff),
}),
&be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */
be_str_weak(append_state_json),
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x60040018, // 0000 GETGBL R1 G24
0x58080000, // 0001 LDCONST R2 K0
0x58080012, // 0001 LDCONST R2 K18
0x600C0009, // 0002 GETGBL R3 G9
0x88100101, // 0003 GETMBR R4 R0 K1
0x88100113, // 0003 GETMBR R4 R0 K19
0x7C0C0200, // 0004 CALL R3 1
0x7C040400, // 0005 CALL R1 2
0x80040200, // 0006 RET 1 R1
@ -235,130 +238,117 @@ be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_button_handler,
be_nested_proto(
15, /* nstack */
5, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_const_int(1),
/* K2 */ be_nested_str_weak(set_position),
/* K3 */ be_nested_str_weak(publish_event),
/* K4 */ be_nested_str_weak(matter),
/* K5 */ be_nested_str_weak(EVENT_INFO),
/* K6 */ be_nested_str_weak(TLV),
/* K7 */ be_nested_str_weak(Matter_TLV_item),
/* K8 */ be_nested_str_weak(set),
/* K9 */ be_nested_str_weak(U1),
/* K10 */ be_const_int(3),
/* K11 */ be_const_int(2),
}),
&be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */
be_str_weak(button_handler),
&be_const_str_solidified,
( &(const binstruction[105]) { /* code */
0x1C140500, // 0000 EQ R5 R2 K0
0x1C140511, // 0000 EQ R5 R2 K17
0x74160001, // 0001 JMPT R5 #0004
0x1C140501, // 0002 EQ R5 R2 K1
0x1C140508, // 0002 EQ R5 R2 K8
0x78160002, // 0003 JMPF R5 #0007
0x8C140102, // 0004 GETMET R5 R0 K2
0x8C140114, // 0004 GETMET R5 R0 K20
0x5C1C0600, // 0005 MOVE R7 R3
0x7C140400, // 0006 CALL R5 2
0x1C140501, // 0007 EQ R5 R2 K1
0x1C140508, // 0007 EQ R5 R2 K8
0x78160040, // 0008 JMPF R5 #004A
0x780E0010, // 0009 JMPF R3 #001B
0x8C140103, // 000A GETMET R5 R0 K3
0x8C140115, // 000A GETMET R5 R0 K21
0x541E003A, // 000B LDINT R7 59
0x58200001, // 000C LDCONST R8 K1
0xB8260800, // 000D GETNGBL R9 K4
0x88241305, // 000E GETMBR R9 R9 K5
0xB82A0800, // 000F GETNGBL R10 K4
0x88281506, // 0010 GETMBR R10 R10 K6
0x8C281507, // 0011 GETMET R10 R10 K7
0x58200008, // 000C LDCONST R8 K8
0xB8260000, // 000D GETNGBL R9 K0
0x88241316, // 000E GETMBR R9 R9 K22
0xB82A0000, // 000F GETNGBL R10 K0
0x88281501, // 0010 GETMBR R10 R10 K1
0x8C281517, // 0011 GETMET R10 R10 K23
0x7C280200, // 0012 CALL R10 1
0x8C281508, // 0013 GETMET R10 R10 K8
0xB8320800, // 0014 GETNGBL R12 K4
0x88301906, // 0015 GETMBR R12 R12 K6
0x88301909, // 0016 GETMBR R12 R12 K9
0x58340001, // 0017 LDCONST R13 K1
0x8C281505, // 0013 GETMET R10 R10 K5
0xB8320000, // 0014 GETNGBL R12 K0
0x88301901, // 0015 GETMBR R12 R12 K1
0x88301906, // 0016 GETMBR R12 R12 K6
0x58340008, // 0017 LDCONST R13 K8
0x7C280600, // 0018 CALL R10 3
0x7C140A00, // 0019 CALL R5 5
0x7002000F, // 001A JMP #002B
0x8C140103, // 001B GETMET R5 R0 K3
0x8C140115, // 001B GETMET R5 R0 K21
0x541E003A, // 001C LDINT R7 59
0x5820000A, // 001D LDCONST R8 K10
0xB8260800, // 001E GETNGBL R9 K4
0x88241305, // 001F GETMBR R9 R9 K5
0xB82A0800, // 0020 GETNGBL R10 K4
0x88281506, // 0021 GETMBR R10 R10 K6
0x8C281507, // 0022 GETMET R10 R10 K7
0x58200018, // 001D LDCONST R8 K24
0xB8260000, // 001E GETNGBL R9 K0
0x88241316, // 001F GETMBR R9 R9 K22
0xB82A0000, // 0020 GETNGBL R10 K0
0x88281501, // 0021 GETMBR R10 R10 K1
0x8C281517, // 0022 GETMET R10 R10 K23
0x7C280200, // 0023 CALL R10 1
0x8C281508, // 0024 GETMET R10 R10 K8
0xB8320800, // 0025 GETNGBL R12 K4
0x88301906, // 0026 GETMBR R12 R12 K6
0x88301909, // 0027 GETMBR R12 R12 K9
0x58340001, // 0028 LDCONST R13 K1
0x8C281505, // 0024 GETMET R10 R10 K5
0xB8320000, // 0025 GETNGBL R12 K0
0x88301901, // 0026 GETMBR R12 R12 K1
0x88301906, // 0027 GETMBR R12 R12 K6
0x58340008, // 0028 LDCONST R13 K8
0x7C280600, // 0029 CALL R10 3
0x7C140A00, // 002A CALL R5 5
0x1C140701, // 002B EQ R5 R3 K1
0x1C140708, // 002B EQ R5 R3 K8
0x7816001B, // 002C JMPF R5 #0049
0x24140900, // 002D GT R5 R4 K0
0x24140911, // 002D GT R5 R4 K17
0x78160019, // 002E JMPF R5 #0049
0x8C140103, // 002F GETMET R5 R0 K3
0x8C140115, // 002F GETMET R5 R0 K21
0x541E003A, // 0030 LDINT R7 59
0x54220004, // 0031 LDINT R8 5
0xB8260800, // 0032 GETNGBL R9 K4
0x88241305, // 0033 GETMBR R9 R9 K5
0xB82A0800, // 0034 GETNGBL R10 K4
0x88281506, // 0035 GETMBR R10 R10 K6
0x8C281507, // 0036 GETMET R10 R10 K7
0xB8260000, // 0032 GETNGBL R9 K0
0x88241316, // 0033 GETMBR R9 R9 K22
0xB82A0000, // 0034 GETNGBL R10 K0
0x88281501, // 0035 GETMBR R10 R10 K1
0x8C281517, // 0036 GETMET R10 R10 K23
0x7C280200, // 0037 CALL R10 1
0x8C281508, // 0038 GETMET R10 R10 K8
0xB8320800, // 0039 GETNGBL R12 K4
0x88301906, // 003A GETMBR R12 R12 K6
0x88301909, // 003B GETMBR R12 R12 K9
0x58340001, // 003C LDCONST R13 K1
0x8C281505, // 0038 GETMET R10 R10 K5
0xB8320000, // 0039 GETNGBL R12 K0
0x88301901, // 003A GETMBR R12 R12 K1
0x88301906, // 003B GETMBR R12 R12 K6
0x58340008, // 003C LDCONST R13 K8
0x7C280600, // 003D CALL R10 3
0xB82E0800, // 003E GETNGBL R11 K4
0x882C1706, // 003F GETMBR R11 R11 K6
0x8C2C1707, // 0040 GETMET R11 R11 K7
0xB82E0000, // 003E GETNGBL R11 K0
0x882C1701, // 003F GETMBR R11 R11 K1
0x8C2C1717, // 0040 GETMET R11 R11 K23
0x7C2C0200, // 0041 CALL R11 1
0x8C2C1708, // 0042 GETMET R11 R11 K8
0xB8360800, // 0043 GETNGBL R13 K4
0x88341B06, // 0044 GETMBR R13 R13 K6
0x88341B09, // 0045 GETMBR R13 R13 K9
0x00380901, // 0046 ADD R14 R4 K1
0x8C2C1705, // 0042 GETMET R11 R11 K5
0xB8360000, // 0043 GETNGBL R13 K0
0x88341B01, // 0044 GETMBR R13 R13 K1
0x88341B06, // 0045 GETMBR R13 R13 K6
0x00380908, // 0046 ADD R14 R4 K8
0x7C2C0600, // 0047 CALL R11 3
0x7C140C00, // 0048 CALL R5 6
0x7002001D, // 0049 JMP #0068
0x1C14050B, // 004A EQ R5 R2 K11
0x1C140519, // 004A EQ R5 R2 K25
0x7816001B, // 004B JMPF R5 #0068
0x24140900, // 004C GT R5 R4 K0
0x24140911, // 004C GT R5 R4 K17
0x78160019, // 004D JMPF R5 #0068
0x8C140103, // 004E GETMET R5 R0 K3
0x8C140115, // 004E GETMET R5 R0 K21
0x541E003A, // 004F LDINT R7 59
0x54220005, // 0050 LDINT R8 6
0xB8260800, // 0051 GETNGBL R9 K4
0x88241305, // 0052 GETMBR R9 R9 K5
0xB82A0800, // 0053 GETNGBL R10 K4
0x88281506, // 0054 GETMBR R10 R10 K6
0x8C281507, // 0055 GETMET R10 R10 K7
0xB8260000, // 0051 GETNGBL R9 K0
0x88241316, // 0052 GETMBR R9 R9 K22
0xB82A0000, // 0053 GETNGBL R10 K0
0x88281501, // 0054 GETMBR R10 R10 K1
0x8C281517, // 0055 GETMET R10 R10 K23
0x7C280200, // 0056 CALL R10 1
0x8C281508, // 0057 GETMET R10 R10 K8
0xB8320800, // 0058 GETNGBL R12 K4
0x88301906, // 0059 GETMBR R12 R12 K6
0x88301909, // 005A GETMBR R12 R12 K9
0x58340001, // 005B LDCONST R13 K1
0x8C281505, // 0057 GETMET R10 R10 K5
0xB8320000, // 0058 GETNGBL R12 K0
0x88301901, // 0059 GETMBR R12 R12 K1
0x88301906, // 005A GETMBR R12 R12 K6
0x58340008, // 005B LDCONST R13 K8
0x7C280600, // 005C CALL R10 3
0xB82E0800, // 005D GETNGBL R11 K4
0x882C1706, // 005E GETMBR R11 R11 K6
0x8C2C1707, // 005F GETMET R11 R11 K7
0xB82E0000, // 005D GETNGBL R11 K0
0x882C1701, // 005E GETMBR R11 R11 K1
0x8C2C1717, // 005F GETMET R11 R11 K23
0x7C2C0200, // 0060 CALL R11 1
0x8C2C1708, // 0061 GETMET R11 R11 K8
0xB8360800, // 0062 GETNGBL R13 K4
0x88341B06, // 0063 GETMBR R13 R13 K6
0x88341B09, // 0064 GETMBR R13 R13 K9
0x8C2C1705, // 0061 GETMET R11 R11 K5
0xB8360000, // 0062 GETNGBL R13 K0
0x88341B01, // 0063 GETMBR R13 R13 K1
0x88341B06, // 0064 GETMBR R13 R13 K6
0x5C380800, // 0065 MOVE R14 R4
0x7C2C0600, // 0066 CALL R11 3
0x7C140C00, // 0067 CALL R5 6

View File

@ -3,6 +3,58 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Shutter' ktab size: 48, total: 78 (saved 240 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Shutter[48] = {
/* K0 */ be_nested_str_weak(tasmota_shutter_index),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(ARG),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(shadow_shutter_inverted),
/* K5 */ be_nested_str_weak(light),
/* K6 */ be_nested_str_weak(matter),
/* K7 */ be_nested_str_weak(TLV),
/* K8 */ be_nested_str_weak(cluster),
/* K9 */ be_nested_str_weak(command),
/* K10 */ be_nested_str_weak(update_shadow_lazy),
/* K11 */ be_nested_str_weak(tasmota),
/* K12 */ be_nested_str_weak(cmd),
/* K13 */ be_nested_str_weak(ShutterStopOpen),
/* K14 */ be_const_int(1),
/* K15 */ be_nested_str_weak(update_shadow),
/* K16 */ be_nested_str_weak(ShutterStopClose),
/* K17 */ be_const_int(2),
/* K18 */ be_nested_str_weak(ShutterStop),
/* K19 */ be_nested_str_weak(log),
/* K20 */ be_nested_str_weak(MTR_X3A_X20Tilt_X20_X3D_X20),
/* K21 */ be_nested_str_weak(findsubval),
/* K22 */ be_nested_str_weak(ShutterPosition),
/* K23 */ be_nested_str_weak(_X20),
/* K24 */ be_nested_str_weak(pos_X25_X3A),
/* K25 */ be_nested_str_weak(invoke_request),
/* K26 */ be_nested_str_weak(attribute),
/* K27 */ be_nested_str_weak(update_inverted),
/* K28 */ be_nested_str_weak(set),
/* K29 */ be_nested_str_weak(U1),
/* K30 */ be_nested_str_weak(U2),
/* K31 */ be_nested_str_weak(shadow_shutter_pos),
/* K32 */ be_nested_str_weak(shadow_shutter_direction),
/* K33 */ be_nested_str_weak(shadow_shutter_target),
/* K34 */ be_nested_str_weak(read_attribute),
/* K35 */ be_nested_str_weak(Shutter),
/* K36 */ be_nested_str_weak(contains),
/* K37 */ be_nested_str_weak(Position),
/* K38 */ be_nested_str_weak(attribute_updated),
/* K39 */ be_nested_str_weak(Direction),
/* K40 */ be_nested_str_weak(Target),
/* K41 */ be_nested_str_weak(Status_X2013),
/* K42 */ be_nested_str_weak(StatusSHT),
/* K43 */ be_nested_str_weak(SHT),
/* K44 */ be_nested_str_weak(Opt),
/* K45 */ be_const_int(1),
/* K46 */ be_nested_str_weak(VIRTUAL),
/* K47 */ be_nested_str_weak(parse_sensors),
};
extern const bclass be_class_Matter_Plugin_Shutter;
@ -13,19 +65,13 @@ be_local_closure(class_Matter_Plugin_Shutter_parse_configuration, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota_shutter_index),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(ARG),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(shadow_shutter_inverted),
}),
&be_ktab_class_Matter_Plugin_Shutter, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
@ -54,95 +100,70 @@ be_local_closure(class_Matter_Plugin_Shutter_invoke_request, /* name */
be_nested_proto(
14, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[24]) { /* constants */
/* K0 */ be_nested_str_weak(light),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(command),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(tasmota),
/* K8 */ be_nested_str_weak(cmd),
/* K9 */ be_nested_str_weak(ShutterStopOpen),
/* K10 */ be_nested_str_weak(tasmota_shutter_index),
/* K11 */ be_const_int(1),
/* K12 */ be_nested_str_weak(update_shadow),
/* K13 */ be_nested_str_weak(ShutterStopClose),
/* K14 */ be_const_int(2),
/* K15 */ be_nested_str_weak(ShutterStop),
/* K16 */ be_nested_str_weak(log),
/* K17 */ be_nested_str_weak(MTR_X3A_X20Tilt_X20_X3D_X20),
/* K18 */ be_nested_str_weak(findsubval),
/* K19 */ be_nested_str_weak(shadow_shutter_inverted),
/* K20 */ be_nested_str_weak(ShutterPosition),
/* K21 */ be_nested_str_weak(_X20),
/* K22 */ be_nested_str_weak(pos_X25_X3A),
/* K23 */ be_nested_str_weak(invoke_request),
}),
&be_ktab_class_Matter_Plugin_Shutter, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[115]) { /* code */
0xA4120000, // 0000 IMPORT R4 K0
0xB8160200, // 0001 GETNGBL R5 K1
0x88140B02, // 0002 GETMBR R5 R5 K2
0x88180703, // 0003 GETMBR R6 R3 K3
0x881C0704, // 0004 GETMBR R7 R3 K4
0xA4120A00, // 0000 IMPORT R4 K5
0xB8160C00, // 0001 GETNGBL R5 K6
0x88140B07, // 0002 GETMBR R5 R5 K7
0x88180708, // 0003 GETMBR R6 R3 K8
0x881C0709, // 0004 GETMBR R7 R3 K9
0x54220101, // 0005 LDINT R8 258
0x1C200C08, // 0006 EQ R8 R6 R8
0x78220060, // 0007 JMPF R8 #0069
0x8C200105, // 0008 GETMET R8 R0 K5
0x8C20010A, // 0008 GETMET R8 R0 K10
0x7C200200, // 0009 CALL R8 1
0x1C200F06, // 000A EQ R8 R7 K6
0x1C200F03, // 000A EQ R8 R7 K3
0x7822000D, // 000B JMPF R8 #001A
0xB8220E00, // 000C GETNGBL R8 K7
0x8C201108, // 000D GETMET R8 R8 K8
0xB8221600, // 000C GETNGBL R8 K11
0x8C20110C, // 000D GETMET R8 R8 K12
0x60280008, // 000E GETGBL R10 G8
0x882C010A, // 000F GETMBR R11 R0 K10
0x002C170B, // 0010 ADD R11 R11 K11
0x882C0100, // 000F GETMBR R11 R0 K0
0x002C170E, // 0010 ADD R11 R11 K14
0x7C280200, // 0011 CALL R10 1
0x002A120A, // 0012 ADD R10 K9 R10
0x002A1A0A, // 0012 ADD R10 K13 R10
0x502C0200, // 0013 LDBOOL R11 1 0
0x7C200600, // 0014 CALL R8 3
0x8C20010C, // 0015 GETMET R8 R0 K12
0x8C20010F, // 0015 GETMET R8 R0 K15
0x7C200200, // 0016 CALL R8 1
0x50200200, // 0017 LDBOOL R8 1 0
0x80041000, // 0018 RET 1 R8
0x7002004D, // 0019 JMP #0068
0x1C200F0B, // 001A EQ R8 R7 K11
0x1C200F0E, // 001A EQ R8 R7 K14
0x7822000D, // 001B JMPF R8 #002A
0xB8220E00, // 001C GETNGBL R8 K7
0x8C201108, // 001D GETMET R8 R8 K8
0xB8221600, // 001C GETNGBL R8 K11
0x8C20110C, // 001D GETMET R8 R8 K12
0x60280008, // 001E GETGBL R10 G8
0x882C010A, // 001F GETMBR R11 R0 K10
0x002C170B, // 0020 ADD R11 R11 K11
0x882C0100, // 001F GETMBR R11 R0 K0
0x002C170E, // 0020 ADD R11 R11 K14
0x7C280200, // 0021 CALL R10 1
0x002A1A0A, // 0022 ADD R10 K13 R10
0x002A200A, // 0022 ADD R10 K16 R10
0x502C0200, // 0023 LDBOOL R11 1 0
0x7C200600, // 0024 CALL R8 3
0x8C20010C, // 0025 GETMET R8 R0 K12
0x8C20010F, // 0025 GETMET R8 R0 K15
0x7C200200, // 0026 CALL R8 1
0x50200200, // 0027 LDBOOL R8 1 0
0x80041000, // 0028 RET 1 R8
0x7002003D, // 0029 JMP #0068
0x1C200F0E, // 002A EQ R8 R7 K14
0x1C200F11, // 002A EQ R8 R7 K17
0x7822000D, // 002B JMPF R8 #003A
0xB8220E00, // 002C GETNGBL R8 K7
0x8C201108, // 002D GETMET R8 R8 K8
0xB8221600, // 002C GETNGBL R8 K11
0x8C20110C, // 002D GETMET R8 R8 K12
0x60280008, // 002E GETGBL R10 G8
0x882C010A, // 002F GETMBR R11 R0 K10
0x002C170B, // 0030 ADD R11 R11 K11
0x882C0100, // 002F GETMBR R11 R0 K0
0x002C170E, // 0030 ADD R11 R11 K14
0x7C280200, // 0031 CALL R10 1
0x002A1E0A, // 0032 ADD R10 K15 R10
0x002A240A, // 0032 ADD R10 K18 R10
0x502C0200, // 0033 LDBOOL R11 1 0
0x7C200600, // 0034 CALL R8 3
0x8C20010C, // 0035 GETMET R8 R0 K12
0x8C20010F, // 0035 GETMET R8 R0 K15
0x7C200200, // 0036 CALL R8 1
0x50200200, // 0037 LDBOOL R8 1 0
0x80041000, // 0038 RET 1 R8
@ -150,34 +171,34 @@ be_local_closure(class_Matter_Plugin_Shutter_invoke_request, /* name */
0x54220004, // 003A LDINT R8 5
0x1C200E08, // 003B EQ R8 R7 R8
0x7822002A, // 003C JMPF R8 #0068
0xB8222000, // 003D GETNGBL R8 K16
0xB8222600, // 003D GETNGBL R8 K19
0x60240008, // 003E GETGBL R9 G8
0x5C280400, // 003F MOVE R10 R2
0x7C240200, // 0040 CALL R9 1
0x00262209, // 0041 ADD R9 K17 R9
0x5828000E, // 0042 LDCONST R10 K14
0x00262809, // 0041 ADD R9 K20 R9
0x58280011, // 0042 LDCONST R10 K17
0x7C200400, // 0043 CALL R8 2
0x8C200512, // 0044 GETMET R8 R2 K18
0x58280006, // 0045 LDCONST R10 K6
0x8C200515, // 0044 GETMET R8 R2 K21
0x58280003, // 0045 LDCONST R10 K3
0x7C200400, // 0046 CALL R8 2
0x4C240000, // 0047 LDNIL R9
0x20241009, // 0048 NE R9 R8 R9
0x7826001B, // 0049 JMPF R9 #0066
0x54260063, // 004A LDINT R9 100
0x0C201009, // 004B DIV R8 R8 R9
0x88240113, // 004C GETMBR R9 R0 K19
0x1C241306, // 004D EQ R9 R9 K6
0x88240104, // 004C GETMBR R9 R0 K4
0x1C241303, // 004D EQ R9 R9 K3
0x78260001, // 004E JMPF R9 #0051
0x54260063, // 004F LDINT R9 100
0x04201208, // 0050 SUB R8 R9 R8
0xB8260E00, // 0051 GETNGBL R9 K7
0x8C241308, // 0052 GETMET R9 R9 K8
0xB8261600, // 0051 GETNGBL R9 K11
0x8C24130C, // 0052 GETMET R9 R9 K12
0x602C0008, // 0053 GETGBL R11 G8
0x8830010A, // 0054 GETMBR R12 R0 K10
0x0030190B, // 0055 ADD R12 R12 K11
0x88300100, // 0054 GETMBR R12 R0 K0
0x0030190E, // 0055 ADD R12 R12 K14
0x7C2C0200, // 0056 CALL R11 1
0x002E280B, // 0057 ADD R11 K20 R11
0x002C1715, // 0058 ADD R11 R11 K21
0x002E2C0B, // 0057 ADD R11 K22 R11
0x002C1717, // 0058 ADD R11 R11 K23
0x60300008, // 0059 GETGBL R12 G8
0x5C341000, // 005A MOVE R13 R8
0x7C300200, // 005B CALL R12 1
@ -187,9 +208,9 @@ be_local_closure(class_Matter_Plugin_Shutter_invoke_request, /* name */
0x60240008, // 005F GETGBL R9 G8
0x5C281000, // 0060 MOVE R10 R8
0x7C240200, // 0061 CALL R9 1
0x00262C09, // 0062 ADD R9 K22 R9
0x900E2009, // 0063 SETMBR R3 K16 R9
0x8C24010C, // 0064 GETMET R9 R0 K12
0x00263009, // 0062 ADD R9 K24 R9
0x900E2609, // 0063 SETMBR R3 K19 R9
0x8C24010F, // 0064 GETMET R9 R0 K15
0x7C240200, // 0065 CALL R9 1
0x50240200, // 0066 LDBOOL R9 1 0
0x80041200, // 0067 RET 1 R9
@ -197,7 +218,7 @@ be_local_closure(class_Matter_Plugin_Shutter_invoke_request, /* name */
0x60200003, // 0069 GETGBL R8 G3
0x5C240000, // 006A MOVE R9 R0
0x7C200200, // 006B CALL R8 1
0x8C201117, // 006C GETMET R8 R8 K23
0x8C201119, // 006C GETMET R8 R8 K25
0x5C280200, // 006D MOVE R10 R1
0x5C2C0400, // 006E MOVE R11 R2
0x5C300600, // 006F MOVE R12 R3
@ -217,50 +238,32 @@ be_local_closure(class_Matter_Plugin_Shutter_read_attribute, /* name */
be_nested_proto(
13, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[17]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_nested_str_weak(update_inverted),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(set),
/* K8 */ be_nested_str_weak(U1),
/* K9 */ be_nested_str_weak(U2),
/* K10 */ be_const_int(1),
/* K11 */ be_nested_str_weak(shadow_shutter_inverted),
/* K12 */ be_nested_str_weak(shadow_shutter_pos),
/* K13 */ be_nested_str_weak(shadow_shutter_direction),
/* K14 */ be_const_int(2),
/* K15 */ be_nested_str_weak(shadow_shutter_target),
/* K16 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Shutter, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[131]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8120C00, // 0000 GETNGBL R4 K6
0x88100907, // 0001 GETMBR R4 R4 K7
0x88140508, // 0002 GETMBR R5 R2 K8
0x8818051A, // 0003 GETMBR R6 R2 K26
0x4C1C0000, // 0004 LDNIL R7
0x54220101, // 0005 LDINT R8 258
0x1C200A08, // 0006 EQ R8 R5 R8
0x78220071, // 0007 JMPF R8 #007A
0x8C200104, // 0008 GETMET R8 R0 K4
0x8C20010A, // 0008 GETMET R8 R0 K10
0x7C200200, // 0009 CALL R8 1
0x8C200105, // 000A GETMET R8 R0 K5
0x8C20011B, // 000A GETMET R8 R0 K27
0x7C200200, // 000B CALL R8 1
0x1C200D06, // 000C EQ R8 R6 K6
0x1C200D03, // 000C EQ R8 R6 K3
0x78220005, // 000D JMPF R8 #0014
0x8C200707, // 000E GETMET R8 R3 K7
0x88280908, // 000F GETMBR R10 R4 K8
0x8C20071C, // 000E GETMET R8 R3 K28
0x8828091D, // 000F GETMBR R10 R4 K29
0x542E00FE, // 0010 LDINT R11 255
0x7C200600, // 0011 CALL R8 3
0x80041000, // 0012 RET 1 R8
@ -268,27 +271,27 @@ be_local_closure(class_Matter_Plugin_Shutter_read_attribute, /* name */
0x54220004, // 0014 LDINT R8 5
0x1C200C08, // 0015 EQ R8 R6 R8
0x78220005, // 0016 JMPF R8 #001D
0x8C200707, // 0017 GETMET R8 R3 K7
0x88280909, // 0018 GETMBR R10 R4 K9
0x582C0006, // 0019 LDCONST R11 K6
0x8C20071C, // 0017 GETMET R8 R3 K28
0x8828091E, // 0018 GETMBR R10 R4 K30
0x582C0003, // 0019 LDCONST R11 K3
0x7C200600, // 001A CALL R8 3
0x80041000, // 001B RET 1 R8
0x7002005C, // 001C JMP #007A
0x54220006, // 001D LDINT R8 7
0x1C200C08, // 001E EQ R8 R6 R8
0x78220006, // 001F JMPF R8 #0027
0x8C200707, // 0020 GETMET R8 R3 K7
0x88280908, // 0021 GETMBR R10 R4 K8
0x8C20071C, // 0020 GETMET R8 R3 K28
0x8828091D, // 0021 GETMBR R10 R4 K29
0x542E0007, // 0022 LDINT R11 8
0x002E140B, // 0023 ADD R11 K10 R11
0x002E1C0B, // 0023 ADD R11 K14 R11
0x7C200600, // 0024 CALL R8 3
0x80041000, // 0025 RET 1 R8
0x70020052, // 0026 JMP #007A
0x5422000C, // 0027 LDINT R8 13
0x1C200C08, // 0028 EQ R8 R6 R8
0x78220005, // 0029 JMPF R8 #0030
0x8C200707, // 002A GETMET R8 R3 K7
0x88280908, // 002B GETMBR R10 R4 K8
0x8C20071C, // 002A GETMET R8 R3 K28
0x8828091D, // 002B GETMBR R10 R4 K29
0x542E00FE, // 002C LDINT R11 255
0x7C200600, // 002D CALL R8 3
0x80041000, // 002E RET 1 R8
@ -296,22 +299,22 @@ be_local_closure(class_Matter_Plugin_Shutter_read_attribute, /* name */
0x5422000D, // 0030 LDINT R8 14
0x1C200C08, // 0031 EQ R8 R6 R8
0x78220013, // 0032 JMPF R8 #0047
0x8820010B, // 0033 GETMBR R8 R0 K11
0x1C201106, // 0034 EQ R8 R8 K6
0x88200104, // 0033 GETMBR R8 R0 K4
0x1C201103, // 0034 EQ R8 R8 K3
0x78220006, // 0035 JMPF R8 #003D
0x54220063, // 0036 LDINT R8 100
0x8824010C, // 0037 GETMBR R9 R0 K12
0x8824011F, // 0037 GETMBR R9 R0 K31
0x04201009, // 0038 SUB R8 R8 R9
0x54260063, // 0039 LDINT R9 100
0x08201009, // 003A MUL R8 R8 R9
0x5C1C1000, // 003B MOVE R7 R8
0x70020003, // 003C JMP #0041
0x8820010C, // 003D GETMBR R8 R0 K12
0x8820011F, // 003D GETMBR R8 R0 K31
0x54260063, // 003E LDINT R9 100
0x08201009, // 003F MUL R8 R8 R9
0x5C1C1000, // 0040 MOVE R7 R8
0x8C200707, // 0041 GETMET R8 R3 K7
0x88280909, // 0042 GETMBR R10 R4 K9
0x8C20071C, // 0041 GETMET R8 R3 K28
0x8828091E, // 0042 GETMBR R10 R4 K30
0x5C2C0E00, // 0043 MOVE R11 R7
0x7C200600, // 0044 CALL R8 3
0x80041000, // 0045 RET 1 R8
@ -319,19 +322,19 @@ be_local_closure(class_Matter_Plugin_Shutter_read_attribute, /* name */
0x54220009, // 0047 LDINT R8 10
0x1C200C08, // 0048 EQ R8 R6 R8
0x78220010, // 0049 JMPF R8 #005B
0x8820010D, // 004A GETMBR R8 R0 K13
0x1C201106, // 004B EQ R8 R8 K6
0x88200120, // 004A GETMBR R8 R0 K32
0x1C201103, // 004B EQ R8 R8 K3
0x78220001, // 004C JMPF R8 #004F
0x58200006, // 004D LDCONST R8 K6
0x58200003, // 004D LDCONST R8 K3
0x70020005, // 004E JMP #0055
0x8820010D, // 004F GETMBR R8 R0 K13
0x24201106, // 0050 GT R8 R8 K6
0x88200120, // 004F GETMBR R8 R0 K32
0x24201103, // 0050 GT R8 R8 K3
0x78220001, // 0051 JMPF R8 #0054
0x5820000A, // 0052 LDCONST R8 K10
0x5820000E, // 0052 LDCONST R8 K14
0x70020000, // 0053 JMP #0055
0x5820000E, // 0054 LDCONST R8 K14
0x8C240707, // 0055 GETMET R9 R3 K7
0x882C0908, // 0056 GETMBR R11 R4 K8
0x58200011, // 0054 LDCONST R8 K17
0x8C24071C, // 0055 GETMET R9 R3 K28
0x882C091D, // 0056 GETMBR R11 R4 K29
0x5C301000, // 0057 MOVE R12 R8
0x7C240600, // 0058 CALL R9 3
0x80041200, // 0059 RET 1 R9
@ -339,22 +342,22 @@ be_local_closure(class_Matter_Plugin_Shutter_read_attribute, /* name */
0x5422000A, // 005B LDINT R8 11
0x1C200C08, // 005C EQ R8 R6 R8
0x78220013, // 005D JMPF R8 #0072
0x8820010B, // 005E GETMBR R8 R0 K11
0x1C201106, // 005F EQ R8 R8 K6
0x88200104, // 005E GETMBR R8 R0 K4
0x1C201103, // 005F EQ R8 R8 K3
0x78220006, // 0060 JMPF R8 #0068
0x54220063, // 0061 LDINT R8 100
0x8824010F, // 0062 GETMBR R9 R0 K15
0x88240121, // 0062 GETMBR R9 R0 K33
0x04201009, // 0063 SUB R8 R8 R9
0x54260063, // 0064 LDINT R9 100
0x08201009, // 0065 MUL R8 R8 R9
0x5C1C1000, // 0066 MOVE R7 R8
0x70020003, // 0067 JMP #006C
0x8820010F, // 0068 GETMBR R8 R0 K15
0x88200121, // 0068 GETMBR R8 R0 K33
0x54260063, // 0069 LDINT R9 100
0x08201009, // 006A MUL R8 R8 R9
0x5C1C1000, // 006B MOVE R7 R8
0x8C200707, // 006C GETMET R8 R3 K7
0x88280909, // 006D GETMBR R10 R4 K9
0x8C20071C, // 006C GETMET R8 R3 K28
0x8828091E, // 006D GETMBR R10 R4 K30
0x5C2C0E00, // 006E MOVE R11 R7
0x7C200600, // 006F CALL R8 3
0x80041000, // 0070 RET 1 R8
@ -362,15 +365,15 @@ be_local_closure(class_Matter_Plugin_Shutter_read_attribute, /* name */
0x54220016, // 0072 LDINT R8 23
0x1C200C08, // 0073 EQ R8 R6 R8
0x78220004, // 0074 JMPF R8 #007A
0x8C200707, // 0075 GETMET R8 R3 K7
0x88280908, // 0076 GETMBR R10 R4 K8
0x582C0006, // 0077 LDCONST R11 K6
0x8C20071C, // 0075 GETMET R8 R3 K28
0x8828091D, // 0076 GETMBR R10 R4 K29
0x582C0003, // 0077 LDCONST R11 K3
0x7C200600, // 0078 CALL R8 3
0x80041000, // 0079 RET 1 R8
0x60200003, // 007A GETGBL R8 G3
0x5C240000, // 007B MOVE R9 R0
0x7C200200, // 007C CALL R8 1
0x8C201110, // 007D GETMET R8 R8 K16
0x8C201122, // 007D GETMET R8 R8 K34
0x5C280200, // 007E MOVE R10 R1
0x5C2C0400, // 007F MOVE R11 R2
0x5C300600, // 0080 MOVE R12 R3
@ -389,13 +392,13 @@ be_local_closure(class_Matter_Plugin_Shutter__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
8, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Shutter, /* shared constants */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
@ -416,81 +419,68 @@ be_local_closure(class_Matter_Plugin_Shutter_parse_sensors, /* name */
be_nested_proto(
11, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(Shutter),
/* K1 */ be_nested_str_weak(tasmota_shutter_index),
/* K2 */ be_const_int(1),
/* K3 */ be_nested_str_weak(contains),
/* K4 */ be_nested_str_weak(find),
/* K5 */ be_nested_str_weak(Position),
/* K6 */ be_nested_str_weak(shadow_shutter_pos),
/* K7 */ be_nested_str_weak(attribute_updated),
/* K8 */ be_nested_str_weak(Direction),
/* K9 */ be_nested_str_weak(shadow_shutter_direction),
/* K10 */ be_nested_str_weak(Target),
/* K11 */ be_nested_str_weak(shadow_shutter_target),
}),
&be_ktab_class_Matter_Plugin_Shutter, /* shared constants */
be_str_weak(parse_sensors),
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
0x60080008, // 0000 GETGBL R2 G8
0x880C0101, // 0001 GETMBR R3 R0 K1
0x000C0702, // 0002 ADD R3 R3 K2
0x880C0100, // 0001 GETMBR R3 R0 K0
0x000C070E, // 0002 ADD R3 R3 K14
0x7C080200, // 0003 CALL R2 1
0x000A0002, // 0004 ADD R2 K0 R2
0x8C0C0303, // 0005 GETMET R3 R1 K3
0x000A4602, // 0004 ADD R2 K35 R2
0x8C0C0324, // 0005 GETMET R3 R1 K36
0x5C140400, // 0006 MOVE R5 R2
0x7C0C0400, // 0007 CALL R3 2
0x780E002A, // 0008 JMPF R3 #0034
0x940C0202, // 0009 GETIDX R3 R1 R2
0x8C100704, // 000A GETMET R4 R3 K4
0x58180005, // 000B LDCONST R6 K5
0x8C100701, // 000A GETMET R4 R3 K1
0x58180025, // 000B LDCONST R6 K37
0x7C100400, // 000C CALL R4 2
0x4C140000, // 000D LDNIL R5
0x20140805, // 000E NE R5 R4 R5
0x78160007, // 000F JMPF R5 #0018
0x88140106, // 0010 GETMBR R5 R0 K6
0x8814011F, // 0010 GETMBR R5 R0 K31
0x20140805, // 0011 NE R5 R4 R5
0x78160003, // 0012 JMPF R5 #0017
0x8C140107, // 0013 GETMET R5 R0 K7
0x8C140126, // 0013 GETMET R5 R0 K38
0x541E0101, // 0014 LDINT R7 258
0x5422000D, // 0015 LDINT R8 14
0x7C140600, // 0016 CALL R5 3
0x90020C04, // 0017 SETMBR R0 K6 R4
0x8C140704, // 0018 GETMET R5 R3 K4
0x581C0008, // 0019 LDCONST R7 K8
0x90023E04, // 0017 SETMBR R0 K31 R4
0x8C140701, // 0018 GETMET R5 R3 K1
0x581C0027, // 0019 LDCONST R7 K39
0x7C140400, // 001A CALL R5 2
0x4C180000, // 001B LDNIL R6
0x20180A06, // 001C NE R6 R5 R6
0x781A0007, // 001D JMPF R6 #0026
0x88180109, // 001E GETMBR R6 R0 K9
0x88180120, // 001E GETMBR R6 R0 K32
0x20180A06, // 001F NE R6 R5 R6
0x781A0003, // 0020 JMPF R6 #0025
0x8C180107, // 0021 GETMET R6 R0 K7
0x8C180126, // 0021 GETMET R6 R0 K38
0x54220101, // 0022 LDINT R8 258
0x54260009, // 0023 LDINT R9 10
0x7C180600, // 0024 CALL R6 3
0x90021205, // 0025 SETMBR R0 K9 R5
0x8C180704, // 0026 GETMET R6 R3 K4
0x5820000A, // 0027 LDCONST R8 K10
0x90024005, // 0025 SETMBR R0 K32 R5
0x8C180701, // 0026 GETMET R6 R3 K1
0x58200028, // 0027 LDCONST R8 K40
0x7C180400, // 0028 CALL R6 2
0x4C1C0000, // 0029 LDNIL R7
0x201C0C07, // 002A NE R7 R6 R7
0x781E0007, // 002B JMPF R7 #0034
0x881C010B, // 002C GETMBR R7 R0 K11
0x881C0121, // 002C GETMBR R7 R0 K33
0x201C0C07, // 002D NE R7 R6 R7
0x781E0003, // 002E JMPF R7 #0033
0x8C1C0107, // 002F GETMET R7 R0 K7
0x8C1C0126, // 002F GETMET R7 R0 K38
0x54260101, // 0030 LDINT R9 258
0x542A000A, // 0031 LDINT R10 11
0x7C1C0600, // 0032 CALL R7 3
0x90021606, // 0033 SETMBR R0 K11 R6
0x90024206, // 0033 SETMBR R0 K33 R6
0x80000000, // 0034 RET 0
})
)
@ -505,52 +495,40 @@ be_local_closure(class_Matter_Plugin_Shutter_update_inverted, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(shadow_shutter_inverted),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(cmd),
/* K3 */ be_nested_str_weak(Status_X2013),
/* K4 */ be_nested_str_weak(contains),
/* K5 */ be_nested_str_weak(StatusSHT),
/* K6 */ be_nested_str_weak(find),
/* K7 */ be_nested_str_weak(SHT),
/* K8 */ be_nested_str_weak(tasmota_shutter_index),
/* K9 */ be_nested_str_weak(Opt),
/* K10 */ be_const_int(1),
}),
&be_ktab_class_Matter_Plugin_Shutter, /* shared constants */
be_str_weak(update_inverted),
&be_const_str_solidified,
( &(const binstruction[37]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040104, // 0000 GETMBR R1 R0 K4
0x5409FFFE, // 0001 LDINT R2 -1
0x1C040202, // 0002 EQ R1 R1 R2
0x7806001F, // 0003 JMPF R1 #0024
0xB8060200, // 0004 GETNGBL R1 K1
0x8C040302, // 0005 GETMET R1 R1 K2
0x580C0003, // 0006 LDCONST R3 K3
0xB8061600, // 0004 GETNGBL R1 K11
0x8C04030C, // 0005 GETMET R1 R1 K12
0x580C0029, // 0006 LDCONST R3 K41
0x50100200, // 0007 LDBOOL R4 1 0
0x7C040600, // 0008 CALL R1 3
0x8C080304, // 0009 GETMET R2 R1 K4
0x58100005, // 000A LDCONST R4 K5
0x8C080324, // 0009 GETMET R2 R1 K36
0x5810002A, // 000A LDCONST R4 K42
0x7C080400, // 000B CALL R2 2
0x780A0016, // 000C JMPF R2 #0024
0x94040305, // 000D GETIDX R1 R1 K5
0x8C080306, // 000E GETMET R2 R1 K6
0x9404032A, // 000D GETIDX R1 R1 K42
0x8C080301, // 000E GETMET R2 R1 K1
0x60100008, // 000F GETGBL R4 G8
0x88140108, // 0010 GETMBR R5 R0 K8
0x88140100, // 0010 GETMBR R5 R0 K0
0x7C100200, // 0011 CALL R4 1
0x00120E04, // 0012 ADD R4 K7 R4
0x00125604, // 0012 ADD R4 K43 R4
0x60140013, // 0013 GETGBL R5 G19
0x7C140000, // 0014 CALL R5 0
0x7C080600, // 0015 CALL R2 3
0x8C080506, // 0016 GETMET R2 R2 K6
0x58100009, // 0017 LDCONST R4 K9
0x8C080501, // 0016 GETMET R2 R2 K1
0x5810002C, // 0017 LDCONST R4 K44
0x7C080400, // 0018 CALL R2 2
0x4C0C0000, // 0019 LDNIL R3
0x200C0403, // 001A NE R3 R2 R3
@ -559,10 +537,10 @@ be_local_closure(class_Matter_Plugin_Shutter_update_inverted, /* name */
0x6010000C, // 001D GETGBL R4 G12
0x5C140400, // 001E MOVE R5 R2
0x7C100200, // 001F CALL R4 1
0x0410090A, // 0020 SUB R4 R4 K10
0x0410092D, // 0020 SUB R4 R4 K45
0x94100404, // 0021 GETIDX R4 R2 R4
0x7C0C0200, // 0022 CALL R3 1
0x90020003, // 0023 SETMBR R0 K0 R3
0x90020803, // 0023 SETMBR R0 K4 R3
0x80000000, // 0024 RET 0
})
)
@ -577,47 +555,37 @@ be_local_closure(class_Matter_Plugin_Shutter_update_shadow, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(VIRTUAL),
/* K1 */ be_nested_str_weak(update_inverted),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(cmd),
/* K4 */ be_nested_str_weak(ShutterPosition),
/* K5 */ be_nested_str_weak(tasmota_shutter_index),
/* K6 */ be_const_int(1),
/* K7 */ be_nested_str_weak(parse_sensors),
/* K8 */ be_nested_str_weak(update_shadow),
}),
&be_ktab_class_Matter_Plugin_Shutter, /* shared constants */
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8804012E, // 0000 GETMBR R1 R0 K46
0x7406000E, // 0001 JMPT R1 #0011
0x8C040101, // 0002 GETMET R1 R0 K1
0x8C04011B, // 0002 GETMET R1 R0 K27
0x7C040200, // 0003 CALL R1 1
0xB8060400, // 0004 GETNGBL R1 K2
0x8C040303, // 0005 GETMET R1 R1 K3
0xB8061600, // 0004 GETNGBL R1 K11
0x8C04030C, // 0005 GETMET R1 R1 K12
0x600C0008, // 0006 GETGBL R3 G8
0x88100105, // 0007 GETMBR R4 R0 K5
0x00100906, // 0008 ADD R4 R4 K6
0x88100100, // 0007 GETMBR R4 R0 K0
0x0010090E, // 0008 ADD R4 R4 K14
0x7C0C0200, // 0009 CALL R3 1
0x000E0803, // 000A ADD R3 K4 R3
0x000E2C03, // 000A ADD R3 K22 R3
0x50100200, // 000B LDBOOL R4 1 0
0x7C040600, // 000C CALL R1 3
0x78060002, // 000D JMPF R1 #0011
0x8C080107, // 000E GETMET R2 R0 K7
0x8C08012F, // 000E GETMET R2 R0 K47
0x5C100200, // 000F MOVE R4 R1
0x7C080400, // 0010 CALL R2 2
0x60040003, // 0011 GETGBL R1 G3
0x5C080000, // 0012 MOVE R2 R0
0x7C040200, // 0013 CALL R1 1
0x8C040308, // 0014 GETMET R1 R1 K8
0x8C04030F, // 0014 GETMET R1 R1 K15
0x7C040200, // 0015 CALL R1 1
0x80000000, // 0016 RET 0
})

View File

@ -3,23 +3,8 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Light1;
/********************************************************************
** Solidified function: set_bri
********************************************************************/
be_local_closure(class_Matter_Plugin_Light1_set_bri, /* name */
be_nested_proto(
11, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[17]) { /* constants */
// compact class 'Matter_Plugin_Light1' ktab size: 55, total: 108 (saved 424 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Light1[55] = {
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(BRIDGE),
/* K2 */ be_nested_str_weak(tasmota),
@ -37,7 +22,63 @@ be_local_closure(class_Matter_Plugin_Light1_set_bri, /* name */
/* K14 */ be_nested_str_weak(light_index),
/* K15 */ be_nested_str_weak(power),
/* K16 */ be_nested_str_weak(update_shadow),
}),
/* K17 */ be_nested_str_weak(),
/* K18 */ be_nested_str_weak(_X25i_X25_X25),
/* K19 */ be_nested_str_weak(_X26_X23128261_X3B_X20),
/* K20 */ be_nested_str_weak(matter),
/* K21 */ be_nested_str_weak(TLV),
/* K22 */ be_nested_str_weak(cluster),
/* K23 */ be_nested_str_weak(command),
/* K24 */ be_nested_str_weak(update_shadow_lazy),
/* K25 */ be_nested_str_weak(findsubval),
/* K26 */ be_nested_str_weak(set_bri),
/* K27 */ be_nested_str_weak(log),
/* K28 */ be_nested_str_weak(bri_X3A),
/* K29 */ be_nested_str_weak(publish_command),
/* K30 */ be_nested_str_weak(Bri),
/* K31 */ be_const_int(1),
/* K32 */ be_const_int(2),
/* K33 */ be_const_int(3),
/* K34 */ be_nested_str_weak(Power),
/* K35 */ be_nested_str_weak(invoke_request),
/* K36 */ be_nested_str_weak(attribute),
/* K37 */ be_nested_str_weak(U1),
/* K38 */ be_nested_str_weak(read_attribute),
/* K39 */ be_nested_str_weak(tasmota_relay_index),
/* K40 */ be_nested_str_weak(find),
/* K41 */ be_nested_str_weak(ARG),
/* K42 */ be_const_int(0),
/* K43 */ be_nested_str_weak(TYPE),
/* K44 */ be_nested_str_weak(light1),
/* K45 */ be_nested_str_weak(get_option),
/* K46 */ be_nested_str_weak(get),
/* K47 */ be_nested_str_weak(update_virtual),
/* K48 */ be_nested_str_weak(init),
/* K49 */ be_nested_str_weak(webserver),
/* K50 */ be_nested_str_weak(web_values_prefix),
/* K51 */ be_nested_str_weak(content_send),
/* K52 */ be_nested_str_weak(_X25s_X20_X25s),
/* K53 */ be_nested_str_weak(web_value_onoff),
/* K54 */ be_nested_str_weak(web_value_dimmer),
};
extern const bclass be_class_Matter_Plugin_Light1;
/********************************************************************
** Solidified function: set_bri
********************************************************************/
be_local_closure(class_Matter_Plugin_Light1_set_bri, /* name */
be_nested_proto(
11, /* nstack */
3, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Light1, /* shared constants */
be_str_weak(set_bri),
&be_const_str_solidified,
( &(const binstruction[91]) { /* code */
@ -145,43 +186,35 @@ be_local_closure(class_Matter_Plugin_Light1_web_value_dimmer, /* name */
be_nested_proto(
9, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(shadow_bri),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(scale_uint),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(_X25i_X25_X25),
/* K6 */ be_nested_str_weak(_X26_X23128261_X3B_X20),
}),
&be_ktab_class_Matter_Plugin_Light1, /* shared constants */
be_str_weak(web_value_dimmer),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x58040011, // 0000 LDCONST R1 K17
0x8808010A, // 0001 GETMBR R2 R0 K10
0x4C0C0000, // 0002 LDNIL R3
0x20080403, // 0003 NE R2 R2 R3
0x780A000C, // 0004 JMPF R2 #0012
0xB80A0400, // 0005 GETNGBL R2 K2
0x8C080503, // 0006 GETMET R2 R2 K3
0x88100101, // 0007 GETMBR R4 R0 K1
0x58140004, // 0008 LDCONST R5 K4
0x8810010A, // 0007 GETMBR R4 R0 K10
0x58140000, // 0008 LDCONST R5 K0
0x541A00FD, // 0009 LDINT R6 254
0x581C0004, // 000A LDCONST R7 K4
0x581C0000, // 000A LDCONST R7 K0
0x54220063, // 000B LDINT R8 100
0x7C080C00, // 000C CALL R2 6
0x600C0018, // 000D GETGBL R3 G24
0x58100005, // 000E LDCONST R4 K5
0x58100012, // 000E LDCONST R4 K18
0x5C140400, // 000F MOVE R5 R2
0x7C0C0400, // 0010 CALL R3 2
0x5C040600, // 0011 MOVE R1 R3
0x000A0C01, // 0012 ADD R2 K6 R1
0x000A2601, // 0012 ADD R2 K19 R1
0x80040400, // 0013 RET 1 R2
})
)
@ -196,88 +229,66 @@ be_local_closure(class_Matter_Plugin_Light1_invoke_request, /* name */
be_nested_proto(
22, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[21]) { /* constants */
/* K0 */ be_nested_str_weak(light),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(command),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(findsubval),
/* K8 */ be_nested_str_weak(set_bri),
/* K9 */ be_nested_str_weak(log),
/* K10 */ be_nested_str_weak(bri_X3A),
/* K11 */ be_nested_str_weak(publish_command),
/* K12 */ be_nested_str_weak(Bri),
/* K13 */ be_nested_str_weak(Dimmer),
/* K14 */ be_nested_str_weak(tasmota),
/* K15 */ be_nested_str_weak(scale_uint),
/* K16 */ be_const_int(1),
/* K17 */ be_const_int(2),
/* K18 */ be_const_int(3),
/* K19 */ be_nested_str_weak(Power),
/* K20 */ be_nested_str_weak(invoke_request),
}),
&be_ktab_class_Matter_Plugin_Light1, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[119]) { /* code */
0xA4120000, // 0000 IMPORT R4 K0
0xB8160200, // 0001 GETNGBL R5 K1
0x88140B02, // 0002 GETMBR R5 R5 K2
0x88180703, // 0003 GETMBR R6 R3 K3
0x881C0704, // 0004 GETMBR R7 R3 K4
0xA4121600, // 0000 IMPORT R4 K11
0xB8162800, // 0001 GETNGBL R5 K20
0x88140B15, // 0002 GETMBR R5 R5 K21
0x88180716, // 0003 GETMBR R6 R3 K22
0x881C0717, // 0004 GETMBR R7 R3 K23
0x54220007, // 0005 LDINT R8 8
0x1C200C08, // 0006 EQ R8 R6 R8
0x78220064, // 0007 JMPF R8 #006D
0x8C200105, // 0008 GETMET R8 R0 K5
0x8C200118, // 0008 GETMET R8 R0 K24
0x7C200200, // 0009 CALL R8 1
0x1C200F06, // 000A EQ R8 R7 K6
0x1C200F00, // 000A EQ R8 R7 K0
0x7822001A, // 000B JMPF R8 #0027
0x8C200507, // 000C GETMET R8 R2 K7
0x58280006, // 000D LDCONST R10 K6
0x8C200519, // 000C GETMET R8 R2 K25
0x58280000, // 000D LDCONST R10 K0
0x7C200400, // 000E CALL R8 2
0x8C240108, // 000F GETMET R9 R0 K8
0x8C24011A, // 000F GETMET R9 R0 K26
0x5C2C1000, // 0010 MOVE R11 R8
0x7C240400, // 0011 CALL R9 2
0x60240008, // 0012 GETGBL R9 G8
0x5C281000, // 0013 MOVE R10 R8
0x7C240200, // 0014 CALL R9 1
0x00261409, // 0015 ADD R9 K10 R9
0x900E1209, // 0016 SETMBR R3 K9 R9
0x8C24010B, // 0017 GETMET R9 R0 K11
0x582C000C, // 0018 LDCONST R11 K12
0x00263809, // 0015 ADD R9 K28 R9
0x900E3609, // 0016 SETMBR R3 K27 R9
0x8C24011D, // 0017 GETMET R9 R0 K29
0x582C001E, // 0018 LDCONST R11 K30
0x5C301000, // 0019 MOVE R12 R8
0x5834000D, // 001A LDCONST R13 K13
0xB83A1C00, // 001B GETNGBL R14 K14
0x8C381D0F, // 001C GETMET R14 R14 K15
0x58340005, // 001A LDCONST R13 K5
0xB83A0400, // 001B GETNGBL R14 K2
0x8C381D03, // 001C GETMET R14 R14 K3
0x5C401000, // 001D MOVE R16 R8
0x58440006, // 001E LDCONST R17 K6
0x58440000, // 001E LDCONST R17 K0
0x544A00FD, // 001F LDINT R18 254
0x584C0006, // 0020 LDCONST R19 K6
0x584C0000, // 0020 LDCONST R19 K0
0x54520063, // 0021 LDINT R20 100
0x7C380C00, // 0022 CALL R14 6
0x7C240A00, // 0023 CALL R9 5
0x50240200, // 0024 LDBOOL R9 1 0
0x80041200, // 0025 RET 1 R9
0x70020044, // 0026 JMP #006C
0x1C200F10, // 0027 EQ R8 R7 K16
0x1C200F1F, // 0027 EQ R8 R7 K31
0x78220002, // 0028 JMPF R8 #002C
0x50200200, // 0029 LDBOOL R8 1 0
0x80041000, // 002A RET 1 R8
0x7002003F, // 002B JMP #006C
0x1C200F11, // 002C EQ R8 R7 K17
0x1C200F20, // 002C EQ R8 R7 K32
0x78220002, // 002D JMPF R8 #0031
0x50200200, // 002E LDBOOL R8 1 0
0x80041000, // 002F RET 1 R8
0x7002003A, // 0030 JMP #006C
0x1C200F12, // 0031 EQ R8 R7 K18
0x1C200F21, // 0031 EQ R8 R7 K33
0x78220002, // 0032 JMPF R8 #0036
0x50200200, // 0033 LDBOOL R8 1 0
0x80041000, // 0034 RET 1 R8
@ -285,36 +296,36 @@ be_local_closure(class_Matter_Plugin_Light1_invoke_request, /* name */
0x54220003, // 0036 LDINT R8 4
0x1C200E08, // 0037 EQ R8 R7 R8
0x78220021, // 0038 JMPF R8 #005B
0x8C200507, // 0039 GETMET R8 R2 K7
0x58280006, // 003A LDCONST R10 K6
0x8C200519, // 0039 GETMET R8 R2 K25
0x58280000, // 003A LDCONST R10 K0
0x7C200400, // 003B CALL R8 2
0x24241106, // 003C GT R9 R8 K6
0x8C280108, // 003D GETMET R10 R0 K8
0x24241100, // 003C GT R9 R8 K0
0x8C28011A, // 003D GETMET R10 R0 K26
0x5C301000, // 003E MOVE R12 R8
0x5C341200, // 003F MOVE R13 R9
0x7C280600, // 0040 CALL R10 3
0x60280008, // 0041 GETGBL R10 G8
0x5C2C1000, // 0042 MOVE R11 R8
0x7C280200, // 0043 CALL R10 1
0x002A140A, // 0044 ADD R10 K10 R10
0x900E120A, // 0045 SETMBR R3 K9 R10
0x8C28010B, // 0046 GETMET R10 R0 K11
0x5830000C, // 0047 LDCONST R12 K12
0x002A380A, // 0044 ADD R10 K28 R10
0x900E360A, // 0045 SETMBR R3 K27 R10
0x8C28011D, // 0046 GETMET R10 R0 K29
0x5830001E, // 0047 LDCONST R12 K30
0x5C341000, // 0048 MOVE R13 R8
0x5838000D, // 0049 LDCONST R14 K13
0xB83E1C00, // 004A GETNGBL R15 K14
0x8C3C1F0F, // 004B GETMET R15 R15 K15
0x58380005, // 0049 LDCONST R14 K5
0xB83E0400, // 004A GETNGBL R15 K2
0x8C3C1F03, // 004B GETMET R15 R15 K3
0x5C441000, // 004C MOVE R17 R8
0x58480006, // 004D LDCONST R18 K6
0x58480000, // 004D LDCONST R18 K0
0x544E00FD, // 004E LDINT R19 254
0x58500006, // 004F LDCONST R20 K6
0x58500000, // 004F LDCONST R20 K0
0x54560063, // 0050 LDINT R21 100
0x7C3C0C00, // 0051 CALL R15 6
0x58400013, // 0052 LDCONST R16 K19
0x58400022, // 0052 LDCONST R16 K34
0x78260001, // 0053 JMPF R9 #0056
0x58440010, // 0054 LDCONST R17 K16
0x5844001F, // 0054 LDCONST R17 K31
0x70020000, // 0055 JMP #0057
0x58440006, // 0056 LDCONST R17 K6
0x58440000, // 0056 LDCONST R17 K0
0x7C280E00, // 0057 CALL R10 7
0x50280200, // 0058 LDBOOL R10 1 0
0x80041400, // 0059 RET 1 R10
@ -340,7 +351,7 @@ be_local_closure(class_Matter_Plugin_Light1_invoke_request, /* name */
0x60200003, // 006D GETGBL R8 G3
0x5C240000, // 006E MOVE R9 R0
0x7C200200, // 006F CALL R8 1
0x8C201114, // 0070 GETMET R8 R8 K20
0x8C201123, // 0070 GETMET R8 R8 K35
0x5C280200, // 0071 MOVE R10 R1
0x5C2C0400, // 0072 MOVE R11 R2
0x5C300600, // 0073 MOVE R12 R3
@ -360,58 +371,45 @@ be_local_closure(class_Matter_Plugin_Light1_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(set),
/* K7 */ be_nested_str_weak(U1),
/* K8 */ be_nested_str_weak(shadow_bri),
/* K9 */ be_const_int(2),
/* K10 */ be_const_int(3),
/* K11 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Light1, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[59]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8122800, // 0000 GETNGBL R4 K20
0x88100915, // 0001 GETMBR R4 R4 K21
0x88140516, // 0002 GETMBR R5 R2 K22
0x88180524, // 0003 GETMBR R6 R2 K36
0x541E0007, // 0004 LDINT R7 8
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E002A, // 0006 JMPF R7 #0032
0x8C1C0104, // 0007 GETMET R7 R0 K4
0x8C1C0118, // 0007 GETMET R7 R0 K24
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D05, // 0009 EQ R7 R6 K5
0x1C1C0D00, // 0009 EQ R7 R6 K0
0x781E0005, // 000A JMPF R7 #0011
0x8C1C0706, // 000B GETMET R7 R3 K6
0x88240907, // 000C GETMBR R9 R4 K7
0x88280108, // 000D GETMBR R10 R0 K8
0x8C1C070C, // 000B GETMET R7 R3 K12
0x88240925, // 000C GETMBR R9 R4 K37
0x8828010A, // 000D GETMBR R10 R0 K10
0x7C1C0600, // 000E CALL R7 3
0x80040E00, // 000F RET 1 R7
0x70020020, // 0010 JMP #0032
0x1C1C0D09, // 0011 EQ R7 R6 K9
0x1C1C0D20, // 0011 EQ R7 R6 K32
0x781E0005, // 0012 JMPF R7 #0019
0x8C1C0706, // 0013 GETMET R7 R3 K6
0x88240907, // 0014 GETMBR R9 R4 K7
0x58280005, // 0015 LDCONST R10 K5
0x8C1C070C, // 0013 GETMET R7 R3 K12
0x88240925, // 0014 GETMBR R9 R4 K37
0x58280000, // 0015 LDCONST R10 K0
0x7C1C0600, // 0016 CALL R7 3
0x80040E00, // 0017 RET 1 R7
0x70020018, // 0018 JMP #0032
0x1C1C0D0A, // 0019 EQ R7 R6 K10
0x1C1C0D21, // 0019 EQ R7 R6 K33
0x781E0005, // 001A JMPF R7 #0021
0x8C1C0706, // 001B GETMET R7 R3 K6
0x88240907, // 001C GETMBR R9 R4 K7
0x8C1C070C, // 001B GETMET R7 R3 K12
0x88240925, // 001C GETMBR R9 R4 K37
0x542A00FD, // 001D LDINT R10 254
0x7C1C0600, // 001E CALL R7 3
0x80040E00, // 001F RET 1 R7
@ -419,24 +417,24 @@ be_local_closure(class_Matter_Plugin_Light1_read_attribute, /* name */
0x541E000E, // 0021 LDINT R7 15
0x1C1C0C07, // 0022 EQ R7 R6 R7
0x781E0005, // 0023 JMPF R7 #002A
0x8C1C0706, // 0024 GETMET R7 R3 K6
0x88240907, // 0025 GETMBR R9 R4 K7
0x58280005, // 0026 LDCONST R10 K5
0x8C1C070C, // 0024 GETMET R7 R3 K12
0x88240925, // 0025 GETMBR R9 R4 K37
0x58280000, // 0026 LDCONST R10 K0
0x7C1C0600, // 0027 CALL R7 3
0x80040E00, // 0028 RET 1 R7
0x70020007, // 0029 JMP #0032
0x541E0010, // 002A LDINT R7 17
0x1C1C0C07, // 002B EQ R7 R6 R7
0x781E0004, // 002C JMPF R7 #0032
0x8C1C0706, // 002D GETMET R7 R3 K6
0x88240907, // 002E GETMBR R9 R4 K7
0x88280108, // 002F GETMBR R10 R0 K8
0x8C1C070C, // 002D GETMET R7 R3 K12
0x88240925, // 002E GETMBR R9 R4 K37
0x8828010A, // 002F GETMBR R10 R0 K10
0x7C1C0600, // 0030 CALL R7 3
0x80040E00, // 0031 RET 1 R7
0x601C0003, // 0032 GETGBL R7 G3
0x5C200000, // 0033 MOVE R8 R0
0x7C1C0200, // 0034 CALL R7 1
0x8C1C0F0B, // 0035 GETMET R7 R7 K11
0x8C1C0F26, // 0035 GETMET R7 R7 K38
0x5C240200, // 0036 MOVE R9 R1
0x5C280400, // 0037 MOVE R10 R2
0x5C2C0600, // 0038 MOVE R11 R3
@ -455,81 +453,67 @@ be_local_closure(class_Matter_Plugin_Light1_parse_configuration, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(BRIDGE),
/* K1 */ be_nested_str_weak(tasmota_relay_index),
/* K2 */ be_nested_str_weak(find),
/* K3 */ be_nested_str_weak(ARG),
/* K4 */ be_const_int(0),
/* K5 */ be_const_int(1),
/* K6 */ be_nested_str_weak(TYPE),
/* K7 */ be_nested_str_weak(light1),
/* K8 */ be_nested_str_weak(tasmota),
/* K9 */ be_nested_str_weak(get_option),
/* K10 */ be_nested_str_weak(light),
/* K11 */ be_nested_str_weak(get),
/* K12 */ be_nested_str_weak(light_index),
}),
&be_ktab_class_Matter_Plugin_Light1, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[52]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x88080101, // 0000 GETMBR R2 R0 K1
0x780A000F, // 0001 JMPF R2 #0012
0x60080009, // 0002 GETGBL R2 G9
0x8C0C0302, // 0003 GETMET R3 R1 K2
0x88140103, // 0004 GETMBR R5 R0 K3
0x8C0C0328, // 0003 GETMET R3 R1 K40
0x88140129, // 0004 GETMBR R5 R0 K41
0x4C180000, // 0005 LDNIL R6
0x7C0C0600, // 0006 CALL R3 3
0x7C080200, // 0007 CALL R2 1
0x90020202, // 0008 SETMBR R0 K1 R2
0x88080101, // 0009 GETMBR R2 R0 K1
0x90024E02, // 0008 SETMBR R0 K39 R2
0x88080127, // 0009 GETMBR R2 R0 K39
0x4C0C0000, // 000A LDNIL R3
0x20080403, // 000B NE R2 R2 R3
0x780A0003, // 000C JMPF R2 #0011
0x88080101, // 000D GETMBR R2 R0 K1
0x18080504, // 000E LE R2 R2 K4
0x88080127, // 000D GETMBR R2 R0 K39
0x1808052A, // 000E LE R2 R2 K42
0x780A0000, // 000F JMPF R2 #0011
0x90020305, // 0010 SETMBR R0 K1 K5
0x90024F1F, // 0010 SETMBR R0 K39 K31
0x70020020, // 0011 JMP #0033
0x88080101, // 0012 GETMBR R2 R0 K1
0x88080127, // 0012 GETMBR R2 R0 K39
0x4C0C0000, // 0013 LDNIL R3
0x1C080403, // 0014 EQ R2 R2 R3
0x780A001C, // 0015 JMPF R2 #0033
0x88080106, // 0016 GETMBR R2 R0 K6
0x1C080507, // 0017 EQ R2 R2 K7
0x8808012B, // 0016 GETMBR R2 R0 K43
0x1C08052C, // 0017 EQ R2 R2 K44
0x780A0019, // 0018 JMPF R2 #0033
0x8C080302, // 0019 GETMET R2 R1 K2
0x88100103, // 001A GETMBR R4 R0 K3
0x8C080328, // 0019 GETMET R2 R1 K40
0x88100129, // 001A GETMBR R4 R0 K41
0x7C080400, // 001B CALL R2 2
0x4C0C0000, // 001C LDNIL R3
0x1C0C0403, // 001D EQ R3 R2 R3
0x780E000E, // 001E JMPF R3 #002E
0xB80E1000, // 001F GETNGBL R3 K8
0x8C0C0709, // 0020 GETMET R3 R3 K9
0xB80E0400, // 001F GETNGBL R3 K2
0x8C0C072D, // 0020 GETMET R3 R3 K45
0x54160043, // 0021 LDINT R5 68
0x7C0C0400, // 0022 CALL R3 2
0x1C0C0704, // 0023 EQ R3 R3 K4
0x1C0C072A, // 0023 EQ R3 R3 K42
0x780E0007, // 0024 JMPF R3 #002D
0xA40E1400, // 0025 IMPORT R3 K10
0x8C10070B, // 0026 GETMET R4 R3 K11
0x58180005, // 0027 LDCONST R6 K5
0xA40E1600, // 0025 IMPORT R3 K11
0x8C10072E, // 0026 GETMET R4 R3 K46
0x5818001F, // 0027 LDCONST R6 K31
0x7C100400, // 0028 CALL R4 2
0x4C140000, // 0029 LDNIL R5
0x20100805, // 002A NE R4 R4 R5
0x78120000, // 002B JMPF R4 #002D
0x90021905, // 002C SETMBR R0 K12 K5
0x90021D1F, // 002C SETMBR R0 K14 K31
0x70020004, // 002D JMP #0033
0x600C0009, // 002E GETGBL R3 G9
0x5C100400, // 002F MOVE R4 R2
0x7C0C0200, // 0030 CALL R3 1
0x040C0705, // 0031 SUB R3 R3 K5
0x90021803, // 0032 SETMBR R0 K12 R3
0x040C071F, // 0031 SUB R3 R3 K31
0x90021C03, // 0032 SETMBR R0 K14 R3
0x80000000, // 0033 RET 0
})
)
@ -544,32 +528,26 @@ be_local_closure(class_Matter_Plugin_Light1_update_virtual, /* name */
be_nested_proto(
8, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(find),
/* K1 */ be_nested_str_weak(Power),
/* K2 */ be_nested_str_weak(Bri),
/* K3 */ be_nested_str_weak(set_bri),
/* K4 */ be_nested_str_weak(update_virtual),
}),
&be_ktab_class_Matter_Plugin_Light1, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x8C080300, // 0000 GETMET R2 R1 K0
0x58100001, // 0001 LDCONST R4 K1
0x8C080328, // 0000 GETMET R2 R1 K40
0x58100022, // 0001 LDCONST R4 K34
0x7C080400, // 0002 CALL R2 2
0x8C0C0300, // 0003 GETMET R3 R1 K0
0x58140002, // 0004 LDCONST R5 K2
0x8C0C0328, // 0003 GETMET R3 R1 K40
0x5814001E, // 0004 LDCONST R5 K30
0x7C0C0400, // 0005 CALL R3 2
0x4C100000, // 0006 LDNIL R4
0x20100604, // 0007 NE R4 R3 R4
0x78120006, // 0008 JMPF R4 #0010
0x8C100103, // 0009 GETMET R4 R0 K3
0x8C10011A, // 0009 GETMET R4 R0 K26
0x60180009, // 000A GETGBL R6 G9
0x5C1C0600, // 000B MOVE R7 R3
0x7C180200, // 000C CALL R6 1
@ -579,7 +557,7 @@ be_local_closure(class_Matter_Plugin_Light1_update_virtual, /* name */
0x60100003, // 0010 GETGBL R4 G3
0x5C140000, // 0011 MOVE R5 R0
0x7C100200, // 0012 CALL R4 1
0x8C100904, // 0013 GETMET R4 R4 K4
0x8C10092F, // 0013 GETMET R4 R4 K47
0x5C180200, // 0014 MOVE R6 R1
0x7C100400, // 0015 CALL R4 2
0x80000000, // 0016 RET 0
@ -596,25 +574,21 @@ be_local_closure(class_Matter_Plugin_Light1_init, /* name */
be_nested_proto(
9, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(shadow_bri),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(init),
}),
&be_ktab_class_Matter_Plugin_Light1, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x90020101, // 0000 SETMBR R0 K0 K1
0x90021500, // 0000 SETMBR R0 K10 K0
0x60100003, // 0001 GETGBL R4 G3
0x5C140000, // 0002 MOVE R5 R0
0x7C100200, // 0003 CALL R4 1
0x8C100902, // 0004 GETMET R4 R4 K2
0x8C100930, // 0004 GETMET R4 R4 K48
0x5C180200, // 0005 MOVE R6 R1
0x5C1C0400, // 0006 MOVE R7 R2
0x5C200600, // 0007 MOVE R8 R3
@ -633,34 +607,26 @@ be_local_closure(class_Matter_Plugin_Light1_web_values, /* name */
be_nested_proto(
9, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X25s_X20_X25s),
/* K4 */ be_nested_str_weak(web_value_onoff),
/* K5 */ be_nested_str_weak(shadow_onoff),
/* K6 */ be_nested_str_weak(web_value_dimmer),
}),
&be_ktab_class_Matter_Plugin_Light1, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4066200, // 0000 IMPORT R1 K49
0x8C080132, // 0001 GETMET R2 R0 K50
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C080333, // 0003 GETMET R2 R1 K51
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x8C180104, // 0006 GETMET R6 R0 K4
0x88200105, // 0007 GETMBR R8 R0 K5
0x58140034, // 0005 LDCONST R5 K52
0x8C180135, // 0006 GETMET R6 R0 K53
0x88200108, // 0007 GETMBR R8 R0 K8
0x7C180400, // 0008 CALL R6 2
0x8C1C0106, // 0009 GETMET R7 R0 K6
0x8C1C0136, // 0009 GETMET R7 R0 K54
0x7C1C0200, // 000A CALL R7 1
0x7C100600, // 000B CALL R4 3
0x7C080400, // 000C CALL R2 2
@ -678,29 +644,20 @@ be_local_closure(class_Matter_Plugin_Light1_parse_status, /* name */
be_nested_proto(
11, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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_weak(parse_status),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(Dimmer),
/* K3 */ be_nested_str_weak(tasmota),
/* K4 */ be_nested_str_weak(scale_uint),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_bri),
/* K7 */ be_nested_str_weak(attribute_updated),
}),
&be_ktab_class_Matter_Plugin_Light1, /* shared constants */
be_str_weak(parse_status),
&be_const_str_solidified,
( &(const binstruction[35]) { /* code */
0x600C0003, // 0000 GETGBL R3 G3
0x5C100000, // 0001 MOVE R4 R0
0x7C0C0200, // 0002 CALL R3 1
0x8C0C0700, // 0003 GETMET R3 R3 K0
0x8C0C0706, // 0003 GETMET R3 R3 K6
0x5C140200, // 0004 MOVE R5 R1
0x5C180400, // 0005 MOVE R6 R2
0x7C0C0600, // 0006 CALL R3 3
@ -708,29 +665,29 @@ be_local_closure(class_Matter_Plugin_Light1_parse_status, /* name */
0x1C0C0403, // 0008 EQ R3 R2 R3
0x780E0017, // 0009 JMPF R3 #0022
0x600C0009, // 000A GETGBL R3 G9
0x8C100301, // 000B GETMET R4 R1 K1
0x58180002, // 000C LDCONST R6 K2
0x8C100328, // 000B GETMET R4 R1 K40
0x58180005, // 000C LDCONST R6 K5
0x7C100400, // 000D CALL R4 2
0x7C0C0200, // 000E CALL R3 1
0x4C100000, // 000F LDNIL R4
0x20100604, // 0010 NE R4 R3 R4
0x7812000F, // 0011 JMPF R4 #0022
0xB8120600, // 0012 GETNGBL R4 K3
0x8C100904, // 0013 GETMET R4 R4 K4
0xB8120400, // 0012 GETNGBL R4 K2
0x8C100903, // 0013 GETMET R4 R4 K3
0x5C180600, // 0014 MOVE R6 R3
0x581C0005, // 0015 LDCONST R7 K5
0x581C002A, // 0015 LDCONST R7 K42
0x54220063, // 0016 LDINT R8 100
0x58240005, // 0017 LDCONST R9 K5
0x5824002A, // 0017 LDCONST R9 K42
0x542A00FD, // 0018 LDINT R10 254
0x7C100C00, // 0019 CALL R4 6
0x88140106, // 001A GETMBR R5 R0 K6
0x8814010A, // 001A GETMBR R5 R0 K10
0x20140805, // 001B NE R5 R4 R5
0x78160004, // 001C JMPF R5 #0022
0x8C140107, // 001D GETMET R5 R0 K7
0x8C140109, // 001D GETMET R5 R0 K9
0x541E0007, // 001E LDINT R7 8
0x58200005, // 001F LDCONST R8 K5
0x5820002A, // 001F LDCONST R8 K42
0x7C140600, // 0020 CALL R5 3
0x90020C04, // 0021 SETMBR R0 K6 R4
0x90021404, // 0021 SETMBR R0 K10 R4
0x80000000, // 0022 RET 0
})
)
@ -745,83 +702,67 @@ be_local_closure(class_Matter_Plugin_Light1_update_shadow, /* name */
be_nested_proto(
12, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(VIRTUAL),
/* K1 */ be_nested_str_weak(BRIDGE),
/* K2 */ be_nested_str_weak(light),
/* K3 */ be_nested_str_weak(get),
/* K4 */ be_nested_str_weak(light_index),
/* K5 */ be_nested_str_weak(find),
/* K6 */ be_nested_str_weak(power),
/* K7 */ be_nested_str_weak(shadow_onoff),
/* K8 */ be_nested_str_weak(attribute_updated),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str_weak(bri),
/* K11 */ be_nested_str_weak(tasmota),
/* K12 */ be_nested_str_weak(scale_uint),
/* K13 */ be_nested_str_weak(shadow_bri),
/* K14 */ be_nested_str_weak(update_shadow),
}),
&be_ktab_class_Matter_Plugin_Light1, /* shared constants */
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040107, // 0000 GETMBR R1 R0 K7
0x7406002C, // 0001 JMPT R1 #002F
0x88040101, // 0002 GETMBR R1 R0 K1
0x7406002A, // 0003 JMPT R1 #002F
0xA4060400, // 0004 IMPORT R1 K2
0x8C080303, // 0005 GETMET R2 R1 K3
0x88100104, // 0006 GETMBR R4 R0 K4
0xA4061600, // 0004 IMPORT R1 K11
0x8C08032E, // 0005 GETMET R2 R1 K46
0x8810010E, // 0006 GETMBR R4 R0 K14
0x7C080400, // 0007 CALL R2 2
0x4C0C0000, // 0008 LDNIL R3
0x200C0403, // 0009 NE R3 R2 R3
0x780E0023, // 000A JMPF R3 #002F
0x8C0C0505, // 000B GETMET R3 R2 K5
0x58140006, // 000C LDCONST R5 K6
0x8C0C0528, // 000B GETMET R3 R2 K40
0x5814000F, // 000C LDCONST R5 K15
0x4C180000, // 000D LDNIL R6
0x7C0C0600, // 000E CALL R3 3
0x88100107, // 000F GETMBR R4 R0 K7
0x88100108, // 000F GETMBR R4 R0 K8
0x20100604, // 0010 NE R4 R3 R4
0x78120004, // 0011 JMPF R4 #0017
0x8C100108, // 0012 GETMET R4 R0 K8
0x8C100109, // 0012 GETMET R4 R0 K9
0x541A0005, // 0013 LDINT R6 6
0x581C0009, // 0014 LDCONST R7 K9
0x581C0000, // 0014 LDCONST R7 K0
0x7C100600, // 0015 CALL R4 3
0x90020E03, // 0016 SETMBR R0 K7 R3
0x8C100505, // 0017 GETMET R4 R2 K5
0x5818000A, // 0018 LDCONST R6 K10
0x90021003, // 0016 SETMBR R0 K8 R3
0x8C100528, // 0017 GETMET R4 R2 K40
0x5818000D, // 0018 LDCONST R6 K13
0x4C1C0000, // 0019 LDNIL R7
0x7C100600, // 001A CALL R4 3
0x4C140000, // 001B LDNIL R5
0x20140805, // 001C NE R5 R4 R5
0x78160010, // 001D JMPF R5 #002F
0xB8161600, // 001E GETNGBL R5 K11
0x8C140B0C, // 001F GETMET R5 R5 K12
0xB8160400, // 001E GETNGBL R5 K2
0x8C140B03, // 001F GETMET R5 R5 K3
0x5C1C0800, // 0020 MOVE R7 R4
0x58200009, // 0021 LDCONST R8 K9
0x58200000, // 0021 LDCONST R8 K0
0x542600FE, // 0022 LDINT R9 255
0x58280009, // 0023 LDCONST R10 K9
0x58280000, // 0023 LDCONST R10 K0
0x542E00FD, // 0024 LDINT R11 254
0x7C140C00, // 0025 CALL R5 6
0x5C100A00, // 0026 MOVE R4 R5
0x8814010D, // 0027 GETMBR R5 R0 K13
0x8814010A, // 0027 GETMBR R5 R0 K10
0x20140805, // 0028 NE R5 R4 R5
0x78160004, // 0029 JMPF R5 #002F
0x8C140108, // 002A GETMET R5 R0 K8
0x8C140109, // 002A GETMET R5 R0 K9
0x541E0007, // 002B LDINT R7 8
0x58200009, // 002C LDCONST R8 K9
0x58200000, // 002C LDCONST R8 K0
0x7C140600, // 002D CALL R5 3
0x90021A04, // 002E SETMBR R0 K13 R4
0x90021404, // 002E SETMBR R0 K10 R4
0x60040003, // 002F GETGBL R1 G3
0x5C080000, // 0030 MOVE R2 R0
0x7C040200, // 0031 CALL R1 1
0x8C04030E, // 0032 GETMET R1 R1 K14
0x8C040310, // 0032 GETMET R1 R1 K16
0x7C040200, // 0033 CALL R1 1
0x80000000, // 0034 RET 0
})

View File

@ -3,6 +3,34 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Contact' ktab size: 24, total: 31 (saved 56 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Contact[24] = {
/* K0 */ be_nested_str_weak(shadow_bool_value),
/* K1 */ be_nested_str_weak(_parse_update_virtual),
/* K2 */ be_nested_str_weak(Contact),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(update_virtual),
/* K5 */ be_nested_str_weak(matter),
/* K6 */ be_nested_str_weak(TLV),
/* K7 */ be_nested_str_weak(cluster),
/* K8 */ be_nested_str_weak(attribute),
/* K9 */ be_nested_str_weak(set_or_nil),
/* K10 */ be_nested_str_weak(BOOL),
/* K11 */ be_nested_str_weak(read_attribute),
/* K12 */ be_nested_str_weak(webserver),
/* K13 */ be_nested_str_weak(web_values_prefix),
/* K14 */ be_nested_str_weak(content_send),
/* K15 */ be_nested_str_weak(Contact_X25i_X20_X25s),
/* K16 */ be_nested_str_weak(tasmota_switch_index),
/* K17 */ be_nested_str_weak(web_value_onoff),
/* K18 */ be_nested_str_weak(get_name),
/* K19 */ be_nested_str_weak(Switch),
/* K20 */ be_nested_str_weak(PREFIX),
/* K21 */ be_nested_str_weak(html_escape),
/* K22 */ be_nested_str_weak(),
/* K23 */ be_nested_str_weak(attribute_updated),
};
extern const bclass be_class_Matter_Plugin_Sensor_Contact;
@ -13,19 +41,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Contact_update_virtual, /* name */
be_nested_proto(
10, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(shadow_bool_value),
/* K1 */ be_nested_str_weak(_parse_update_virtual),
/* K2 */ be_nested_str_weak(Contact),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(update_virtual),
}),
&be_ktab_class_Matter_Plugin_Sensor_Contact, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
@ -58,44 +80,34 @@ be_local_closure(class_Matter_Plugin_Sensor_Contact_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(set_or_nil),
/* K6 */ be_nested_str_weak(BOOL),
/* K7 */ be_nested_str_weak(shadow_bool_value),
/* K8 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Sensor_Contact, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8120A00, // 0000 GETNGBL R4 K5
0x88100906, // 0001 GETMBR R4 R4 K6
0x88140507, // 0002 GETMBR R5 R2 K7
0x88180508, // 0003 GETMBR R6 R2 K8
0x541E0044, // 0004 LDINT R7 69
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0006, // 0006 JMPF R7 #000E
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x1C1C0D03, // 0007 EQ R7 R6 K3
0x781E0004, // 0008 JMPF R7 #000E
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x88280107, // 000B GETMBR R10 R0 K7
0x8C1C0709, // 0009 GETMET R7 R3 K9
0x8824090A, // 000A GETMBR R9 R4 K10
0x88280100, // 000B GETMBR R10 R0 K0
0x7C1C0600, // 000C CALL R7 3
0x80040E00, // 000D RET 1 R7
0x601C0003, // 000E GETGBL R7 G3
0x5C200000, // 000F MOVE R8 R0
0x7C1C0200, // 0010 CALL R7 1
0x8C1C0F08, // 0011 GETMET R7 R7 K8
0x8C1C0F0B, // 0011 GETMET R7 R7 K11
0x5C240200, // 0012 MOVE R9 R1
0x5C280400, // 0013 MOVE R10 R2
0x5C2C0600, // 0014 MOVE R11 R3
@ -114,33 +126,25 @@ be_local_closure(class_Matter_Plugin_Sensor_Contact_web_values, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(Contact_X25i_X20_X25s),
/* K4 */ be_nested_str_weak(tasmota_switch_index),
/* K5 */ be_nested_str_weak(web_value_onoff),
/* K6 */ be_nested_str_weak(shadow_bool_value),
}),
&be_ktab_class_Matter_Plugin_Sensor_Contact, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4061800, // 0000 IMPORT R1 K12
0x8C08010D, // 0001 GETMET R2 R0 K13
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C08030E, // 0003 GETMET R2 R1 K14
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x88180104, // 0006 GETMBR R6 R0 K4
0x8C1C0105, // 0007 GETMET R7 R0 K5
0x88240106, // 0008 GETMBR R9 R0 K6
0x5814000F, // 0005 LDCONST R5 K15
0x88180110, // 0006 GETMBR R6 R0 K16
0x8C1C0111, // 0007 GETMET R7 R0 K17
0x88240100, // 0008 GETMBR R9 R0 K0
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
@ -158,44 +162,35 @@ be_local_closure(class_Matter_Plugin_Sensor_Contact_web_values_prefix, /* name
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(webserver),
/* K1 */ be_nested_str_weak(get_name),
/* K2 */ be_nested_str_weak(Switch),
/* K3 */ be_nested_str_weak(tasmota_switch_index),
/* K4 */ be_nested_str_weak(content_send),
/* K5 */ be_nested_str_weak(PREFIX),
/* K6 */ be_nested_str_weak(html_escape),
/* K7 */ be_nested_str_weak(),
}),
&be_ktab_class_Matter_Plugin_Sensor_Contact, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4061800, // 0000 IMPORT R1 K12
0x8C080112, // 0001 GETMET R2 R0 K18
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x88100103, // 0006 GETMBR R4 R0 K3
0x88100110, // 0006 GETMBR R4 R0 K16
0x7C0C0200, // 0007 CALL R3 1
0x000E0403, // 0008 ADD R3 K2 R3
0x000E2603, // 0008 ADD R3 K19 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C0304, // 000A GETMET R3 R1 K4
0x8C0C030E, // 000A GETMET R3 R1 K14
0x60140018, // 000B GETGBL R5 G24
0x88180105, // 000C GETMBR R6 R0 K5
0x88180114, // 000C GETMBR R6 R0 K20
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0306, // 000E GETMET R7 R1 K6
0x8C1C0315, // 000E GETMET R7 R1 K21
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0007, // 0012 LDCONST R7 K7
0x581C0016, // 0012 LDCONST R7 K22
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
@ -212,22 +207,19 @@ be_local_closure(class_Matter_Plugin_Sensor_Contact_value_updated, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_Contact, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040117, // 0000 GETMET R1 R0 K23
0x540E0044, // 0001 LDINT R3 69
0x58100001, // 0002 LDCONST R4 K1
0x58100003, // 0002 LDCONST R4 K3
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})

View File

@ -3,6 +3,27 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Flow' ktab size: 17, total: 19 (saved 16 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Flow[17] = {
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(TLV),
/* K4 */ be_nested_str_weak(cluster),
/* K5 */ be_nested_str_weak(attribute),
/* K6 */ be_nested_str_weak(set_or_nil),
/* K7 */ be_nested_str_weak(U2),
/* K8 */ be_nested_str_weak(shadow_value),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(set),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(read_attribute),
/* K13 */ be_nested_str_weak(webserver),
/* K14 */ be_nested_str_weak(web_values_prefix),
/* K15 */ be_nested_str_weak(content_send),
/* K16 */ be_nested_str_weak(_X26_X23x26C5_X3B_X20_X25i_X20m_X26sup3_X3B_X2Fh),
};
extern const bclass be_class_Matter_Plugin_Sensor_Flow;
@ -13,16 +34,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Flow_value_changed, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_Flow, /* shared constants */
be_str_weak(value_changed),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
@ -44,65 +62,52 @@ be_local_closure(class_Matter_Plugin_Sensor_Flow_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(set_or_nil),
/* K6 */ be_nested_str_weak(U2),
/* K7 */ be_nested_str_weak(shadow_value),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(set),
/* K10 */ be_const_int(2),
/* K11 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Sensor_Flow, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8120400, // 0000 GETNGBL R4 K2
0x88100903, // 0001 GETMBR R4 R4 K3
0x88140504, // 0002 GETMBR R5 R2 K4
0x88180505, // 0003 GETMBR R6 R2 K5
0x541E0403, // 0004 LDINT R7 1028
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0018, // 0006 JMPF R7 #0020
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x1C1C0D01, // 0007 EQ R7 R6 K1
0x781E0007, // 0008 JMPF R7 #0011
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x8C1C0706, // 0009 GETMET R7 R3 K6
0x88240907, // 000A GETMBR R9 R4 K7
0x60280009, // 000B GETGBL R10 G9
0x882C0107, // 000C GETMBR R11 R0 K7
0x882C0108, // 000C GETMBR R11 R0 K8
0x7C280200, // 000D CALL R10 1
0x7C1C0600, // 000E CALL R7 3
0x80040E00, // 000F RET 1 R7
0x7002000E, // 0010 JMP #0020
0x1C1C0D08, // 0011 EQ R7 R6 K8
0x1C1C0D09, // 0011 EQ R7 R6 K9
0x781E0005, // 0012 JMPF R7 #0019
0x8C1C0709, // 0013 GETMET R7 R3 K9
0x88240906, // 0014 GETMBR R9 R4 K6
0x58280004, // 0015 LDCONST R10 K4
0x8C1C070A, // 0013 GETMET R7 R3 K10
0x88240907, // 0014 GETMBR R9 R4 K7
0x58280001, // 0015 LDCONST R10 K1
0x7C1C0600, // 0016 CALL R7 3
0x80040E00, // 0017 RET 1 R7
0x70020006, // 0018 JMP #0020
0x1C1C0D0A, // 0019 EQ R7 R6 K10
0x1C1C0D0B, // 0019 EQ R7 R6 K11
0x781E0004, // 001A JMPF R7 #0020
0x8C1C0709, // 001B GETMET R7 R3 K9
0x88240906, // 001C GETMBR R9 R4 K6
0x8C1C070A, // 001B GETMET R7 R3 K10
0x88240907, // 001C GETMBR R9 R4 K7
0x542AFFFD, // 001D LDINT R10 65534
0x7C1C0600, // 001E CALL R7 3
0x80040E00, // 001F RET 1 R7
0x601C0003, // 0020 GETGBL R7 G3
0x5C200000, // 0021 MOVE R8 R0
0x7C1C0200, // 0022 CALL R7 1
0x8C1C0F0B, // 0023 GETMET R7 R7 K11
0x8C1C0F0C, // 0023 GETMET R7 R7 K12
0x5C240200, // 0024 MOVE R9 R1
0x5C280400, // 0025 MOVE R10 R2
0x5C2C0600, // 0026 MOVE R11 R3
@ -121,13 +126,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Flow_pre_value, /* name */
be_nested_proto(
4, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor_Flow, /* shared constants */
be_str_weak(pre_value),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
@ -154,30 +159,24 @@ be_local_closure(class_Matter_Plugin_Sensor_Flow_web_values, /* name */
be_nested_proto(
8, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X26_X23x26C5_X3B_X20_X25i_X20m_X26sup3_X3B_X2Fh),
/* K4 */ be_nested_str_weak(shadow_value),
}),
&be_ktab_class_Matter_Plugin_Sensor_Flow, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4061A00, // 0000 IMPORT R1 K13
0x8C08010E, // 0001 GETMET R2 R0 K14
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C08030F, // 0003 GETMET R2 R1 K15
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x58140010, // 0005 LDCONST R5 K16
0x60180009, // 0006 GETGBL R6 G9
0x881C0104, // 0007 GETMBR R7 R0 K4
0x881C0108, // 0007 GETMBR R7 R0 K8
0x7C180200, // 0008 CALL R6 1
0x7C100400, // 0009 CALL R4 2
0x7C080400, // 000A CALL R2 2

View File

@ -3,6 +3,27 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Humidity' ktab size: 17, total: 19 (saved 16 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Humidity[17] = {
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(TLV),
/* K4 */ be_nested_str_weak(cluster),
/* K5 */ be_nested_str_weak(attribute),
/* K6 */ be_nested_str_weak(set_or_nil),
/* K7 */ be_nested_str_weak(U2),
/* K8 */ be_nested_str_weak(shadow_value),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(set),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(read_attribute),
/* K13 */ be_nested_str_weak(webserver),
/* K14 */ be_nested_str_weak(web_values_prefix),
/* K15 */ be_nested_str_weak(content_send),
/* K16 */ be_nested_str_weak(_X26_X23x1F4A7_X3B_X20_X252_X2E0f_X25_X25),
};
extern const bclass be_class_Matter_Plugin_Sensor_Humidity;
@ -13,16 +34,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Humidity_value_changed, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_Humidity, /* shared constants */
be_str_weak(value_changed),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
@ -44,65 +62,52 @@ be_local_closure(class_Matter_Plugin_Sensor_Humidity_read_attribute, /* name *
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(set_or_nil),
/* K6 */ be_nested_str_weak(U2),
/* K7 */ be_nested_str_weak(shadow_value),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(set),
/* K10 */ be_const_int(2),
/* K11 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Sensor_Humidity, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8120400, // 0000 GETNGBL R4 K2
0x88100903, // 0001 GETMBR R4 R4 K3
0x88140504, // 0002 GETMBR R5 R2 K4
0x88180505, // 0003 GETMBR R6 R2 K5
0x541E0404, // 0004 LDINT R7 1029
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0018, // 0006 JMPF R7 #0020
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x1C1C0D01, // 0007 EQ R7 R6 K1
0x781E0007, // 0008 JMPF R7 #0011
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x8C1C0706, // 0009 GETMET R7 R3 K6
0x88240907, // 000A GETMBR R9 R4 K7
0x60280009, // 000B GETGBL R10 G9
0x882C0107, // 000C GETMBR R11 R0 K7
0x882C0108, // 000C GETMBR R11 R0 K8
0x7C280200, // 000D CALL R10 1
0x7C1C0600, // 000E CALL R7 3
0x80040E00, // 000F RET 1 R7
0x7002000E, // 0010 JMP #0020
0x1C1C0D08, // 0011 EQ R7 R6 K8
0x1C1C0D09, // 0011 EQ R7 R6 K9
0x781E0005, // 0012 JMPF R7 #0019
0x8C1C0709, // 0013 GETMET R7 R3 K9
0x88240906, // 0014 GETMBR R9 R4 K6
0x8C1C070A, // 0013 GETMET R7 R3 K10
0x88240907, // 0014 GETMBR R9 R4 K7
0x542A01F3, // 0015 LDINT R10 500
0x7C1C0600, // 0016 CALL R7 3
0x80040E00, // 0017 RET 1 R7
0x70020006, // 0018 JMP #0020
0x1C1C0D0A, // 0019 EQ R7 R6 K10
0x1C1C0D0B, // 0019 EQ R7 R6 K11
0x781E0004, // 001A JMPF R7 #0020
0x8C1C0709, // 001B GETMET R7 R3 K9
0x88240906, // 001C GETMBR R9 R4 K6
0x8C1C070A, // 001B GETMET R7 R3 K10
0x88240907, // 001C GETMBR R9 R4 K7
0x542A270F, // 001D LDINT R10 10000
0x7C1C0600, // 001E CALL R7 3
0x80040E00, // 001F RET 1 R7
0x601C0003, // 0020 GETGBL R7 G3
0x5C200000, // 0021 MOVE R8 R0
0x7C1C0200, // 0022 CALL R7 1
0x8C1C0F0B, // 0023 GETMET R7 R7 K11
0x8C1C0F0C, // 0023 GETMET R7 R7 K12
0x5C240200, // 0024 MOVE R9 R1
0x5C280400, // 0025 MOVE R10 R2
0x5C2C0600, // 0026 MOVE R11 R3
@ -121,13 +126,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Humidity_pre_value, /* name */
be_nested_proto(
4, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor_Humidity, /* shared constants */
be_str_weak(pre_value),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
@ -154,34 +159,28 @@ be_local_closure(class_Matter_Plugin_Sensor_Humidity_web_values, /* name */
be_nested_proto(
8, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X26_X23x1F4A7_X3B_X20_X252_X2E0f_X25_X25),
/* K4 */ be_nested_str_weak(shadow_value),
}),
&be_ktab_class_Matter_Plugin_Sensor_Humidity, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4061A00, // 0000 IMPORT R1 K13
0x8C08010E, // 0001 GETMET R2 R0 K14
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C08030F, // 0003 GETMET R2 R1 K15
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x88180104, // 0006 GETMBR R6 R0 K4
0x58140010, // 0005 LDCONST R5 K16
0x88180108, // 0006 GETMBR R6 R0 K8
0x4C1C0000, // 0007 LDNIL R7
0x20180C07, // 0008 NE R6 R6 R7
0x781A0005, // 0009 JMPF R6 #0010
0x6018000A, // 000A GETGBL R6 G10
0x881C0104, // 000B GETMBR R7 R0 K4
0x881C0108, // 000B GETMBR R7 R0 K8
0x7C180200, // 000C CALL R6 1
0x541E0063, // 000D LDINT R7 100
0x0C180C07, // 000E DIV R6 R6 R7

View File

@ -3,6 +3,30 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Illuminance' ktab size: 20, total: 23 (saved 24 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Illuminance[20] = {
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(TLV),
/* K4 */ be_nested_str_weak(cluster),
/* K5 */ be_nested_str_weak(attribute),
/* K6 */ be_nested_str_weak(set_or_nil),
/* K7 */ be_nested_str_weak(U2),
/* K8 */ be_nested_str_weak(shadow_value),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(set),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(read_attribute),
/* K13 */ be_nested_str_weak(math),
/* K14 */ be_const_int(0),
/* K15 */ be_nested_str_weak(log10),
/* K16 */ be_nested_str_weak(webserver),
/* K17 */ be_nested_str_weak(web_values_prefix),
/* K18 */ be_nested_str_weak(content_send),
/* K19 */ be_nested_str_weak(_X26_X23128261_X3B_X20_X25i_X20lux),
};
extern const bclass be_class_Matter_Plugin_Sensor_Illuminance;
@ -13,16 +37,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Illuminance_value_changed, /* name
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_Illuminance, /* shared constants */
be_str_weak(value_changed),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
@ -44,65 +65,52 @@ be_local_closure(class_Matter_Plugin_Sensor_Illuminance_read_attribute, /* nam
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(set_or_nil),
/* K6 */ be_nested_str_weak(U2),
/* K7 */ be_nested_str_weak(shadow_value),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(set),
/* K10 */ be_const_int(2),
/* K11 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Sensor_Illuminance, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8120400, // 0000 GETNGBL R4 K2
0x88100903, // 0001 GETMBR R4 R4 K3
0x88140504, // 0002 GETMBR R5 R2 K4
0x88180505, // 0003 GETMBR R6 R2 K5
0x541E03FF, // 0004 LDINT R7 1024
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0018, // 0006 JMPF R7 #0020
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x1C1C0D01, // 0007 EQ R7 R6 K1
0x781E0007, // 0008 JMPF R7 #0011
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x8C1C0706, // 0009 GETMET R7 R3 K6
0x88240907, // 000A GETMBR R9 R4 K7
0x60280009, // 000B GETGBL R10 G9
0x882C0107, // 000C GETMBR R11 R0 K7
0x882C0108, // 000C GETMBR R11 R0 K8
0x7C280200, // 000D CALL R10 1
0x7C1C0600, // 000E CALL R7 3
0x80040E00, // 000F RET 1 R7
0x7002000E, // 0010 JMP #0020
0x1C1C0D08, // 0011 EQ R7 R6 K8
0x1C1C0D09, // 0011 EQ R7 R6 K9
0x781E0005, // 0012 JMPF R7 #0019
0x8C1C0709, // 0013 GETMET R7 R3 K9
0x88240906, // 0014 GETMBR R9 R4 K6
0x58280008, // 0015 LDCONST R10 K8
0x8C1C070A, // 0013 GETMET R7 R3 K10
0x88240907, // 0014 GETMBR R9 R4 K7
0x58280009, // 0015 LDCONST R10 K9
0x7C1C0600, // 0016 CALL R7 3
0x80040E00, // 0017 RET 1 R7
0x70020006, // 0018 JMP #0020
0x1C1C0D0A, // 0019 EQ R7 R6 K10
0x1C1C0D0B, // 0019 EQ R7 R6 K11
0x781E0004, // 001A JMPF R7 #0020
0x8C1C0709, // 001B GETMET R7 R3 K9
0x88240906, // 001C GETMBR R9 R4 K6
0x8C1C070A, // 001B GETMET R7 R3 K10
0x88240907, // 001C GETMBR R9 R4 K7
0x542AFFFD, // 001D LDINT R10 65534
0x7C1C0600, // 001E CALL R7 3
0x80040E00, // 001F RET 1 R7
0x601C0003, // 0020 GETGBL R7 G3
0x5C200000, // 0021 MOVE R8 R0
0x7C1C0200, // 0022 CALL R7 1
0x8C1C0F0B, // 0023 GETMET R7 R7 K11
0x8C1C0F0C, // 0023 GETMET R7 R7 K12
0x5C240200, // 0024 MOVE R9 R1
0x5C280400, // 0025 MOVE R10 R2
0x5C2C0600, // 0026 MOVE R11 R3
@ -121,18 +129,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Illuminance_pre_value, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(math),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(log10),
/* K3 */ be_const_int(1),
}),
&be_ktab_class_Matter_Plugin_Sensor_Illuminance, /* shared constants */
be_str_weak(pre_value),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
@ -141,13 +144,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Illuminance_pre_value, /* name */
0x780A0001, // 0002 JMPF R2 #0005
0x4C080000, // 0003 LDNIL R2
0x80040400, // 0004 RET 1 R2
0xA40A0000, // 0005 IMPORT R2 K0
0x140C0301, // 0006 LT R3 R1 K1
0xA40A1A00, // 0005 IMPORT R2 K13
0x140C030E, // 0006 LT R3 R1 K14
0x780E0001, // 0007 JMPF R3 #000A
0x80060200, // 0008 RET 1 K1
0x80061C00, // 0008 RET 1 K14
0x70020005, // 0009 JMP #0010
0x8C0C0502, // 000A GETMET R3 R2 K2
0x00140303, // 000B ADD R5 R1 K3
0x8C0C050F, // 000A GETMET R3 R2 K15
0x00140309, // 000B ADD R5 R1 K9
0x7C0C0400, // 000C CALL R3 2
0x5412270F, // 000D LDINT R4 10000
0x080C0604, // 000E MUL R3 R3 R4
@ -166,30 +169,24 @@ be_local_closure(class_Matter_Plugin_Sensor_Illuminance_web_values, /* name */
be_nested_proto(
8, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X26_X23128261_X3B_X20_X25i_X20lux),
/* K4 */ be_nested_str_weak(shadow_value),
}),
&be_ktab_class_Matter_Plugin_Sensor_Illuminance, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4062000, // 0000 IMPORT R1 K16
0x8C080111, // 0001 GETMET R2 R0 K17
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C080312, // 0003 GETMET R2 R1 K18
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x58140013, // 0005 LDCONST R5 K19
0x60180009, // 0006 GETGBL R6 G9
0x881C0104, // 0007 GETMBR R7 R0 K4
0x881C0108, // 0007 GETMBR R7 R0 K8
0x7C180200, // 0008 CALL R6 1
0x7C100400, // 0009 CALL R4 2
0x7C080400, // 000A CALL R2 2

View File

@ -3,6 +3,38 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Occupancy' ktab size: 28, total: 35 (saved 56 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Occupancy[28] = {
/* K0 */ be_nested_str_weak(shadow_bool_value),
/* K1 */ be_nested_str_weak(_parse_update_virtual),
/* K2 */ be_nested_str_weak(Occupancy),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(update_virtual),
/* K5 */ be_nested_str_weak(matter),
/* K6 */ be_nested_str_weak(TLV),
/* K7 */ be_nested_str_weak(cluster),
/* K8 */ be_nested_str_weak(attribute),
/* K9 */ be_nested_str_weak(set_or_nil),
/* K10 */ be_nested_str_weak(U1),
/* K11 */ be_const_int(1),
/* K12 */ be_nested_str_weak(set),
/* K13 */ be_const_int(3),
/* K14 */ be_const_int(2),
/* K15 */ be_nested_str_weak(read_attribute),
/* K16 */ be_nested_str_weak(webserver),
/* K17 */ be_nested_str_weak(web_values_prefix),
/* K18 */ be_nested_str_weak(content_send),
/* K19 */ be_nested_str_weak(Occupancy_X25i_X20_X25s),
/* K20 */ be_nested_str_weak(web_value_onoff),
/* K21 */ be_nested_str_weak(shadow_occupancy),
/* K22 */ be_nested_str_weak(get_name),
/* K23 */ be_nested_str_weak(Switch),
/* K24 */ be_nested_str_weak(PREFIX),
/* K25 */ be_nested_str_weak(html_escape),
/* K26 */ be_nested_str_weak(),
/* K27 */ be_nested_str_weak(attribute_updated),
};
extern const bclass be_class_Matter_Plugin_Sensor_Occupancy;
@ -13,19 +45,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Occupancy_update_virtual, /* name
be_nested_proto(
10, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(shadow_bool_value),
/* K1 */ be_nested_str_weak(_parse_update_virtual),
/* K2 */ be_nested_str_weak(Occupancy),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(update_virtual),
}),
&be_ktab_class_Matter_Plugin_Sensor_Occupancy, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
@ -58,64 +84,50 @@ be_local_closure(class_Matter_Plugin_Sensor_Occupancy_read_attribute, /* name
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* 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_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(set_or_nil),
/* K6 */ be_nested_str_weak(U1),
/* K7 */ be_nested_str_weak(shadow_bool_value),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(set),
/* K10 */ be_const_int(3),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Sensor_Occupancy, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[39]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8120A00, // 0000 GETNGBL R4 K5
0x88100906, // 0001 GETMBR R4 R4 K6
0x88140507, // 0002 GETMBR R5 R2 K7
0x88180508, // 0003 GETMBR R6 R2 K8
0x541E0405, // 0004 LDINT R7 1030
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0016, // 0006 JMPF R7 #001E
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x1C1C0D03, // 0007 EQ R7 R6 K3
0x781E0005, // 0008 JMPF R7 #000F
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x88280107, // 000B GETMBR R10 R0 K7
0x8C1C0709, // 0009 GETMET R7 R3 K9
0x8824090A, // 000A GETMBR R9 R4 K10
0x88280100, // 000B GETMBR R10 R0 K0
0x7C1C0600, // 000C CALL R7 3
0x80040E00, // 000D RET 1 R7
0x7002000E, // 000E JMP #001E
0x1C1C0D08, // 000F EQ R7 R6 K8
0x1C1C0D0B, // 000F EQ R7 R6 K11
0x781E0005, // 0010 JMPF R7 #0017
0x8C1C0709, // 0011 GETMET R7 R3 K9
0x88240906, // 0012 GETMBR R9 R4 K6
0x5828000A, // 0013 LDCONST R10 K10
0x8C1C070C, // 0011 GETMET R7 R3 K12
0x8824090A, // 0012 GETMBR R9 R4 K10
0x5828000D, // 0013 LDCONST R10 K13
0x7C1C0600, // 0014 CALL R7 3
0x80040E00, // 0015 RET 1 R7
0x70020006, // 0016 JMP #001E
0x1C1C0D0B, // 0017 EQ R7 R6 K11
0x1C1C0D0E, // 0017 EQ R7 R6 K14
0x781E0004, // 0018 JMPF R7 #001E
0x8C1C0709, // 0019 GETMET R7 R3 K9
0x88240906, // 001A GETMBR R9 R4 K6
0x58280004, // 001B LDCONST R10 K4
0x8C1C070C, // 0019 GETMET R7 R3 K12
0x8824090A, // 001A GETMBR R9 R4 K10
0x58280003, // 001B LDCONST R10 K3
0x7C1C0600, // 001C CALL R7 3
0x80040E00, // 001D RET 1 R7
0x601C0003, // 001E GETGBL R7 G3
0x5C200000, // 001F MOVE R8 R0
0x7C1C0200, // 0020 CALL R7 1
0x8C1C0F0C, // 0021 GETMET R7 R7 K12
0x8C1C0F0F, // 0021 GETMET R7 R7 K15
0x5C240200, // 0022 MOVE R9 R1
0x5C280400, // 0023 MOVE R10 R2
0x5C2C0600, // 0024 MOVE R11 R3
@ -134,33 +146,25 @@ be_local_closure(class_Matter_Plugin_Sensor_Occupancy_web_values, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(Occupancy_X25i_X20_X25s),
/* K4 */ be_nested_str_weak(shadow_bool_value),
/* K5 */ be_nested_str_weak(web_value_onoff),
/* K6 */ be_nested_str_weak(shadow_occupancy),
}),
&be_ktab_class_Matter_Plugin_Sensor_Occupancy, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4062000, // 0000 IMPORT R1 K16
0x8C080111, // 0001 GETMET R2 R0 K17
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C080312, // 0003 GETMET R2 R1 K18
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x88180104, // 0006 GETMBR R6 R0 K4
0x8C1C0105, // 0007 GETMET R7 R0 K5
0x88240106, // 0008 GETMBR R9 R0 K6
0x58140013, // 0005 LDCONST R5 K19
0x88180100, // 0006 GETMBR R6 R0 K0
0x8C1C0114, // 0007 GETMET R7 R0 K20
0x88240115, // 0008 GETMBR R9 R0 K21
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
@ -178,44 +182,35 @@ be_local_closure(class_Matter_Plugin_Sensor_Occupancy_web_values_prefix, /* na
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(webserver),
/* K1 */ be_nested_str_weak(get_name),
/* K2 */ be_nested_str_weak(Switch),
/* K3 */ be_nested_str_weak(shadow_bool_value),
/* K4 */ be_nested_str_weak(content_send),
/* K5 */ be_nested_str_weak(PREFIX),
/* K6 */ be_nested_str_weak(html_escape),
/* K7 */ be_nested_str_weak(),
}),
&be_ktab_class_Matter_Plugin_Sensor_Occupancy, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4062000, // 0000 IMPORT R1 K16
0x8C080116, // 0001 GETMET R2 R0 K22
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x88100103, // 0006 GETMBR R4 R0 K3
0x88100100, // 0006 GETMBR R4 R0 K0
0x7C0C0200, // 0007 CALL R3 1
0x000E0403, // 0008 ADD R3 K2 R3
0x000E2E03, // 0008 ADD R3 K23 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C0304, // 000A GETMET R3 R1 K4
0x8C0C0312, // 000A GETMET R3 R1 K18
0x60140018, // 000B GETGBL R5 G24
0x88180105, // 000C GETMBR R6 R0 K5
0x88180118, // 000C GETMBR R6 R0 K24
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0306, // 000E GETMET R7 R1 K6
0x8C1C0319, // 000E GETMET R7 R1 K25
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0007, // 0012 LDCONST R7 K7
0x581C001A, // 0012 LDCONST R7 K26
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
@ -232,22 +227,19 @@ be_local_closure(class_Matter_Plugin_Sensor_Occupancy_value_updated, /* name *
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_Occupancy, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C04011B, // 0000 GETMET R1 R0 K27
0x540E0405, // 0001 LDINT R3 1030
0x58100001, // 0002 LDCONST R4 K1
0x58100003, // 0002 LDCONST R4 K3
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})

View File

@ -3,23 +3,8 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Sensor_OnOff;
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_OnOff_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
// compact class 'Matter_Plugin_Sensor_OnOff' ktab size: 12, total: 14 (saved 16 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_OnOff[12] = {
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
@ -30,7 +15,27 @@ be_local_closure(class_Matter_Plugin_Sensor_OnOff_read_attribute, /* name */
/* K7 */ be_nested_str_weak(BOOL),
/* K8 */ be_nested_str_weak(shadow_bool_value),
/* K9 */ be_nested_str_weak(read_attribute),
}),
/* K10 */ be_nested_str_weak(_X2C_X22OnOff_X22_X3A_X25s),
/* K11 */ be_nested_str_weak(attribute_updated),
};
extern const bclass be_class_Matter_Plugin_Sensor_OnOff;
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_OnOff_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor_OnOff, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
@ -72,23 +77,20 @@ be_local_closure(class_Matter_Plugin_Sensor_OnOff_append_state_json, /* name *
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(_X2C_X22OnOff_X22_X3A_X25s),
/* K1 */ be_nested_str_weak(shadow_bool_value),
}),
&be_ktab_class_Matter_Plugin_Sensor_OnOff, /* shared constants */
be_str_weak(append_state_json),
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x60040018, // 0000 GETGBL R1 G24
0x58080000, // 0001 LDCONST R2 K0
0x5808000A, // 0001 LDCONST R2 K10
0x600C0009, // 0002 GETGBL R3 G9
0x88100101, // 0003 GETMBR R4 R0 K1
0x88100108, // 0003 GETMBR R4 R0 K8
0x7C0C0200, // 0004 CALL R3 1
0x7C040400, // 0005 CALL R1 2
0x80040200, // 0006 RET 1 R1
@ -105,22 +107,19 @@ be_local_closure(class_Matter_Plugin_Sensor_OnOff_value_updated, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_OnOff, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C04010B, // 0000 GETMET R1 R0 K11
0x540E0005, // 0001 LDINT R3 6
0x58100001, // 0002 LDCONST R4 K1
0x58100005, // 0002 LDCONST R4 K5
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})

View File

@ -3,6 +3,27 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Pressure' ktab size: 17, total: 19 (saved 16 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Pressure[17] = {
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(TLV),
/* K4 */ be_nested_str_weak(cluster),
/* K5 */ be_nested_str_weak(attribute),
/* K6 */ be_nested_str_weak(set_or_nil),
/* K7 */ be_nested_str_weak(I2),
/* K8 */ be_nested_str_weak(shadow_value),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(set),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(read_attribute),
/* K13 */ be_nested_str_weak(webserver),
/* K14 */ be_nested_str_weak(web_values_prefix),
/* K15 */ be_nested_str_weak(content_send),
/* K16 */ be_nested_str_weak(_X26_X23x26C5_X3B_X20_X25i_X20hPa),
};
extern const bclass be_class_Matter_Plugin_Sensor_Pressure;
@ -13,16 +34,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Pressure_value_changed, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_Pressure, /* shared constants */
be_str_weak(value_changed),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
@ -44,65 +62,52 @@ be_local_closure(class_Matter_Plugin_Sensor_Pressure_read_attribute, /* name *
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(set_or_nil),
/* K6 */ be_nested_str_weak(I2),
/* K7 */ be_nested_str_weak(shadow_value),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(set),
/* K10 */ be_const_int(2),
/* K11 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Sensor_Pressure, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8120400, // 0000 GETNGBL R4 K2
0x88100903, // 0001 GETMBR R4 R4 K3
0x88140504, // 0002 GETMBR R5 R2 K4
0x88180505, // 0003 GETMBR R6 R2 K5
0x541E0402, // 0004 LDINT R7 1027
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0018, // 0006 JMPF R7 #0020
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x1C1C0D01, // 0007 EQ R7 R6 K1
0x781E0007, // 0008 JMPF R7 #0011
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x8C1C0706, // 0009 GETMET R7 R3 K6
0x88240907, // 000A GETMBR R9 R4 K7
0x60280009, // 000B GETGBL R10 G9
0x882C0107, // 000C GETMBR R11 R0 K7
0x882C0108, // 000C GETMBR R11 R0 K8
0x7C280200, // 000D CALL R10 1
0x7C1C0600, // 000E CALL R7 3
0x80040E00, // 000F RET 1 R7
0x7002000E, // 0010 JMP #0020
0x1C1C0D08, // 0011 EQ R7 R6 K8
0x1C1C0D09, // 0011 EQ R7 R6 K9
0x781E0005, // 0012 JMPF R7 #0019
0x8C1C0709, // 0013 GETMET R7 R3 K9
0x88240906, // 0014 GETMBR R9 R4 K6
0x8C1C070A, // 0013 GETMET R7 R3 K10
0x88240907, // 0014 GETMBR R9 R4 K7
0x542A01F3, // 0015 LDINT R10 500
0x7C1C0600, // 0016 CALL R7 3
0x80040E00, // 0017 RET 1 R7
0x70020006, // 0018 JMP #0020
0x1C1C0D0A, // 0019 EQ R7 R6 K10
0x1C1C0D0B, // 0019 EQ R7 R6 K11
0x781E0004, // 001A JMPF R7 #0020
0x8C1C0709, // 001B GETMET R7 R3 K9
0x88240906, // 001C GETMBR R9 R4 K6
0x8C1C070A, // 001B GETMET R7 R3 K10
0x88240907, // 001C GETMBR R9 R4 K7
0x542A05DB, // 001D LDINT R10 1500
0x7C1C0600, // 001E CALL R7 3
0x80040E00, // 001F RET 1 R7
0x601C0003, // 0020 GETGBL R7 G3
0x5C200000, // 0021 MOVE R8 R0
0x7C1C0200, // 0022 CALL R7 1
0x8C1C0F0B, // 0023 GETMET R7 R7 K11
0x8C1C0F0C, // 0023 GETMET R7 R7 K12
0x5C240200, // 0024 MOVE R9 R1
0x5C280400, // 0025 MOVE R10 R2
0x5C2C0600, // 0026 MOVE R11 R3
@ -121,13 +126,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Pressure_pre_value, /* name */
be_nested_proto(
4, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor_Pressure, /* shared constants */
be_str_weak(pre_value),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
@ -153,30 +158,24 @@ be_local_closure(class_Matter_Plugin_Sensor_Pressure_web_values, /* name */
be_nested_proto(
8, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X26_X23x26C5_X3B_X20_X25i_X20hPa),
/* K4 */ be_nested_str_weak(shadow_value),
}),
&be_ktab_class_Matter_Plugin_Sensor_Pressure, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4061A00, // 0000 IMPORT R1 K13
0x8C08010E, // 0001 GETMET R2 R0 K14
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C08030F, // 0003 GETMET R2 R1 K15
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x58140010, // 0005 LDCONST R5 K16
0x60180009, // 0006 GETGBL R6 G9
0x881C0104, // 0007 GETMBR R7 R0 K4
0x881C0108, // 0007 GETMBR R7 R0 K8
0x7C180200, // 0008 CALL R6 1
0x7C100400, // 0009 CALL R4 2
0x7C080400, // 000A CALL R2 2

View File

@ -3,6 +3,34 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Rain' ktab size: 24, total: 31 (saved 56 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Rain[24] = {
/* K0 */ be_nested_str_weak(shadow_bool_value),
/* K1 */ be_nested_str_weak(_parse_update_virtual),
/* K2 */ be_nested_str_weak(Rain),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(update_virtual),
/* K5 */ be_nested_str_weak(matter),
/* K6 */ be_nested_str_weak(TLV),
/* K7 */ be_nested_str_weak(cluster),
/* K8 */ be_nested_str_weak(attribute),
/* K9 */ be_nested_str_weak(set),
/* K10 */ be_nested_str_weak(BOOL),
/* K11 */ be_nested_str_weak(read_attribute),
/* K12 */ be_nested_str_weak(webserver),
/* K13 */ be_nested_str_weak(web_values_prefix),
/* K14 */ be_nested_str_weak(content_send),
/* K15 */ be_nested_str_weak(Rain_X25i_X20_X25s),
/* K16 */ be_nested_str_weak(tasmota_switch_index),
/* K17 */ be_nested_str_weak(web_value_onoff),
/* K18 */ be_nested_str_weak(get_name),
/* K19 */ be_nested_str_weak(Switch),
/* K20 */ be_nested_str_weak(PREFIX),
/* K21 */ be_nested_str_weak(html_escape),
/* K22 */ be_nested_str_weak(),
/* K23 */ be_nested_str_weak(attribute_updated),
};
extern const bclass be_class_Matter_Plugin_Sensor_Rain;
@ -13,19 +41,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Rain_update_virtual, /* name */
be_nested_proto(
10, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(shadow_bool_value),
/* K1 */ be_nested_str_weak(_parse_update_virtual),
/* K2 */ be_nested_str_weak(Rain),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(update_virtual),
}),
&be_ktab_class_Matter_Plugin_Sensor_Rain, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
@ -58,44 +80,34 @@ be_local_closure(class_Matter_Plugin_Sensor_Rain_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(set),
/* K6 */ be_nested_str_weak(BOOL),
/* K7 */ be_nested_str_weak(shadow_bool_value),
/* K8 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Sensor_Rain, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8120A00, // 0000 GETNGBL R4 K5
0x88100906, // 0001 GETMBR R4 R4 K6
0x88140507, // 0002 GETMBR R5 R2 K7
0x88180508, // 0003 GETMBR R6 R2 K8
0x541E0044, // 0004 LDINT R7 69
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0006, // 0006 JMPF R7 #000E
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x1C1C0D03, // 0007 EQ R7 R6 K3
0x781E0004, // 0008 JMPF R7 #000E
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x88280107, // 000B GETMBR R10 R0 K7
0x8C1C0709, // 0009 GETMET R7 R3 K9
0x8824090A, // 000A GETMBR R9 R4 K10
0x88280100, // 000B GETMBR R10 R0 K0
0x7C1C0600, // 000C CALL R7 3
0x80040E00, // 000D RET 1 R7
0x601C0003, // 000E GETGBL R7 G3
0x5C200000, // 000F MOVE R8 R0
0x7C1C0200, // 0010 CALL R7 1
0x8C1C0F08, // 0011 GETMET R7 R7 K8
0x8C1C0F0B, // 0011 GETMET R7 R7 K11
0x5C240200, // 0012 MOVE R9 R1
0x5C280400, // 0013 MOVE R10 R2
0x5C2C0600, // 0014 MOVE R11 R3
@ -114,33 +126,25 @@ be_local_closure(class_Matter_Plugin_Sensor_Rain_web_values, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(Rain_X25i_X20_X25s),
/* K4 */ be_nested_str_weak(tasmota_switch_index),
/* K5 */ be_nested_str_weak(web_value_onoff),
/* K6 */ be_nested_str_weak(shadow_bool_value),
}),
&be_ktab_class_Matter_Plugin_Sensor_Rain, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4061800, // 0000 IMPORT R1 K12
0x8C08010D, // 0001 GETMET R2 R0 K13
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C08030E, // 0003 GETMET R2 R1 K14
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x88180104, // 0006 GETMBR R6 R0 K4
0x8C1C0105, // 0007 GETMET R7 R0 K5
0x88240106, // 0008 GETMBR R9 R0 K6
0x5814000F, // 0005 LDCONST R5 K15
0x88180110, // 0006 GETMBR R6 R0 K16
0x8C1C0111, // 0007 GETMET R7 R0 K17
0x88240100, // 0008 GETMBR R9 R0 K0
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
@ -158,44 +162,35 @@ be_local_closure(class_Matter_Plugin_Sensor_Rain_web_values_prefix, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(webserver),
/* K1 */ be_nested_str_weak(get_name),
/* K2 */ be_nested_str_weak(Switch),
/* K3 */ be_nested_str_weak(tasmota_switch_index),
/* K4 */ be_nested_str_weak(content_send),
/* K5 */ be_nested_str_weak(PREFIX),
/* K6 */ be_nested_str_weak(html_escape),
/* K7 */ be_nested_str_weak(),
}),
&be_ktab_class_Matter_Plugin_Sensor_Rain, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4061800, // 0000 IMPORT R1 K12
0x8C080112, // 0001 GETMET R2 R0 K18
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x88100103, // 0006 GETMBR R4 R0 K3
0x88100110, // 0006 GETMBR R4 R0 K16
0x7C0C0200, // 0007 CALL R3 1
0x000E0403, // 0008 ADD R3 K2 R3
0x000E2603, // 0008 ADD R3 K19 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C0304, // 000A GETMET R3 R1 K4
0x8C0C030E, // 000A GETMET R3 R1 K14
0x60140018, // 000B GETGBL R5 G24
0x88180105, // 000C GETMBR R6 R0 K5
0x88180114, // 000C GETMBR R6 R0 K20
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0306, // 000E GETMET R7 R1 K6
0x8C1C0315, // 000E GETMET R7 R1 K21
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0007, // 0012 LDCONST R7 K7
0x581C0016, // 0012 LDCONST R7 K22
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
@ -212,22 +207,19 @@ be_local_closure(class_Matter_Plugin_Sensor_Rain_value_updated, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_Rain, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040117, // 0000 GETMET R1 R0 K23
0x540E0044, // 0001 LDINT R3 69
0x58100001, // 0002 LDCONST R4 K1
0x58100003, // 0002 LDCONST R4 K3
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})

View File

@ -3,6 +3,33 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Temp' ktab size: 23, total: 26 (saved 24 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Temp[23] = {
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(TLV),
/* K4 */ be_nested_str_weak(cluster),
/* K5 */ be_nested_str_weak(attribute),
/* K6 */ be_nested_str_weak(set_or_nil),
/* K7 */ be_nested_str_weak(I2),
/* K8 */ be_nested_str_weak(shadow_value),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(set),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(read_attribute),
/* K13 */ be_nested_str_weak(BRIDGE),
/* K14 */ be_nested_str_weak(temp_unit),
/* K15 */ be_nested_str_weak(TEMP_F),
/* K16 */ be_const_real_hex(0x3FE66666),
/* K17 */ be_nested_str_weak(tasmota),
/* K18 */ be_nested_str_weak(get_option),
/* K19 */ be_nested_str_weak(webserver),
/* K20 */ be_nested_str_weak(web_values_prefix),
/* K21 */ be_nested_str_weak(content_send),
/* K22 */ be_nested_str_weak(_X26_X23x2600_X3B_X26_X23xFE0F_X3B_X20_X25_X2E1f_X20_XC2_XB0C),
};
extern const bclass be_class_Matter_Plugin_Sensor_Temp;
@ -13,16 +40,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Temp_value_changed, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_Temp, /* shared constants */
be_str_weak(value_changed),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
@ -44,63 +68,50 @@ be_local_closure(class_Matter_Plugin_Sensor_Temp_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(set_or_nil),
/* K6 */ be_nested_str_weak(I2),
/* K7 */ be_nested_str_weak(shadow_value),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(set),
/* K10 */ be_const_int(2),
/* K11 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Sensor_Temp, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[39]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8120400, // 0000 GETNGBL R4 K2
0x88100903, // 0001 GETMBR R4 R4 K3
0x88140504, // 0002 GETMBR R5 R2 K4
0x88180505, // 0003 GETMBR R6 R2 K5
0x541E0401, // 0004 LDINT R7 1026
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0016, // 0006 JMPF R7 #001E
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x1C1C0D01, // 0007 EQ R7 R6 K1
0x781E0005, // 0008 JMPF R7 #000F
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x88280107, // 000B GETMBR R10 R0 K7
0x8C1C0706, // 0009 GETMET R7 R3 K6
0x88240907, // 000A GETMBR R9 R4 K7
0x88280108, // 000B GETMBR R10 R0 K8
0x7C1C0600, // 000C CALL R7 3
0x80040E00, // 000D RET 1 R7
0x7002000E, // 000E JMP #001E
0x1C1C0D08, // 000F EQ R7 R6 K8
0x1C1C0D09, // 000F EQ R7 R6 K9
0x781E0005, // 0010 JMPF R7 #0017
0x8C1C0709, // 0011 GETMET R7 R3 K9
0x88240906, // 0012 GETMBR R9 R4 K6
0x8C1C070A, // 0011 GETMET R7 R3 K10
0x88240907, // 0012 GETMBR R9 R4 K7
0x5429EC77, // 0013 LDINT R10 -5000
0x7C1C0600, // 0014 CALL R7 3
0x80040E00, // 0015 RET 1 R7
0x70020006, // 0016 JMP #001E
0x1C1C0D0A, // 0017 EQ R7 R6 K10
0x1C1C0D0B, // 0017 EQ R7 R6 K11
0x781E0004, // 0018 JMPF R7 #001E
0x8C1C0709, // 0019 GETMET R7 R3 K9
0x88240906, // 001A GETMBR R9 R4 K6
0x8C1C070A, // 0019 GETMET R7 R3 K10
0x88240907, // 001A GETMBR R9 R4 K7
0x542A3A97, // 001B LDINT R10 15000
0x7C1C0600, // 001C CALL R7 3
0x80040E00, // 001D RET 1 R7
0x601C0003, // 001E GETGBL R7 G3
0x5C200000, // 001F MOVE R8 R0
0x7C1C0200, // 0020 CALL R7 1
0x8C1C0F0B, // 0021 GETMET R7 R7 K11
0x8C1C0F0C, // 0021 GETMET R7 R7 K12
0x5C240200, // 0022 MOVE R9 R1
0x5C280400, // 0023 MOVE R10 R2
0x5C2C0600, // 0024 MOVE R11 R3
@ -119,33 +130,25 @@ be_local_closure(class_Matter_Plugin_Sensor_Temp_pre_value, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(BRIDGE),
/* K1 */ be_nested_str_weak(temp_unit),
/* K2 */ be_nested_str_weak(TEMP_F),
/* K3 */ be_const_real_hex(0x3FE66666),
/* K4 */ be_nested_str_weak(tasmota),
/* K5 */ be_nested_str_weak(get_option),
/* K6 */ be_const_int(1),
}),
&be_ktab_class_Matter_Plugin_Sensor_Temp, /* shared constants */
be_str_weak(pre_value),
&be_const_str_solidified,
( &(const binstruction[42]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8808010D, // 0000 GETMBR R2 R0 K13
0x780A0012, // 0001 JMPF R2 #0015
0x88080101, // 0002 GETMBR R2 R0 K1
0x880C0102, // 0003 GETMBR R3 R0 K2
0x8808010E, // 0002 GETMBR R2 R0 K14
0x880C010F, // 0003 GETMBR R3 R0 K15
0x1C080403, // 0004 EQ R2 R2 R3
0x780A0003, // 0005 JMPF R2 #000A
0x540A001F, // 0006 LDINT R2 32
0x04080202, // 0007 SUB R2 R1 R2
0x0C080503, // 0008 DIV R2 R2 K3
0x0C080510, // 0008 DIV R2 R2 K16
0x5C040400, // 0009 MOVE R1 R2
0x4C080000, // 000A LDNIL R2
0x20080202, // 000B NE R2 R1 R2
@ -158,15 +161,15 @@ be_local_closure(class_Matter_Plugin_Sensor_Temp_pre_value, /* name */
0x4C080000, // 0012 LDNIL R2
0x80040400, // 0013 RET 1 R2
0x70020013, // 0014 JMP #0029
0xB80A0800, // 0015 GETNGBL R2 K4
0x8C080505, // 0016 GETMET R2 R2 K5
0xB80A2200, // 0015 GETNGBL R2 K17
0x8C080512, // 0016 GETMET R2 R2 K18
0x54120007, // 0017 LDINT R4 8
0x7C080400, // 0018 CALL R2 2
0x1C080506, // 0019 EQ R2 R2 K6
0x1C080509, // 0019 EQ R2 R2 K9
0x780A0003, // 001A JMPF R2 #001F
0x540A001F, // 001B LDINT R2 32
0x04080202, // 001C SUB R2 R1 R2
0x0C080503, // 001D DIV R2 R2 K3
0x0C080510, // 001D DIV R2 R2 K16
0x5C040400, // 001E MOVE R1 R2
0x4C080000, // 001F LDNIL R2
0x20080202, // 0020 NE R2 R1 R2
@ -192,34 +195,28 @@ be_local_closure(class_Matter_Plugin_Sensor_Temp_web_values, /* name */
be_nested_proto(
8, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X26_X23x2600_X3B_X26_X23xFE0F_X3B_X20_X25_X2E1f_X20_XC2_XB0C),
/* K4 */ be_nested_str_weak(shadow_value),
}),
&be_ktab_class_Matter_Plugin_Sensor_Temp, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4062600, // 0000 IMPORT R1 K19
0x8C080114, // 0001 GETMET R2 R0 K20
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C080315, // 0003 GETMET R2 R1 K21
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x88180104, // 0006 GETMBR R6 R0 K4
0x58140016, // 0005 LDCONST R5 K22
0x88180108, // 0006 GETMBR R6 R0 K8
0x4C1C0000, // 0007 LDNIL R7
0x20180C07, // 0008 NE R6 R6 R7
0x781A0005, // 0009 JMPF R6 #0010
0x6018000A, // 000A GETGBL R6 G10
0x881C0104, // 000B GETMBR R7 R0 K4
0x881C0108, // 000B GETMBR R7 R0 K8
0x7C180200, // 000C CALL R6 1
0x541E0063, // 000D LDINT R7 100
0x0C180C07, // 000E DIV R6 R6 R7

View File

@ -3,6 +3,26 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Waterleak' ktab size: 16, total: 20 (saved 32 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Waterleak[16] = {
/* K0 */ be_nested_str_weak(shadow_bool_value),
/* K1 */ be_nested_str_weak(_parse_update_virtual),
/* K2 */ be_nested_str_weak(Waterleak),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(update_virtual),
/* K5 */ be_nested_str_weak(webserver),
/* K6 */ be_nested_str_weak(web_values_prefix),
/* K7 */ be_nested_str_weak(content_send),
/* K8 */ be_nested_str_weak(Waterleak_X25i_X20_X25s),
/* K9 */ be_nested_str_weak(tasmota_switch_index),
/* K10 */ be_nested_str_weak(web_value_onoff),
/* K11 */ be_nested_str_weak(get_name),
/* K12 */ be_nested_str_weak(Switch),
/* K13 */ be_nested_str_weak(PREFIX),
/* K14 */ be_nested_str_weak(html_escape),
/* K15 */ be_nested_str_weak(),
};
extern const bclass be_class_Matter_Plugin_Sensor_Waterleak;
@ -13,19 +33,13 @@ be_local_closure(class_Matter_Plugin_Sensor_Waterleak_update_virtual, /* name
be_nested_proto(
10, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(shadow_bool_value),
/* K1 */ be_nested_str_weak(_parse_update_virtual),
/* K2 */ be_nested_str_weak(Waterleak),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(update_virtual),
}),
&be_ktab_class_Matter_Plugin_Sensor_Waterleak, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
@ -58,44 +72,34 @@ be_local_closure(class_Matter_Plugin_Sensor_Waterleak_read_attribute, /* name
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(set),
/* K6 */ be_nested_str_weak(BOOL),
/* K7 */ be_nested_str_weak(shadow_bool_value),
/* K8 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Sensor_Waterleak, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8120A00, // 0000 GETNGBL R4 K5
0x88100906, // 0001 GETMBR R4 R4 K6
0x88140507, // 0002 GETMBR R5 R2 K7
0x88180508, // 0003 GETMBR R6 R2 K8
0x541E0044, // 0004 LDINT R7 69
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0006, // 0006 JMPF R7 #000E
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x1C1C0D03, // 0007 EQ R7 R6 K3
0x781E0004, // 0008 JMPF R7 #000E
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x88280107, // 000B GETMBR R10 R0 K7
0x8C1C0709, // 0009 GETMET R7 R3 K9
0x8824090A, // 000A GETMBR R9 R4 K10
0x88280100, // 000B GETMBR R10 R0 K0
0x7C1C0600, // 000C CALL R7 3
0x80040E00, // 000D RET 1 R7
0x601C0003, // 000E GETGBL R7 G3
0x5C200000, // 000F MOVE R8 R0
0x7C1C0200, // 0010 CALL R7 1
0x8C1C0F08, // 0011 GETMET R7 R7 K8
0x8C1C0F0B, // 0011 GETMET R7 R7 K11
0x5C240200, // 0012 MOVE R9 R1
0x5C280400, // 0013 MOVE R10 R2
0x5C2C0600, // 0014 MOVE R11 R3
@ -114,33 +118,25 @@ be_local_closure(class_Matter_Plugin_Sensor_Waterleak_web_values, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(Waterleak_X25i_X20_X25s),
/* K4 */ be_nested_str_weak(tasmota_switch_index),
/* K5 */ be_nested_str_weak(web_value_onoff),
/* K6 */ be_nested_str_weak(shadow_bool_value),
}),
&be_ktab_class_Matter_Plugin_Sensor_Waterleak, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4060A00, // 0000 IMPORT R1 K5
0x8C080106, // 0001 GETMET R2 R0 K6
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C080307, // 0003 GETMET R2 R1 K7
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x88180104, // 0006 GETMBR R6 R0 K4
0x8C1C0105, // 0007 GETMET R7 R0 K5
0x88240106, // 0008 GETMBR R9 R0 K6
0x58140008, // 0005 LDCONST R5 K8
0x88180109, // 0006 GETMBR R6 R0 K9
0x8C1C010A, // 0007 GETMET R7 R0 K10
0x88240100, // 0008 GETMBR R9 R0 K0
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
@ -158,44 +154,35 @@ be_local_closure(class_Matter_Plugin_Sensor_Waterleak_web_values_prefix, /* na
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(webserver),
/* K1 */ be_nested_str_weak(get_name),
/* K2 */ be_nested_str_weak(Switch),
/* K3 */ be_nested_str_weak(tasmota_switch_index),
/* K4 */ be_nested_str_weak(content_send),
/* K5 */ be_nested_str_weak(PREFIX),
/* K6 */ be_nested_str_weak(html_escape),
/* K7 */ be_nested_str_weak(),
}),
&be_ktab_class_Matter_Plugin_Sensor_Waterleak, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4060A00, // 0000 IMPORT R1 K5
0x8C08010B, // 0001 GETMET R2 R0 K11
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x88100103, // 0006 GETMBR R4 R0 K3
0x88100109, // 0006 GETMBR R4 R0 K9
0x7C0C0200, // 0007 CALL R3 1
0x000E0403, // 0008 ADD R3 K2 R3
0x000E1803, // 0008 ADD R3 K12 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C0304, // 000A GETMET R3 R1 K4
0x8C0C0307, // 000A GETMET R3 R1 K7
0x60140018, // 000B GETGBL R5 G24
0x88180105, // 000C GETMBR R6 R0 K5
0x8818010D, // 000C GETMBR R6 R0 K13
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0306, // 000E GETMET R7 R1 K6
0x8C1C030E, // 000E GETMET R7 R1 K14
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0007, // 0012 LDCONST R7 K7
0x581C000F, // 0012 LDCONST R7 K15
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
@ -212,22 +199,19 @@ be_local_closure(class_Matter_Plugin_Sensor_Waterleak_value_updated, /* name *
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(attribute_updated),
/* K1 */ be_const_int(0),
}),
&be_ktab_class_Matter_Plugin_Sensor_Waterleak, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040117, // 0000 GETMET R1 R0 K23
0x540E0044, // 0001 LDINT R3 69
0x58100001, // 0002 LDCONST R4 K1
0x58100003, // 0002 LDCONST R4 K3
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})

View File

@ -3,23 +3,8 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_ShutterTilt;
/********************************************************************
** Solidified function: update_tilt_min_max
********************************************************************/
be_local_closure(class_Matter_Plugin_ShutterTilt_update_tilt_min_max, /* 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[13]) { /* constants */
// compact class 'Matter_Plugin_ShutterTilt' ktab size: 43, total: 65 (saved 176 bytes)
static const bvalue be_ktab_class_Matter_Plugin_ShutterTilt[43] = {
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(cmd),
/* K2 */ be_nested_str_weak(Status_X2013),
@ -33,7 +18,55 @@ be_local_closure(class_Matter_Plugin_ShutterTilt_update_tilt_min_max, /* name
/* K10 */ be_const_int(0),
/* K11 */ be_nested_str_weak(tilt_max),
/* K12 */ be_const_int(1),
}),
/* K13 */ be_nested_str_weak(matter),
/* K14 */ be_nested_str_weak(TLV),
/* K15 */ be_nested_str_weak(cluster),
/* K16 */ be_nested_str_weak(attribute),
/* K17 */ be_nested_str_weak(update_shadow_lazy),
/* K18 */ be_nested_str_weak(set),
/* K19 */ be_nested_str_weak(U1),
/* K20 */ be_const_int(1),
/* K21 */ be_nested_str_weak(update_tilt_min_max),
/* K22 */ be_nested_str_weak(scale_uint),
/* K23 */ be_nested_str_weak(shadow_shutter_tilt),
/* K24 */ be_nested_str_weak(U2),
/* K25 */ be_nested_str_weak(NULL),
/* K26 */ be_nested_str_weak(U4),
/* K27 */ be_const_int(3),
/* K28 */ be_nested_str_weak(read_attribute),
/* K29 */ be_nested_str_weak(Shutter),
/* K30 */ be_nested_str_weak(Tilt),
/* K31 */ be_nested_str_weak(attribute_updated),
/* K32 */ be_nested_str_weak(parse_sensors),
/* K33 */ be_nested_str_weak(light),
/* K34 */ be_nested_str_weak(command),
/* K35 */ be_nested_str_weak(findsubval),
/* K36 */ be_nested_str_weak(ShutterTilt),
/* K37 */ be_nested_str_weak(_X20),
/* K38 */ be_nested_str_weak(update_shadow),
/* K39 */ be_nested_str_weak(log),
/* K40 */ be_nested_str_weak(tilt_X25_X3A),
/* K41 */ be_nested_str_weak(tilt_X25_X28no_tilt_support_X29_X3A),
/* K42 */ be_nested_str_weak(invoke_request),
};
extern const bclass be_class_Matter_Plugin_ShutterTilt;
/********************************************************************
** Solidified function: update_tilt_min_max
********************************************************************/
be_local_closure(class_Matter_Plugin_ShutterTilt_update_tilt_min_max, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Matter_Plugin_ShutterTilt, /* shared constants */
be_str_weak(update_tilt_min_max),
&be_const_str_solidified,
( &(const binstruction[33]) { /* code */
@ -83,53 +116,32 @@ be_local_closure(class_Matter_Plugin_ShutterTilt_read_attribute, /* name */
be_nested_proto(
14, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[20]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_nested_str_weak(set),
/* K6 */ be_nested_str_weak(U1),
/* K7 */ be_const_int(1),
/* K8 */ be_nested_str_weak(update_tilt_min_max),
/* K9 */ be_nested_str_weak(tilt_min),
/* K10 */ be_nested_str_weak(tilt_max),
/* K11 */ be_nested_str_weak(tasmota),
/* K12 */ be_nested_str_weak(scale_uint),
/* K13 */ be_nested_str_weak(shadow_shutter_tilt),
/* K14 */ be_const_int(0),
/* K15 */ be_nested_str_weak(U2),
/* K16 */ be_nested_str_weak(NULL),
/* K17 */ be_nested_str_weak(U4),
/* K18 */ be_const_int(3),
/* K19 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_ShutterTilt, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[113]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8121A00, // 0000 GETNGBL R4 K13
0x8810090E, // 0001 GETMBR R4 R4 K14
0x8814050F, // 0002 GETMBR R5 R2 K15
0x88180510, // 0003 GETMBR R6 R2 K16
0x541E0101, // 0004 LDINT R7 258
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0060, // 0006 JMPF R7 #0068
0x8C1C0104, // 0007 GETMET R7 R0 K4
0x8C1C0111, // 0007 GETMET R7 R0 K17
0x7C1C0200, // 0008 CALL R7 1
0x541E0006, // 0009 LDINT R7 7
0x1C1C0C07, // 000A EQ R7 R6 R7
0x781E0008, // 000B JMPF R7 #0015
0x8C1C0705, // 000C GETMET R7 R3 K5
0x88240906, // 000D GETMBR R9 R4 K6
0x8C1C0712, // 000C GETMET R7 R3 K18
0x88240913, // 000D GETMBR R9 R4 K19
0x542A0007, // 000E LDINT R10 8
0x002A0E0A, // 000F ADD R10 K7 R10
0x002A280A, // 000F ADD R10 K20 R10
0x542E000F, // 0010 LDINT R11 16
0x0028140B, // 0011 ADD R10 R10 R11
0x7C1C0600, // 0012 CALL R7 3
@ -138,36 +150,36 @@ be_local_closure(class_Matter_Plugin_ShutterTilt_read_attribute, /* name */
0x541E000E, // 0015 LDINT R7 15
0x1C1C0C07, // 0016 EQ R7 R6 R7
0x781E0021, // 0017 JMPF R7 #003A
0x8C1C0108, // 0018 GETMET R7 R0 K8
0x8C1C0115, // 0018 GETMET R7 R0 K21
0x7C1C0200, // 0019 CALL R7 1
0x881C0109, // 001A GETMBR R7 R0 K9
0x4C200000, // 001B LDNIL R8
0x201C0E08, // 001C NE R7 R7 R8
0x781E0015, // 001D JMPF R7 #0034
0x881C010A, // 001E GETMBR R7 R0 K10
0x881C010B, // 001E GETMBR R7 R0 K11
0x4C200000, // 001F LDNIL R8
0x201C0E08, // 0020 NE R7 R7 R8
0x781E0011, // 0021 JMPF R7 #0034
0xB81E1600, // 0022 GETNGBL R7 K11
0x8C1C0F0C, // 0023 GETMET R7 R7 K12
0x8824010D, // 0024 GETMBR R9 R0 K13
0xB81E0000, // 0022 GETNGBL R7 K0
0x8C1C0F16, // 0023 GETMET R7 R7 K22
0x88240117, // 0024 GETMBR R9 R0 K23
0x88280109, // 0025 GETMBR R10 R0 K9
0x0424120A, // 0026 SUB R9 R9 R10
0x5828000E, // 0027 LDCONST R10 K14
0x882C010A, // 0028 GETMBR R11 R0 K10
0x5828000A, // 0027 LDCONST R10 K10
0x882C010B, // 0028 GETMBR R11 R0 K11
0x88300109, // 0029 GETMBR R12 R0 K9
0x042C160C, // 002A SUB R11 R11 R12
0x5830000E, // 002B LDCONST R12 K14
0x5830000A, // 002B LDCONST R12 K10
0x5436270F, // 002C LDINT R13 10000
0x7C1C0C00, // 002D CALL R7 6
0x8C200705, // 002E GETMET R8 R3 K5
0x8828090F, // 002F GETMBR R10 R4 K15
0x8C200712, // 002E GETMET R8 R3 K18
0x88280918, // 002F GETMBR R10 R4 K24
0x5C2C0E00, // 0030 MOVE R11 R7
0x7C200600, // 0031 CALL R8 3
0x80041000, // 0032 RET 1 R8
0x70020004, // 0033 JMP #0039
0x8C1C0705, // 0034 GETMET R7 R3 K5
0x88240910, // 0035 GETMBR R9 R4 K16
0x8C1C0712, // 0034 GETMET R7 R3 K18
0x88240919, // 0035 GETMBR R9 R4 K25
0x4C280000, // 0036 LDNIL R10
0x7C1C0600, // 0037 CALL R7 3
0x80040E00, // 0038 RET 1 R7
@ -179,30 +191,30 @@ be_local_closure(class_Matter_Plugin_ShutterTilt_read_attribute, /* name */
0x4C200000, // 003E LDNIL R8
0x201C0E08, // 003F NE R7 R7 R8
0x781E0015, // 0040 JMPF R7 #0057
0x881C010A, // 0041 GETMBR R7 R0 K10
0x881C010B, // 0041 GETMBR R7 R0 K11
0x4C200000, // 0042 LDNIL R8
0x201C0E08, // 0043 NE R7 R7 R8
0x781E0011, // 0044 JMPF R7 #0057
0xB81E1600, // 0045 GETNGBL R7 K11
0x8C1C0F0C, // 0046 GETMET R7 R7 K12
0x8824010D, // 0047 GETMBR R9 R0 K13
0xB81E0000, // 0045 GETNGBL R7 K0
0x8C1C0F16, // 0046 GETMET R7 R7 K22
0x88240117, // 0047 GETMBR R9 R0 K23
0x88280109, // 0048 GETMBR R10 R0 K9
0x0424120A, // 0049 SUB R9 R9 R10
0x5828000E, // 004A LDCONST R10 K14
0x882C010A, // 004B GETMBR R11 R0 K10
0x5828000A, // 004A LDCONST R10 K10
0x882C010B, // 004B GETMBR R11 R0 K11
0x88300109, // 004C GETMBR R12 R0 K9
0x042C160C, // 004D SUB R11 R11 R12
0x5830000E, // 004E LDCONST R12 K14
0x5830000A, // 004E LDCONST R12 K10
0x5436270F, // 004F LDINT R13 10000
0x7C1C0C00, // 0050 CALL R7 6
0x8C200705, // 0051 GETMET R8 R3 K5
0x8828090F, // 0052 GETMBR R10 R4 K15
0x8C200712, // 0051 GETMET R8 R3 K18
0x88280918, // 0052 GETMBR R10 R4 K24
0x5C2C0E00, // 0053 MOVE R11 R7
0x7C200600, // 0054 CALL R8 3
0x80041000, // 0055 RET 1 R8
0x70020004, // 0056 JMP #005C
0x8C1C0705, // 0057 GETMET R7 R3 K5
0x88240910, // 0058 GETMBR R9 R4 K16
0x8C1C0712, // 0057 GETMET R7 R3 K18
0x88240919, // 0058 GETMBR R9 R4 K25
0x4C280000, // 0059 LDNIL R10
0x7C1C0600, // 005A CALL R7 3
0x80040E00, // 005B RET 1 R7
@ -210,10 +222,10 @@ be_local_closure(class_Matter_Plugin_ShutterTilt_read_attribute, /* name */
0x541EFFFB, // 005D LDINT R7 65532
0x1C1C0C07, // 005E EQ R7 R6 R7
0x781E0007, // 005F JMPF R7 #0068
0x8C1C0705, // 0060 GETMET R7 R3 K5
0x88240911, // 0061 GETMBR R9 R4 K17
0x8C1C0712, // 0060 GETMET R7 R3 K18
0x8824091A, // 0061 GETMBR R9 R4 K26
0x542A0003, // 0062 LDINT R10 4
0x002A240A, // 0063 ADD R10 K18 R10
0x002A360A, // 0063 ADD R10 K27 R10
0x542E000F, // 0064 LDINT R11 16
0x0028140B, // 0065 ADD R10 R10 R11
0x7C1C0600, // 0066 CALL R7 3
@ -221,7 +233,7 @@ be_local_closure(class_Matter_Plugin_ShutterTilt_read_attribute, /* name */
0x601C0003, // 0068 GETGBL R7 G3
0x5C200000, // 0069 MOVE R8 R0
0x7C1C0200, // 006A CALL R7 1
0x8C1C0F13, // 006B GETMET R7 R7 K19
0x8C1C0F1C, // 006B GETMET R7 R7 K28
0x5C240200, // 006C MOVE R9 R1
0x5C280400, // 006D MOVE R10 R2
0x5C2C0600, // 006E MOVE R11 R3
@ -240,54 +252,44 @@ be_local_closure(class_Matter_Plugin_ShutterTilt_parse_sensors, /* name */
be_nested_proto(
9, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(Shutter),
/* K1 */ be_nested_str_weak(tasmota_shutter_index),
/* K2 */ be_const_int(1),
/* K3 */ be_nested_str_weak(contains),
/* K4 */ be_nested_str_weak(find),
/* K5 */ be_nested_str_weak(Tilt),
/* K6 */ be_nested_str_weak(shadow_shutter_tilt),
/* K7 */ be_nested_str_weak(attribute_updated),
/* K8 */ be_nested_str_weak(parse_sensors),
}),
&be_ktab_class_Matter_Plugin_ShutterTilt, /* shared constants */
be_str_weak(parse_sensors),
&be_const_str_solidified,
( &(const binstruction[31]) { /* code */
0x60080008, // 0000 GETGBL R2 G8
0x880C0101, // 0001 GETMBR R3 R0 K1
0x000C0702, // 0002 ADD R3 R3 K2
0x880C0107, // 0001 GETMBR R3 R0 K7
0x000C0714, // 0002 ADD R3 R3 K20
0x7C080200, // 0003 CALL R2 1
0x000A0002, // 0004 ADD R2 K0 R2
0x000A3A02, // 0004 ADD R2 K29 R2
0x8C0C0303, // 0005 GETMET R3 R1 K3
0x5C140400, // 0006 MOVE R5 R2
0x7C0C0400, // 0007 CALL R3 2
0x780E000E, // 0008 JMPF R3 #0018
0x940C0202, // 0009 GETIDX R3 R1 R2
0x8C100704, // 000A GETMET R4 R3 K4
0x58180005, // 000B LDCONST R6 K5
0x8C100705, // 000A GETMET R4 R3 K5
0x5818001E, // 000B LDCONST R6 K30
0x7C100400, // 000C CALL R4 2
0x4C140000, // 000D LDNIL R5
0x20140805, // 000E NE R5 R4 R5
0x78160007, // 000F JMPF R5 #0018
0x88140106, // 0010 GETMBR R5 R0 K6
0x88140117, // 0010 GETMBR R5 R0 K23
0x20140805, // 0011 NE R5 R4 R5
0x78160003, // 0012 JMPF R5 #0017
0x8C140107, // 0013 GETMET R5 R0 K7
0x8C14011F, // 0013 GETMET R5 R0 K31
0x541E0101, // 0014 LDINT R7 258
0x5422000E, // 0015 LDINT R8 15
0x7C140600, // 0016 CALL R5 3
0x90020C04, // 0017 SETMBR R0 K6 R4
0x90022E04, // 0017 SETMBR R0 K23 R4
0x600C0003, // 0018 GETGBL R3 G3
0x5C100000, // 0019 MOVE R4 R0
0x7C0C0200, // 001A CALL R3 1
0x8C0C0708, // 001B GETMET R3 R3 K8
0x8C0C0720, // 001B GETMET R3 R3 K32
0x5C140200, // 001C MOVE R5 R1
0x7C0C0400, // 001D CALL R3 2
0x80000000, // 001E RET 0
@ -304,114 +306,90 @@ be_local_closure(class_Matter_Plugin_ShutterTilt_invoke_request, /* name */
be_nested_proto(
18, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[23]) { /* constants */
/* K0 */ be_nested_str_weak(light),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(command),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_nested_str_weak(findsubval),
/* K7 */ be_const_int(0),
/* K8 */ be_nested_str_weak(update_tilt_min_max),
/* K9 */ be_nested_str_weak(tilt_min),
/* K10 */ be_nested_str_weak(tilt_max),
/* K11 */ be_nested_str_weak(tasmota),
/* K12 */ be_nested_str_weak(scale_uint),
/* K13 */ be_nested_str_weak(cmd),
/* K14 */ be_nested_str_weak(ShutterTilt),
/* K15 */ be_nested_str_weak(tasmota_shutter_index),
/* K16 */ be_const_int(1),
/* K17 */ be_nested_str_weak(_X20),
/* K18 */ be_nested_str_weak(update_shadow),
/* K19 */ be_nested_str_weak(log),
/* K20 */ be_nested_str_weak(tilt_X25_X3A),
/* K21 */ be_nested_str_weak(tilt_X25_X28no_tilt_support_X29_X3A),
/* K22 */ be_nested_str_weak(invoke_request),
}),
&be_ktab_class_Matter_Plugin_ShutterTilt, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[79]) { /* code */
0xA4120000, // 0000 IMPORT R4 K0
0xB8160200, // 0001 GETNGBL R5 K1
0x88140B02, // 0002 GETMBR R5 R5 K2
0x88180703, // 0003 GETMBR R6 R3 K3
0x881C0704, // 0004 GETMBR R7 R3 K4
0xA4124200, // 0000 IMPORT R4 K33
0xB8161A00, // 0001 GETNGBL R5 K13
0x88140B0E, // 0002 GETMBR R5 R5 K14
0x8818070F, // 0003 GETMBR R6 R3 K15
0x881C0722, // 0004 GETMBR R7 R3 K34
0x54220101, // 0005 LDINT R8 258
0x1C200C08, // 0006 EQ R8 R6 R8
0x7822003D, // 0007 JMPF R8 #0046
0x8C200105, // 0008 GETMET R8 R0 K5
0x8C200111, // 0008 GETMET R8 R0 K17
0x7C200200, // 0009 CALL R8 1
0x54220007, // 000A LDINT R8 8
0x1C200E08, // 000B EQ R8 R7 R8
0x78220038, // 000C JMPF R8 #0046
0x8C200506, // 000D GETMET R8 R2 K6
0x58280007, // 000E LDCONST R10 K7
0x8C200523, // 000D GETMET R8 R2 K35
0x5828000A, // 000E LDCONST R10 K10
0x7C200400, // 000F CALL R8 2
0x4C240000, // 0010 LDNIL R9
0x20241009, // 0011 NE R9 R8 R9
0x78260030, // 0012 JMPF R9 #0044
0x8C240108, // 0013 GETMET R9 R0 K8
0x8C240115, // 0013 GETMET R9 R0 K21
0x7C240200, // 0014 CALL R9 1
0x88240109, // 0015 GETMBR R9 R0 K9
0x4C280000, // 0016 LDNIL R10
0x2024120A, // 0017 NE R9 R9 R10
0x78260025, // 0018 JMPF R9 #003F
0x8824010A, // 0019 GETMBR R9 R0 K10
0x8824010B, // 0019 GETMBR R9 R0 K11
0x4C280000, // 001A LDNIL R10
0x2024120A, // 001B NE R9 R9 R10
0x78260021, // 001C JMPF R9 #003F
0x88240109, // 001D GETMBR R9 R0 K9
0xB82A1600, // 001E GETNGBL R10 K11
0x8C28150C, // 001F GETMET R10 R10 K12
0xB82A0000, // 001E GETNGBL R10 K0
0x8C281516, // 001F GETMET R10 R10 K22
0x5C301000, // 0020 MOVE R12 R8
0x58340007, // 0021 LDCONST R13 K7
0x5834000A, // 0021 LDCONST R13 K10
0x543A270F, // 0022 LDINT R14 10000
0x583C0007, // 0023 LDCONST R15 K7
0x8840010A, // 0024 GETMBR R16 R0 K10
0x583C000A, // 0023 LDCONST R15 K10
0x8840010B, // 0024 GETMBR R16 R0 K11
0x88440109, // 0025 GETMBR R17 R0 K9
0x04402011, // 0026 SUB R16 R16 R17
0x7C280C00, // 0027 CALL R10 6
0x0024120A, // 0028 ADD R9 R9 R10
0xB82A1600, // 0029 GETNGBL R10 K11
0x8C28150D, // 002A GETMET R10 R10 K13
0xB82A0000, // 0029 GETNGBL R10 K0
0x8C281501, // 002A GETMET R10 R10 K1
0x60300008, // 002B GETGBL R12 G8
0x8834010F, // 002C GETMBR R13 R0 K15
0x00341B10, // 002D ADD R13 R13 K16
0x88340107, // 002C GETMBR R13 R0 K7
0x00341B14, // 002D ADD R13 R13 K20
0x7C300200, // 002E CALL R12 1
0x00321C0C, // 002F ADD R12 K14 R12
0x00301911, // 0030 ADD R12 R12 K17
0x0032480C, // 002F ADD R12 K36 R12
0x00301925, // 0030 ADD R12 R12 K37
0x60340008, // 0031 GETGBL R13 G8
0x5C381200, // 0032 MOVE R14 R9
0x7C340200, // 0033 CALL R13 1
0x0030180D, // 0034 ADD R12 R12 R13
0x50340000, // 0035 LDBOOL R13 0 0
0x7C280600, // 0036 CALL R10 3
0x8C280112, // 0037 GETMET R10 R0 K18
0x8C280126, // 0037 GETMET R10 R0 K38
0x7C280200, // 0038 CALL R10 1
0x60280008, // 0039 GETGBL R10 G8
0x5C2C1000, // 003A MOVE R11 R8
0x7C280200, // 003B CALL R10 1
0x002A280A, // 003C ADD R10 K20 R10
0x900E260A, // 003D SETMBR R3 K19 R10
0x002A500A, // 003C ADD R10 K40 R10
0x900E4E0A, // 003D SETMBR R3 K39 R10
0x70020004, // 003E JMP #0044
0x60240008, // 003F GETGBL R9 G8
0x5C281000, // 0040 MOVE R10 R8
0x7C240200, // 0041 CALL R9 1
0x00262A09, // 0042 ADD R9 K21 R9
0x900E2609, // 0043 SETMBR R3 K19 R9
0x00265209, // 0042 ADD R9 K41 R9
0x900E4E09, // 0043 SETMBR R3 K39 R9
0x50240200, // 0044 LDBOOL R9 1 0
0x80041200, // 0045 RET 1 R9
0x60200003, // 0046 GETGBL R8 G3
0x5C240000, // 0047 MOVE R9 R0
0x7C200200, // 0048 CALL R8 1
0x8C201116, // 0049 GETMET R8 R8 K22
0x8C20112A, // 0049 GETMET R8 R8 K42
0x5C280200, // 004A MOVE R10 R1
0x5C2C0400, // 004B MOVE R11 R2
0x5C300600, // 004C MOVE R12 R3

View File

@ -3,6 +3,62 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Light2' ktab size: 52, total: 91 (saved 312 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Light2[52] = {
/* K0 */ be_nested_str_weak(find),
/* K1 */ be_nested_str_weak(CT),
/* K2 */ be_nested_str_weak(set_ct),
/* K3 */ be_nested_str_weak(update_virtual),
/* K4 */ be_nested_str_weak(matter),
/* K5 */ be_nested_str_weak(TLV),
/* K6 */ be_nested_str_weak(cluster),
/* K7 */ be_nested_str_weak(attribute),
/* K8 */ be_nested_str_weak(update_shadow_lazy),
/* K9 */ be_nested_str_weak(set_or_nil),
/* K10 */ be_nested_str_weak(U1),
/* K11 */ be_nested_str_weak(shadow_ct),
/* K12 */ be_nested_str_weak(set),
/* K13 */ be_const_int(2),
/* K14 */ be_const_int(0),
/* K15 */ be_nested_str_weak(ct_min),
/* K16 */ be_nested_str_weak(ct_max),
/* K17 */ be_nested_str_weak(U4),
/* K18 */ be_nested_str_weak(read_attribute),
/* K19 */ be_nested_str_weak(VIRTUAL),
/* K20 */ be_nested_str_weak(BRIDGE),
/* K21 */ be_nested_str_weak(light),
/* K22 */ be_nested_str_weak(update_ct_minmax),
/* K23 */ be_nested_str_weak(update_shadow),
/* K24 */ be_nested_str_weak(get),
/* K25 */ be_nested_str_weak(light_index),
/* K26 */ be_nested_str_weak(ct),
/* K27 */ be_nested_str_weak(attribute_updated),
/* K28 */ be_nested_str_weak(call_remote_sync),
/* K29 */ be_nested_str_weak(parse_status),
/* K30 */ be_nested_str_weak(),
/* K31 */ be_const_int(1000000),
/* K32 */ be_nested_str_weak(_X25iK),
/* K33 */ be_nested_str_weak(_X26_X239898_X3B_X20),
/* K34 */ be_nested_str_weak(webserver),
/* K35 */ be_nested_str_weak(web_values_prefix),
/* K36 */ be_nested_str_weak(content_send),
/* K37 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s),
/* K38 */ be_nested_str_weak(web_value_onoff),
/* K39 */ be_nested_str_weak(shadow_onoff),
/* K40 */ be_nested_str_weak(web_value_dimmer),
/* K41 */ be_nested_str_weak(web_value_ct),
/* K42 */ be_nested_str_weak(init),
/* K43 */ be_const_int(1),
/* K44 */ be_nested_str_weak(command),
/* K45 */ be_nested_str_weak(findsubval),
/* K46 */ be_nested_str_weak(log),
/* K47 */ be_nested_str_weak(ct_X3A),
/* K48 */ be_nested_str_weak(publish_command),
/* K49 */ be_nested_str_weak(invoke_request),
/* K50 */ be_nested_str_weak(tasmota),
/* K51 */ be_nested_str_weak(get_option),
};
extern const bclass be_class_Matter_Plugin_Light2;
@ -13,18 +69,13 @@ be_local_closure(class_Matter_Plugin_Light2_update_virtual, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(find),
/* K1 */ be_nested_str_weak(CT),
/* K2 */ be_nested_str_weak(set_ct),
/* K3 */ be_nested_str_weak(update_virtual),
}),
&be_ktab_class_Matter_Plugin_Light2, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
@ -59,98 +110,82 @@ be_local_closure(class_Matter_Plugin_Light2_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_nested_str_weak(set_or_nil),
/* K6 */ be_nested_str_weak(U1),
/* K7 */ be_nested_str_weak(shadow_ct),
/* K8 */ be_nested_str_weak(set),
/* K9 */ be_const_int(2),
/* K10 */ be_const_int(0),
/* K11 */ be_nested_str_weak(ct_min),
/* K12 */ be_nested_str_weak(ct_max),
/* K13 */ be_nested_str_weak(U4),
/* K14 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Light2, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[71]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0xB8120800, // 0000 GETNGBL R4 K4
0x88100905, // 0001 GETMBR R4 R4 K5
0x88140506, // 0002 GETMBR R5 R2 K6
0x88180507, // 0003 GETMBR R6 R2 K7
0x541E02FF, // 0004 LDINT R7 768
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0036, // 0006 JMPF R7 #003E
0x8C1C0104, // 0007 GETMET R7 R0 K4
0x8C1C0108, // 0007 GETMET R7 R0 K8
0x7C1C0200, // 0008 CALL R7 1
0x541E0006, // 0009 LDINT R7 7
0x1C1C0C07, // 000A EQ R7 R6 R7
0x781E0005, // 000B JMPF R7 #0012
0x8C1C0705, // 000C GETMET R7 R3 K5
0x88240906, // 000D GETMBR R9 R4 K6
0x88280107, // 000E GETMBR R10 R0 K7
0x8C1C0709, // 000C GETMET R7 R3 K9
0x8824090A, // 000D GETMBR R9 R4 K10
0x8828010B, // 000E GETMBR R10 R0 K11
0x7C1C0600, // 000F CALL R7 3
0x80040E00, // 0010 RET 1 R7
0x7002002B, // 0011 JMP #003E
0x541E0007, // 0012 LDINT R7 8
0x1C1C0C07, // 0013 EQ R7 R6 R7
0x781E0005, // 0014 JMPF R7 #001B
0x8C1C0708, // 0015 GETMET R7 R3 K8
0x88240906, // 0016 GETMBR R9 R4 K6
0x58280009, // 0017 LDCONST R10 K9
0x8C1C070C, // 0015 GETMET R7 R3 K12
0x8824090A, // 0016 GETMBR R9 R4 K10
0x5828000D, // 0017 LDCONST R10 K13
0x7C1C0600, // 0018 CALL R7 3
0x80040E00, // 0019 RET 1 R7
0x70020022, // 001A JMP #003E
0x541E000E, // 001B LDINT R7 15
0x1C1C0C07, // 001C EQ R7 R6 R7
0x781E0005, // 001D JMPF R7 #0024
0x8C1C0708, // 001E GETMET R7 R3 K8
0x88240906, // 001F GETMBR R9 R4 K6
0x5828000A, // 0020 LDCONST R10 K10
0x8C1C070C, // 001E GETMET R7 R3 K12
0x8824090A, // 001F GETMBR R9 R4 K10
0x5828000E, // 0020 LDCONST R10 K14
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020019, // 0023 JMP #003E
0x541E400A, // 0024 LDINT R7 16395
0x1C1C0C07, // 0025 EQ R7 R6 R7
0x781E0005, // 0026 JMPF R7 #002D
0x8C1C0708, // 0027 GETMET R7 R3 K8
0x88240906, // 0028 GETMBR R9 R4 K6
0x8828010B, // 0029 GETMBR R10 R0 K11
0x8C1C070C, // 0027 GETMET R7 R3 K12
0x8824090A, // 0028 GETMBR R9 R4 K10
0x8828010F, // 0029 GETMBR R10 R0 K15
0x7C1C0600, // 002A CALL R7 3
0x80040E00, // 002B RET 1 R7
0x70020010, // 002C JMP #003E
0x541E400B, // 002D LDINT R7 16396
0x1C1C0C07, // 002E EQ R7 R6 R7
0x781E0005, // 002F JMPF R7 #0036
0x8C1C0708, // 0030 GETMET R7 R3 K8
0x88240906, // 0031 GETMBR R9 R4 K6
0x8828010C, // 0032 GETMBR R10 R0 K12
0x8C1C070C, // 0030 GETMET R7 R3 K12
0x8824090A, // 0031 GETMBR R9 R4 K10
0x88280110, // 0032 GETMBR R10 R0 K16
0x7C1C0600, // 0033 CALL R7 3
0x80040E00, // 0034 RET 1 R7
0x70020007, // 0035 JMP #003E
0x541EFFFB, // 0036 LDINT R7 65532
0x1C1C0C07, // 0037 EQ R7 R6 R7
0x781E0004, // 0038 JMPF R7 #003E
0x8C1C0708, // 0039 GETMET R7 R3 K8
0x8824090D, // 003A GETMBR R9 R4 K13
0x8C1C070C, // 0039 GETMET R7 R3 K12
0x88240911, // 003A GETMBR R9 R4 K17
0x542A000F, // 003B LDINT R10 16
0x7C1C0600, // 003C CALL R7 3
0x80040E00, // 003D RET 1 R7
0x601C0003, // 003E GETGBL R7 G3
0x5C200000, // 003F MOVE R8 R0
0x7C1C0200, // 0040 CALL R7 1
0x8C1C0F0E, // 0041 GETMET R7 R7 K14
0x8C1C0F12, // 0041 GETMET R7 R7 K18
0x5C240200, // 0042 MOVE R9 R1
0x5C280400, // 0043 MOVE R10 R2
0x5C2C0600, // 0044 MOVE R11 R3
@ -169,67 +204,55 @@ be_local_closure(class_Matter_Plugin_Light2_update_shadow, /* name */
be_nested_proto(
8, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(VIRTUAL),
/* K1 */ be_nested_str_weak(BRIDGE),
/* K2 */ be_nested_str_weak(light),
/* K3 */ be_nested_str_weak(update_ct_minmax),
/* K4 */ be_nested_str_weak(update_shadow),
/* K5 */ be_nested_str_weak(get),
/* K6 */ be_nested_str_weak(light_index),
/* K7 */ be_nested_str_weak(find),
/* K8 */ be_nested_str_weak(ct),
/* K9 */ be_nested_str_weak(shadow_ct),
/* K10 */ be_nested_str_weak(attribute_updated),
}),
&be_ktab_class_Matter_Plugin_Light2, /* shared constants */
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040113, // 0000 GETMBR R1 R0 K19
0x74060020, // 0001 JMPT R1 #0023
0x88040101, // 0002 GETMBR R1 R0 K1
0x88040114, // 0002 GETMBR R1 R0 K20
0x7406001E, // 0003 JMPT R1 #0023
0xA4060400, // 0004 IMPORT R1 K2
0x8C080103, // 0005 GETMET R2 R0 K3
0xA4062A00, // 0004 IMPORT R1 K21
0x8C080116, // 0005 GETMET R2 R0 K22
0x7C080200, // 0006 CALL R2 1
0x60080003, // 0007 GETGBL R2 G3
0x5C0C0000, // 0008 MOVE R3 R0
0x7C080200, // 0009 CALL R2 1
0x8C080504, // 000A GETMET R2 R2 K4
0x8C080517, // 000A GETMET R2 R2 K23
0x7C080200, // 000B CALL R2 1
0x8C080305, // 000C GETMET R2 R1 K5
0x88100106, // 000D GETMBR R4 R0 K6
0x8C080318, // 000C GETMET R2 R1 K24
0x88100119, // 000D GETMBR R4 R0 K25
0x7C080400, // 000E CALL R2 2
0x4C0C0000, // 000F LDNIL R3
0x200C0403, // 0010 NE R3 R2 R3
0x780E000F, // 0011 JMPF R3 #0022
0x8C0C0507, // 0012 GETMET R3 R2 K7
0x58140008, // 0013 LDCONST R5 K8
0x8C0C0500, // 0012 GETMET R3 R2 K0
0x5814001A, // 0013 LDCONST R5 K26
0x4C180000, // 0014 LDNIL R6
0x7C0C0600, // 0015 CALL R3 3
0x4C100000, // 0016 LDNIL R4
0x1C100604, // 0017 EQ R4 R3 R4
0x78120000, // 0018 JMPF R4 #001A
0x880C0109, // 0019 GETMBR R3 R0 K9
0x88100109, // 001A GETMBR R4 R0 K9
0x880C010B, // 0019 GETMBR R3 R0 K11
0x8810010B, // 001A GETMBR R4 R0 K11
0x20100604, // 001B NE R4 R3 R4
0x78120004, // 001C JMPF R4 #0022
0x8C10010A, // 001D GETMET R4 R0 K10
0x8C10011B, // 001D GETMET R4 R0 K27
0x541A02FF, // 001E LDINT R6 768
0x541E0006, // 001F LDINT R7 7
0x7C100600, // 0020 CALL R4 3
0x90021203, // 0021 SETMBR R0 K9 R3
0x90021603, // 0021 SETMBR R0 K11 R3
0x70020004, // 0022 JMP #0028
0x60040003, // 0023 GETGBL R1 G3
0x5C080000, // 0024 MOVE R2 R0
0x7C040200, // 0025 CALL R1 1
0x8C040304, // 0026 GETMET R1 R1 K4
0x8C040317, // 0026 GETMET R1 R1 K23
0x7C040200, // 0027 CALL R1 1
0x80000000, // 0028 RET 0
})
@ -245,43 +268,28 @@ be_local_closure(class_Matter_Plugin_Light2_set_ct, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(ct_min),
/* K1 */ be_nested_str_weak(ct_max),
/* K2 */ be_nested_str_weak(BRIDGE),
/* K3 */ be_nested_str_weak(call_remote_sync),
/* K4 */ be_nested_str_weak(CT),
/* K5 */ be_nested_str_weak(parse_status),
/* K6 */ be_nested_str_weak(VIRTUAL),
/* K7 */ be_nested_str_weak(shadow_ct),
/* K8 */ be_nested_str_weak(attribute_updated),
/* K9 */ be_nested_str_weak(light),
/* K10 */ be_nested_str_weak(set),
/* K11 */ be_nested_str_weak(ct),
/* K12 */ be_nested_str_weak(light_index),
/* K13 */ be_nested_str_weak(update_shadow),
}),
&be_ktab_class_Matter_Plugin_Light2, /* shared constants */
be_str_weak(set_ct),
&be_const_str_solidified,
( &(const binstruction[45]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8808010F, // 0000 GETMBR R2 R0 K15
0x14080202, // 0001 LT R2 R1 R2
0x780A0000, // 0002 JMPF R2 #0004
0x88040100, // 0003 GETMBR R1 R0 K0
0x88080101, // 0004 GETMBR R2 R0 K1
0x8804010F, // 0003 GETMBR R1 R0 K15
0x88080110, // 0004 GETMBR R2 R0 K16
0x24080202, // 0005 GT R2 R1 R2
0x780A0000, // 0006 JMPF R2 #0008
0x88040101, // 0007 GETMBR R1 R0 K1
0x88080102, // 0008 GETMBR R2 R0 K2
0x88040110, // 0007 GETMBR R1 R0 K16
0x88080114, // 0008 GETMBR R2 R0 K20
0x780A000D, // 0009 JMPF R2 #0018
0x8C080103, // 000A GETMET R2 R0 K3
0x58100004, // 000B LDCONST R4 K4
0x8C08011C, // 000A GETMET R2 R0 K28
0x58100001, // 000B LDCONST R4 K1
0x60140008, // 000C GETGBL R5 G8
0x5C180200, // 000D MOVE R6 R1
0x7C140200, // 000E CALL R5 1
@ -289,30 +297,30 @@ be_local_closure(class_Matter_Plugin_Light2_set_ct, /* name */
0x4C0C0000, // 0010 LDNIL R3
0x200C0403, // 0011 NE R3 R2 R3
0x780E0003, // 0012 JMPF R3 #0017
0x8C0C0105, // 0013 GETMET R3 R0 K5
0x8C0C011D, // 0013 GETMET R3 R0 K29
0x5C140400, // 0014 MOVE R5 R2
0x541A000A, // 0015 LDINT R6 11
0x7C0C0600, // 0016 CALL R3 3
0x70020013, // 0017 JMP #002C
0x88080106, // 0018 GETMBR R2 R0 K6
0x88080113, // 0018 GETMBR R2 R0 K19
0x780A0008, // 0019 JMPF R2 #0023
0x88080107, // 001A GETMBR R2 R0 K7
0x8808010B, // 001A GETMBR R2 R0 K11
0x20080202, // 001B NE R2 R1 R2
0x780A0004, // 001C JMPF R2 #0022
0x8C080108, // 001D GETMET R2 R0 K8
0x8C08011B, // 001D GETMET R2 R0 K27
0x541202FF, // 001E LDINT R4 768
0x54160006, // 001F LDINT R5 7
0x7C080600, // 0020 CALL R2 3
0x90020E01, // 0021 SETMBR R0 K7 R1
0x90021601, // 0021 SETMBR R0 K11 R1
0x70020008, // 0022 JMP #002C
0xA40A1200, // 0023 IMPORT R2 K9
0x8C0C050A, // 0024 GETMET R3 R2 K10
0xA40A2A00, // 0023 IMPORT R2 K21
0x8C0C050C, // 0024 GETMET R3 R2 K12
0x60140013, // 0025 GETGBL R5 G19
0x7C140000, // 0026 CALL R5 0
0x98161601, // 0027 SETIDX R5 K11 R1
0x8818010C, // 0028 GETMBR R6 R0 K12
0x98163401, // 0027 SETIDX R5 K26 R1
0x88180119, // 0028 GETMBR R6 R0 K25
0x7C0C0600, // 0029 CALL R3 3
0x8C0C010D, // 002A GETMET R3 R0 K13
0x8C0C0117, // 002A GETMET R3 R0 K23
0x7C0C0200, // 002B CALL R3 1
0x80000000, // 002C RET 0
})
@ -328,28 +336,20 @@ be_local_closure(class_Matter_Plugin_Light2_parse_status, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(parse_status),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(CT),
/* K3 */ be_nested_str_weak(shadow_ct),
/* K4 */ be_nested_str_weak(ct_min),
/* K5 */ be_nested_str_weak(ct_max),
/* K6 */ be_nested_str_weak(attribute_updated),
}),
&be_ktab_class_Matter_Plugin_Light2, /* shared constants */
be_str_weak(parse_status),
&be_const_str_solidified,
( &(const binstruction[35]) { /* code */
0x600C0003, // 0000 GETGBL R3 G3
0x5C100000, // 0001 MOVE R4 R0
0x7C0C0200, // 0002 CALL R3 1
0x8C0C0700, // 0003 GETMET R3 R3 K0
0x8C0C071D, // 0003 GETMET R3 R3 K29
0x5C140200, // 0004 MOVE R5 R1
0x5C180400, // 0005 MOVE R6 R2
0x7C0C0600, // 0006 CALL R3 3
@ -357,29 +357,29 @@ be_local_closure(class_Matter_Plugin_Light2_parse_status, /* name */
0x1C0C0403, // 0008 EQ R3 R2 R3
0x780E0017, // 0009 JMPF R3 #0022
0x600C0009, // 000A GETGBL R3 G9
0x8C100301, // 000B GETMET R4 R1 K1
0x58180002, // 000C LDCONST R6 K2
0x8C100300, // 000B GETMET R4 R1 K0
0x58180001, // 000C LDCONST R6 K1
0x7C100400, // 000D CALL R4 2
0x7C0C0200, // 000E CALL R3 1
0x4C100000, // 000F LDNIL R4
0x20100604, // 0010 NE R4 R3 R4
0x7812000F, // 0011 JMPF R4 #0022
0x88100103, // 0012 GETMBR R4 R0 K3
0x8810010B, // 0012 GETMBR R4 R0 K11
0x20100604, // 0013 NE R4 R3 R4
0x7812000C, // 0014 JMPF R4 #0022
0x88100104, // 0015 GETMBR R4 R0 K4
0x8810010F, // 0015 GETMBR R4 R0 K15
0x14100604, // 0016 LT R4 R3 R4
0x78120000, // 0017 JMPF R4 #0019
0x880C0104, // 0018 GETMBR R3 R0 K4
0x88100105, // 0019 GETMBR R4 R0 K5
0x880C010F, // 0018 GETMBR R3 R0 K15
0x88100110, // 0019 GETMBR R4 R0 K16
0x24100604, // 001A GT R4 R3 R4
0x78120000, // 001B JMPF R4 #001D
0x880C0105, // 001C GETMBR R3 R0 K5
0x8C100106, // 001D GETMET R4 R0 K6
0x880C0110, // 001C GETMBR R3 R0 K16
0x8C10011B, // 001D GETMET R4 R0 K27
0x541A02FF, // 001E LDINT R6 768
0x541E0006, // 001F LDINT R7 7
0x7C100600, // 0020 CALL R4 3
0x90020603, // 0021 SETMBR R0 K3 R3
0x90021603, // 0021 SETMBR R0 K11 R3
0x80000000, // 0022 RET 0
})
)
@ -394,29 +394,23 @@ be_local_closure(class_Matter_Plugin_Light2_web_value_ct, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(shadow_ct),
/* K2 */ be_const_int(1000000),
/* K3 */ be_nested_str_weak(_X25iK),
/* K4 */ be_nested_str_weak(_X26_X239898_X3B_X20),
}),
&be_ktab_class_Matter_Plugin_Light2, /* shared constants */
be_str_weak(web_value_ct),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x5804001E, // 0000 LDCONST R1 K30
0x8808010B, // 0001 GETMBR R2 R0 K11
0x4C0C0000, // 0002 LDNIL R3
0x20080403, // 0003 NE R2 R2 R3
0x780A000C, // 0004 JMPF R2 #0012
0x88080101, // 0005 GETMBR R2 R0 K1
0x0C0A0402, // 0006 DIV R2 K2 R2
0x8808010B, // 0005 GETMBR R2 R0 K11
0x0C0A3E02, // 0006 DIV R2 K31 R2
0x540E0018, // 0007 LDINT R3 25
0x00080403, // 0008 ADD R2 R2 R3
0x540E0031, // 0009 LDINT R3 50
@ -424,11 +418,11 @@ be_local_closure(class_Matter_Plugin_Light2_web_value_ct, /* name */
0x540E0031, // 000B LDINT R3 50
0x08080403, // 000C MUL R2 R2 R3
0x600C0018, // 000D GETGBL R3 G24
0x58100003, // 000E LDCONST R4 K3
0x58100020, // 000E LDCONST R4 K32
0x5C140400, // 000F MOVE R5 R2
0x7C0C0400, // 0010 CALL R3 2
0x5C040600, // 0011 MOVE R1 R3
0x000A0801, // 0012 ADD R2 K4 R1
0x000A4201, // 0012 ADD R2 K33 R1
0x80040400, // 0013 RET 1 R2
})
)
@ -443,37 +437,28 @@ be_local_closure(class_Matter_Plugin_Light2_web_values, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s),
/* K4 */ be_nested_str_weak(web_value_onoff),
/* K5 */ be_nested_str_weak(shadow_onoff),
/* K6 */ be_nested_str_weak(web_value_dimmer),
/* K7 */ be_nested_str_weak(web_value_ct),
}),
&be_ktab_class_Matter_Plugin_Light2, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4064400, // 0000 IMPORT R1 K34
0x8C080123, // 0001 GETMET R2 R0 K35
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C080324, // 0003 GETMET R2 R1 K36
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x8C180104, // 0006 GETMET R6 R0 K4
0x88200105, // 0007 GETMBR R8 R0 K5
0x58140025, // 0005 LDCONST R5 K37
0x8C180126, // 0006 GETMET R6 R0 K38
0x88200127, // 0007 GETMBR R8 R0 K39
0x7C180400, // 0008 CALL R6 2
0x8C1C0106, // 0009 GETMET R7 R0 K6
0x8C1C0128, // 0009 GETMET R7 R0 K40
0x7C1C0200, // 000A CALL R7 1
0x8C200107, // 000B GETMET R8 R0 K7
0x8C200129, // 000B GETMET R8 R0 K41
0x7C200200, // 000C CALL R8 1
0x7C100800, // 000D CALL R4 4
0x7C080400, // 000E CALL R2 2
@ -491,46 +476,37 @@ be_local_closure(class_Matter_Plugin_Light2_init, /* name */
be_nested_proto(
9, /* nstack */
4, /* argc */
2, /* varg */
10, /* 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_weak(init),
/* K1 */ be_nested_str_weak(BRIDGE),
/* K2 */ be_nested_str_weak(shadow_ct),
/* K3 */ be_nested_str_weak(light),
/* K4 */ be_nested_str_weak(get),
/* K5 */ be_const_int(1),
/* K6 */ be_nested_str_weak(light_index),
/* K7 */ be_nested_str_weak(update_ct_minmax),
}),
&be_ktab_class_Matter_Plugin_Light2, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x60100003, // 0000 GETGBL R4 G3
0x5C140000, // 0001 MOVE R5 R0
0x7C100200, // 0002 CALL R4 1
0x8C100900, // 0003 GETMET R4 R4 K0
0x8C10092A, // 0003 GETMET R4 R4 K42
0x5C180200, // 0004 MOVE R6 R1
0x5C1C0400, // 0005 MOVE R7 R2
0x5C200600, // 0006 MOVE R8 R3
0x7C100800, // 0007 CALL R4 4
0x88100101, // 0008 GETMBR R4 R0 K1
0x88100114, // 0008 GETMBR R4 R0 K20
0x74120009, // 0009 JMPT R4 #0014
0x54120144, // 000A LDINT R4 325
0x90020404, // 000B SETMBR R0 K2 R4
0xA4120600, // 000C IMPORT R4 K3
0x8C140904, // 000D GETMET R5 R4 K4
0x581C0005, // 000E LDCONST R7 K5
0x90021604, // 000B SETMBR R0 K11 R4
0xA4122A00, // 000C IMPORT R4 K21
0x8C140918, // 000D GETMET R5 R4 K24
0x581C002B, // 000E LDCONST R7 K43
0x7C140400, // 000F CALL R5 2
0x4C180000, // 0010 LDNIL R6
0x20140A06, // 0011 NE R5 R5 R6
0x78160000, // 0012 JMPF R5 #0014
0x90020D05, // 0013 SETMBR R0 K6 K5
0x8C100107, // 0014 GETMET R4 R0 K7
0x9002332B, // 0013 SETMBR R0 K25 K43
0x8C100116, // 0014 GETMET R4 R0 K22
0x7C100200, // 0015 CALL R4 1
0x80000000, // 0016 RET 0
})
@ -546,65 +522,49 @@ be_local_closure(class_Matter_Plugin_Light2_invoke_request, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(command),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_nested_str_weak(findsubval),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(ct_min),
/* K8 */ be_nested_str_weak(ct_max),
/* K9 */ be_nested_str_weak(set_ct),
/* K10 */ be_nested_str_weak(log),
/* K11 */ be_nested_str_weak(ct_X3A),
/* K12 */ be_nested_str_weak(publish_command),
/* K13 */ be_nested_str_weak(CT),
/* K14 */ be_nested_str_weak(invoke_request),
}),
&be_ktab_class_Matter_Plugin_Light2, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[66]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140702, // 0002 GETMBR R5 R3 K2
0x88180703, // 0003 GETMBR R6 R3 K3
0xB8120800, // 0000 GETNGBL R4 K4
0x88100905, // 0001 GETMBR R4 R4 K5
0x88140706, // 0002 GETMBR R5 R3 K6
0x8818072C, // 0003 GETMBR R6 R3 K44
0x541E02FF, // 0004 LDINT R7 768
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0030, // 0006 JMPF R7 #0038
0x8C1C0104, // 0007 GETMET R7 R0 K4
0x8C1C0108, // 0007 GETMET R7 R0 K8
0x7C1C0200, // 0008 CALL R7 1
0x541E0009, // 0009 LDINT R7 10
0x1C1C0C07, // 000A EQ R7 R6 R7
0x781E0019, // 000B JMPF R7 #0026
0x8C1C0505, // 000C GETMET R7 R2 K5
0x58240006, // 000D LDCONST R9 K6
0x8C1C052D, // 000C GETMET R7 R2 K45
0x5824000E, // 000D LDCONST R9 K14
0x7C1C0400, // 000E CALL R7 2
0x88200107, // 000F GETMBR R8 R0 K7
0x8820010F, // 000F GETMBR R8 R0 K15
0x14200E08, // 0010 LT R8 R7 R8
0x78220000, // 0011 JMPF R8 #0013
0x881C0107, // 0012 GETMBR R7 R0 K7
0x88200108, // 0013 GETMBR R8 R0 K8
0x881C010F, // 0012 GETMBR R7 R0 K15
0x88200110, // 0013 GETMBR R8 R0 K16
0x24200E08, // 0014 GT R8 R7 R8
0x78220000, // 0015 JMPF R8 #0017
0x881C0108, // 0016 GETMBR R7 R0 K8
0x8C200109, // 0017 GETMET R8 R0 K9
0x881C0110, // 0016 GETMBR R7 R0 K16
0x8C200102, // 0017 GETMET R8 R0 K2
0x5C280E00, // 0018 MOVE R10 R7
0x7C200400, // 0019 CALL R8 2
0x60200008, // 001A GETGBL R8 G8
0x5C240E00, // 001B MOVE R9 R7
0x7C200200, // 001C CALL R8 1
0x00221608, // 001D ADD R8 K11 R8
0x900E1408, // 001E SETMBR R3 K10 R8
0x8C20010C, // 001F GETMET R8 R0 K12
0x5828000D, // 0020 LDCONST R10 K13
0x00225E08, // 001D ADD R8 K47 R8
0x900E5C08, // 001E SETMBR R3 K46 R8
0x8C200130, // 001F GETMET R8 R0 K48
0x58280001, // 0020 LDCONST R10 K1
0x5C2C0E00, // 0021 MOVE R11 R7
0x7C200600, // 0022 CALL R8 3
0x50200200, // 0023 LDBOOL R8 1 0
@ -631,7 +591,7 @@ be_local_closure(class_Matter_Plugin_Light2_invoke_request, /* name */
0x601C0003, // 0038 GETGBL R7 G3
0x5C200000, // 0039 MOVE R8 R0
0x7C1C0200, // 003A CALL R7 1
0x8C1C0F0E, // 003B GETMET R7 R7 K14
0x8C1C0F31, // 003B GETMET R7 R7 K49
0x5C240200, // 003C MOVE R9 R1
0x5C280400, // 003D MOVE R10 R2
0x5C2C0600, // 003E MOVE R11 R3
@ -651,35 +611,30 @@ be_local_closure(class_Matter_Plugin_Light2_update_ct_minmax, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(tasmota),
/* K1 */ be_nested_str_weak(get_option),
/* K2 */ be_nested_str_weak(ct_min),
/* K3 */ be_nested_str_weak(ct_max),
}),
&be_ktab_class_Matter_Plugin_Light2, /* shared constants */
be_str_weak(update_ct_minmax),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0xB8066400, // 0000 GETNGBL R1 K50
0x8C040333, // 0001 GETMET R1 R1 K51
0x540E0051, // 0002 LDINT R3 82
0x7C040400, // 0003 CALL R1 2
0x78060001, // 0004 JMPF R1 #0007
0x540A00C7, // 0005 LDINT R2 200
0x70020000, // 0006 JMP #0008
0x540A0098, // 0007 LDINT R2 153
0x90020402, // 0008 SETMBR R0 K2 R2
0x90021E02, // 0008 SETMBR R0 K15 R2
0x78060001, // 0009 JMPF R1 #000C
0x540A017B, // 000A LDINT R2 380
0x70020000, // 000B JMP #000D
0x540A01F3, // 000C LDINT R2 500
0x90020602, // 000D SETMBR R0 K3 R2
0x90022002, // 000D SETMBR R0 K16 R2
0x80000000, // 000E RET 0
})
)

View File

@ -3,23 +3,8 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Light3;
/********************************************************************
** Solidified function: invoke_request
********************************************************************/
be_local_closure(class_Matter_Plugin_Light3_invoke_request, /* name */
be_nested_proto(
15, /* nstack */
4, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[19]) { /* constants */
// compact class 'Matter_Plugin_Light3' ktab size: 68, total: 113 (saved 360 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Light3[68] = {
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
@ -39,7 +24,74 @@ be_local_closure(class_Matter_Plugin_Light3_invoke_request, /* name */
/* K16 */ be_nested_str_weak(Sat),
/* K17 */ be_nested_str_weak(_X20sat_X3A),
/* K18 */ be_nested_str_weak(invoke_request),
}),
/* K19 */ be_nested_str_weak(attribute),
/* K20 */ be_nested_str_weak(set_or_nil),
/* K21 */ be_nested_str_weak(U1),
/* K22 */ be_nested_str_weak(shadow_hue),
/* K23 */ be_nested_str_weak(shadow_sat),
/* K24 */ be_nested_str_weak(set),
/* K25 */ be_nested_str_weak(U4),
/* K26 */ be_nested_str_weak(read_attribute),
/* K27 */ be_nested_str_weak(VIRTUAL),
/* K28 */ be_nested_str_weak(BRIDGE),
/* K29 */ be_nested_str_weak(light),
/* K30 */ be_nested_str_weak(update_shadow),
/* K31 */ be_nested_str_weak(get),
/* K32 */ be_nested_str_weak(light_index),
/* K33 */ be_nested_str_weak(find),
/* K34 */ be_nested_str_weak(hue),
/* K35 */ be_nested_str_weak(sat),
/* K36 */ be_nested_str_weak(tasmota),
/* K37 */ be_nested_str_weak(scale_uint),
/* K38 */ be_nested_str_weak(attribute_updated),
/* K39 */ be_nested_str_weak(update_virtual),
/* K40 */ be_nested_str_weak(call_remote_sync),
/* K41 */ be_nested_str_weak(HSBColor1),
/* K42 */ be_nested_str_weak(parse_status),
/* K43 */ be_nested_str_weak(HSBColor2),
/* K44 */ be_nested_str_weak(init),
/* K45 */ be_nested_str_weak(webserver),
/* K46 */ be_nested_str_weak(web_values_prefix),
/* K47 */ be_nested_str_weak(content_send),
/* K48 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s),
/* K49 */ be_nested_str_weak(web_value_onoff),
/* K50 */ be_nested_str_weak(shadow_onoff),
/* K51 */ be_nested_str_weak(web_value_dimmer),
/* K52 */ be_nested_str_weak(web_value_RGB),
/* K53 */ be_nested_str_weak(HSBColor),
/* K54 */ be_nested_str_weak(string),
/* K55 */ be_nested_str_weak(split),
/* K56 */ be_nested_str_weak(_X2C),
/* K57 */ be_const_int(0),
/* K58 */ be_const_int(1),
/* K59 */ be_nested_str_weak(light_state),
/* K60 */ be_nested_str_weak(set_bri),
/* K61 */ be_nested_str_weak(set_huesat),
/* K62 */ be_nested_str_weak(_X23_X2502X_X2502X_X2502X),
/* K63 */ be_nested_str_weak(r),
/* K64 */ be_nested_str_weak(g),
/* K65 */ be_nested_str_weak(b),
/* K66 */ be_nested_str_weak(_X3Ci_X20class_X3D_X22bxm_X22_X20style_X3D_X22_X2D_X2Dcl_X3A_X25s_X22_X3E_X3C_X2Fi_X3E_X25s),
/* K67 */ be_nested_str_weak(),
};
extern const bclass be_class_Matter_Plugin_Light3;
/********************************************************************
** Solidified function: invoke_request
********************************************************************/
be_local_closure(class_Matter_Plugin_Light3_invoke_request, /* name */
be_nested_proto(
15, /* nstack */
4, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Light3, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[121]) { /* code */
@ -177,35 +229,20 @@ be_local_closure(class_Matter_Plugin_Light3_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(set_or_nil),
/* K7 */ be_nested_str_weak(U1),
/* K8 */ be_nested_str_weak(shadow_hue),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(shadow_sat),
/* K11 */ be_nested_str_weak(set),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_nested_str_weak(read_attribute),
}),
&be_ktab_class_Matter_Plugin_Light3, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[96]) { /* code */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0x88180513, // 0003 GETMBR R6 R2 K19
0x541E02FF, // 0004 LDINT R7 768
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E004F, // 0006 JMPF R7 #0057
@ -213,25 +250,25 @@ be_local_closure(class_Matter_Plugin_Light3_read_attribute, /* name */
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D05, // 0009 EQ R7 R6 K5
0x781E0005, // 000A JMPF R7 #0011
0x8C1C0706, // 000B GETMET R7 R3 K6
0x88240907, // 000C GETMBR R9 R4 K7
0x88280108, // 000D GETMBR R10 R0 K8
0x8C1C0714, // 000B GETMET R7 R3 K20
0x88240915, // 000C GETMBR R9 R4 K21
0x88280116, // 000D GETMBR R10 R0 K22
0x7C1C0600, // 000E CALL R7 3
0x80040E00, // 000F RET 1 R7
0x70020045, // 0010 JMP #0057
0x1C1C0D09, // 0011 EQ R7 R6 K9
0x1C1C0D0C, // 0011 EQ R7 R6 K12
0x781E0005, // 0012 JMPF R7 #0019
0x8C1C0706, // 0013 GETMET R7 R3 K6
0x88240907, // 0014 GETMBR R9 R4 K7
0x8828010A, // 0015 GETMBR R10 R0 K10
0x8C1C0714, // 0013 GETMET R7 R3 K20
0x88240915, // 0014 GETMBR R9 R4 K21
0x88280117, // 0015 GETMBR R10 R0 K23
0x7C1C0600, // 0016 CALL R7 3
0x80040E00, // 0017 RET 1 R7
0x7002003D, // 0018 JMP #0057
0x541E0006, // 0019 LDINT R7 7
0x1C1C0C07, // 001A EQ R7 R6 R7
0x781E0005, // 001B JMPF R7 #0022
0x8C1C070B, // 001C GETMET R7 R3 K11
0x88240907, // 001D GETMBR R9 R4 K7
0x8C1C0718, // 001C GETMET R7 R3 K24
0x88240915, // 001D GETMBR R9 R4 K21
0x58280005, // 001E LDCONST R10 K5
0x7C1C0600, // 001F CALL R7 3
0x80040E00, // 0020 RET 1 R7
@ -239,8 +276,8 @@ be_local_closure(class_Matter_Plugin_Light3_read_attribute, /* name */
0x541E0007, // 0022 LDINT R7 8
0x1C1C0C07, // 0023 EQ R7 R6 R7
0x781E0005, // 0024 JMPF R7 #002B
0x8C1C070B, // 0025 GETMET R7 R3 K11
0x88240907, // 0026 GETMBR R9 R4 K7
0x8C1C0718, // 0025 GETMET R7 R3 K24
0x88240915, // 0026 GETMBR R9 R4 K21
0x58280005, // 0027 LDCONST R10 K5
0x7C1C0600, // 0028 CALL R7 3
0x80040E00, // 0029 RET 1 R7
@ -248,8 +285,8 @@ be_local_closure(class_Matter_Plugin_Light3_read_attribute, /* name */
0x541E000E, // 002B LDINT R7 15
0x1C1C0C07, // 002C EQ R7 R6 R7
0x781E0005, // 002D JMPF R7 #0034
0x8C1C070B, // 002E GETMET R7 R3 K11
0x88240907, // 002F GETMBR R9 R4 K7
0x8C1C0718, // 002E GETMET R7 R3 K24
0x88240915, // 002F GETMBR R9 R4 K21
0x58280005, // 0030 LDCONST R10 K5
0x7C1C0600, // 0031 CALL R7 3
0x80040E00, // 0032 RET 1 R7
@ -257,8 +294,8 @@ be_local_closure(class_Matter_Plugin_Light3_read_attribute, /* name */
0x541E4000, // 0034 LDINT R7 16385
0x1C1C0C07, // 0035 EQ R7 R6 R7
0x781E0005, // 0036 JMPF R7 #003D
0x8C1C070B, // 0037 GETMET R7 R3 K11
0x88240907, // 0038 GETMBR R9 R4 K7
0x8C1C0718, // 0037 GETMET R7 R3 K24
0x88240915, // 0038 GETMBR R9 R4 K21
0x58280005, // 0039 LDCONST R10 K5
0x7C1C0600, // 003A CALL R7 3
0x80040E00, // 003B RET 1 R7
@ -266,17 +303,17 @@ be_local_closure(class_Matter_Plugin_Light3_read_attribute, /* name */
0x541E4009, // 003D LDINT R7 16394
0x1C1C0C07, // 003E EQ R7 R6 R7
0x781E0005, // 003F JMPF R7 #0046
0x8C1C070B, // 0040 GETMET R7 R3 K11
0x88240907, // 0041 GETMBR R9 R4 K7
0x58280009, // 0042 LDCONST R10 K9
0x8C1C0718, // 0040 GETMET R7 R3 K24
0x88240915, // 0041 GETMBR R9 R4 K21
0x5828000C, // 0042 LDCONST R10 K12
0x7C1C0600, // 0043 CALL R7 3
0x80040E00, // 0044 RET 1 R7
0x70020010, // 0045 JMP #0057
0x541E000F, // 0046 LDINT R7 16
0x1C1C0C07, // 0047 EQ R7 R6 R7
0x781E0005, // 0048 JMPF R7 #004F
0x8C1C070B, // 0049 GETMET R7 R3 K11
0x88240907, // 004A GETMBR R9 R4 K7
0x8C1C0718, // 0049 GETMET R7 R3 K24
0x88240915, // 004A GETMBR R9 R4 K21
0x58280005, // 004B LDCONST R10 K5
0x7C1C0600, // 004C CALL R7 3
0x80040E00, // 004D RET 1 R7
@ -284,15 +321,15 @@ be_local_closure(class_Matter_Plugin_Light3_read_attribute, /* name */
0x541EFFFB, // 004F LDINT R7 65532
0x1C1C0C07, // 0050 EQ R7 R6 R7
0x781E0004, // 0051 JMPF R7 #0057
0x8C1C070B, // 0052 GETMET R7 R3 K11
0x8824090C, // 0053 GETMBR R9 R4 K12
0x58280009, // 0054 LDCONST R10 K9
0x8C1C0718, // 0052 GETMET R7 R3 K24
0x88240919, // 0053 GETMBR R9 R4 K25
0x5828000C, // 0054 LDCONST R10 K12
0x7C1C0600, // 0055 CALL R7 3
0x80040E00, // 0056 RET 1 R7
0x601C0003, // 0057 GETGBL R7 G3
0x5C200000, // 0058 MOVE R8 R0
0x7C1C0200, // 0059 CALL R7 1
0x8C1C0F0D, // 005A GETMET R7 R7 K13
0x8C1C0F1A, // 005A GETMET R7 R7 K26
0x5C240200, // 005B MOVE R9 R1
0x5C280400, // 005C MOVE R10 R2
0x5C2C0600, // 005D MOVE R11 R3
@ -311,106 +348,89 @@ be_local_closure(class_Matter_Plugin_Light3_update_shadow, /* name */
be_nested_proto(
12, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[16]) { /* constants */
/* K0 */ be_nested_str_weak(VIRTUAL),
/* K1 */ be_nested_str_weak(BRIDGE),
/* K2 */ be_nested_str_weak(light),
/* K3 */ be_nested_str_weak(update_shadow),
/* K4 */ be_nested_str_weak(get),
/* K5 */ be_nested_str_weak(light_index),
/* K6 */ be_nested_str_weak(find),
/* K7 */ be_nested_str_weak(hue),
/* K8 */ be_nested_str_weak(sat),
/* K9 */ be_nested_str_weak(tasmota),
/* K10 */ be_nested_str_weak(scale_uint),
/* K11 */ be_const_int(0),
/* K12 */ be_nested_str_weak(shadow_hue),
/* K13 */ be_nested_str_weak(shadow_sat),
/* K14 */ be_nested_str_weak(attribute_updated),
/* K15 */ be_const_int(1),
}),
&be_ktab_class_Matter_Plugin_Light3, /* shared constants */
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[75]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8804011B, // 0000 GETMBR R1 R0 K27
0x74060042, // 0001 JMPT R1 #0045
0x88040101, // 0002 GETMBR R1 R0 K1
0x8804011C, // 0002 GETMBR R1 R0 K28
0x74060040, // 0003 JMPT R1 #0045
0xA4060400, // 0004 IMPORT R1 K2
0xA4063A00, // 0004 IMPORT R1 K29
0x60080003, // 0005 GETGBL R2 G3
0x5C0C0000, // 0006 MOVE R3 R0
0x7C080200, // 0007 CALL R2 1
0x8C080503, // 0008 GETMET R2 R2 K3
0x8C08051E, // 0008 GETMET R2 R2 K30
0x7C080200, // 0009 CALL R2 1
0x8C080304, // 000A GETMET R2 R1 K4
0x88100105, // 000B GETMBR R4 R0 K5
0x8C08031F, // 000A GETMET R2 R1 K31
0x88100120, // 000B GETMBR R4 R0 K32
0x7C080400, // 000C CALL R2 2
0x4C0C0000, // 000D LDNIL R3
0x200C0403, // 000E NE R3 R2 R3
0x780E0033, // 000F JMPF R3 #0044
0x8C0C0506, // 0010 GETMET R3 R2 K6
0x58140007, // 0011 LDCONST R5 K7
0x8C0C0521, // 0010 GETMET R3 R2 K33
0x58140022, // 0011 LDCONST R5 K34
0x4C180000, // 0012 LDNIL R6
0x7C0C0600, // 0013 CALL R3 3
0x8C100506, // 0014 GETMET R4 R2 K6
0x58180008, // 0015 LDCONST R6 K8
0x8C100521, // 0014 GETMET R4 R2 K33
0x58180023, // 0015 LDCONST R6 K35
0x4C1C0000, // 0016 LDNIL R7
0x7C100600, // 0017 CALL R4 3
0x4C140000, // 0018 LDNIL R5
0x20140605, // 0019 NE R5 R3 R5
0x78160009, // 001A JMPF R5 #0025
0xB8161200, // 001B GETNGBL R5 K9
0x8C140B0A, // 001C GETMET R5 R5 K10
0xB8164800, // 001B GETNGBL R5 K36
0x8C140B25, // 001C GETMET R5 R5 K37
0x5C1C0600, // 001D MOVE R7 R3
0x5820000B, // 001E LDCONST R8 K11
0x58200005, // 001E LDCONST R8 K5
0x54260167, // 001F LDINT R9 360
0x5828000B, // 0020 LDCONST R10 K11
0x58280005, // 0020 LDCONST R10 K5
0x542E00FD, // 0021 LDINT R11 254
0x7C140C00, // 0022 CALL R5 6
0x5C0C0A00, // 0023 MOVE R3 R5
0x70020000, // 0024 JMP #0026
0x880C010C, // 0025 GETMBR R3 R0 K12
0x880C0116, // 0025 GETMBR R3 R0 K22
0x4C140000, // 0026 LDNIL R5
0x20140805, // 0027 NE R5 R4 R5
0x78160009, // 0028 JMPF R5 #0033
0xB8161200, // 0029 GETNGBL R5 K9
0x8C140B0A, // 002A GETMET R5 R5 K10
0xB8164800, // 0029 GETNGBL R5 K36
0x8C140B25, // 002A GETMET R5 R5 K37
0x5C1C0800, // 002B MOVE R7 R4
0x5820000B, // 002C LDCONST R8 K11
0x58200005, // 002C LDCONST R8 K5
0x542600FE, // 002D LDINT R9 255
0x5828000B, // 002E LDCONST R10 K11
0x58280005, // 002E LDCONST R10 K5
0x542E00FD, // 002F LDINT R11 254
0x7C140C00, // 0030 CALL R5 6
0x5C100A00, // 0031 MOVE R4 R5
0x70020000, // 0032 JMP #0034
0x8810010D, // 0033 GETMBR R4 R0 K13
0x8814010C, // 0034 GETMBR R5 R0 K12
0x88100117, // 0033 GETMBR R4 R0 K23
0x88140116, // 0034 GETMBR R5 R0 K22
0x20140605, // 0035 NE R5 R3 R5
0x78160004, // 0036 JMPF R5 #003C
0x8C14010E, // 0037 GETMET R5 R0 K14
0x8C140126, // 0037 GETMET R5 R0 K38
0x541E02FF, // 0038 LDINT R7 768
0x5820000B, // 0039 LDCONST R8 K11
0x58200005, // 0039 LDCONST R8 K5
0x7C140600, // 003A CALL R5 3
0x90021803, // 003B SETMBR R0 K12 R3
0x8814010D, // 003C GETMBR R5 R0 K13
0x90022C03, // 003B SETMBR R0 K22 R3
0x88140117, // 003C GETMBR R5 R0 K23
0x20140805, // 003D NE R5 R4 R5
0x78160004, // 003E JMPF R5 #0044
0x8C14010E, // 003F GETMET R5 R0 K14
0x8C140126, // 003F GETMET R5 R0 K38
0x541E02FF, // 0040 LDINT R7 768
0x5820000F, // 0041 LDCONST R8 K15
0x5820000C, // 0041 LDCONST R8 K12
0x7C140600, // 0042 CALL R5 3
0x90021A04, // 0043 SETMBR R0 K13 R4
0x90022E04, // 0043 SETMBR R0 K23 R4
0x70020004, // 0044 JMP #004A
0x60040003, // 0045 GETGBL R1 G3
0x5C080000, // 0046 MOVE R2 R0
0x7C040200, // 0047 CALL R1 1
0x8C040303, // 0048 GETMET R1 R1 K3
0x8C04031E, // 0048 GETMET R1 R1 K30
0x7C040200, // 0049 CALL R1 1
0x80000000, // 004A RET 0
})
@ -426,30 +446,24 @@ be_local_closure(class_Matter_Plugin_Light3_update_virtual, /* name */
be_nested_proto(
8, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(find),
/* K1 */ be_nested_str_weak(Hue),
/* K2 */ be_nested_str_weak(Sat),
/* K3 */ be_nested_str_weak(set_hue_sat),
/* K4 */ be_nested_str_weak(update_virtual),
}),
&be_ktab_class_Matter_Plugin_Light3, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[27]) { /* code */
0x60080009, // 0000 GETGBL R2 G9
0x8C0C0300, // 0001 GETMET R3 R1 K0
0x58140001, // 0002 LDCONST R5 K1
0x8C0C0321, // 0001 GETMET R3 R1 K33
0x5814000B, // 0002 LDCONST R5 K11
0x7C0C0400, // 0003 CALL R3 2
0x7C080200, // 0004 CALL R2 1
0x600C0009, // 0005 GETGBL R3 G9
0x8C100300, // 0006 GETMET R4 R1 K0
0x58180002, // 0007 LDCONST R6 K2
0x8C100321, // 0006 GETMET R4 R1 K33
0x58180010, // 0007 LDCONST R6 K16
0x7C100400, // 0008 CALL R4 2
0x7C0C0200, // 0009 CALL R3 1
0x4C100000, // 000A LDNIL R4
@ -458,14 +472,14 @@ be_local_closure(class_Matter_Plugin_Light3_update_virtual, /* name */
0x4C100000, // 000D LDNIL R4
0x20100604, // 000E NE R4 R3 R4
0x78120003, // 000F JMPF R4 #0014
0x8C100103, // 0010 GETMET R4 R0 K3
0x8C100107, // 0010 GETMET R4 R0 K7
0x5C180400, // 0011 MOVE R6 R2
0x5C1C0600, // 0012 MOVE R7 R3
0x7C100600, // 0013 CALL R4 3
0x60100003, // 0014 GETGBL R4 G3
0x5C140000, // 0015 MOVE R5 R0
0x7C100200, // 0016 CALL R4 1
0x8C100904, // 0017 GETMET R4 R4 K4
0x8C100927, // 0017 GETMET R4 R4 K39
0x5C180200, // 0018 MOVE R6 R1
0x7C100400, // 0019 CALL R4 2
0x80000000, // 001A RET 0
@ -482,42 +496,22 @@ be_local_closure(class_Matter_Plugin_Light3_set_hue_sat, /* name */
be_nested_proto(
11, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[19]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(BRIDGE),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(scale_uint),
/* K4 */ be_nested_str_weak(call_remote_sync),
/* K5 */ be_nested_str_weak(HSBColor1),
/* K6 */ be_nested_str_weak(parse_status),
/* K7 */ be_nested_str_weak(HSBColor2),
/* K8 */ be_nested_str_weak(VIRTUAL),
/* K9 */ be_nested_str_weak(shadow_hue),
/* K10 */ be_nested_str_weak(attribute_updated),
/* K11 */ be_nested_str_weak(shadow_sat),
/* K12 */ be_const_int(1),
/* K13 */ be_nested_str_weak(light),
/* K14 */ be_nested_str_weak(set),
/* K15 */ be_nested_str_weak(hue),
/* K16 */ be_nested_str_weak(sat),
/* K17 */ be_nested_str_weak(light_index),
/* K18 */ be_nested_str_weak(update_shadow),
}),
&be_ktab_class_Matter_Plugin_Light3, /* shared constants */
be_str_weak(set_hue_sat),
&be_const_str_solidified,
( &(const binstruction[154]) { /* code */
0x4C0C0000, // 0000 LDNIL R3
0x200C0203, // 0001 NE R3 R1 R3
0x780E0006, // 0002 JMPF R3 #000A
0x140C0300, // 0003 LT R3 R1 K0
0x140C0305, // 0003 LT R3 R1 K5
0x780E0000, // 0004 JMPF R3 #0006
0x58040000, // 0005 LDCONST R1 K0
0x58040005, // 0005 LDCONST R1 K5
0x540E00FD, // 0006 LDINT R3 254
0x240C0203, // 0007 GT R3 R1 R3
0x780E0000, // 0008 JMPF R3 #000A
@ -525,94 +519,94 @@ be_local_closure(class_Matter_Plugin_Light3_set_hue_sat, /* name */
0x4C0C0000, // 000A LDNIL R3
0x200C0403, // 000B NE R3 R2 R3
0x780E0006, // 000C JMPF R3 #0014
0x140C0500, // 000D LT R3 R2 K0
0x140C0505, // 000D LT R3 R2 K5
0x780E0000, // 000E JMPF R3 #0010
0x58080000, // 000F LDCONST R2 K0
0x58080005, // 000F LDCONST R2 K5
0x540E00FD, // 0010 LDINT R3 254
0x240C0403, // 0011 GT R3 R2 R3
0x780E0000, // 0012 JMPF R3 #0014
0x540A00FD, // 0013 LDINT R2 254
0x880C0101, // 0014 GETMBR R3 R0 K1
0x880C011C, // 0014 GETMBR R3 R0 K28
0x780E002C, // 0015 JMPF R3 #0043
0x4C0C0000, // 0016 LDNIL R3
0x200C0203, // 0017 NE R3 R1 R3
0x780E0012, // 0018 JMPF R3 #002C
0xB80E0400, // 0019 GETNGBL R3 K2
0x8C0C0703, // 001A GETMET R3 R3 K3
0xB80E4800, // 0019 GETNGBL R3 K36
0x8C0C0725, // 001A GETMET R3 R3 K37
0x5C140200, // 001B MOVE R5 R1
0x58180000, // 001C LDCONST R6 K0
0x58180005, // 001C LDCONST R6 K5
0x541E00FD, // 001D LDINT R7 254
0x58200000, // 001E LDCONST R8 K0
0x58200005, // 001E LDCONST R8 K5
0x54260167, // 001F LDINT R9 360
0x7C0C0C00, // 0020 CALL R3 6
0x8C100104, // 0021 GETMET R4 R0 K4
0x58180005, // 0022 LDCONST R6 K5
0x8C100128, // 0021 GETMET R4 R0 K40
0x58180029, // 0022 LDCONST R6 K41
0x5C1C0600, // 0023 MOVE R7 R3
0x7C100600, // 0024 CALL R4 3
0x4C140000, // 0025 LDNIL R5
0x20140805, // 0026 NE R5 R4 R5
0x78160003, // 0027 JMPF R5 #002C
0x8C140106, // 0028 GETMET R5 R0 K6
0x8C14012A, // 0028 GETMET R5 R0 K42
0x5C1C0800, // 0029 MOVE R7 R4
0x5422000A, // 002A LDINT R8 11
0x7C140600, // 002B CALL R5 3
0x4C0C0000, // 002C LDNIL R3
0x200C0403, // 002D NE R3 R2 R3
0x780E0012, // 002E JMPF R3 #0042
0xB80E0400, // 002F GETNGBL R3 K2
0x8C0C0703, // 0030 GETMET R3 R3 K3
0xB80E4800, // 002F GETNGBL R3 K36
0x8C0C0725, // 0030 GETMET R3 R3 K37
0x5C140400, // 0031 MOVE R5 R2
0x58180000, // 0032 LDCONST R6 K0
0x58180005, // 0032 LDCONST R6 K5
0x541E00FD, // 0033 LDINT R7 254
0x58200000, // 0034 LDCONST R8 K0
0x58200005, // 0034 LDCONST R8 K5
0x54260063, // 0035 LDINT R9 100
0x7C0C0C00, // 0036 CALL R3 6
0x8C100104, // 0037 GETMET R4 R0 K4
0x58180007, // 0038 LDCONST R6 K7
0x8C100128, // 0037 GETMET R4 R0 K40
0x5818002B, // 0038 LDCONST R6 K43
0x5C1C0600, // 0039 MOVE R7 R3
0x7C100600, // 003A CALL R4 3
0x4C140000, // 003B LDNIL R5
0x20140805, // 003C NE R5 R4 R5
0x78160003, // 003D JMPF R5 #0042
0x8C140106, // 003E GETMET R5 R0 K6
0x8C14012A, // 003E GETMET R5 R0 K42
0x5C1C0800, // 003F MOVE R7 R4
0x5422000A, // 0040 LDINT R8 11
0x7C140600, // 0041 CALL R5 3
0x70020055, // 0042 JMP #0099
0x880C0108, // 0043 GETMBR R3 R0 K8
0x880C011B, // 0043 GETMBR R3 R0 K27
0x780E0016, // 0044 JMPF R3 #005C
0x4C0C0000, // 0045 LDNIL R3
0x200C0203, // 0046 NE R3 R1 R3
0x780E0007, // 0047 JMPF R3 #0050
0x880C0109, // 0048 GETMBR R3 R0 K9
0x880C0116, // 0048 GETMBR R3 R0 K22
0x200C0203, // 0049 NE R3 R1 R3
0x780E0004, // 004A JMPF R3 #0050
0x8C0C010A, // 004B GETMET R3 R0 K10
0x8C0C0126, // 004B GETMET R3 R0 K38
0x541602FF, // 004C LDINT R5 768
0x58180000, // 004D LDCONST R6 K0
0x58180005, // 004D LDCONST R6 K5
0x7C0C0600, // 004E CALL R3 3
0x90021201, // 004F SETMBR R0 K9 R1
0x90022C01, // 004F SETMBR R0 K22 R1
0x4C0C0000, // 0050 LDNIL R3
0x200C0403, // 0051 NE R3 R2 R3
0x780E0007, // 0052 JMPF R3 #005B
0x880C010B, // 0053 GETMBR R3 R0 K11
0x880C0117, // 0053 GETMBR R3 R0 K23
0x200C0403, // 0054 NE R3 R2 R3
0x780E0004, // 0055 JMPF R3 #005B
0x8C0C010A, // 0056 GETMET R3 R0 K10
0x8C0C0126, // 0056 GETMET R3 R0 K38
0x541602FF, // 0057 LDINT R5 768
0x5818000C, // 0058 LDCONST R6 K12
0x7C0C0600, // 0059 CALL R3 3
0x90021602, // 005A SETMBR R0 K11 R2
0x90022E02, // 005A SETMBR R0 K23 R2
0x7002003C, // 005B JMP #0099
0x4C0C0000, // 005C LDNIL R3
0x200C0203, // 005D NE R3 R1 R3
0x780E0008, // 005E JMPF R3 #0068
0xB80E0400, // 005F GETNGBL R3 K2
0x8C0C0703, // 0060 GETMET R3 R3 K3
0xB80E4800, // 005F GETNGBL R3 K36
0x8C0C0725, // 0060 GETMET R3 R3 K37
0x5C140200, // 0061 MOVE R5 R1
0x58180000, // 0062 LDCONST R6 K0
0x58180005, // 0062 LDCONST R6 K5
0x541E00FD, // 0063 LDINT R7 254
0x58200000, // 0064 LDCONST R8 K0
0x58200005, // 0064 LDCONST R8 K5
0x54260167, // 0065 LDINT R9 360
0x7C0C0C00, // 0066 CALL R3 6
0x70020000, // 0067 JMP #0069
@ -620,12 +614,12 @@ be_local_closure(class_Matter_Plugin_Light3_set_hue_sat, /* name */
0x4C100000, // 0069 LDNIL R4
0x20100404, // 006A NE R4 R2 R4
0x78120008, // 006B JMPF R4 #0075
0xB8120400, // 006C GETNGBL R4 K2
0x8C100903, // 006D GETMET R4 R4 K3
0xB8124800, // 006C GETNGBL R4 K36
0x8C100925, // 006D GETMET R4 R4 K37
0x5C180400, // 006E MOVE R6 R2
0x581C0000, // 006F LDCONST R7 K0
0x581C0005, // 006F LDCONST R7 K5
0x542200FD, // 0070 LDINT R8 254
0x58240000, // 0071 LDCONST R9 K0
0x58240005, // 0071 LDCONST R9 K5
0x542A00FE, // 0072 LDINT R10 255
0x7C100C00, // 0073 CALL R4 6
0x70020000, // 0074 JMP #0076
@ -636,34 +630,34 @@ be_local_closure(class_Matter_Plugin_Light3_set_hue_sat, /* name */
0x4C140000, // 0079 LDNIL R5
0x20140805, // 007A NE R5 R4 R5
0x78160008, // 007B JMPF R5 #0085
0xB8161A00, // 007C GETNGBL R5 K13
0x8C140B0E, // 007D GETMET R5 R5 K14
0xB8163A00, // 007C GETNGBL R5 K29
0x8C140B18, // 007D GETMET R5 R5 K24
0x601C0013, // 007E GETGBL R7 G19
0x7C1C0000, // 007F CALL R7 0
0x981E1E03, // 0080 SETIDX R7 K15 R3
0x981E2004, // 0081 SETIDX R7 K16 R4
0x88200111, // 0082 GETMBR R8 R0 K17
0x981E4403, // 0080 SETIDX R7 K34 R3
0x981E4604, // 0081 SETIDX R7 K35 R4
0x88200120, // 0082 GETMBR R8 R0 K32
0x7C140600, // 0083 CALL R5 3
0x70020011, // 0084 JMP #0097
0x4C140000, // 0085 LDNIL R5
0x20140605, // 0086 NE R5 R3 R5
0x78160007, // 0087 JMPF R5 #0090
0xB8161A00, // 0088 GETNGBL R5 K13
0x8C140B0E, // 0089 GETMET R5 R5 K14
0xB8163A00, // 0088 GETNGBL R5 K29
0x8C140B18, // 0089 GETMET R5 R5 K24
0x601C0013, // 008A GETGBL R7 G19
0x7C1C0000, // 008B CALL R7 0
0x981E1E03, // 008C SETIDX R7 K15 R3
0x88200111, // 008D GETMBR R8 R0 K17
0x981E4403, // 008C SETIDX R7 K34 R3
0x88200120, // 008D GETMBR R8 R0 K32
0x7C140600, // 008E CALL R5 3
0x70020006, // 008F JMP #0097
0xB8161A00, // 0090 GETNGBL R5 K13
0x8C140B0E, // 0091 GETMET R5 R5 K14
0xB8163A00, // 0090 GETNGBL R5 K29
0x8C140B18, // 0091 GETMET R5 R5 K24
0x601C0013, // 0092 GETGBL R7 G19
0x7C1C0000, // 0093 CALL R7 0
0x981E2004, // 0094 SETIDX R7 K16 R4
0x88200111, // 0095 GETMBR R8 R0 K17
0x981E4604, // 0094 SETIDX R7 K35 R4
0x88200120, // 0095 GETMBR R8 R0 K32
0x7C140600, // 0096 CALL R5 3
0x8C140112, // 0097 GETMET R5 R0 K18
0x8C14011E, // 0097 GETMET R5 R0 K30
0x7C140200, // 0098 CALL R5 1
0x80000000, // 0099 RET 0
})
@ -679,31 +673,26 @@ be_local_closure(class_Matter_Plugin_Light3_init, /* name */
be_nested_proto(
9, /* nstack */
4, /* argc */
2, /* varg */
10, /* 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_weak(init),
/* K1 */ be_nested_str_weak(shadow_hue),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str_weak(shadow_sat),
}),
&be_ktab_class_Matter_Plugin_Light3, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[11]) { /* code */
0x60100003, // 0000 GETGBL R4 G3
0x5C140000, // 0001 MOVE R5 R0
0x7C100200, // 0002 CALL R4 1
0x8C100900, // 0003 GETMET R4 R4 K0
0x8C10092C, // 0003 GETMET R4 R4 K44
0x5C180200, // 0004 MOVE R6 R1
0x5C1C0400, // 0005 MOVE R7 R2
0x5C200600, // 0006 MOVE R8 R3
0x7C100800, // 0007 CALL R4 4
0x90020302, // 0008 SETMBR R0 K1 K2
0x90020702, // 0009 SETMBR R0 K3 K2
0x90022D05, // 0008 SETMBR R0 K22 K5
0x90022F05, // 0009 SETMBR R0 K23 K5
0x80000000, // 000A RET 0
})
)
@ -718,37 +707,28 @@ be_local_closure(class_Matter_Plugin_Light3_web_values, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s),
/* K4 */ be_nested_str_weak(web_value_onoff),
/* K5 */ be_nested_str_weak(shadow_onoff),
/* K6 */ be_nested_str_weak(web_value_dimmer),
/* K7 */ be_nested_str_weak(web_value_RGB),
}),
&be_ktab_class_Matter_Plugin_Light3, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0xA4065A00, // 0000 IMPORT R1 K45
0x8C08012E, // 0001 GETMET R2 R0 K46
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x8C08032F, // 0003 GETMET R2 R1 K47
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x8C180104, // 0006 GETMET R6 R0 K4
0x88200105, // 0007 GETMBR R8 R0 K5
0x58140030, // 0005 LDCONST R5 K48
0x8C180131, // 0006 GETMET R6 R0 K49
0x88200132, // 0007 GETMBR R8 R0 K50
0x7C180400, // 0008 CALL R6 2
0x8C1C0106, // 0009 GETMET R7 R0 K6
0x8C1C0133, // 0009 GETMET R7 R0 K51
0x7C1C0200, // 000A CALL R7 1
0x8C200107, // 000B GETMET R8 R0 K7
0x8C200134, // 000B GETMET R8 R0 K52
0x7C200200, // 000C CALL R8 1
0x7C100800, // 000D CALL R4 4
0x7C080400, // 000E CALL R2 2
@ -766,99 +746,85 @@ be_local_closure(class_Matter_Plugin_Light3_parse_status, /* name */
be_nested_proto(
15, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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_weak(parse_status),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(HSBColor),
/* K3 */ be_nested_str_weak(string),
/* K4 */ be_nested_str_weak(split),
/* K5 */ be_nested_str_weak(_X2C),
/* K6 */ be_const_int(0),
/* K7 */ be_const_int(1),
/* K8 */ be_nested_str_weak(tasmota),
/* K9 */ be_nested_str_weak(scale_uint),
/* K10 */ be_nested_str_weak(shadow_hue),
/* K11 */ be_nested_str_weak(shadow_sat),
/* K12 */ be_nested_str_weak(attribute_updated),
}),
&be_ktab_class_Matter_Plugin_Light3, /* shared constants */
be_str_weak(parse_status),
&be_const_str_solidified,
( &(const binstruction[70]) { /* code */
0x600C0003, // 0000 GETGBL R3 G3
0x5C100000, // 0001 MOVE R4 R0
0x7C0C0200, // 0002 CALL R3 1
0x8C0C0700, // 0003 GETMET R3 R3 K0
0x8C0C072A, // 0003 GETMET R3 R3 K42
0x5C140200, // 0004 MOVE R5 R1
0x5C180400, // 0005 MOVE R6 R2
0x7C0C0600, // 0006 CALL R3 3
0x540E000A, // 0007 LDINT R3 11
0x1C0C0403, // 0008 EQ R3 R2 R3
0x780E003A, // 0009 JMPF R3 #0045
0x8C0C0301, // 000A GETMET R3 R1 K1
0x58140002, // 000B LDCONST R5 K2
0x8C0C0321, // 000A GETMET R3 R1 K33
0x58140035, // 000B LDCONST R5 K53
0x7C0C0400, // 000C CALL R3 2
0x780E0036, // 000D JMPF R3 #0045
0xA4120600, // 000E IMPORT R4 K3
0x8C140904, // 000F GETMET R5 R4 K4
0xA4126C00, // 000E IMPORT R4 K54
0x8C140937, // 000F GETMET R5 R4 K55
0x5C1C0600, // 0010 MOVE R7 R3
0x58200005, // 0011 LDCONST R8 K5
0x58200038, // 0011 LDCONST R8 K56
0x7C140600, // 0012 CALL R5 3
0x60180009, // 0013 GETGBL R6 G9
0x941C0B06, // 0014 GETIDX R7 R5 K6
0x941C0B39, // 0014 GETIDX R7 R5 K57
0x7C180200, // 0015 CALL R6 1
0x601C0009, // 0016 GETGBL R7 G9
0x94200B07, // 0017 GETIDX R8 R5 K7
0x94200B3A, // 0017 GETIDX R8 R5 K58
0x7C1C0200, // 0018 CALL R7 1
0x4C200000, // 0019 LDNIL R8
0x20200C08, // 001A NE R8 R6 R8
0x78220009, // 001B JMPF R8 #0026
0xB8221000, // 001C GETNGBL R8 K8
0x8C201109, // 001D GETMET R8 R8 K9
0xB8224800, // 001C GETNGBL R8 K36
0x8C201125, // 001D GETMET R8 R8 K37
0x5C280C00, // 001E MOVE R10 R6
0x582C0006, // 001F LDCONST R11 K6
0x582C0039, // 001F LDCONST R11 K57
0x54320167, // 0020 LDINT R12 360
0x58340006, // 0021 LDCONST R13 K6
0x58340039, // 0021 LDCONST R13 K57
0x543A00FD, // 0022 LDINT R14 254
0x7C200C00, // 0023 CALL R8 6
0x5C181000, // 0024 MOVE R6 R8
0x70020000, // 0025 JMP #0027
0x8818010A, // 0026 GETMBR R6 R0 K10
0x88180116, // 0026 GETMBR R6 R0 K22
0x4C200000, // 0027 LDNIL R8
0x20200E08, // 0028 NE R8 R7 R8
0x78220009, // 0029 JMPF R8 #0034
0xB8221000, // 002A GETNGBL R8 K8
0x8C201109, // 002B GETMET R8 R8 K9
0xB8224800, // 002A GETNGBL R8 K36
0x8C201125, // 002B GETMET R8 R8 K37
0x5C280E00, // 002C MOVE R10 R7
0x582C0006, // 002D LDCONST R11 K6
0x582C0039, // 002D LDCONST R11 K57
0x54320063, // 002E LDINT R12 100
0x58340006, // 002F LDCONST R13 K6
0x58340039, // 002F LDCONST R13 K57
0x543A00FD, // 0030 LDINT R14 254
0x7C200C00, // 0031 CALL R8 6
0x5C1C1000, // 0032 MOVE R7 R8
0x70020000, // 0033 JMP #0035
0x881C010B, // 0034 GETMBR R7 R0 K11
0x8820010A, // 0035 GETMBR R8 R0 K10
0x881C0117, // 0034 GETMBR R7 R0 K23
0x88200116, // 0035 GETMBR R8 R0 K22
0x20200C08, // 0036 NE R8 R6 R8
0x78220004, // 0037 JMPF R8 #003D
0x8C20010C, // 0038 GETMET R8 R0 K12
0x8C200126, // 0038 GETMET R8 R0 K38
0x542A02FF, // 0039 LDINT R10 768
0x582C0006, // 003A LDCONST R11 K6
0x582C0039, // 003A LDCONST R11 K57
0x7C200600, // 003B CALL R8 3
0x90021406, // 003C SETMBR R0 K10 R6
0x8820010B, // 003D GETMBR R8 R0 K11
0x90022C06, // 003C SETMBR R0 K22 R6
0x88200117, // 003D GETMBR R8 R0 K23
0x20200E08, // 003E NE R8 R7 R8
0x78220004, // 003F JMPF R8 #0045
0x8C20010C, // 0040 GETMET R8 R0 K12
0x8C200126, // 0040 GETMET R8 R0 K38
0x542A02FF, // 0041 LDINT R10 768
0x582C0007, // 0042 LDCONST R11 K7
0x582C003A, // 0042 LDCONST R11 K58
0x7C200600, // 0043 CALL R8 3
0x90021607, // 0044 SETMBR R0 K11 R7
0x90022E07, // 0044 SETMBR R0 K23 R7
0x80000000, // 0045 RET 0
})
)
@ -873,77 +839,61 @@ be_local_closure(class_Matter_Plugin_Light3_web_value_RGB, /* name */
be_nested_proto(
12, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(shadow_hue),
/* K1 */ be_nested_str_weak(shadow_sat),
/* K2 */ be_nested_str_weak(light_state),
/* K3 */ be_const_int(3),
/* K4 */ be_nested_str_weak(set_bri),
/* K5 */ be_nested_str_weak(set_huesat),
/* K6 */ be_nested_str_weak(tasmota),
/* K7 */ be_nested_str_weak(scale_uint),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str_weak(_X23_X2502X_X2502X_X2502X),
/* K10 */ be_nested_str_weak(r),
/* K11 */ be_nested_str_weak(g),
/* K12 */ be_nested_str_weak(b),
/* K13 */ be_nested_str_weak(_X3Ci_X20class_X3D_X22bxm_X22_X20style_X3D_X22_X2D_X2Dcl_X3A_X25s_X22_X3E_X3C_X2Fi_X3E_X25s),
/* K14 */ be_nested_str_weak(),
}),
&be_ktab_class_Matter_Plugin_Light3, /* shared constants */
be_str_weak(web_value_RGB),
&be_const_str_solidified,
( &(const binstruction[45]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040116, // 0000 GETMBR R1 R0 K22
0x4C080000, // 0001 LDNIL R2
0x20040202, // 0002 NE R1 R1 R2
0x78060027, // 0003 JMPF R1 #002C
0x88040101, // 0004 GETMBR R1 R0 K1
0x88040117, // 0004 GETMBR R1 R0 K23
0x4C080000, // 0005 LDNIL R2
0x20040202, // 0006 NE R1 R1 R2
0x78060023, // 0007 JMPF R1 #002C
0xB8060400, // 0008 GETNGBL R1 K2
0x58080003, // 0009 LDCONST R2 K3
0xB8067600, // 0008 GETNGBL R1 K59
0x5808000E, // 0009 LDCONST R2 K14
0x7C040200, // 000A CALL R1 1
0x8C080304, // 000B GETMET R2 R1 K4
0x8C08033C, // 000B GETMET R2 R1 K60
0x541200FE, // 000C LDINT R4 255
0x7C080400, // 000D CALL R2 2
0x8C080305, // 000E GETMET R2 R1 K5
0xB8120C00, // 000F GETNGBL R4 K6
0x8C100907, // 0010 GETMET R4 R4 K7
0x88180100, // 0011 GETMBR R6 R0 K0
0x581C0008, // 0012 LDCONST R7 K8
0x8C08033D, // 000E GETMET R2 R1 K61
0xB8124800, // 000F GETNGBL R4 K36
0x8C100925, // 0010 GETMET R4 R4 K37
0x88180116, // 0011 GETMBR R6 R0 K22
0x581C0005, // 0012 LDCONST R7 K5
0x542200FD, // 0013 LDINT R8 254
0x58240008, // 0014 LDCONST R9 K8
0x58240005, // 0014 LDCONST R9 K5
0x542A0167, // 0015 LDINT R10 360
0x7C100C00, // 0016 CALL R4 6
0xB8160C00, // 0017 GETNGBL R5 K6
0x8C140B07, // 0018 GETMET R5 R5 K7
0x881C0101, // 0019 GETMBR R7 R0 K1
0x58200008, // 001A LDCONST R8 K8
0xB8164800, // 0017 GETNGBL R5 K36
0x8C140B25, // 0018 GETMET R5 R5 K37
0x881C0117, // 0019 GETMBR R7 R0 K23
0x58200005, // 001A LDCONST R8 K5
0x542600FD, // 001B LDINT R9 254
0x58280008, // 001C LDCONST R10 K8
0x58280005, // 001C LDCONST R10 K5
0x542E00FE, // 001D LDINT R11 255
0x7C140C00, // 001E CALL R5 6
0x7C080600, // 001F CALL R2 3
0x60080018, // 0020 GETGBL R2 G24
0x580C0009, // 0021 LDCONST R3 K9
0x8810030A, // 0022 GETMBR R4 R1 K10
0x8814030B, // 0023 GETMBR R5 R1 K11
0x8818030C, // 0024 GETMBR R6 R1 K12
0x580C003E, // 0021 LDCONST R3 K62
0x8810033F, // 0022 GETMBR R4 R1 K63
0x88140340, // 0023 GETMBR R5 R1 K64
0x88180341, // 0024 GETMBR R6 R1 K65
0x7C080800, // 0025 CALL R2 4
0x600C0018, // 0026 GETGBL R3 G24
0x5810000D, // 0027 LDCONST R4 K13
0x58100042, // 0027 LDCONST R4 K66
0x5C140400, // 0028 MOVE R5 R2
0x5C180400, // 0029 MOVE R6 R2
0x7C0C0600, // 002A CALL R3 3
0x80040600, // 002B RET 1 R3
0x80061C00, // 002C RET 1 K14
0x80068600, // 002C RET 1 K67
})
)
);

View File

@ -3,23 +3,8 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Profiler;
/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_Matter_Profiler_start, /* 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[11]) { /* constants */
// compact class 'Matter_Profiler' ktab size: 19, total: 43 (saved 192 bytes)
static const bvalue be_ktab_class_Matter_Profiler[19] = {
/* K0 */ be_nested_str_weak(active),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(PREALLOCATED),
@ -31,7 +16,33 @@ be_local_closure(class_Matter_Profiler_start, /* name */
/* K8 */ be_nested_str_weak(gc),
/* K9 */ be_nested_str_weak(log),
/* K10 */ be_nested_str_weak(start),
}),
/* K11 */ be_nested_str_weak(resize),
/* K12 */ be_nested_str_weak(allocs),
/* K13 */ be_nested_str_weak(reallocs),
/* K14 */ be_nested_str_weak(debug),
/* K15 */ be_const_int(1),
/* K16 */ be_nested_str_weak(_X3C_X2D_X2Dend_X2D_X2D_X3E),
/* K17 */ be_nested_str_weak(MTR_X3A_X20Profiler_X20dump_X3A),
/* K18 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X254i_X20_X5B_X254i_X5D_X27_X25s_X27),
};
extern const bclass be_class_Matter_Profiler;
/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_Matter_Profiler_start, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Matter_Profiler, /* shared constants */
be_str_weak(start),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
@ -71,23 +82,13 @@ be_local_closure(class_Matter_Profiler_init, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(active),
/* K1 */ be_nested_str_weak(millis),
/* K2 */ be_nested_str_weak(resize),
/* K3 */ be_nested_str_weak(PREALLOCATED),
/* K4 */ be_nested_str_weak(names),
/* K5 */ be_nested_str_weak(allocs),
/* K6 */ be_nested_str_weak(reallocs),
/* K7 */ be_nested_str_weak(len),
/* K8 */ be_const_int(0),
}),
&be_ktab_class_Matter_Profiler, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[32]) { /* code */
@ -95,33 +96,33 @@ be_local_closure(class_Matter_Profiler_init, /* name */
0x90020001, // 0001 SETMBR R0 K0 R1
0x60040012, // 0002 GETGBL R1 G18
0x7C040000, // 0003 CALL R1 0
0x90020201, // 0004 SETMBR R0 K1 R1
0x88040101, // 0005 GETMBR R1 R0 K1
0x8C040302, // 0006 GETMET R1 R1 K2
0x880C0103, // 0007 GETMBR R3 R0 K3
0x90020601, // 0004 SETMBR R0 K3 R1
0x88040103, // 0005 GETMBR R1 R0 K3
0x8C04030B, // 0006 GETMET R1 R1 K11
0x880C0102, // 0007 GETMBR R3 R0 K2
0x7C040400, // 0008 CALL R1 2
0x60040012, // 0009 GETGBL R1 G18
0x7C040000, // 000A CALL R1 0
0x90020801, // 000B SETMBR R0 K4 R1
0x88040104, // 000C GETMBR R1 R0 K4
0x8C040302, // 000D GETMET R1 R1 K2
0x880C0103, // 000E GETMBR R3 R0 K3
0x8C04030B, // 000D GETMET R1 R1 K11
0x880C0102, // 000E GETMBR R3 R0 K2
0x7C040400, // 000F CALL R1 2
0x60040012, // 0010 GETGBL R1 G18
0x7C040000, // 0011 CALL R1 0
0x90020A01, // 0012 SETMBR R0 K5 R1
0x88040105, // 0013 GETMBR R1 R0 K5
0x8C040302, // 0014 GETMET R1 R1 K2
0x880C0103, // 0015 GETMBR R3 R0 K3
0x90021801, // 0012 SETMBR R0 K12 R1
0x8804010C, // 0013 GETMBR R1 R0 K12
0x8C04030B, // 0014 GETMET R1 R1 K11
0x880C0102, // 0015 GETMBR R3 R0 K2
0x7C040400, // 0016 CALL R1 2
0x60040012, // 0017 GETGBL R1 G18
0x7C040000, // 0018 CALL R1 0
0x90020C01, // 0019 SETMBR R0 K6 R1
0x88040106, // 001A GETMBR R1 R0 K6
0x8C040302, // 001B GETMET R1 R1 K2
0x880C0103, // 001C GETMBR R3 R0 K3
0x90021A01, // 0019 SETMBR R0 K13 R1
0x8804010D, // 001A GETMBR R1 R0 K13
0x8C04030B, // 001B GETMET R1 R1 K11
0x880C0102, // 001C GETMBR R3 R0 K2
0x7C040400, // 001D CALL R1 2
0x90020F08, // 001E SETMBR R0 K7 K8
0x90020D01, // 001E SETMBR R0 K6 K1
0x80000000, // 001F RET 0
})
)
@ -136,15 +137,13 @@ be_local_closure(class_Matter_Profiler_set_active, /* name */
be_nested_proto(
4, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(active),
}),
&be_ktab_class_Matter_Profiler, /* shared constants */
be_str_weak(set_active),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
@ -166,54 +165,43 @@ be_local_closure(class_Matter_Profiler_log, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(active),
/* K1 */ be_nested_str_weak(debug),
/* K2 */ be_nested_str_weak(len),
/* K3 */ be_nested_str_weak(PREALLOCATED),
/* K4 */ be_nested_str_weak(millis),
/* K5 */ be_nested_str_weak(tasmota),
/* K6 */ be_nested_str_weak(names),
/* K7 */ be_nested_str_weak(allocs),
/* K8 */ be_nested_str_weak(reallocs),
/* K9 */ be_const_int(1),
}),
&be_ktab_class_Matter_Profiler, /* shared constants */
be_str_weak(log),
&be_const_str_solidified,
( &(const binstruction[28]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x740A0000, // 0001 JMPT R2 #0003
0x80000400, // 0002 RET 0
0xA40A0200, // 0003 IMPORT R2 K1
0x880C0102, // 0004 GETMBR R3 R0 K2
0x88100103, // 0005 GETMBR R4 R0 K3
0xA40A1C00, // 0003 IMPORT R2 K14
0x880C0106, // 0004 GETMBR R3 R0 K6
0x88100102, // 0005 GETMBR R4 R0 K2
0x28100604, // 0006 GE R4 R3 R4
0x78120000, // 0007 JMPF R4 #0009
0x80000800, // 0008 RET 0
0x88100104, // 0009 GETMBR R4 R0 K4
0xB8160A00, // 000A GETNGBL R5 K5
0x8C140B04, // 000B GETMET R5 R5 K4
0x88100103, // 0009 GETMBR R4 R0 K3
0xB8160E00, // 000A GETNGBL R5 K7
0x8C140B03, // 000B GETMET R5 R5 K3
0x7C140200, // 000C CALL R5 1
0x98100605, // 000D SETIDX R4 R3 R5
0x88100106, // 000E GETMBR R4 R0 K6
0x88100104, // 000E GETMBR R4 R0 K4
0x98100601, // 000F SETIDX R4 R3 R1
0x88100107, // 0010 GETMBR R4 R0 K7
0x8C140507, // 0011 GETMET R5 R2 K7
0x8810010C, // 0010 GETMBR R4 R0 K12
0x8C14050C, // 0011 GETMET R5 R2 K12
0x7C140200, // 0012 CALL R5 1
0x98100605, // 0013 SETIDX R4 R3 R5
0x88100108, // 0014 GETMBR R4 R0 K8
0x8C140508, // 0015 GETMET R5 R2 K8
0x8810010D, // 0014 GETMBR R4 R0 K13
0x8C14050D, // 0015 GETMET R5 R2 K13
0x7C140200, // 0016 CALL R5 1
0x98100605, // 0017 SETIDX R4 R3 R5
0x88100102, // 0018 GETMBR R4 R0 K2
0x00100909, // 0019 ADD R4 R4 K9
0x90020404, // 001A SETMBR R0 K2 R4
0x88100106, // 0018 GETMBR R4 R0 K6
0x0010090F, // 0019 ADD R4 R4 K15
0x90020C04, // 001A SETMBR R0 K6 R4
0x80000000, // 001B RET 0
})
)
@ -228,64 +216,51 @@ be_local_closure(class_Matter_Profiler_dump, /* name */
be_nested_proto(
12, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(active),
/* K1 */ be_nested_str_weak(log),
/* K2 */ be_nested_str_weak(_X3C_X2D_X2Dend_X2D_X2D_X3E),
/* K3 */ be_nested_str_weak(MTR_X3A_X20Profiler_X20dump_X3A),
/* K4 */ be_nested_str_weak(millis),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(allocs),
/* K7 */ be_nested_str_weak(reallocs),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(len),
/* K10 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X254i_X20_X5B_X254i_X5D_X27_X25s_X27),
/* K11 */ be_nested_str_weak(names),
}),
&be_ktab_class_Matter_Profiler, /* shared constants */
be_str_weak(dump),
&be_const_str_solidified,
( &(const binstruction[37]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x740A0000, // 0001 JMPT R2 #0003
0x80000400, // 0002 RET 0
0x8C080101, // 0003 GETMET R2 R0 K1
0x58100002, // 0004 LDCONST R4 K2
0x8C080109, // 0003 GETMET R2 R0 K9
0x58100010, // 0004 LDCONST R4 K16
0x7C080400, // 0005 CALL R2 2
0xB80A0200, // 0006 GETNGBL R2 K1
0x580C0003, // 0007 LDCONST R3 K3
0xB80A1200, // 0006 GETNGBL R2 K9
0x580C0011, // 0007 LDCONST R3 K17
0x5C100200, // 0008 MOVE R4 R1
0x7C080400, // 0009 CALL R2 2
0x88080104, // 000A GETMBR R2 R0 K4
0x94080505, // 000B GETIDX R2 R2 K5
0x880C0106, // 000C GETMBR R3 R0 K6
0x940C0705, // 000D GETIDX R3 R3 K5
0x88100107, // 000E GETMBR R4 R0 K7
0x94100905, // 000F GETIDX R4 R4 K5
0x58140008, // 0010 LDCONST R5 K8
0x88180109, // 0011 GETMBR R6 R0 K9
0x88080103, // 000A GETMBR R2 R0 K3
0x94080501, // 000B GETIDX R2 R2 K1
0x880C010C, // 000C GETMBR R3 R0 K12
0x940C0701, // 000D GETIDX R3 R3 K1
0x8810010D, // 000E GETMBR R4 R0 K13
0x94100901, // 000F GETIDX R4 R4 K1
0x5814000F, // 0010 LDCONST R5 K15
0x88180106, // 0011 GETMBR R6 R0 K6
0x14180A06, // 0012 LT R6 R5 R6
0x781A000F, // 0013 JMPF R6 #0024
0xB81A0200, // 0014 GETNGBL R6 K1
0xB81A1200, // 0014 GETNGBL R6 K9
0x601C0018, // 0015 GETGBL R7 G24
0x5820000A, // 0016 LDCONST R8 K10
0x88240104, // 0017 GETMBR R9 R0 K4
0x58200012, // 0016 LDCONST R8 K18
0x88240103, // 0017 GETMBR R9 R0 K3
0x94241205, // 0018 GETIDX R9 R9 R5
0x04241202, // 0019 SUB R9 R9 R2
0x88280106, // 001A GETMBR R10 R0 K6
0x8828010C, // 001A GETMBR R10 R0 K12
0x94281405, // 001B GETIDX R10 R10 R5
0x04281403, // 001C SUB R10 R10 R3
0x882C010B, // 001D GETMBR R11 R0 K11
0x882C0104, // 001D GETMBR R11 R0 K4
0x942C1605, // 001E GETIDX R11 R11 R5
0x7C1C0800, // 001F CALL R7 4
0x5C200200, // 0020 MOVE R8 R1
0x7C180400, // 0021 CALL R6 2
0x00140B08, // 0022 ADD R5 R5 K8
0x00140B0F, // 0022 ADD R5 R5 K15
0x7001FFEC, // 0023 JMP #0011
0x80000000, // 0024 RET 0
})

View File

@ -3,6 +3,51 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_TCP_async' ktab size: 41, total: 80 (saved 312 bytes)
static const bvalue be_ktab_class_Matter_TCP_async[41] = {
/* K0 */ be_nested_str_weak(tcp_connected),
/* K1 */ be_nested_str_weak(tcp),
/* K2 */ be_nested_str_weak(read),
/* K3 */ be_nested_str_weak(reset),
/* K4 */ be_nested_str_weak(tasmota),
/* K5 */ be_nested_str_weak(wifi),
/* K6 */ be_nested_str_weak(up),
/* K7 */ be_nested_str_weak(eth),
/* K8 */ be_nested_str_weak(time_start),
/* K9 */ be_nested_str_weak(millis),
/* K10 */ be_nested_str_weak(status),
/* K11 */ be_const_int(0),
/* K12 */ be_nested_str_weak(connect),
/* K13 */ be_nested_str_weak(addr),
/* K14 */ be_nested_str_weak(port),
/* K15 */ be_nested_str_weak(fast_loop),
/* K16 */ be_nested_str_weak(remove_fast_loop),
/* K17 */ be_nested_str_weak(add_fast_loop),
/* K18 */ be_nested_str_weak(add_driver),
/* K19 */ be_nested_str_weak(log),
/* K20 */ be_nested_str_weak(BRY_X3A_X20failed_X20to_X20resolve_X20_X5B_X25s_X5D_X3A_X25i),
/* K21 */ be_const_int(3),
/* K22 */ be_nested_str_weak(close),
/* K23 */ be_nested_str_weak(event_dnsfailed),
/* K24 */ be_nested_str_weak(readbytes),
/* K25 */ be_nested_str_weak(available),
/* K26 */ be_nested_str_weak(timeout),
/* K27 */ be_nested_str_weak(TIMEOUT),
/* K28 */ be_nested_str_weak(tcpclientasync),
/* K29 */ be_nested_str_weak(loop),
/* K30 */ be_nested_str_weak(write),
/* K31 */ be_nested_str_weak(connected),
/* K32 */ be_const_int(1),
/* K33 */ be_nested_str_weak(event_established),
/* K34 */ be_nested_str_weak(event_refused),
/* K35 */ be_nested_str_weak(event_timeout),
/* K36 */ be_nested_str_weak(event_closed),
/* K37 */ be_nested_str_weak(event_available),
/* K38 */ be_nested_str_weak(listening),
/* K39 */ be_nested_str_weak(event_listening),
/* K40 */ be_nested_str_weak(remove_driver),
};
extern const bclass be_class_Matter_TCP_async;
@ -13,17 +58,13 @@ be_local_closure(class_Matter_TCP_async_read, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(tcp_connected),
/* K1 */ be_nested_str_weak(tcp),
/* K2 */ be_nested_str_weak(read),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(read),
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
@ -48,98 +89,74 @@ be_local_closure(class_Matter_TCP_async_begin, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[23]) { /* constants */
/* K0 */ be_nested_str_weak(reset),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(wifi),
/* K3 */ be_nested_str_weak(up),
/* K4 */ be_nested_str_weak(eth),
/* K5 */ be_nested_str_weak(time_start),
/* K6 */ be_nested_str_weak(millis),
/* K7 */ be_nested_str_weak(status),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str_weak(tcp),
/* K10 */ be_nested_str_weak(connect),
/* K11 */ be_nested_str_weak(addr),
/* K12 */ be_nested_str_weak(port),
/* K13 */ be_nested_str_weak(fast_loop),
/* K14 */ be_nested_str_weak(remove_fast_loop),
/* K15 */ be_nested_str_weak(add_fast_loop),
/* K16 */ be_nested_str_weak(add_driver),
/* K17 */ be_nested_str_weak(log),
/* K18 */ be_nested_str_weak(BRY_X3A_X20failed_X20to_X20resolve_X20_X5B_X25s_X5D_X3A_X25i),
/* K19 */ be_const_int(3),
/* K20 */ be_nested_str_weak(close),
/* K21 */ be_nested_str_weak(tcp_connected),
/* K22 */ be_nested_str_weak(event_dnsfailed),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(begin),
&be_const_str_solidified,
( &(const binstruction[62]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040103, // 0000 GETMET R1 R0 K3
0x7C040200, // 0001 CALL R1 1
0xB8060200, // 0002 GETNGBL R1 K1
0x8C040302, // 0003 GETMET R1 R1 K2
0xB8060800, // 0002 GETNGBL R1 K4
0x8C040305, // 0003 GETMET R1 R1 K5
0x7C040200, // 0004 CALL R1 1
0x94040303, // 0005 GETIDX R1 R1 K3
0x94040306, // 0005 GETIDX R1 R1 K6
0x74060006, // 0006 JMPT R1 #000E
0xB8060200, // 0007 GETNGBL R1 K1
0x8C040304, // 0008 GETMET R1 R1 K4
0xB8060800, // 0007 GETNGBL R1 K4
0x8C040307, // 0008 GETMET R1 R1 K7
0x7C040200, // 0009 CALL R1 1
0x94040303, // 000A GETIDX R1 R1 K3
0x94040306, // 000A GETIDX R1 R1 K6
0x74060001, // 000B JMPT R1 #000E
0x4C040000, // 000C LDNIL R1
0x80040200, // 000D RET 1 R1
0xB8060200, // 000E GETNGBL R1 K1
0x8C040306, // 000F GETMET R1 R1 K6
0xB8060800, // 000E GETNGBL R1 K4
0x8C040309, // 000F GETMET R1 R1 K9
0x7C040200, // 0010 CALL R1 1
0x90020A01, // 0011 SETMBR R0 K5 R1
0x90020F08, // 0012 SETMBR R0 K7 K8
0x88040109, // 0013 GETMBR R1 R0 K9
0x8C04030A, // 0014 GETMET R1 R1 K10
0x880C010B, // 0015 GETMBR R3 R0 K11
0x8810010C, // 0016 GETMBR R4 R0 K12
0x90021001, // 0011 SETMBR R0 K8 R1
0x9002150B, // 0012 SETMBR R0 K10 K11
0x88040101, // 0013 GETMBR R1 R0 K1
0x8C04030C, // 0014 GETMET R1 R1 K12
0x880C010D, // 0015 GETMBR R3 R0 K13
0x8810010E, // 0016 GETMBR R4 R0 K14
0x7C040600, // 0017 CALL R1 3
0x78060011, // 0018 JMPF R1 #002B
0x8804010D, // 0019 GETMBR R1 R0 K13
0x8804010F, // 0019 GETMBR R1 R0 K15
0x78060008, // 001A JMPF R1 #0024
0xB8060200, // 001B GETNGBL R1 K1
0x8C04030E, // 001C GETMET R1 R1 K14
0x880C010D, // 001D GETMBR R3 R0 K13
0xB8060800, // 001B GETNGBL R1 K4
0x8C040310, // 001C GETMET R1 R1 K16
0x880C010F, // 001D GETMBR R3 R0 K15
0x7C040400, // 001E CALL R1 2
0xB8060200, // 001F GETNGBL R1 K1
0x8C04030F, // 0020 GETMET R1 R1 K15
0x880C010D, // 0021 GETMBR R3 R0 K13
0xB8060800, // 001F GETNGBL R1 K4
0x8C040311, // 0020 GETMET R1 R1 K17
0x880C010F, // 0021 GETMBR R3 R0 K15
0x7C040400, // 0022 CALL R1 2
0x70020003, // 0023 JMP #0028
0xB8060200, // 0024 GETNGBL R1 K1
0x8C040310, // 0025 GETMET R1 R1 K16
0xB8060800, // 0024 GETNGBL R1 K4
0x8C040312, // 0025 GETMET R1 R1 K18
0x5C0C0000, // 0026 MOVE R3 R0
0x7C040400, // 0027 CALL R1 2
0x50040200, // 0028 LDBOOL R1 1 0
0x80040200, // 0029 RET 1 R1
0x70020011, // 002A JMP #003D
0xB8062200, // 002B GETNGBL R1 K17
0xB8062600, // 002B GETNGBL R1 K19
0x60080018, // 002C GETGBL R2 G24
0x580C0012, // 002D LDCONST R3 K18
0x8810010B, // 002E GETMBR R4 R0 K11
0x8814010C, // 002F GETMBR R5 R0 K12
0x580C0014, // 002D LDCONST R3 K20
0x8810010D, // 002E GETMBR R4 R0 K13
0x8814010E, // 002F GETMBR R5 R0 K14
0x7C080600, // 0030 CALL R2 3
0x580C0013, // 0031 LDCONST R3 K19
0x580C0015, // 0031 LDCONST R3 K21
0x7C040400, // 0032 CALL R1 2
0x8C040114, // 0033 GETMET R1 R0 K20
0x8C040116, // 0033 GETMET R1 R0 K22
0x7C040200, // 0034 CALL R1 1
0x5405FFFE, // 0035 LDINT R1 -1
0x90020E01, // 0036 SETMBR R0 K7 R1
0x90021401, // 0036 SETMBR R0 K10 R1
0x50040000, // 0037 LDBOOL R1 0 0
0x90022A01, // 0038 SETMBR R0 K21 R1
0x8C040116, // 0039 GETMET R1 R0 K22
0x90020001, // 0038 SETMBR R0 K0 R1
0x8C040117, // 0039 GETMET R1 R0 K23
0x7C040200, // 003A CALL R1 1
0x50040000, // 003B LDBOOL R1 0 0
0x80040200, // 003C RET 1 R1
@ -157,24 +174,20 @@ be_local_closure(class_Matter_TCP_async_readbytes, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(tcp_connected),
/* K1 */ be_nested_str_weak(tcp),
/* K2 */ be_nested_str_weak(readbytes),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(readbytes),
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x78060003, // 0001 JMPF R1 #0006
0x88040101, // 0002 GETMBR R1 R0 K1
0x8C040302, // 0003 GETMET R1 R1 K2
0x8C040318, // 0003 GETMET R1 R1 K24
0x7C040200, // 0004 CALL R1 1
0x80040200, // 0005 RET 1 R1
0x4C040000, // 0006 LDNIL R1
@ -192,13 +205,13 @@ be_local_closure(class_Matter_TCP_async_event_closed, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(event_closed),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -216,28 +229,23 @@ be_local_closure(class_Matter_TCP_async_available, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(tcp_connected),
/* K1 */ be_nested_str_weak(tcp),
/* K2 */ be_nested_str_weak(available),
/* K3 */ be_const_int(0),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(available),
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x78060003, // 0001 JMPF R1 #0006
0x88040101, // 0002 GETMBR R1 R0 K1
0x8C040302, // 0003 GETMET R1 R1 K2
0x8C040319, // 0003 GETMET R1 R1 K25
0x7C040200, // 0004 CALL R1 1
0x80040200, // 0005 RET 1 R1
0x80060600, // 0006 RET 1 K3
0x80061600, // 0006 RET 1 K11
})
)
);
@ -251,13 +259,13 @@ be_local_closure(class_Matter_TCP_async_event_listening, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(event_listening),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -275,19 +283,17 @@ be_local_closure(class_Matter_TCP_async_get_timeout, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(timeout),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(get_timeout),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8804011A, // 0000 GETMBR R1 R0 K26
0x80040200, // 0001 RET 1 R1
})
)
@ -302,7 +308,7 @@ be_local_closure(class_Matter_TCP_async_init, /* name */
be_nested_proto(
7, /* nstack */
5, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
@ -332,22 +338,14 @@ be_local_closure(class_Matter_TCP_async_init, /* name */
),
}),
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(TIMEOUT),
/* K1 */ be_nested_str_weak(addr),
/* K2 */ be_nested_str_weak(port),
/* K3 */ be_nested_str_weak(timeout),
/* K4 */ be_nested_str_weak(tcp),
/* K5 */ be_nested_str_weak(tcpclientasync),
/* K6 */ be_nested_str_weak(fast_loop),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
0x4C140000, // 0000 LDNIL R5
0x1C140605, // 0001 EQ R5 R3 R5
0x78160000, // 0002 JMPF R5 #0004
0x880C0100, // 0003 GETMBR R3 R0 K0
0x880C011B, // 0003 GETMBR R3 R0 K27
0x4C140000, // 0004 LDNIL R5
0x1C140405, // 0005 EQ R5 R2 R5
0x78160000, // 0006 JMPF R5 #0008
@ -355,18 +353,18 @@ be_local_closure(class_Matter_TCP_async_init, /* name */
0x60140008, // 0008 GETGBL R5 G8
0x5C180200, // 0009 MOVE R6 R1
0x7C140200, // 000A CALL R5 1
0x90020205, // 000B SETMBR R0 K1 R5
0x90021A05, // 000B SETMBR R0 K13 R5
0x60140009, // 000C GETGBL R5 G9
0x5C180400, // 000D MOVE R6 R2
0x7C140200, // 000E CALL R5 1
0x90020405, // 000F SETMBR R0 K2 R5
0x90020603, // 0010 SETMBR R0 K3 R3
0xB8160A00, // 0011 GETNGBL R5 K5
0x90021C05, // 000F SETMBR R0 K14 R5
0x90023403, // 0010 SETMBR R0 K26 R3
0xB8163800, // 0011 GETNGBL R5 K28
0x7C140000, // 0012 CALL R5 0
0x90020805, // 0013 SETMBR R0 K4 R5
0x90020205, // 0013 SETMBR R0 K1 R5
0x78120001, // 0014 JMPF R4 #0017
0x84140000, // 0015 CLOSURE R5 P0
0x90020C05, // 0016 SETMBR R0 K6 R5
0x90021E05, // 0016 SETMBR R0 K15 R5
0xA0000000, // 0017 CLOSE R0
0x80000000, // 0018 RET 0
})
@ -382,19 +380,17 @@ be_local_closure(class_Matter_TCP_async_every_50ms, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(loop),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(every_50ms),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C04011D, // 0000 GETMET R1 R0 K29
0x7C040200, // 0001 CALL R1 1
0x80000000, // 0002 RET 0
})
@ -410,13 +406,13 @@ be_local_closure(class_Matter_TCP_async_event_timeout, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(event_timeout),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -434,13 +430,13 @@ be_local_closure(class_Matter_TCP_async_event_available, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(event_available),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -458,29 +454,24 @@ be_local_closure(class_Matter_TCP_async_write, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(tcp_connected),
/* K1 */ be_nested_str_weak(tcp),
/* K2 */ be_nested_str_weak(write),
/* K3 */ be_const_int(0),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(write),
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x780A0004, // 0001 JMPF R2 #0007
0x88080101, // 0002 GETMBR R2 R0 K1
0x8C080502, // 0003 GETMET R2 R2 K2
0x8C08051E, // 0003 GETMET R2 R2 K30
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x80040400, // 0006 RET 1 R2
0x80060600, // 0007 RET 1 K3
0x80061600, // 0007 RET 1 K11
})
)
);
@ -494,13 +485,13 @@ be_local_closure(class_Matter_TCP_async_event_established, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(event_established),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -518,25 +509,21 @@ be_local_closure(class_Matter_TCP_async_reset, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(tcp),
/* K1 */ be_nested_str_weak(close),
/* K2 */ be_nested_str_weak(tcp_connected),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(reset),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x88040101, // 0000 GETMBR R1 R0 K1
0x8C040316, // 0001 GETMET R1 R1 K22
0x7C040200, // 0002 CALL R1 1
0x4C040000, // 0003 LDNIL R1
0x90020401, // 0004 SETMBR R0 K2 R1
0x90020001, // 0004 SETMBR R0 K0 R1
0x80000000, // 0005 RET 0
})
)
@ -551,45 +538,26 @@ be_local_closure(class_Matter_TCP_async_loop, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[18]) { /* constants */
/* K0 */ be_nested_str_weak(tcp_connected),
/* K1 */ be_nested_str_weak(status),
/* K2 */ be_nested_str_weak(close),
/* K3 */ be_nested_str_weak(tcp),
/* K4 */ be_nested_str_weak(connected),
/* K5 */ be_const_int(1),
/* K6 */ be_nested_str_weak(event_established),
/* K7 */ be_nested_str_weak(event_refused),
/* K8 */ be_nested_str_weak(tasmota),
/* K9 */ be_nested_str_weak(millis),
/* K10 */ be_nested_str_weak(time_start),
/* K11 */ be_nested_str_weak(timeout),
/* K12 */ be_nested_str_weak(event_timeout),
/* K13 */ be_nested_str_weak(event_closed),
/* K14 */ be_nested_str_weak(available),
/* K15 */ be_nested_str_weak(event_available),
/* K16 */ be_nested_str_weak(listening),
/* K17 */ be_nested_str_weak(event_listening),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(loop),
&be_const_str_solidified,
( &(const binstruction[89]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x8808010A, // 0001 GETMBR R2 R0 K10
0x4C0C0000, // 0002 LDNIL R3
0x1C080403, // 0003 EQ R2 R2 R3
0x780A0002, // 0004 JMPF R2 #0008
0x8C080102, // 0005 GETMET R2 R0 K2
0x8C080116, // 0005 GETMET R2 R0 K22
0x7C080200, // 0006 CALL R2 1
0x80000400, // 0007 RET 0
0x88080103, // 0008 GETMBR R2 R0 K3
0x8C080504, // 0009 GETMET R2 R2 K4
0x88080101, // 0008 GETMBR R2 R0 K1
0x8C08051F, // 0009 GETMET R2 R2 K31
0x7C080200, // 000A CALL R2 1
0x90020002, // 000B SETMBR R0 K0 R2
0x4C080000, // 000C LDNIL R2
@ -599,8 +567,8 @@ be_local_closure(class_Matter_TCP_async_loop, /* name */
0x500C0200, // 0010 LDBOOL R3 1 0
0x1C080403, // 0011 EQ R2 R2 R3
0x780A0003, // 0012 JMPF R2 #0017
0x90020305, // 0013 SETMBR R0 K1 K5
0x8C080106, // 0014 GETMET R2 R0 K6
0x90021520, // 0013 SETMBR R0 K10 K32
0x8C080121, // 0014 GETMET R2 R0 K33
0x7C080200, // 0015 CALL R2 1
0x70020019, // 0016 JMP #0031
0x88080100, // 0017 GETMBR R2 R0 K0
@ -608,40 +576,40 @@ be_local_closure(class_Matter_TCP_async_loop, /* name */
0x1C080403, // 0019 EQ R2 R2 R3
0x780A0007, // 001A JMPF R2 #0023
0x5409FFFD, // 001B LDINT R2 -2
0x90020202, // 001C SETMBR R0 K1 R2
0x8C080107, // 001D GETMET R2 R0 K7
0x90021402, // 001C SETMBR R0 K10 R2
0x8C080122, // 001D GETMET R2 R0 K34
0x7C080200, // 001E CALL R2 1
0x8C080102, // 001F GETMET R2 R0 K2
0x8C080116, // 001F GETMET R2 R0 K22
0x7C080200, // 0020 CALL R2 1
0x80000400, // 0021 RET 0
0x7002000D, // 0022 JMP #0031
0xB80A1000, // 0023 GETNGBL R2 K8
0xB80A0800, // 0023 GETNGBL R2 K4
0x8C080509, // 0024 GETMET R2 R2 K9
0x7C080200, // 0025 CALL R2 1
0x880C010A, // 0026 GETMBR R3 R0 K10
0x880C0108, // 0026 GETMBR R3 R0 K8
0x04080403, // 0027 SUB R2 R2 R3
0x880C010B, // 0028 GETMBR R3 R0 K11
0x880C011A, // 0028 GETMBR R3 R0 K26
0x24080403, // 0029 GT R2 R2 R3
0x780A0005, // 002A JMPF R2 #0031
0x5409FFFC, // 002B LDINT R2 -3
0x90020202, // 002C SETMBR R0 K1 R2
0x90021402, // 002C SETMBR R0 K10 R2
0x50080000, // 002D LDBOOL R2 0 0
0x90020002, // 002E SETMBR R0 K0 R2
0x8C08010C, // 002F GETMET R2 R0 K12
0x8C080123, // 002F GETMET R2 R0 K35
0x7C080200, // 0030 CALL R2 1
0xB80A1000, // 0031 GETNGBL R2 K8
0xB80A0800, // 0031 GETNGBL R2 K4
0x8C080509, // 0032 GETMET R2 R2 K9
0x7C080200, // 0033 CALL R2 1
0x880C010A, // 0034 GETMBR R3 R0 K10
0x880C0108, // 0034 GETMBR R3 R0 K8
0x04080403, // 0035 SUB R2 R2 R3
0x880C010B, // 0036 GETMBR R3 R0 K11
0x880C011A, // 0036 GETMBR R3 R0 K26
0x24080403, // 0037 GT R2 R2 R3
0x780A0006, // 0038 JMPF R2 #0040
0x8C080102, // 0039 GETMET R2 R0 K2
0x8C080116, // 0039 GETMET R2 R0 K22
0x7C080200, // 003A CALL R2 1
0x5409FFFC, // 003B LDINT R2 -3
0x90020202, // 003C SETMBR R0 K1 R2
0x8C08010C, // 003D GETMET R2 R0 K12
0x90021402, // 003C SETMBR R0 K10 R2
0x8C080123, // 003D GETMET R2 R0 K35
0x7C080200, // 003E CALL R2 1
0x80000400, // 003F RET 0
0x88080100, // 0040 GETMBR R2 R0 K0
@ -651,22 +619,22 @@ be_local_closure(class_Matter_TCP_async_loop, /* name */
0x50080200, // 0044 LDBOOL R2 1 0
0x1C080202, // 0045 EQ R2 R1 R2
0x780A0001, // 0046 JMPF R2 #0049
0x8C08010D, // 0047 GETMET R2 R0 K13
0x8C080124, // 0047 GETMET R2 R0 K36
0x7C080200, // 0048 CALL R2 1
0x8C080102, // 0049 GETMET R2 R0 K2
0x8C080116, // 0049 GETMET R2 R0 K22
0x7C080200, // 004A CALL R2 1
0x80000400, // 004B RET 0
0x88080103, // 004C GETMBR R2 R0 K3
0x8C08050E, // 004D GETMET R2 R2 K14
0x88080101, // 004C GETMBR R2 R0 K1
0x8C080519, // 004D GETMET R2 R2 K25
0x7C080200, // 004E CALL R2 1
0x780A0001, // 004F JMPF R2 #0052
0x8C08010F, // 0050 GETMET R2 R0 K15
0x8C080125, // 0050 GETMET R2 R0 K37
0x7C080200, // 0051 CALL R2 1
0x88080103, // 0052 GETMBR R2 R0 K3
0x8C080510, // 0053 GETMET R2 R2 K16
0x88080101, // 0052 GETMBR R2 R0 K1
0x8C080526, // 0053 GETMET R2 R2 K38
0x7C080200, // 0054 CALL R2 1
0x780A0001, // 0055 JMPF R2 #0058
0x8C080111, // 0056 GETMET R2 R0 K17
0x8C080127, // 0056 GETMET R2 R0 K39
0x7C080200, // 0057 CALL R2 1
0x80000000, // 0058 RET 0
})
@ -682,24 +650,20 @@ be_local_closure(class_Matter_TCP_async_listening, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(tcp_connected),
/* K1 */ be_nested_str_weak(tcp),
/* K2 */ be_nested_str_weak(listening),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(listening),
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x78060003, // 0001 JMPF R1 #0006
0x88040101, // 0002 GETMBR R1 R0 K1
0x8C040302, // 0003 GETMET R1 R1 K2
0x8C040326, // 0003 GETMET R1 R1 K38
0x7C040200, // 0004 CALL R1 1
0x80040200, // 0005 RET 1 R1
0x50040000, // 0006 LDBOOL R1 0 0
@ -717,24 +681,21 @@ be_local_closure(class_Matter_TCP_async_set_timeout, /* name */
be_nested_proto(
3, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(TIMEOUT),
/* K1 */ be_nested_str_weak(timeout),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(set_timeout),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x1C080202, // 0001 EQ R2 R1 R2
0x780A0000, // 0002 JMPF R2 #0004
0x88040100, // 0003 GETMBR R1 R0 K0
0x90020201, // 0004 SETMBR R0 K1 R1
0x8804011B, // 0003 GETMBR R1 R0 K27
0x90023401, // 0004 SETMBR R0 K26 R1
0x80000000, // 0005 RET 0
})
)
@ -749,13 +710,13 @@ be_local_closure(class_Matter_TCP_async_event_dnsfailed, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(event_dnsfailed),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
@ -773,47 +734,38 @@ be_local_closure(class_Matter_TCP_async_close, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(tcp),
/* K1 */ be_nested_str_weak(close),
/* K2 */ be_nested_str_weak(fast_loop),
/* K3 */ be_nested_str_weak(tasmota),
/* K4 */ be_nested_str_weak(remove_fast_loop),
/* K5 */ be_nested_str_weak(remove_driver),
/* K6 */ be_nested_str_weak(tcp_connected),
/* K7 */ be_nested_str_weak(event_closed),
}),
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(close),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x88040101, // 0000 GETMBR R1 R0 K1
0x8C040316, // 0001 GETMET R1 R1 K22
0x7C040200, // 0002 CALL R1 1
0x88040102, // 0003 GETMBR R1 R0 K2
0x8804010F, // 0003 GETMBR R1 R0 K15
0x78060004, // 0004 JMPF R1 #000A
0xB8060600, // 0005 GETNGBL R1 K3
0x8C040304, // 0006 GETMET R1 R1 K4
0x880C0102, // 0007 GETMBR R3 R0 K2
0xB8060800, // 0005 GETNGBL R1 K4
0x8C040310, // 0006 GETMET R1 R1 K16
0x880C010F, // 0007 GETMBR R3 R0 K15
0x7C040400, // 0008 CALL R1 2
0x70020003, // 0009 JMP #000E
0xB8060600, // 000A GETNGBL R1 K3
0x8C040305, // 000B GETMET R1 R1 K5
0xB8060800, // 000A GETNGBL R1 K4
0x8C040328, // 000B GETMET R1 R1 K40
0x5C0C0000, // 000C MOVE R3 R0
0x7C040400, // 000D CALL R1 2
0x88040106, // 000E GETMBR R1 R0 K6
0x88040100, // 000E GETMBR R1 R0 K0
0x50080200, // 000F LDBOOL R2 1 0
0x1C040202, // 0010 EQ R1 R1 R2
0x78060001, // 0011 JMPF R1 #0014
0x8C040107, // 0012 GETMET R1 R0 K7
0x8C040124, // 0012 GETMET R1 R0 K36
0x7C040200, // 0013 CALL R1 1
0x50040000, // 0014 LDBOOL R1 0 0
0x90020C01, // 0015 SETMBR R0 K6 R1
0x90020001, // 0015 SETMBR R0 K0 R1
0x80000000, // 0016 RET 0
})
)
@ -828,13 +780,13 @@ be_local_closure(class_Matter_TCP_async_event_refused, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_TCP_async, /* shared constants */
be_str_weak(event_refused),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */

File diff suppressed because it is too large Load Diff

View File

@ -109,6 +109,73 @@ be_local_class(Matter_UDPPacket_sent,
})),
be_str_weak(Matter_UDPPacket_sent)
);
extern const bclass be_class_Matter_UDPServer;
// compact class 'Matter_UDPServer' ktab size: 62, total: 103 (saved 328 bytes)
static const bvalue be_ktab_class_Matter_UDPServer[62] = {
/* K0 */ be_nested_str_weak(loop),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(UDPPacket_sent),
/* K3 */ be_nested_str_weak(send),
/* K4 */ be_nested_str_weak(msg_id),
/* K5 */ be_nested_str_weak(packets_sent),
/* K6 */ be_nested_str_weak(push),
/* K7 */ be_nested_str_weak(ack_message_counter),
/* K8 */ be_nested_str_weak(exchange_id),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str_weak(remove),
/* K11 */ be_nested_str_weak(tasmota),
/* K12 */ be_nested_str_weak(loglevel),
/* K13 */ be_nested_str_weak(log),
/* K14 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Removed_X20packet_X20from_X20sending_X20list_X20id_X3D),
/* K15 */ be_const_int(1),
/* K16 */ be_nested_str_weak(listening),
/* K17 */ be_nested_str_weak(udp_socket),
/* K18 */ be_nested_str_weak(udp),
/* K19 */ be_nested_str_weak(begin),
/* K20 */ be_nested_str_weak(addr),
/* K21 */ be_nested_str_weak(port),
/* K22 */ be_nested_str_weak(network_error),
/* K23 */ be_nested_str_weak(could_X20not_X20open_X20UDP_X20server),
/* K24 */ be_nested_str_weak(dispatch_cb),
/* K25 */ be_nested_str_weak(add_fast_loop),
/* K26 */ be_nested_str_weak(loop_cb),
/* K27 */ be_nested_str_weak(remote_ip),
/* K28 */ be_nested_str_weak(remote_port),
/* K29 */ be_nested_str_weak(raw),
/* K30 */ be_nested_str_weak(MTR_X3A_X20sending_X20packet_X20to_X20_X27_X5B_X25s_X5D_X3A_X25i_X27),
/* K31 */ be_const_int(3),
/* K32 */ be_nested_str_weak(MTR_X3A_X20error_X20sending_X20packet_X20to_X20_X27_X5B_X25s_X5D_X3A_X25i_X27),
/* K33 */ be_nested_str_weak(stop),
/* K34 */ be_nested_str_weak(remove_fast_loop),
/* K35 */ be_nested_str_weak(device),
/* K36 */ be_nested_str_weak(),
/* K37 */ be_const_int(0),
/* K38 */ be_nested_str_weak(time_reached),
/* K39 */ be_nested_str_weak(next_try),
/* K40 */ be_nested_str_weak(retries),
/* K41 */ be_nested_str_weak(RETRIES),
/* K42 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Resending_X20packet_X20id_X3D),
/* K43 */ be_nested_str_weak(millis),
/* K44 */ be_nested_str_weak(_backoff_time),
/* K45 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20Unacked_X20packet_X20_X27_X5B_X25s_X5D_X3A_X25i_X27_X20msg_id_X3D_X25i),
/* K46 */ be_nested_str_weak(session_id),
/* K47 */ be_const_class(be_class_Matter_UDPServer),
/* K48 */ be_nested_str_weak(math),
/* K49 */ be_nested_str_weak(rand),
/* K50 */ be_const_real_hex(0x3FCCCCCD),
/* K51 */ be_const_real_hex(0x3F800000),
/* K52 */ be_const_real_hex(0x3E800000),
/* K53 */ be_nested_str_weak(profiler),
/* K54 */ be_nested_str_weak(read),
/* K55 */ be_nested_str_weak(packet),
/* K56 */ be_nested_str_weak(start),
/* K57 */ be_nested_str_weak(MTR_X3A_X20UDP_X20received_X20from_X20_X5B_X25s_X5D_X3A_X25i),
/* K58 */ be_nested_str_weak(dump),
/* K59 */ be_const_int(2),
/* K60 */ be_nested_str_weak(MAX_PACKETS_READ),
/* K61 */ be_nested_str_weak(_resend_packets),
};
extern const bclass be_class_Matter_UDPServer;
@ -119,15 +186,13 @@ be_local_closure(class_Matter_UDPServer_every_50ms, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(loop),
}),
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(every_50ms),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
@ -147,34 +212,27 @@ be_local_closure(class_Matter_UDPServer_send_UDP, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(matter),
/* K1 */ be_nested_str_weak(UDPPacket_sent),
/* K2 */ be_nested_str_weak(send),
/* K3 */ be_nested_str_weak(msg_id),
/* K4 */ be_nested_str_weak(packets_sent),
/* K5 */ be_nested_str_weak(push),
}),
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(send_UDP),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0xB80A0000, // 0000 GETNGBL R2 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0xB80A0200, // 0000 GETNGBL R2 K1
0x8C080502, // 0001 GETMET R2 R2 K2
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x8C0C0102, // 0004 GETMET R3 R0 K2
0x8C0C0103, // 0004 GETMET R3 R0 K3
0x5C140400, // 0005 MOVE R5 R2
0x7C0C0400, // 0006 CALL R3 2
0x880C0503, // 0007 GETMBR R3 R2 K3
0x880C0504, // 0007 GETMBR R3 R2 K4
0x780E0003, // 0008 JMPF R3 #000D
0x880C0104, // 0009 GETMBR R3 R0 K4
0x8C0C0705, // 000A GETMET R3 R3 K5
0x880C0105, // 0009 GETMBR R3 R0 K5
0x8C0C0706, // 000A GETMET R3 R3 K6
0x5C140400, // 000B MOVE R5 R2
0x7C0C0400, // 000C CALL R3 2
0x80000000, // 000D RET 0
@ -191,66 +249,54 @@ be_local_closure(class_Matter_UDPServer_received_ack, /* name */
be_nested_proto(
9, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(ack_message_counter),
/* K1 */ be_nested_str_weak(exchange_id),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str_weak(packets_sent),
/* K4 */ be_nested_str_weak(msg_id),
/* K5 */ be_nested_str_weak(remove),
/* K6 */ be_nested_str_weak(tasmota),
/* K7 */ be_nested_str_weak(loglevel),
/* K8 */ be_nested_str_weak(log),
/* K9 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Removed_X20packet_X20from_X20sending_X20list_X20id_X3D),
/* K10 */ be_const_int(1),
}),
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(received_ack),
&be_const_str_solidified,
( &(const binstruction[40]) { /* code */
0x88080300, // 0000 GETMBR R2 R1 K0
0x880C0301, // 0001 GETMBR R3 R1 K1
0x88080307, // 0000 GETMBR R2 R1 K7
0x880C0308, // 0001 GETMBR R3 R1 K8
0x4C100000, // 0002 LDNIL R4
0x1C100404, // 0003 EQ R4 R2 R4
0x78120000, // 0004 JMPF R4 #0006
0x80000800, // 0005 RET 0
0x58100002, // 0006 LDCONST R4 K2
0x58100009, // 0006 LDCONST R4 K9
0x6014000C, // 0007 GETGBL R5 G12
0x88180103, // 0008 GETMBR R6 R0 K3
0x88180105, // 0008 GETMBR R6 R0 K5
0x7C140200, // 0009 CALL R5 1
0x14140805, // 000A LT R5 R4 R5
0x7816001A, // 000B JMPF R5 #0027
0x88140103, // 000C GETMBR R5 R0 K3
0x88140105, // 000C GETMBR R5 R0 K5
0x94140A04, // 000D GETIDX R5 R5 R4
0x88180B04, // 000E GETMBR R6 R5 K4
0x1C180C02, // 000F EQ R6 R6 R2
0x781A0013, // 0010 JMPF R6 #0025
0x88180B01, // 0011 GETMBR R6 R5 K1
0x88180B08, // 0011 GETMBR R6 R5 K8
0x1C180C03, // 0012 EQ R6 R6 R3
0x781A0010, // 0013 JMPF R6 #0025
0x88180103, // 0014 GETMBR R6 R0 K3
0x8C180D05, // 0015 GETMET R6 R6 K5
0x88180105, // 0014 GETMBR R6 R0 K5
0x8C180D0A, // 0015 GETMET R6 R6 K10
0x5C200800, // 0016 MOVE R8 R4
0x7C180400, // 0017 CALL R6 2
0xB81A0C00, // 0018 GETNGBL R6 K6
0x8C180D07, // 0019 GETMET R6 R6 K7
0xB81A1600, // 0018 GETNGBL R6 K11
0x8C180D0C, // 0019 GETMET R6 R6 K12
0x54220003, // 001A LDINT R8 4
0x7C180400, // 001B CALL R6 2
0x781A0006, // 001C JMPF R6 #0024
0xB81A1000, // 001D GETNGBL R6 K8
0xB81A1A00, // 001D GETNGBL R6 K13
0x601C0008, // 001E GETGBL R7 G8
0x5C200400, // 001F MOVE R8 R2
0x7C1C0200, // 0020 CALL R7 1
0x001E1207, // 0021 ADD R7 K9 R7
0x001E1C07, // 0021 ADD R7 K14 R7
0x54220003, // 0022 LDINT R8 4
0x7C180400, // 0023 CALL R6 2
0x70020000, // 0024 JMP #0026
0x0010090A, // 0025 ADD R4 R4 K10
0x0010090F, // 0025 ADD R4 R4 K15
0x7001FFDF, // 0026 JMP #0007
0x80000000, // 0027 RET 0
})
@ -266,48 +312,35 @@ be_local_closure(class_Matter_UDPServer_start, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(listening),
/* K1 */ be_nested_str_weak(udp_socket),
/* K2 */ be_nested_str_weak(udp),
/* K3 */ be_nested_str_weak(begin),
/* K4 */ be_nested_str_weak(addr),
/* K5 */ be_nested_str_weak(port),
/* K6 */ be_nested_str_weak(network_error),
/* K7 */ be_nested_str_weak(could_X20not_X20open_X20UDP_X20server),
/* K8 */ be_nested_str_weak(dispatch_cb),
/* K9 */ be_nested_str_weak(tasmota),
/* K10 */ be_nested_str_weak(add_fast_loop),
/* K11 */ be_nested_str_weak(loop_cb),
}),
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(start),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x88080110, // 0000 GETMBR R2 R0 K16
0x740A0011, // 0001 JMPT R2 #0014
0xB80A0400, // 0002 GETNGBL R2 K2
0xB80A2400, // 0002 GETNGBL R2 K18
0x7C080000, // 0003 CALL R2 0
0x90020202, // 0004 SETMBR R0 K1 R2
0x88080101, // 0005 GETMBR R2 R0 K1
0x8C080503, // 0006 GETMET R2 R2 K3
0x88100104, // 0007 GETMBR R4 R0 K4
0x88140105, // 0008 GETMBR R5 R0 K5
0x90022202, // 0004 SETMBR R0 K17 R2
0x88080111, // 0005 GETMBR R2 R0 K17
0x8C080513, // 0006 GETMET R2 R2 K19
0x88100114, // 0007 GETMBR R4 R0 K20
0x88140115, // 0008 GETMBR R5 R0 K21
0x7C080600, // 0009 CALL R2 3
0x5C0C0400, // 000A MOVE R3 R2
0x740E0000, // 000B JMPT R3 #000D
0xB0060D07, // 000C RAISE 1 K6 K7
0xB0062D17, // 000C RAISE 1 K22 K23
0x500C0200, // 000D LDBOOL R3 1 0
0x90020003, // 000E SETMBR R0 K0 R3
0x90021001, // 000F SETMBR R0 K8 R1
0xB80E1200, // 0010 GETNGBL R3 K9
0x8C0C070A, // 0011 GETMET R3 R3 K10
0x8814010B, // 0012 GETMBR R5 R0 K11
0x90022003, // 000E SETMBR R0 K16 R3
0x90023001, // 000F SETMBR R0 K24 R1
0xB80E1600, // 0010 GETNGBL R3 K11
0x8C0C0719, // 0011 GETMET R3 R3 K25
0x8814011A, // 0012 GETMBR R5 R0 K26
0x7C0C0400, // 0013 CALL R3 2
0x80000000, // 0014 RET 0
})
@ -323,73 +356,59 @@ be_local_closure(class_Matter_UDPServer_send, /* name */
be_nested_proto(
8, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(udp_socket),
/* K1 */ be_nested_str_weak(send),
/* K2 */ be_nested_str_weak(addr),
/* K3 */ be_nested_str_weak(remote_ip),
/* K4 */ be_nested_str_weak(port),
/* K5 */ be_nested_str_weak(remote_port),
/* K6 */ be_nested_str_weak(raw),
/* K7 */ be_nested_str_weak(tasmota),
/* K8 */ be_nested_str_weak(loglevel),
/* K9 */ be_nested_str_weak(log),
/* K10 */ be_nested_str_weak(MTR_X3A_X20sending_X20packet_X20to_X20_X27_X5B_X25s_X5D_X3A_X25i_X27),
/* K11 */ be_const_int(3),
/* K12 */ be_nested_str_weak(MTR_X3A_X20error_X20sending_X20packet_X20to_X20_X27_X5B_X25s_X5D_X3A_X25i_X27),
}),
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(send),
&be_const_str_solidified,
( &(const binstruction[45]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100302, // 0002 GETMBR R4 R1 K2
0x88080111, // 0000 GETMBR R2 R0 K17
0x8C080503, // 0001 GETMET R2 R2 K3
0x88100314, // 0002 GETMBR R4 R1 K20
0x78120001, // 0003 JMPF R4 #0006
0x88100302, // 0004 GETMBR R4 R1 K2
0x88100314, // 0004 GETMBR R4 R1 K20
0x70020001, // 0005 JMP #0008
0x88100100, // 0006 GETMBR R4 R0 K0
0x88100903, // 0007 GETMBR R4 R4 K3
0x88140304, // 0008 GETMBR R5 R1 K4
0x88100111, // 0006 GETMBR R4 R0 K17
0x8810091B, // 0007 GETMBR R4 R4 K27
0x88140315, // 0008 GETMBR R5 R1 K21
0x78160001, // 0009 JMPF R5 #000C
0x88140304, // 000A GETMBR R5 R1 K4
0x88140315, // 000A GETMBR R5 R1 K21
0x70020001, // 000B JMP #000E
0x88140100, // 000C GETMBR R5 R0 K0
0x88140B05, // 000D GETMBR R5 R5 K5
0x88180306, // 000E GETMBR R6 R1 K6
0x88140111, // 000C GETMBR R5 R0 K17
0x88140B1C, // 000D GETMBR R5 R5 K28
0x8818031D, // 000E GETMBR R6 R1 K29
0x7C080800, // 000F CALL R2 4
0x780A000D, // 0010 JMPF R2 #001F
0xB80E0E00, // 0011 GETNGBL R3 K7
0x8C0C0708, // 0012 GETMET R3 R3 K8
0xB80E1600, // 0011 GETNGBL R3 K11
0x8C0C070C, // 0012 GETMET R3 R3 K12
0x54160003, // 0013 LDINT R5 4
0x7C0C0400, // 0014 CALL R3 2
0x780E0007, // 0015 JMPF R3 #001E
0xB80E1200, // 0016 GETNGBL R3 K9
0xB80E1A00, // 0016 GETNGBL R3 K13
0x60100018, // 0017 GETGBL R4 G24
0x5814000A, // 0018 LDCONST R5 K10
0x88180302, // 0019 GETMBR R6 R1 K2
0x881C0304, // 001A GETMBR R7 R1 K4
0x5814001E, // 0018 LDCONST R5 K30
0x88180314, // 0019 GETMBR R6 R1 K20
0x881C0315, // 001A GETMBR R7 R1 K21
0x7C100600, // 001B CALL R4 3
0x54160003, // 001C LDINT R5 4
0x7C0C0400, // 001D CALL R3 2
0x7002000C, // 001E JMP #002C
0xB80E0E00, // 001F GETNGBL R3 K7
0x8C0C0708, // 0020 GETMET R3 R3 K8
0x5814000B, // 0021 LDCONST R5 K11
0xB80E1600, // 001F GETNGBL R3 K11
0x8C0C070C, // 0020 GETMET R3 R3 K12
0x5814001F, // 0021 LDCONST R5 K31
0x7C0C0400, // 0022 CALL R3 2
0x780E0007, // 0023 JMPF R3 #002C
0xB80E1200, // 0024 GETNGBL R3 K9
0xB80E1A00, // 0024 GETNGBL R3 K13
0x60100018, // 0025 GETGBL R4 G24
0x5814000C, // 0026 LDCONST R5 K12
0x88180302, // 0027 GETMBR R6 R1 K2
0x881C0304, // 0028 GETMBR R7 R1 K4
0x58140020, // 0026 LDCONST R5 K32
0x88180314, // 0027 GETMBR R6 R1 K20
0x881C0315, // 0028 GETMBR R7 R1 K21
0x7C100600, // 0029 CALL R4 3
0x5814000B, // 002A LDCONST R5 K11
0x5814001F, // 002A LDCONST R5 K31
0x7C0C0400, // 002B CALL R3 2
0x80040400, // 002C RET 1 R2
})
@ -405,33 +424,26 @@ be_local_closure(class_Matter_UDPServer_stop, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(listening),
/* K1 */ be_nested_str_weak(udp_socket),
/* K2 */ be_nested_str_weak(stop),
/* K3 */ be_nested_str_weak(tasmota),
/* K4 */ be_nested_str_weak(remove_fast_loop),
/* K5 */ be_nested_str_weak(loop_cb),
}),
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(stop),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040110, // 0000 GETMBR R1 R0 K16
0x78060008, // 0001 JMPF R1 #000B
0x88040101, // 0002 GETMBR R1 R0 K1
0x8C040302, // 0003 GETMET R1 R1 K2
0x88040111, // 0002 GETMBR R1 R0 K17
0x8C040321, // 0003 GETMET R1 R1 K33
0x7C040200, // 0004 CALL R1 1
0x50040000, // 0005 LDBOOL R1 0 0
0x90020001, // 0006 SETMBR R0 K0 R1
0xB8060600, // 0007 GETNGBL R1 K3
0x8C040304, // 0008 GETMET R1 R1 K4
0x880C0105, // 0009 GETMBR R3 R0 K5
0x90022001, // 0006 SETMBR R0 K16 R1
0xB8061600, // 0007 GETNGBL R1 K11
0x8C040322, // 0008 GETMET R1 R1 K34
0x880C011A, // 0009 GETMBR R3 R0 K26
0x7C040400, // 000A CALL R1 2
0x80000000, // 000B RET 0
})
@ -447,7 +459,7 @@ be_local_closure(class_Matter_UDPServer_init, /* name */
be_nested_proto(
5, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
@ -477,36 +489,28 @@ be_local_closure(class_Matter_UDPServer_init, /* name */
),
}),
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(device),
/* K1 */ be_nested_str_weak(addr),
/* K2 */ be_nested_str_weak(),
/* K3 */ be_nested_str_weak(port),
/* K4 */ be_nested_str_weak(listening),
/* K5 */ be_nested_str_weak(packets_sent),
/* K6 */ be_nested_str_weak(loop_cb),
}),
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90024601, // 0000 SETMBR R0 K35 R1
0x780A0001, // 0001 JMPF R2 #0004
0x5C100400, // 0002 MOVE R4 R2
0x70020000, // 0003 JMP #0005
0x58100002, // 0004 LDCONST R4 K2
0x90020204, // 0005 SETMBR R0 K1 R4
0x58100024, // 0004 LDCONST R4 K36
0x90022804, // 0005 SETMBR R0 K20 R4
0x780E0001, // 0006 JMPF R3 #0009
0x5C100600, // 0007 MOVE R4 R3
0x70020000, // 0008 JMP #000A
0x541215A3, // 0009 LDINT R4 5540
0x90020604, // 000A SETMBR R0 K3 R4
0x90022A04, // 000A SETMBR R0 K21 R4
0x50100000, // 000B LDBOOL R4 0 0
0x90020804, // 000C SETMBR R0 K4 R4
0x90022004, // 000C SETMBR R0 K16 R4
0x60100012, // 000D GETGBL R4 G18
0x7C100000, // 000E CALL R4 0
0x90020A04, // 000F SETMBR R0 K5 R4
0x84100000, // 0010 CLOSURE R4 P0
0x90020C04, // 0011 SETMBR R0 K6 R4
0x90023404, // 0011 SETMBR R0 K26 R4
0xA0000000, // 0012 CLOSE R0
0x80000000, // 0013 RET 0
})
@ -522,93 +526,72 @@ be_local_closure(class_Matter_UDPServer__resend_packets, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[20]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(packets_sent),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(time_reached),
/* K4 */ be_nested_str_weak(next_try),
/* K5 */ be_nested_str_weak(retries),
/* K6 */ be_nested_str_weak(RETRIES),
/* K7 */ be_nested_str_weak(log),
/* K8 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Resending_X20packet_X20id_X3D),
/* K9 */ be_nested_str_weak(msg_id),
/* K10 */ be_nested_str_weak(send),
/* K11 */ be_nested_str_weak(millis),
/* K12 */ be_nested_str_weak(_backoff_time),
/* K13 */ be_const_int(1),
/* K14 */ be_nested_str_weak(remove),
/* K15 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20Unacked_X20packet_X20_X27_X5B_X25s_X5D_X3A_X25i_X27_X20msg_id_X3D_X25i),
/* K16 */ be_nested_str_weak(session_id),
/* K17 */ be_nested_str_weak(addr),
/* K18 */ be_nested_str_weak(port),
/* K19 */ be_const_int(3),
}),
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(_resend_packets),
&be_const_str_solidified,
( &(const binstruction[58]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0x58040025, // 0000 LDCONST R1 K37
0x6008000C, // 0001 GETGBL R2 G12
0x880C0101, // 0002 GETMBR R3 R0 K1
0x880C0105, // 0002 GETMBR R3 R0 K5
0x7C080200, // 0003 CALL R2 1
0x14080202, // 0004 LT R2 R1 R2
0x780A0032, // 0005 JMPF R2 #0039
0x88080101, // 0006 GETMBR R2 R0 K1
0x88080105, // 0006 GETMBR R2 R0 K5
0x94080401, // 0007 GETIDX R2 R2 R1
0xB80E0400, // 0008 GETNGBL R3 K2
0x8C0C0703, // 0009 GETMET R3 R3 K3
0x88140504, // 000A GETMBR R5 R2 K4
0xB80E1600, // 0008 GETNGBL R3 K11
0x8C0C0726, // 0009 GETMET R3 R3 K38
0x88140527, // 000A GETMBR R5 R2 K39
0x7C0C0400, // 000B CALL R3 2
0x780E0029, // 000C JMPF R3 #0037
0x880C0505, // 000D GETMBR R3 R2 K5
0x88100106, // 000E GETMBR R4 R0 K6
0x880C0528, // 000D GETMBR R3 R2 K40
0x88100129, // 000E GETMBR R4 R0 K41
0x180C0604, // 000F LE R3 R3 R4
0x780E0016, // 0010 JMPF R3 #0028
0xB80E0E00, // 0011 GETNGBL R3 K7
0xB80E1A00, // 0011 GETNGBL R3 K13
0x60100008, // 0012 GETGBL R4 G8
0x88140509, // 0013 GETMBR R5 R2 K9
0x88140504, // 0013 GETMBR R5 R2 K4
0x7C100200, // 0014 CALL R4 1
0x00121004, // 0015 ADD R4 K8 R4
0x00125404, // 0015 ADD R4 K42 R4
0x54160003, // 0016 LDINT R5 4
0x7C0C0400, // 0017 CALL R3 2
0x8C0C010A, // 0018 GETMET R3 R0 K10
0x8C0C0103, // 0018 GETMET R3 R0 K3
0x5C140400, // 0019 MOVE R5 R2
0x7C0C0400, // 001A CALL R3 2
0xB80E0400, // 001B GETNGBL R3 K2
0x8C0C070B, // 001C GETMET R3 R3 K11
0xB80E1600, // 001B GETNGBL R3 K11
0x8C0C072B, // 001C GETMET R3 R3 K43
0x7C0C0200, // 001D CALL R3 1
0x8C10010C, // 001E GETMET R4 R0 K12
0x88180505, // 001F GETMBR R6 R2 K5
0x8C10012C, // 001E GETMET R4 R0 K44
0x88180528, // 001F GETMBR R6 R2 K40
0x7C100400, // 0020 CALL R4 2
0x000C0604, // 0021 ADD R3 R3 R4
0x900A0803, // 0022 SETMBR R2 K4 R3
0x880C0505, // 0023 GETMBR R3 R2 K5
0x000C070D, // 0024 ADD R3 R3 K13
0x900A0A03, // 0025 SETMBR R2 K5 R3
0x0004030D, // 0026 ADD R1 R1 K13
0x900A4E03, // 0022 SETMBR R2 K39 R3
0x880C0528, // 0023 GETMBR R3 R2 K40
0x000C070F, // 0024 ADD R3 R3 K15
0x900A5003, // 0025 SETMBR R2 K40 R3
0x0004030F, // 0026 ADD R1 R1 K15
0x7002000D, // 0027 JMP #0036
0x880C0101, // 0028 GETMBR R3 R0 K1
0x8C0C070E, // 0029 GETMET R3 R3 K14
0x880C0105, // 0028 GETMBR R3 R0 K5
0x8C0C070A, // 0029 GETMET R3 R3 K10
0x5C140200, // 002A MOVE R5 R1
0x7C0C0400, // 002B CALL R3 2
0xB80E0E00, // 002C GETNGBL R3 K7
0xB80E1A00, // 002C GETNGBL R3 K13
0x60100018, // 002D GETGBL R4 G24
0x5814000F, // 002E LDCONST R5 K15
0x88180510, // 002F GETMBR R6 R2 K16
0x881C0511, // 0030 GETMBR R7 R2 K17
0x88200512, // 0031 GETMBR R8 R2 K18
0x88240509, // 0032 GETMBR R9 R2 K9
0x5814002D, // 002E LDCONST R5 K45
0x8818052E, // 002F GETMBR R6 R2 K46
0x881C0514, // 0030 GETMBR R7 R2 K20
0x88200515, // 0031 GETMBR R8 R2 K21
0x88240504, // 0032 GETMBR R9 R2 K4
0x7C100A00, // 0033 CALL R4 5
0x58140013, // 0034 LDCONST R5 K19
0x5814001F, // 0034 LDCONST R5 K31
0x7C0C0400, // 0035 CALL R3 2
0x70020000, // 0036 JMP #0038
0x0004030D, // 0037 ADD R1 R1 K13
0x0004030F, // 0037 ADD R1 R1 K15
0x7001FFC7, // 0038 JMP #0001
0x80000000, // 0039 RET 0
})
@ -624,7 +607,7 @@ be_local_closure(class_Matter_UDPServer__backoff_time, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
4, /* varg */
12, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
@ -656,43 +639,34 @@ be_local_closure(class_Matter_UDPServer__backoff_time, /* name */
),
}),
1, /* has constants */
( &(const bvalue[ 8]) { /* constants */
/* K0 */ be_const_class(be_class_Matter_UDPServer),
/* K1 */ be_nested_str_weak(math),
/* K2 */ be_nested_str_weak(rand),
/* K3 */ be_const_int(0),
/* K4 */ be_const_int(1),
/* K5 */ be_const_real_hex(0x3FCCCCCD),
/* K6 */ be_const_real_hex(0x3F800000),
/* K7 */ be_const_real_hex(0x3E800000),
}),
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(_backoff_time),
&be_const_str_solidified,
( &(const binstruction[29]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0x5804002F, // 0000 LDCONST R1 K47
0x84080000, // 0001 CLOSURE R2 P0
0xA40E0200, // 0002 IMPORT R3 K1
0xA40E6000, // 0002 IMPORT R3 K48
0x5412012B, // 0003 LDINT R4 300
0x6014000A, // 0004 GETGBL R5 G10
0x8C180702, // 0005 GETMET R6 R3 K2
0x8C180731, // 0005 GETMET R6 R3 K49
0x7C180200, // 0006 CALL R6 1
0x541E00FE, // 0007 LDINT R7 255
0x2C180C07, // 0008 AND R6 R6 R7
0x7C140200, // 0009 CALL R5 1
0x541A00FE, // 000A LDINT R6 255
0x0C140A06, // 000B DIV R5 R5 R6
0x24180103, // 000C GT R6 R0 K3
0x24180125, // 000C GT R6 R0 K37
0x781A0001, // 000D JMPF R6 #0010
0x04180104, // 000E SUB R6 R0 K4
0x0418010F, // 000E SUB R6 R0 K15
0x70020000, // 000F JMP #0011
0x58180003, // 0010 LDCONST R6 K3
0x58180025, // 0010 LDCONST R6 K37
0x5C1C0400, // 0011 MOVE R7 R2
0x58200005, // 0012 LDCONST R8 K5
0x58200032, // 0012 LDCONST R8 K50
0x5C240C00, // 0013 MOVE R9 R6
0x7C1C0400, // 0014 CALL R7 2
0x081C0807, // 0015 MUL R7 R4 R7
0x08200B07, // 0016 MUL R8 R5 K7
0x00220C08, // 0017 ADD R8 K6 R8
0x08200B34, // 0016 MUL R8 R5 K52
0x00226608, // 0017 ADD R8 K51 R8
0x081C0E08, // 0018 MUL R7 R7 R8
0x60200009, // 0019 GETGBL R8 G9
0x5C240E00, // 001A MOVE R9 R7
@ -711,93 +685,73 @@ be_local_closure(class_Matter_UDPServer_loop, /* name */
be_nested_proto(
11, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[19]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(profiler),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str_weak(udp_socket),
/* K4 */ be_nested_str_weak(read),
/* K5 */ be_nested_str_weak(packet),
/* K6 */ be_nested_str_weak(start),
/* K7 */ be_const_int(1),
/* K8 */ be_nested_str_weak(remote_ip),
/* K9 */ be_nested_str_weak(remote_port),
/* K10 */ be_nested_str_weak(tasmota),
/* K11 */ be_nested_str_weak(loglevel),
/* K12 */ be_nested_str_weak(log),
/* K13 */ be_nested_str_weak(MTR_X3A_X20UDP_X20received_X20from_X20_X5B_X25s_X5D_X3A_X25i),
/* K14 */ be_nested_str_weak(dispatch_cb),
/* K15 */ be_nested_str_weak(dump),
/* K16 */ be_const_int(2),
/* K17 */ be_nested_str_weak(MAX_PACKETS_READ),
/* K18 */ be_nested_str_weak(_resend_packets),
}),
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(loop),
&be_const_str_solidified,
( &(const binstruction[59]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x88040301, // 0001 GETMBR R1 R1 K1
0x58080002, // 0002 LDCONST R2 K2
0x880C0103, // 0003 GETMBR R3 R0 K3
0xB8060200, // 0000 GETNGBL R1 K1
0x88040335, // 0001 GETMBR R1 R1 K53
0x58080009, // 0002 LDCONST R2 K9
0x880C0111, // 0003 GETMBR R3 R0 K17
0x4C100000, // 0004 LDNIL R4
0x1C0C0604, // 0005 EQ R3 R3 R4
0x780E0000, // 0006 JMPF R3 #0008
0x80000600, // 0007 RET 0
0x880C0103, // 0008 GETMBR R3 R0 K3
0x8C0C0704, // 0009 GETMET R3 R3 K4
0x88140105, // 000A GETMBR R5 R0 K5
0x880C0111, // 0008 GETMBR R3 R0 K17
0x8C0C0736, // 0009 GETMET R3 R3 K54
0x88140137, // 000A GETMBR R5 R0 K55
0x7C0C0400, // 000B CALL R3 2
0x4C100000, // 000C LDNIL R4
0x20100604, // 000D NE R4 R3 R4
0x78120028, // 000E JMPF R4 #0038
0x8C100306, // 000F GETMET R4 R1 K6
0x8C100338, // 000F GETMET R4 R1 K56
0x7C100200, // 0010 CALL R4 1
0x90020A03, // 0011 SETMBR R0 K5 R3
0x00080507, // 0012 ADD R2 R2 K7
0x88100103, // 0013 GETMBR R4 R0 K3
0x88100908, // 0014 GETMBR R4 R4 K8
0x88140103, // 0015 GETMBR R5 R0 K3
0x88140B09, // 0016 GETMBR R5 R5 K9
0xB81A1400, // 0017 GETNGBL R6 K10
0x8C180D0B, // 0018 GETMET R6 R6 K11
0x90026E03, // 0011 SETMBR R0 K55 R3
0x0008050F, // 0012 ADD R2 R2 K15
0x88100111, // 0013 GETMBR R4 R0 K17
0x8810091B, // 0014 GETMBR R4 R4 K27
0x88140111, // 0015 GETMBR R5 R0 K17
0x88140B1C, // 0016 GETMBR R5 R5 K28
0xB81A1600, // 0017 GETNGBL R6 K11
0x8C180D0C, // 0018 GETMET R6 R6 K12
0x54220003, // 0019 LDINT R8 4
0x7C180400, // 001A CALL R6 2
0x781A0007, // 001B JMPF R6 #0024
0xB81A1800, // 001C GETNGBL R6 K12
0xB81A1A00, // 001C GETNGBL R6 K13
0x601C0018, // 001D GETGBL R7 G24
0x5820000D, // 001E LDCONST R8 K13
0x58200039, // 001E LDCONST R8 K57
0x5C240800, // 001F MOVE R9 R4
0x5C280A00, // 0020 MOVE R10 R5
0x7C1C0600, // 0021 CALL R7 3
0x54220003, // 0022 LDINT R8 4
0x7C180400, // 0023 CALL R6 2
0x8818010E, // 0024 GETMBR R6 R0 K14
0x88180118, // 0024 GETMBR R6 R0 K24
0x781A0004, // 0025 JMPF R6 #002B
0x8C18010E, // 0026 GETMET R6 R0 K14
0x8C180118, // 0026 GETMET R6 R0 K24
0x5C200600, // 0027 MOVE R8 R3
0x5C240800, // 0028 MOVE R9 R4
0x5C280A00, // 0029 MOVE R10 R5
0x7C180800, // 002A CALL R6 4
0x8C18030F, // 002B GETMET R6 R1 K15
0x58200010, // 002C LDCONST R8 K16
0x8C18033A, // 002B GETMET R6 R1 K58
0x5820003B, // 002C LDCONST R8 K59
0x7C180400, // 002D CALL R6 2
0x88180111, // 002E GETMBR R6 R0 K17
0x8818013C, // 002E GETMBR R6 R0 K60
0x14180406, // 002F LT R6 R2 R6
0x781A0004, // 0030 JMPF R6 #0036
0x88180103, // 0031 GETMBR R6 R0 K3
0x8C180D04, // 0032 GETMET R6 R6 K4
0x88180111, // 0031 GETMBR R6 R0 K17
0x8C180D36, // 0032 GETMET R6 R6 K54
0x7C180200, // 0033 CALL R6 1
0x5C0C0C00, // 0034 MOVE R3 R6
0x70020000, // 0035 JMP #0037
0x4C0C0000, // 0036 LDNIL R3
0x7001FFD3, // 0037 JMP #000C
0x8C100112, // 0038 GETMET R4 R0 K18
0x8C10013D, // 0038 GETMET R4 R0 K61
0x7C100200, // 0039 CALL R4 1
0x80000000, // 003A RET 0
})
@ -813,13 +767,13 @@ be_local_closure(class_Matter_UDPServer_every_second, /* name */
be_nested_proto(
1, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
1, /* has constants */
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(every_second),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */

View File

@ -3,6 +3,7 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// ktab too big for class 'Matter_UI' - skipping
extern const bclass be_class_Matter_UI;

View File

@ -3,6 +3,7 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// ktab too big for class 'Matter_Device' - skipping
extern const bclass be_class_Matter_Device;

View File

@ -7,6 +7,7 @@ import global
import solidify
import string as string2
import re
import introspect
import sys
sys.path().push('src/embedded') # allow to import from src/embedded

View File

@ -3,6 +3,183 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_SPAKE_Hasher;
// compact class 'SPAKE_Hasher' ktab size: 8, total: 10 (saved 16 bytes)
static const bvalue be_ktab_class_SPAKE_Hasher[8] = {
/* K0 */ be_nested_str_weak(crypto),
/* K1 */ be_nested_str_weak(hash),
/* K2 */ be_nested_str_weak(SHA256),
/* K3 */ be_nested_str_weak(size),
/* K4 */ be_nested_str_weak(add),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(update),
/* K7 */ be_nested_str_weak(out),
};
extern const bclass be_class_SPAKE_Hasher;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_SPAKE_Hasher_init, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_SPAKE_Hasher, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080302, // 0001 GETMET R2 R1 K2
0x7C080200, // 0002 CALL R2 1
0x90020202, // 0003 SETMBR R0 K1 R2
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: add_item
********************************************************************/
be_local_closure(class_SPAKE_Hasher_add_item, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_SPAKE_Hasher, /* shared constants */
be_str_weak(add_item),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x8C080303, // 0000 GETMET R2 R1 K3
0x7C080200, // 0001 CALL R2 1
0x600C0015, // 0002 GETGBL R3 G21
0x7C0C0000, // 0003 CALL R3 0
0x8C0C0704, // 0004 GETMET R3 R3 K4
0x5C140400, // 0005 MOVE R5 R2
0x541A0003, // 0006 LDINT R6 4
0x7C0C0600, // 0007 CALL R3 3
0x8C0C0704, // 0008 GETMET R3 R3 K4
0x58140005, // 0009 LDCONST R5 K5
0x541A0003, // 000A LDINT R6 4
0x7C0C0600, // 000B CALL R3 3
0x88100101, // 000C GETMBR R4 R0 K1
0x8C100906, // 000D GETMET R4 R4 K6
0x5C180600, // 000E MOVE R6 R3
0x7C100400, // 000F CALL R4 2
0x88100101, // 0010 GETMBR R4 R0 K1
0x8C100906, // 0011 GETMET R4 R4 K6
0x5C180200, // 0012 MOVE R6 R1
0x7C100400, // 0013 CALL R4 2
0x80000000, // 0014 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: out
********************************************************************/
be_local_closure(class_SPAKE_Hasher_out, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_SPAKE_Hasher, /* shared constants */
be_str_weak(out),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x88040101, // 0000 GETMBR R1 R0 K1
0x8C040307, // 0001 GETMET R1 R1 K7
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: SPAKE_Hasher
********************************************************************/
be_local_class(SPAKE_Hasher,
1,
NULL,
be_nested_map(4,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(out, -1), be_const_closure(class_SPAKE_Hasher_out_closure) },
{ be_const_key_weak(hash, -1), be_const_var(0) },
{ be_const_key_weak(add_item, -1), be_const_closure(class_SPAKE_Hasher_add_item_closure) },
{ be_const_key_weak(init, 0), be_const_closure(class_SPAKE_Hasher_init_closure) },
})),
be_str_weak(SPAKE_Hasher)
);
// compact class 'SPAKE2P_Matter' ktab size: 43, total: 84 (saved 328 bytes)
static const bvalue be_ktab_class_SPAKE2P_Matter[43] = {
/* K0 */ be_nested_str_weak(crypto),
/* K1 */ be_nested_str_weak(random),
/* K2 */ be_nested_str_weak(EC_P256),
/* K3 */ be_nested_str_weak(y),
/* K4 */ be_nested_str_weak(mod),
/* K5 */ be_nested_str_weak(pB),
/* K6 */ be_nested_str_weak(muladd),
/* K7 */ be_nested_str_weak(w0),
/* K8 */ be_nested_str_weak(N),
/* K9 */ be_const_class(be_class_SPAKE_Hasher),
/* K10 */ be_nested_str_weak(add_item),
/* K11 */ be_nested_str_weak(Context),
/* K12 */ be_nested_str_weak(A),
/* K13 */ be_nested_str_weak(B),
/* K14 */ be_nested_str_weak(M),
/* K15 */ be_nested_str_weak(pA),
/* K16 */ be_nested_str_weak(Z),
/* K17 */ be_nested_str_weak(V),
/* K18 */ be_nested_str_weak(Kmain),
/* K19 */ be_nested_str_weak(out),
/* K20 */ be_nested_str_weak(Ke),
/* K21 */ be_const_int(0),
/* K22 */ be_nested_str_weak(HKDF_SHA256),
/* K23 */ be_nested_str_weak(derive),
/* K24 */ be_nested_str_weak(fromstring),
/* K25 */ be_nested_str_weak(ConfirmationKeys),
/* K26 */ be_nested_str_weak(KcA),
/* K27 */ be_nested_str_weak(KcB),
/* K28 */ be_nested_str_weak(K_shared),
/* K29 */ be_nested_str_weak(SharedKey),
/* K30 */ be_nested_str_weak(cA),
/* K31 */ be_nested_str_weak(HMAC_SHA256),
/* K32 */ be_nested_str_weak(update),
/* K33 */ be_nested_str_weak(cB),
/* K34 */ be_nested_str_weak(fromhex),
/* K35 */ be_nested_str_weak(spake_M_hex),
/* K36 */ be_nested_str_weak(spake_N_hex),
/* K37 */ be_nested_str_weak(w1),
/* K38 */ be_nested_str_weak(L),
/* K39 */ be_nested_str_weak(x),
/* K40 */ be_nested_str_weak(neg),
/* K41 */ be_nested_str_weak(01),
/* K42 */ be_nested_str_weak(mul),
};
extern const bclass be_class_SPAKE2P_Matter;
@ -13,23 +190,13 @@ be_local_closure(class_SPAKE2P_Matter_compute_pB, /* name */
be_nested_proto(
10, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(crypto),
/* K1 */ be_nested_str_weak(random),
/* K2 */ be_nested_str_weak(EC_P256),
/* K3 */ be_nested_str_weak(y),
/* K4 */ be_nested_str_weak(mod),
/* K5 */ be_nested_str_weak(pB),
/* K6 */ be_nested_str_weak(muladd),
/* K7 */ be_nested_str_weak(w0),
/* K8 */ be_nested_str_weak(N),
}),
&be_ktab_class_SPAKE2P_Matter, /* shared constants */
be_str_weak(compute_pB),
&be_const_str_solidified,
( &(const binstruction[24]) { /* code */
@ -63,136 +230,6 @@ be_local_closure(class_SPAKE2P_Matter_compute_pB, /* name */
/*******************************************************************/
extern const bclass be_class_SPAKE_Hasher;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_SPAKE_Hasher_init, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(crypto),
/* K1 */ be_nested_str_weak(hash),
/* K2 */ be_nested_str_weak(SHA256),
}),
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080302, // 0001 GETMET R2 R1 K2
0x7C080200, // 0002 CALL R2 1
0x90020202, // 0003 SETMBR R0 K1 R2
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: add_item
********************************************************************/
be_local_closure(class_SPAKE_Hasher_add_item, /* 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_weak(size),
/* K1 */ be_nested_str_weak(add),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str_weak(hash),
/* K4 */ be_nested_str_weak(update),
}),
be_str_weak(add_item),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x8C080300, // 0000 GETMET R2 R1 K0
0x7C080200, // 0001 CALL R2 1
0x600C0015, // 0002 GETGBL R3 G21
0x7C0C0000, // 0003 CALL R3 0
0x8C0C0701, // 0004 GETMET R3 R3 K1
0x5C140400, // 0005 MOVE R5 R2
0x541A0003, // 0006 LDINT R6 4
0x7C0C0600, // 0007 CALL R3 3
0x8C0C0701, // 0008 GETMET R3 R3 K1
0x58140002, // 0009 LDCONST R5 K2
0x541A0003, // 000A LDINT R6 4
0x7C0C0600, // 000B CALL R3 3
0x88100103, // 000C GETMBR R4 R0 K3
0x8C100904, // 000D GETMET R4 R4 K4
0x5C180600, // 000E MOVE R6 R3
0x7C100400, // 000F CALL R4 2
0x88100103, // 0010 GETMBR R4 R0 K3
0x8C100904, // 0011 GETMET R4 R4 K4
0x5C180200, // 0012 MOVE R6 R1
0x7C100400, // 0013 CALL R4 2
0x80000000, // 0014 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: out
********************************************************************/
be_local_closure(class_SPAKE_Hasher_out, /* 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_weak(hash),
/* K1 */ be_nested_str_weak(out),
}),
be_str_weak(out),
&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 class: SPAKE_Hasher
********************************************************************/
be_local_class(SPAKE_Hasher,
1,
NULL,
be_nested_map(4,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(out, -1), be_const_closure(class_SPAKE_Hasher_out_closure) },
{ be_const_key_weak(hash, -1), be_const_var(0) },
{ be_const_key_weak(add_item, -1), be_const_closure(class_SPAKE_Hasher_add_item_closure) },
{ be_const_key_weak(init, 0), be_const_closure(class_SPAKE_Hasher_init_closure) },
})),
be_str_weak(SPAKE_Hasher)
);
/********************************************************************
** Solidified function: compute_TT_hash
********************************************************************/
@ -200,119 +237,89 @@ be_local_closure(class_SPAKE2P_Matter_compute_TT_hash, /* name */
be_nested_proto(
14, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[29]) { /* constants */
/* K0 */ be_const_class(be_class_SPAKE_Hasher),
/* K1 */ be_nested_str_weak(crypto),
/* K2 */ be_nested_str_weak(add_item),
/* K3 */ be_nested_str_weak(Context),
/* K4 */ be_nested_str_weak(A),
/* K5 */ be_nested_str_weak(B),
/* K6 */ be_nested_str_weak(M),
/* K7 */ be_nested_str_weak(N),
/* K8 */ be_nested_str_weak(pA),
/* K9 */ be_nested_str_weak(pB),
/* K10 */ be_nested_str_weak(Z),
/* K11 */ be_nested_str_weak(V),
/* K12 */ be_nested_str_weak(w0),
/* K13 */ be_nested_str_weak(Kmain),
/* K14 */ be_nested_str_weak(out),
/* K15 */ be_nested_str_weak(Ke),
/* K16 */ be_const_int(0),
/* K17 */ be_nested_str_weak(HKDF_SHA256),
/* K18 */ be_nested_str_weak(derive),
/* K19 */ be_nested_str_weak(fromstring),
/* K20 */ be_nested_str_weak(ConfirmationKeys),
/* K21 */ be_nested_str_weak(KcA),
/* K22 */ be_nested_str_weak(KcB),
/* K23 */ be_nested_str_weak(K_shared),
/* K24 */ be_nested_str_weak(SharedKey),
/* K25 */ be_nested_str_weak(cA),
/* K26 */ be_nested_str_weak(HMAC_SHA256),
/* K27 */ be_nested_str_weak(update),
/* K28 */ be_nested_str_weak(cB),
}),
&be_ktab_class_SPAKE2P_Matter, /* shared constants */
be_str_weak(compute_TT_hash),
&be_const_str_solidified,
( &(const binstruction[115]) { /* code */
0x58080000, // 0000 LDCONST R2 K0
0xB4000000, // 0001 CLASS K0
0x58080009, // 0000 LDCONST R2 K9
0xB4000009, // 0001 CLASS K9
0x5C0C0400, // 0002 MOVE R3 R2
0xA40E0200, // 0003 IMPORT R3 K1
0xA40E0000, // 0003 IMPORT R3 K0
0x5C100400, // 0004 MOVE R4 R2
0x7C100000, // 0005 CALL R4 0
0x8C140902, // 0006 GETMET R5 R4 K2
0x881C0103, // 0007 GETMBR R7 R0 K3
0x8C14090A, // 0006 GETMET R5 R4 K10
0x881C010B, // 0007 GETMBR R7 R0 K11
0x7C140400, // 0008 CALL R5 2
0x8C140902, // 0009 GETMET R5 R4 K2
0x881C0104, // 000A GETMBR R7 R0 K4
0x8C14090A, // 0009 GETMET R5 R4 K10
0x881C010C, // 000A GETMBR R7 R0 K12
0x7C140400, // 000B CALL R5 2
0x8C140902, // 000C GETMET R5 R4 K2
0x881C0105, // 000D GETMBR R7 R0 K5
0x8C14090A, // 000C GETMET R5 R4 K10
0x881C010D, // 000D GETMBR R7 R0 K13
0x7C140400, // 000E CALL R5 2
0x8C140902, // 000F GETMET R5 R4 K2
0x881C0106, // 0010 GETMBR R7 R0 K6
0x8C14090A, // 000F GETMET R5 R4 K10
0x881C010E, // 0010 GETMBR R7 R0 K14
0x7C140400, // 0011 CALL R5 2
0x8C140902, // 0012 GETMET R5 R4 K2
0x881C0107, // 0013 GETMBR R7 R0 K7
0x8C14090A, // 0012 GETMET R5 R4 K10
0x881C0108, // 0013 GETMBR R7 R0 K8
0x7C140400, // 0014 CALL R5 2
0x8C140902, // 0015 GETMET R5 R4 K2
0x881C0108, // 0016 GETMBR R7 R0 K8
0x8C14090A, // 0015 GETMET R5 R4 K10
0x881C010F, // 0016 GETMBR R7 R0 K15
0x7C140400, // 0017 CALL R5 2
0x8C140902, // 0018 GETMET R5 R4 K2
0x881C0109, // 0019 GETMBR R7 R0 K9
0x8C14090A, // 0018 GETMET R5 R4 K10
0x881C0105, // 0019 GETMBR R7 R0 K5
0x7C140400, // 001A CALL R5 2
0x8C140902, // 001B GETMET R5 R4 K2
0x881C010A, // 001C GETMBR R7 R0 K10
0x8C14090A, // 001B GETMET R5 R4 K10
0x881C0110, // 001C GETMBR R7 R0 K16
0x7C140400, // 001D CALL R5 2
0x8C140902, // 001E GETMET R5 R4 K2
0x881C010B, // 001F GETMBR R7 R0 K11
0x8C14090A, // 001E GETMET R5 R4 K10
0x881C0111, // 001F GETMBR R7 R0 K17
0x7C140400, // 0020 CALL R5 2
0x8C140902, // 0021 GETMET R5 R4 K2
0x881C010C, // 0022 GETMBR R7 R0 K12
0x8C14090A, // 0021 GETMET R5 R4 K10
0x881C0107, // 0022 GETMBR R7 R0 K7
0x7C140400, // 0023 CALL R5 2
0x8C14090E, // 0024 GETMET R5 R4 K14
0x8C140913, // 0024 GETMET R5 R4 K19
0x7C140200, // 0025 CALL R5 1
0x90021A05, // 0026 SETMBR R0 K13 R5
0x90022405, // 0026 SETMBR R0 K18 R5
0x7806000A, // 0027 JMPF R1 #0033
0x5416000F, // 0028 LDINT R5 16
0x541A001E, // 0029 LDINT R6 31
0x40140A06, // 002A CONNECT R5 R5 R6
0x8818010D, // 002B GETMBR R6 R0 K13
0x88180112, // 002B GETMBR R6 R0 K18
0x94140C05, // 002C GETIDX R5 R6 R5
0x90021E05, // 002D SETMBR R0 K15 R5
0x90022805, // 002D SETMBR R0 K20 R5
0x5416000E, // 002E LDINT R5 15
0x40162005, // 002F CONNECT R5 K16 R5
0x8818010D, // 0030 GETMBR R6 R0 K13
0x40162A05, // 002F CONNECT R5 K21 R5
0x88180112, // 0030 GETMBR R6 R0 K18
0x94140C05, // 0031 GETIDX R5 R6 R5
0x90021A05, // 0032 SETMBR R0 K13 R5
0x8C140711, // 0033 GETMET R5 R3 K17
0x90022405, // 0032 SETMBR R0 K18 R5
0x8C140716, // 0033 GETMET R5 R3 K22
0x7C140200, // 0034 CALL R5 1
0x8C180B12, // 0035 GETMET R6 R5 K18
0x8820010D, // 0036 GETMBR R8 R0 K13
0x8C180B17, // 0035 GETMET R6 R5 K23
0x88200112, // 0036 GETMBR R8 R0 K18
0x60240015, // 0037 GETGBL R9 G21
0x7C240000, // 0038 CALL R9 0
0x60280015, // 0039 GETGBL R10 G21
0x7C280000, // 003A CALL R10 0
0x8C281513, // 003B GETMET R10 R10 K19
0x58300014, // 003C LDCONST R12 K20
0x8C281518, // 003B GETMET R10 R10 K24
0x58300019, // 003C LDCONST R12 K25
0x7C280400, // 003D CALL R10 2
0x542E003F, // 003E LDINT R11 64
0x7C180A00, // 003F CALL R6 5
0x78060003, // 0040 JMPF R1 #0045
0x541E000E, // 0041 LDINT R7 15
0x401E2007, // 0042 CONNECT R7 K16 R7
0x401E2A07, // 0042 CONNECT R7 K21 R7
0x941C0C07, // 0043 GETIDX R7 R6 R7
0x70020002, // 0044 JMP #0048
0x541E001E, // 0045 LDINT R7 31
0x401E2007, // 0046 CONNECT R7 K16 R7
0x401E2A07, // 0046 CONNECT R7 K21 R7
0x941C0C07, // 0047 GETIDX R7 R6 R7
0x90022A07, // 0048 SETMBR R0 K21 R7
0x90023407, // 0048 SETMBR R0 K26 R7
0x78060004, // 0049 JMPF R1 #004F
0x541E000F, // 004A LDINT R7 16
0x5422001E, // 004B LDINT R8 31
@ -323,37 +330,37 @@ be_local_closure(class_SPAKE2P_Matter_compute_TT_hash, /* name */
0x5422003E, // 0050 LDINT R8 63
0x401C0E08, // 0051 CONNECT R7 R7 R8
0x941C0C07, // 0052 GETIDX R7 R6 R7
0x90022C07, // 0053 SETMBR R0 K22 R7
0x8C1C0B12, // 0054 GETMET R7 R5 K18
0x8824010D, // 0055 GETMBR R9 R0 K13
0x90023607, // 0053 SETMBR R0 K27 R7
0x8C1C0B17, // 0054 GETMET R7 R5 K23
0x88240112, // 0055 GETMBR R9 R0 K18
0x60280015, // 0056 GETGBL R10 G21
0x7C280000, // 0057 CALL R10 0
0x602C0015, // 0058 GETGBL R11 G21
0x7C2C0000, // 0059 CALL R11 0
0x8C2C1713, // 005A GETMET R11 R11 K19
0x58340018, // 005B LDCONST R13 K24
0x8C2C1718, // 005A GETMET R11 R11 K24
0x5834001D, // 005B LDCONST R13 K29
0x7C2C0400, // 005C CALL R11 2
0x5432001F, // 005D LDINT R12 32
0x7C1C0A00, // 005E CALL R7 5
0x90022E07, // 005F SETMBR R0 K23 R7
0x8C1C071A, // 0060 GETMET R7 R3 K26
0x88240115, // 0061 GETMBR R9 R0 K21
0x90023807, // 005F SETMBR R0 K28 R7
0x8C1C071F, // 0060 GETMET R7 R3 K31
0x8824011A, // 0061 GETMBR R9 R0 K26
0x7C1C0400, // 0062 CALL R7 2
0x8C1C0F1B, // 0063 GETMET R7 R7 K27
0x88240109, // 0064 GETMBR R9 R0 K9
0x8C1C0F20, // 0063 GETMET R7 R7 K32
0x88240105, // 0064 GETMBR R9 R0 K5
0x7C1C0400, // 0065 CALL R7 2
0x8C1C0F0E, // 0066 GETMET R7 R7 K14
0x8C1C0F13, // 0066 GETMET R7 R7 K19
0x7C1C0200, // 0067 CALL R7 1
0x90023207, // 0068 SETMBR R0 K25 R7
0x8C1C071A, // 0069 GETMET R7 R3 K26
0x88240116, // 006A GETMBR R9 R0 K22
0x90023C07, // 0068 SETMBR R0 K30 R7
0x8C1C071F, // 0069 GETMET R7 R3 K31
0x8824011B, // 006A GETMBR R9 R0 K27
0x7C1C0400, // 006B CALL R7 2
0x8C1C0F1B, // 006C GETMET R7 R7 K27
0x88240108, // 006D GETMBR R9 R0 K8
0x8C1C0F20, // 006C GETMET R7 R7 K32
0x8824010F, // 006D GETMBR R9 R0 K15
0x7C1C0400, // 006E CALL R7 2
0x8C1C0F0E, // 006F GETMET R7 R7 K14
0x8C1C0F13, // 006F GETMET R7 R7 K19
0x7C1C0200, // 0070 CALL R7 1
0x90023807, // 0071 SETMBR R0 K28 R7
0x90024207, // 0071 SETMBR R0 K33 R7
0x80000000, // 0072 RET 0
})
)
@ -368,40 +375,31 @@ be_local_closure(class_SPAKE2P_Matter_init, /* name */
be_nested_proto(
7, /* nstack */
4, /* argc */
2, /* varg */
10, /* 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_weak(M),
/* K1 */ be_nested_str_weak(fromhex),
/* K2 */ be_nested_str_weak(spake_M_hex),
/* K3 */ be_nested_str_weak(N),
/* K4 */ be_nested_str_weak(spake_N_hex),
/* K5 */ be_nested_str_weak(w0),
/* K6 */ be_nested_str_weak(w1),
/* K7 */ be_nested_str_weak(L),
}),
&be_ktab_class_SPAKE2P_Matter, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0x60100015, // 0000 GETGBL R4 G21
0x7C100000, // 0001 CALL R4 0
0x8C100901, // 0002 GETMET R4 R4 K1
0x88180102, // 0003 GETMBR R6 R0 K2
0x8C100922, // 0002 GETMET R4 R4 K34
0x88180123, // 0003 GETMBR R6 R0 K35
0x7C100400, // 0004 CALL R4 2
0x90020004, // 0005 SETMBR R0 K0 R4
0x90021C04, // 0005 SETMBR R0 K14 R4
0x60100015, // 0006 GETGBL R4 G21
0x7C100000, // 0007 CALL R4 0
0x8C100901, // 0008 GETMET R4 R4 K1
0x88180104, // 0009 GETMBR R6 R0 K4
0x8C100922, // 0008 GETMET R4 R4 K34
0x88180124, // 0009 GETMBR R6 R0 K36
0x7C100400, // 000A CALL R4 2
0x90020604, // 000B SETMBR R0 K3 R4
0x90020A01, // 000C SETMBR R0 K5 R1
0x90020C02, // 000D SETMBR R0 K6 R2
0x90020E03, // 000E SETMBR R0 K7 R3
0x90021004, // 000B SETMBR R0 K8 R4
0x90020E01, // 000C SETMBR R0 K7 R1
0x90024A02, // 000D SETMBR R0 K37 R2
0x90024C03, // 000E SETMBR R0 K38 R3
0x80000000, // 000F RET 0
})
)
@ -416,23 +414,13 @@ be_local_closure(class_SPAKE2P_Matter_compute_pA, /* name */
be_nested_proto(
10, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(crypto),
/* K1 */ be_nested_str_weak(random),
/* K2 */ be_nested_str_weak(EC_P256),
/* K3 */ be_nested_str_weak(x),
/* K4 */ be_nested_str_weak(mod),
/* K5 */ be_nested_str_weak(pA),
/* K6 */ be_nested_str_weak(muladd),
/* K7 */ be_nested_str_weak(w0),
/* K8 */ be_nested_str_weak(M),
}),
&be_ktab_class_SPAKE2P_Matter, /* shared constants */
be_str_weak(compute_pA),
&be_const_str_solidified,
( &(const binstruction[24]) { /* code */
@ -449,16 +437,16 @@ be_local_closure(class_SPAKE2P_Matter_compute_pA, /* name */
0x8C100704, // 000A GETMET R4 R3 K4
0x5C180200, // 000B MOVE R6 R1
0x7C100400, // 000C CALL R4 2
0x90020604, // 000D SETMBR R0 K3 R4
0x90024E04, // 000D SETMBR R0 K39 R4
0x8C100706, // 000E GETMET R4 R3 K6
0x88180107, // 000F GETMBR R6 R0 K7
0x881C0108, // 0010 GETMBR R7 R0 K8
0x88200103, // 0011 GETMBR R8 R0 K3
0x881C010E, // 0010 GETMBR R7 R0 K14
0x88200127, // 0011 GETMBR R8 R0 K39
0x60240015, // 0012 GETGBL R9 G21
0x7C240000, // 0013 CALL R9 0
0x7C100A00, // 0014 CALL R4 5
0x90020A04, // 0015 SETMBR R0 K5 R4
0x88100105, // 0016 GETMBR R4 R0 K5
0x90021E04, // 0015 SETMBR R0 K15 R4
0x8810010F, // 0016 GETMBR R4 R0 K15
0x80040800, // 0017 RET 1 R4
})
)
@ -473,17 +461,13 @@ be_local_closure(class_SPAKE2P_Matter_set_context, /* name */
be_nested_proto(
5, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(Context),
/* K1 */ be_nested_str_weak(A),
/* K2 */ be_nested_str_weak(B),
}),
&be_ktab_class_SPAKE2P_Matter, /* shared constants */
be_str_weak(set_context),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
@ -499,9 +483,9 @@ be_local_closure(class_SPAKE2P_Matter_set_context, /* name */
0x60100015, // 0009 GETGBL R4 G21
0x7C100000, // 000A CALL R4 0
0x5C0C0800, // 000B MOVE R3 R4
0x90020001, // 000C SETMBR R0 K0 R1
0x90020202, // 000D SETMBR R0 K1 R2
0x90020403, // 000E SETMBR R0 K2 R3
0x90021601, // 000C SETMBR R0 K11 R1
0x90021802, // 000D SETMBR R0 K12 R2
0x90021A03, // 000E SETMBR R0 K13 R3
0x80000000, // 000F RET 0
})
)
@ -516,55 +500,41 @@ be_local_closure(class_SPAKE2P_Matter_compute_ZV_verifier, /* name */
be_nested_proto(
11, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(crypto),
/* K1 */ be_nested_str_weak(EC_P256),
/* K2 */ be_nested_str_weak(pA),
/* K3 */ be_nested_str_weak(neg),
/* K4 */ be_nested_str_weak(w0),
/* K5 */ be_nested_str_weak(muladd),
/* K6 */ be_nested_str_weak(01),
/* K7 */ be_nested_str_weak(M),
/* K8 */ be_nested_str_weak(Z),
/* K9 */ be_nested_str_weak(mul),
/* K10 */ be_nested_str_weak(y),
/* K11 */ be_nested_str_weak(V),
/* K12 */ be_nested_str_weak(L),
}),
&be_ktab_class_SPAKE2P_Matter, /* shared constants */
be_str_weak(compute_ZV_verifier),
&be_const_str_solidified,
( &(const binstruction[26]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x8C0C0501, // 0001 GETMET R3 R2 K1
0x8C0C0502, // 0001 GETMET R3 R2 K2
0x7C0C0200, // 0002 CALL R3 1
0x90020401, // 0003 SETMBR R0 K2 R1
0x8C100703, // 0004 GETMET R4 R3 K3
0x88180104, // 0005 GETMBR R6 R0 K4
0x90021E01, // 0003 SETMBR R0 K15 R1
0x8C100728, // 0004 GETMET R4 R3 K40
0x88180107, // 0005 GETMBR R6 R0 K7
0x7C100400, // 0006 CALL R4 2
0x8C140705, // 0007 GETMET R5 R3 K5
0x8C140706, // 0007 GETMET R5 R3 K6
0x601C0015, // 0008 GETGBL R7 G21
0x58200006, // 0009 LDCONST R8 K6
0x58200029, // 0009 LDCONST R8 K41
0x7C1C0200, // 000A CALL R7 1
0x88200102, // 000B GETMBR R8 R0 K2
0x8820010F, // 000B GETMBR R8 R0 K15
0x5C240800, // 000C MOVE R9 R4
0x88280107, // 000D GETMBR R10 R0 K7
0x8828010E, // 000D GETMBR R10 R0 K14
0x7C140A00, // 000E CALL R5 5
0x8C180709, // 000F GETMET R6 R3 K9
0x8820010A, // 0010 GETMBR R8 R0 K10
0x8C18072A, // 000F GETMET R6 R3 K42
0x88200103, // 0010 GETMBR R8 R0 K3
0x5C240A00, // 0011 MOVE R9 R5
0x7C180600, // 0012 CALL R6 3
0x90021006, // 0013 SETMBR R0 K8 R6
0x8C180709, // 0014 GETMET R6 R3 K9
0x8820010A, // 0015 GETMBR R8 R0 K10
0x8824010C, // 0016 GETMBR R9 R0 K12
0x90022006, // 0013 SETMBR R0 K16 R6
0x8C18072A, // 0014 GETMET R6 R3 K42
0x88200103, // 0015 GETMBR R8 R0 K3
0x88240126, // 0016 GETMBR R9 R0 K38
0x7C180600, // 0017 CALL R6 3
0x90021606, // 0018 SETMBR R0 K11 R6
0x90022206, // 0018 SETMBR R0 K17 R6
0x80000000, // 0019 RET 0
})
)
@ -579,55 +549,41 @@ be_local_closure(class_SPAKE2P_Matter_compute_ZV_prover, /* name */
be_nested_proto(
11, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(crypto),
/* K1 */ be_nested_str_weak(EC_P256),
/* K2 */ be_nested_str_weak(pB),
/* K3 */ be_nested_str_weak(neg),
/* K4 */ be_nested_str_weak(w0),
/* K5 */ be_nested_str_weak(muladd),
/* K6 */ be_nested_str_weak(01),
/* K7 */ be_nested_str_weak(N),
/* K8 */ be_nested_str_weak(Z),
/* K9 */ be_nested_str_weak(mul),
/* K10 */ be_nested_str_weak(x),
/* K11 */ be_nested_str_weak(V),
/* K12 */ be_nested_str_weak(w1),
}),
&be_ktab_class_SPAKE2P_Matter, /* shared constants */
be_str_weak(compute_ZV_prover),
&be_const_str_solidified,
( &(const binstruction[26]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x8C0C0501, // 0001 GETMET R3 R2 K1
0x8C0C0502, // 0001 GETMET R3 R2 K2
0x7C0C0200, // 0002 CALL R3 1
0x90020401, // 0003 SETMBR R0 K2 R1
0x8C100703, // 0004 GETMET R4 R3 K3
0x88180104, // 0005 GETMBR R6 R0 K4
0x90020A01, // 0003 SETMBR R0 K5 R1
0x8C100728, // 0004 GETMET R4 R3 K40
0x88180107, // 0005 GETMBR R6 R0 K7
0x7C100400, // 0006 CALL R4 2
0x8C140705, // 0007 GETMET R5 R3 K5
0x8C140706, // 0007 GETMET R5 R3 K6
0x601C0015, // 0008 GETGBL R7 G21
0x58200006, // 0009 LDCONST R8 K6
0x58200029, // 0009 LDCONST R8 K41
0x7C1C0200, // 000A CALL R7 1
0x88200102, // 000B GETMBR R8 R0 K2
0x88200105, // 000B GETMBR R8 R0 K5
0x5C240800, // 000C MOVE R9 R4
0x88280107, // 000D GETMBR R10 R0 K7
0x88280108, // 000D GETMBR R10 R0 K8
0x7C140A00, // 000E CALL R5 5
0x8C180709, // 000F GETMET R6 R3 K9
0x8820010A, // 0010 GETMBR R8 R0 K10
0x8C18072A, // 000F GETMET R6 R3 K42
0x88200127, // 0010 GETMBR R8 R0 K39
0x5C240A00, // 0011 MOVE R9 R5
0x7C180600, // 0012 CALL R6 3
0x90021006, // 0013 SETMBR R0 K8 R6
0x8C180709, // 0014 GETMET R6 R3 K9
0x8820010C, // 0015 GETMBR R8 R0 K12
0x90022006, // 0013 SETMBR R0 K16 R6
0x8C18072A, // 0014 GETMET R6 R3 K42
0x88200125, // 0015 GETMBR R8 R0 K37
0x5C240A00, // 0016 MOVE R9 R5
0x7C180600, // 0017 CALL R6 3
0x90021606, // 0018 SETMBR R0 K11 R6
0x90022206, // 0018 SETMBR R0 K17 R6
0x80000000, // 0019 RET 0
})
)

View File

@ -3,6 +3,14 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'dyn' ktab size: 4, total: 7 (saved 24 bytes)
static const bvalue be_ktab_class_dyn[4] = {
/* K0 */ be_nested_str(_attr),
/* K1 */ be_nested_str(tostring),
/* K2 */ be_nested_str(contains),
/* K3 */ be_nested_str(undefined),
};
extern const bclass be_class_dyn;
@ -13,16 +21,13 @@ be_local_closure(class_dyn_tostring, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(_attr),
/* K1 */ be_nested_str(tostring),
}),
&be_ktab_class_dyn, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
@ -43,22 +48,18 @@ be_local_closure(class_dyn_member, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(_attr),
/* K1 */ be_nested_str(contains),
/* K2 */ be_nested_str(undefined),
}),
&be_ktab_class_dyn, /* shared constants */
&be_const_str_member,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x8C080502, // 0001 GETMET R2 R2 K2
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x780A0003, // 0004 JMPF R2 #0009
@ -66,7 +67,7 @@ be_local_closure(class_dyn_member, /* name */
0x94080401, // 0006 GETIDX R2 R2 R1
0x80040400, // 0007 RET 1 R2
0x70020001, // 0008 JMP #000B
0xA40A0400, // 0009 IMPORT R2 K2
0xA40A0600, // 0009 IMPORT R2 K3
0x80040400, // 000A RET 1 R2
0x80000000, // 000B RET 0
})
@ -82,15 +83,13 @@ be_local_closure(class_dyn_setmember, /* name */
be_nested_proto(
4, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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(_attr),
}),
&be_ktab_class_dyn, /* shared constants */
&be_const_str_setmember,
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
@ -110,15 +109,13 @@ be_local_closure(class_dyn_init, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(_attr),
}),
&be_ktab_class_dyn, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */

View File

@ -3,6 +3,61 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'hue_bridge_monad' ktab size: 51, total: 85 (saved 272 bytes)
static const bvalue be_ktab_class_hue_bridge_monad[51] = {
/* K0 */ be_nested_str(hue_ntv),
/* K1 */ be_nested_str(lights),
/* K2 */ be_nested_str(contains),
/* K3 */ be_nested_str(full_state),
/* K4 */ be_nested_str(light),
/* K5 */ be_nested_str(name),
/* K6 */ be_nested_str(model),
/* K7 */ be_nested_str(manuf),
/* K8 */ be_nested_str(light_state),
/* K9 */ be_nested_str(int),
/* K10 */ be_nested_str(value_error),
/* K11 */ be_nested_str(id_X20must_X20be_X20of_X20type_X20_X27int_X27),
/* K12 */ be_nested_str(light_X20must_X20be_X20of_X20class_X20_X27light_state_X27),
/* K13 */ be_const_int(0),
/* K14 */ be_nested_str(missing_X20name),
/* K15 */ be_nested_str(Unknown),
/* K16 */ be_nested_str(Tasmota),
/* K17 */ be_nested_str(remove),
/* K18 */ be_nested_str(json),
/* K19 */ be_nested_str(keys),
/* K20 */ be_nested_str(full_status),
/* K21 */ be_nested_str(_X22),
/* K22 */ be_nested_str(_X22_X3A),
/* K23 */ be_nested_str(push),
/* K24 */ be_nested_str(stop_iteration),
/* K25 */ be_nested_str(concat),
/* K26 */ be_nested_str(_X2C),
/* K27 */ be_nested_str(load),
/* K28 */ be_nested_str(tasmota),
/* K29 */ be_nested_str(log),
/* K30 */ be_nested_str(BRY_X3A_X20invalid_X20hue_X20payload_X3A_X20),
/* K31 */ be_const_int(3),
/* K32 */ be_nested_str(on),
/* K33 */ be_nested_str(set_power),
/* K34 */ be_nested_str(xy),
/* K35 */ be_const_int(0),
/* K36 */ be_const_int(1),
/* K37 */ be_nested_str(set_xy),
/* K38 */ be_nested_str(hue),
/* K39 */ be_nested_str(sat),
/* K40 */ be_nested_str(type),
/* K41 */ be_nested_str(set_hue16sat),
/* K42 */ be_nested_str(ct),
/* K43 */ be_nested_str(set_ct),
/* K44 */ be_nested_str(bri),
/* K45 */ be_nested_str(set_bri),
/* K46 */ be_nested_str(_X2Flights_X2F),
/* K47 */ be_nested_str(_X2Fstate_X2F),
/* K48 */ be_nested_str(success),
/* K49 */ be_nested_str(signal_change),
/* K50 */ be_nested_str(dump),
};
extern const bclass be_class_hue_bridge_monad;
@ -13,22 +68,13 @@ be_local_closure(class_hue_bridge_monad_full_status, /* name */
be_nested_proto(
11, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(hue_ntv),
/* K1 */ be_nested_str(lights),
/* K2 */ be_nested_str(contains),
/* K3 */ be_nested_str(full_state),
/* K4 */ be_nested_str(light),
/* K5 */ be_nested_str(name),
/* K6 */ be_nested_str(model),
/* K7 */ be_nested_str(manuf),
}),
&be_ktab_class_hue_bridge_monad, /* shared constants */
&be_const_str_full_status,
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
@ -62,19 +108,13 @@ be_local_closure(class_hue_bridge_monad_hue_status, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(hue_ntv),
/* K1 */ be_nested_str(lights),
/* K2 */ be_nested_str(contains),
/* K3 */ be_nested_str(light_state),
/* K4 */ be_nested_str(light),
}),
&be_ktab_class_hue_bridge_monad, /* shared constants */
&be_const_str_hue_status,
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
@ -84,7 +124,7 @@ be_local_closure(class_hue_bridge_monad_hue_status, /* name */
0x5C140200, // 0003 MOVE R5 R1
0x7C0C0400, // 0004 CALL R3 2
0x780E0005, // 0005 JMPF R3 #000C
0x8C0C0503, // 0006 GETMET R3 R2 K3
0x8C0C0508, // 0006 GETMET R3 R2 K8
0x88140101, // 0007 GETMBR R5 R0 K1
0x94140A01, // 0008 GETIDX R5 R5 R1
0x94140B04, // 0009 GETIDX R5 R5 K4
@ -104,43 +144,28 @@ be_local_closure(class_hue_bridge_monad_add_light, /* name */
be_nested_proto(
10, /* nstack */
6, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str(int),
/* K1 */ be_nested_str(value_error),
/* K2 */ be_nested_str(id_X20must_X20be_X20of_X20type_X20_X27int_X27),
/* K3 */ be_nested_str(light_state),
/* K4 */ be_nested_str(light_X20must_X20be_X20of_X20class_X20_X27light_state_X27),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str(missing_X20name),
/* K7 */ be_nested_str(Unknown),
/* K8 */ be_nested_str(Tasmota),
/* K9 */ be_nested_str(lights),
/* K10 */ be_nested_str(light),
/* K11 */ be_nested_str(name),
/* K12 */ be_nested_str(model),
/* K13 */ be_nested_str(manuf),
}),
&be_ktab_class_hue_bridge_monad, /* shared constants */
&be_const_str_add_light,
&be_const_str_solidified,
( &(const binstruction[43]) { /* code */
0x60180004, // 0000 GETGBL R6 G4
0x5C1C0200, // 0001 MOVE R7 R1
0x7C180200, // 0002 CALL R6 1
0x20180D00, // 0003 NE R6 R6 K0
0x20180D09, // 0003 NE R6 R6 K9
0x781A0000, // 0004 JMPF R6 #0006
0xB0060302, // 0005 RAISE 1 K1 K2
0xB006150B, // 0005 RAISE 1 K10 K11
0x6018000F, // 0006 GETGBL R6 G15
0x5C1C0400, // 0007 MOVE R7 R2
0xB8220600, // 0008 GETNGBL R8 K3
0xB8221000, // 0008 GETNGBL R8 K8
0x7C180400, // 0009 CALL R6 2
0x741A0000, // 000A JMPT R6 #000C
0xB0060304, // 000B RAISE 1 K1 K4
0xB006150C, // 000B RAISE 1 K10 K12
0x60180008, // 000C GETGBL R6 G8
0x5C1C0600, // 000D MOVE R7 R3
0x7C180200, // 000E CALL R6 1
@ -148,28 +173,28 @@ be_local_closure(class_hue_bridge_monad_add_light, /* name */
0x6018000C, // 0010 GETGBL R6 G12
0x5C1C0600, // 0011 MOVE R7 R3
0x7C180200, // 0012 CALL R6 1
0x1C180D05, // 0013 EQ R6 R6 K5
0x1C180D0D, // 0013 EQ R6 R6 K13
0x781A0000, // 0014 JMPF R6 #0016
0xB0060306, // 0015 RAISE 1 K1 K6
0xB006150E, // 0015 RAISE 1 K10 K14
0x5C180800, // 0016 MOVE R6 R4
0x741A0000, // 0017 JMPT R6 #0019
0x58100007, // 0018 LDCONST R4 K7
0x5810000F, // 0018 LDCONST R4 K15
0x5C180A00, // 0019 MOVE R6 R5
0x741A0000, // 001A JMPT R6 #001C
0x58140008, // 001B LDCONST R5 K8
0x88180109, // 001C GETMBR R6 R0 K9
0x58140010, // 001B LDCONST R5 K16
0x88180101, // 001C GETMBR R6 R0 K1
0x601C0013, // 001D GETGBL R7 G19
0x7C1C0000, // 001E CALL R7 0
0x981E1402, // 001F SETIDX R7 K10 R2
0x981E1603, // 0020 SETIDX R7 K11 R3
0x981E0802, // 001F SETIDX R7 K4 R2
0x981E0A03, // 0020 SETIDX R7 K5 R3
0x60200008, // 0021 GETGBL R8 G8
0x5C240800, // 0022 MOVE R9 R4
0x7C200200, // 0023 CALL R8 1
0x981E1808, // 0024 SETIDX R7 K12 R8
0x981E0C08, // 0024 SETIDX R7 K6 R8
0x60200008, // 0025 GETGBL R8 G8
0x5C240A00, // 0026 MOVE R9 R5
0x7C200200, // 0027 CALL R8 1
0x981E1A08, // 0028 SETIDX R7 K13 R8
0x981E0E08, // 0028 SETIDX R7 K7 R8
0x98180207, // 0029 SETIDX R6 R1 R7
0x80040400, // 002A RET 1 R2
})
@ -185,21 +210,18 @@ be_local_closure(class_hue_bridge_monad_remove_light, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(lights),
/* K1 */ be_nested_str(remove),
}),
&be_ktab_class_hue_bridge_monad, /* shared constants */
&be_const_str_remove_light,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88080101, // 0000 GETMBR R2 R0 K1
0x8C080511, // 0001 GETMET R2 R2 K17
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x80000000, // 0004 RET 0
@ -216,21 +238,19 @@ be_local_closure(class_hue_bridge_monad_init, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(lights),
}),
&be_ktab_class_hue_bridge_monad, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040013, // 0000 GETGBL R1 G19
0x7C040000, // 0001 CALL R1 0
0x90020001, // 0002 SETMBR R0 K0 R1
0x90020201, // 0002 SETMBR R0 K1 R1
0x80000000, // 0003 RET 0
})
)
@ -245,65 +265,52 @@ be_local_closure(class_hue_bridge_monad_discover, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str(hue_ntv),
/* K1 */ be_nested_str(json),
/* K2 */ be_nested_str(lights),
/* K3 */ be_nested_str(keys),
/* K4 */ be_nested_str(full_status),
/* K5 */ be_nested_str(_X22),
/* K6 */ be_nested_str(_X22_X3A),
/* K7 */ be_nested_str(push),
/* K8 */ be_nested_str(stop_iteration),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str(concat),
/* K11 */ be_nested_str(_X2C),
}),
&be_ktab_class_hue_bridge_monad, /* shared constants */
&be_const_str_discover,
&be_const_str_solidified,
( &(const binstruction[39]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0xA40A2400, // 0001 IMPORT R2 K18
0x600C0012, // 0002 GETGBL R3 G18
0x7C0C0000, // 0003 CALL R3 0
0x60100010, // 0004 GETGBL R4 G16
0x88140102, // 0005 GETMBR R5 R0 K2
0x8C140B03, // 0006 GETMET R5 R5 K3
0x88140101, // 0005 GETMBR R5 R0 K1
0x8C140B13, // 0006 GETMET R5 R5 K19
0x7C140200, // 0007 CALL R5 1
0x7C100200, // 0008 CALL R4 1
0xA802000F, // 0009 EXBLK 0 #001A
0x5C140800, // 000A MOVE R5 R4
0x7C140000, // 000B CALL R5 0
0x8C180104, // 000C GETMET R6 R0 K4
0x8C180114, // 000C GETMET R6 R0 K20
0x5C200A00, // 000D MOVE R8 R5
0x7C180400, // 000E CALL R6 2
0x781A0008, // 000F JMPF R6 #0019
0x601C0008, // 0010 GETGBL R7 G8
0x5C200A00, // 0011 MOVE R8 R5
0x7C1C0200, // 0012 CALL R7 1
0x001E0A07, // 0013 ADD R7 K5 R7
0x001C0F06, // 0014 ADD R7 R7 K6
0x001E2A07, // 0013 ADD R7 K21 R7
0x001C0F16, // 0014 ADD R7 R7 K22
0x00180E06, // 0015 ADD R6 R7 R6
0x8C1C0707, // 0016 GETMET R7 R3 K7
0x8C1C0717, // 0016 GETMET R7 R3 K23
0x5C240C00, // 0017 MOVE R9 R6
0x7C1C0400, // 0018 CALL R7 2
0x7001FFEF, // 0019 JMP #000A
0x58100008, // 001A LDCONST R4 K8
0x58100018, // 001A LDCONST R4 K24
0xAC100200, // 001B CATCH R4 1 0
0xB0080000, // 001C RAISE 2 R0 R0
0x6010000C, // 001D GETGBL R4 G12
0x5C140600, // 001E MOVE R5 R3
0x7C100200, // 001F CALL R4 1
0x24100909, // 0020 GT R4 R4 K9
0x2410090D, // 0020 GT R4 R4 K13
0x78120003, // 0021 JMPF R4 #0026
0x8C10070A, // 0022 GETMET R4 R3 K10
0x5818000B, // 0023 LDCONST R6 K11
0x8C100719, // 0022 GETMET R4 R3 K25
0x5818001A, // 0023 LDCONST R6 K26
0x7C100400, // 0024 CALL R4 2
0x80040800, // 0025 RET 1 R4
0x80000000, // 0026 RET 0
@ -320,38 +327,33 @@ be_local_closure(class_hue_bridge_monad_light_to_id, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(lights),
/* K1 */ be_nested_str(keys),
/* K2 */ be_nested_str(light),
/* K3 */ be_nested_str(stop_iteration),
}),
&be_ktab_class_hue_bridge_monad, /* shared constants */
&be_const_str_light_to_id,
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0x60080010, // 0000 GETGBL R2 G16
0x880C0100, // 0001 GETMBR R3 R0 K0
0x8C0C0701, // 0002 GETMET R3 R3 K1
0x880C0101, // 0001 GETMBR R3 R0 K1
0x8C0C0713, // 0002 GETMET R3 R3 K19
0x7C0C0200, // 0003 CALL R3 1
0x7C080200, // 0004 CALL R2 1
0xA8020009, // 0005 EXBLK 0 #0010
0x5C0C0400, // 0006 MOVE R3 R2
0x7C0C0000, // 0007 CALL R3 0
0x88100100, // 0008 GETMBR R4 R0 K0
0x88100101, // 0008 GETMBR R4 R0 K1
0x94100803, // 0009 GETIDX R4 R4 R3
0x94100902, // 000A GETIDX R4 R4 K2
0x94100904, // 000A GETIDX R4 R4 K4
0x1C100204, // 000B EQ R4 R1 R4
0x78120001, // 000C JMPF R4 #000F
0xA8040001, // 000D EXBLK 1 1
0x80040600, // 000E RET 1 R3
0x7001FFF5, // 000F JMP #0006
0x58080003, // 0010 LDCONST R2 K3
0x58080018, // 0010 LDCONST R2 K24
0xAC080200, // 0011 CATCH R2 1 0
0xB0080000, // 0012 RAISE 2 R0 R0
0x80000000, // 0013 RET 0
@ -368,49 +370,17 @@ be_local_closure(class_hue_bridge_monad_cmd, /* name */
be_nested_proto(
18, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[31]) { /* constants */
/* K0 */ be_nested_str(json),
/* K1 */ be_nested_str(lights),
/* K2 */ be_nested_str(contains),
/* K3 */ be_nested_str(light),
/* K4 */ be_nested_str(load),
/* K5 */ be_nested_str(tasmota),
/* K6 */ be_nested_str(log),
/* K7 */ be_nested_str(BRY_X3A_X20invalid_X20hue_X20payload_X3A_X20),
/* K8 */ be_const_int(3),
/* K9 */ be_nested_str(on),
/* K10 */ be_nested_str(set_power),
/* K11 */ be_nested_str(xy),
/* K12 */ be_const_int(0),
/* K13 */ be_const_int(1),
/* K14 */ be_nested_str(set_xy),
/* K15 */ be_nested_str(hue),
/* K16 */ be_nested_str(sat),
/* K17 */ be_nested_str(type),
/* K18 */ be_nested_str(set_hue16sat),
/* K19 */ be_nested_str(ct),
/* K20 */ be_nested_str(set_ct),
/* K21 */ be_nested_str(bri),
/* K22 */ be_nested_str(set_bri),
/* K23 */ be_nested_str(keys),
/* K24 */ be_nested_str(_X2Flights_X2F),
/* K25 */ be_nested_str(_X2Fstate_X2F),
/* K26 */ be_nested_str(success),
/* K27 */ be_nested_str(push),
/* K28 */ be_nested_str(stop_iteration),
/* K29 */ be_nested_str(signal_change),
/* K30 */ be_nested_str(dump),
}),
&be_ktab_class_hue_bridge_monad, /* shared constants */
&be_const_str_cmd,
&be_const_str_solidified,
( &(const binstruction[167]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xA40E2400, // 0000 IMPORT R3 K18
0x88100101, // 0001 GETMBR R4 R0 K1
0x8C100902, // 0002 GETMET R4 R4 K2
0x5C180200, // 0003 MOVE R6 R1
@ -419,128 +389,128 @@ be_local_closure(class_hue_bridge_monad_cmd, /* name */
0x80000800, // 0006 RET 0
0x88100101, // 0007 GETMBR R4 R0 K1
0x94100801, // 0008 GETIDX R4 R4 R1
0x94100903, // 0009 GETIDX R4 R4 K3
0x94100904, // 0009 GETIDX R4 R4 K4
0x60140013, // 000A GETGBL R5 G19
0x7C140000, // 000B CALL R5 0
0x8C180704, // 000C GETMET R6 R3 K4
0x8C18071B, // 000C GETMET R6 R3 K27
0x5C200400, // 000D MOVE R8 R2
0x7C180400, // 000E CALL R6 2
0x4C1C0000, // 000F LDNIL R7
0x1C1C0407, // 0010 EQ R7 R2 R7
0x781E0008, // 0011 JMPF R7 #001B
0xB81E0A00, // 0012 GETNGBL R7 K5
0x8C1C0F06, // 0013 GETMET R7 R7 K6
0xB81E3800, // 0012 GETNGBL R7 K28
0x8C1C0F1D, // 0013 GETMET R7 R7 K29
0x60240008, // 0014 GETGBL R9 G8
0x5C280400, // 0015 MOVE R10 R2
0x7C240200, // 0016 CALL R9 1
0x00260E09, // 0017 ADD R9 K7 R9
0x58280008, // 0018 LDCONST R10 K8
0x00263C09, // 0017 ADD R9 K30 R9
0x5828001F, // 0018 LDCONST R10 K31
0x7C1C0600, // 0019 CALL R7 3
0x80000E00, // 001A RET 0
0x8C1C0D02, // 001B GETMET R7 R6 K2
0x58240009, // 001C LDCONST R9 K9
0x58240020, // 001C LDCONST R9 K32
0x7C1C0400, // 001D CALL R7 2
0x781E0006, // 001E JMPF R7 #0026
0x601C0017, // 001F GETGBL R7 G23
0x94200D09, // 0020 GETIDX R8 R6 K9
0x94200D20, // 0020 GETIDX R8 R6 K32
0x7C1C0200, // 0021 CALL R7 1
0x98161207, // 0022 SETIDX R5 K9 R7
0x8C20090A, // 0023 GETMET R8 R4 K10
0x98164007, // 0022 SETIDX R5 K32 R7
0x8C200921, // 0023 GETMET R8 R4 K33
0x5C280E00, // 0024 MOVE R10 R7
0x7C200400, // 0025 CALL R8 2
0x8C1C0D02, // 0026 GETMET R7 R6 K2
0x5824000B, // 0027 LDCONST R9 K11
0x58240022, // 0027 LDCONST R9 K34
0x7C1C0400, // 0028 CALL R7 2
0x781E0013, // 0029 JMPF R7 #003E
0x941C0D0B, // 002A GETIDX R7 R6 K11
0x941C0D22, // 002A GETIDX R7 R6 K34
0x6020000A, // 002B GETGBL R8 G10
0x94240F0C, // 002C GETIDX R9 R7 K12
0x94240F23, // 002C GETIDX R9 R7 K35
0x7C200200, // 002D CALL R8 1
0x6024000A, // 002E GETGBL R9 G10
0x94280F0D, // 002F GETIDX R10 R7 K13
0x94280F24, // 002F GETIDX R10 R7 K36
0x7C240200, // 0030 CALL R9 1
0x60280012, // 0031 GETGBL R10 G18
0x7C280000, // 0032 CALL R10 0
0x402C1408, // 0033 CONNECT R11 R10 R8
0x402C1409, // 0034 CONNECT R11 R10 R9
0x9816160A, // 0035 SETIDX R5 K11 R10
0x9816440A, // 0035 SETIDX R5 K34 R10
0x542AFFFF, // 0036 LDINT R10 65536
0x0820100A, // 0037 MUL R8 R8 R10
0x542AFFFF, // 0038 LDINT R10 65536
0x0824120A, // 0039 MUL R9 R9 R10
0x8C28090E, // 003A GETMET R10 R4 K14
0x8C280925, // 003A GETMET R10 R4 K37
0x5C301000, // 003B MOVE R12 R8
0x5C341200, // 003C MOVE R13 R9
0x7C280600, // 003D CALL R10 3
0x501C0000, // 003E LDBOOL R7 0 0
0x8820090F, // 003F GETMBR R8 R4 K15
0x88240910, // 0040 GETMBR R9 R4 K16
0x88200926, // 003F GETMBR R8 R4 K38
0x88240927, // 0040 GETMBR R9 R4 K39
0x8C280D02, // 0041 GETMET R10 R6 K2
0x5830000F, // 0042 LDCONST R12 K15
0x58300026, // 0042 LDCONST R12 K38
0x7C280400, // 0043 CALL R10 2
0x782A0009, // 0044 JMPF R10 #004F
0x60280009, // 0045 GETGBL R10 G9
0x942C0D0F, // 0046 GETIDX R11 R6 K15
0x942C0D26, // 0046 GETIDX R11 R6 K38
0x7C280200, // 0047 CALL R10 1
0x5C201400, // 0048 MOVE R8 R10
0x98161E08, // 0049 SETIDX R5 K15 R8
0x98164C08, // 0049 SETIDX R5 K38 R8
0x542AFFFE, // 004A LDINT R10 65535
0x2428100A, // 004B GT R10 R8 R10
0x782A0000, // 004C JMPF R10 #004E
0x5422FFFE, // 004D LDINT R8 65535
0x501C0200, // 004E LDBOOL R7 1 0
0x8C280D02, // 004F GETMET R10 R6 K2
0x58300010, // 0050 LDCONST R12 K16
0x58300027, // 0050 LDCONST R12 K39
0x7C280400, // 0051 CALL R10 2
0x782A000C, // 0052 JMPF R10 #0060
0x60280009, // 0053 GETGBL R10 G9
0x942C0D10, // 0054 GETIDX R11 R6 K16
0x942C0D27, // 0054 GETIDX R11 R6 K39
0x7C280200, // 0055 CALL R10 1
0x5C241400, // 0056 MOVE R9 R10
0x98162009, // 0057 SETIDX R5 K16 R9
0x98164E09, // 0057 SETIDX R5 K39 R9
0x542A00FD, // 0058 LDINT R10 254
0x2828120A, // 0059 GE R10 R9 R10
0x782A0000, // 005A JMPF R10 #005C
0x542600FE, // 005B LDINT R9 255
0x88280911, // 005C GETMBR R10 R4 K17
0x28281508, // 005D GE R10 R10 K8
0x88280928, // 005C GETMBR R10 R4 K40
0x2828151F, // 005D GE R10 R10 K31
0x782A0000, // 005E JMPF R10 #0060
0x501C0200, // 005F LDBOOL R7 1 0
0x781E0003, // 0060 JMPF R7 #0065
0x8C280912, // 0061 GETMET R10 R4 K18
0x8C280929, // 0061 GETMET R10 R4 K41
0x5C301000, // 0062 MOVE R12 R8
0x5C341200, // 0063 MOVE R13 R9
0x7C280600, // 0064 CALL R10 3
0x8C280D02, // 0065 GETMET R10 R6 K2
0x58300013, // 0066 LDCONST R12 K19
0x5830002A, // 0066 LDCONST R12 K42
0x7C280400, // 0067 CALL R10 2
0x782A0006, // 0068 JMPF R10 #0070
0x60280009, // 0069 GETGBL R10 G9
0x942C0D13, // 006A GETIDX R11 R6 K19
0x942C0D2A, // 006A GETIDX R11 R6 K42
0x7C280200, // 006B CALL R10 1
0x9816260A, // 006C SETIDX R5 K19 R10
0x8C2C0914, // 006D GETMET R11 R4 K20
0x9816540A, // 006C SETIDX R5 K42 R10
0x8C2C092B, // 006D GETMET R11 R4 K43
0x5C341400, // 006E MOVE R13 R10
0x7C2C0400, // 006F CALL R11 2
0x8C280D02, // 0070 GETMET R10 R6 K2
0x58300015, // 0071 LDCONST R12 K21
0x5830002C, // 0071 LDCONST R12 K44
0x7C280400, // 0072 CALL R10 2
0x782A000A, // 0073 JMPF R10 #007F
0x60280009, // 0074 GETGBL R10 G9
0x942C0D15, // 0075 GETIDX R11 R6 K21
0x942C0D2C, // 0075 GETIDX R11 R6 K44
0x7C280200, // 0076 CALL R10 1
0x98162A0A, // 0077 SETIDX R5 K21 R10
0x9816580A, // 0077 SETIDX R5 K44 R10
0x542E00FD, // 0078 LDINT R11 254
0x282C140B, // 0079 GE R11 R10 R11
0x782E0000, // 007A JMPF R11 #007C
0x542A00FE, // 007B LDINT R10 255
0x8C2C0916, // 007C GETMET R11 R4 K22
0x8C2C092D, // 007C GETMET R11 R4 K45
0x5C341400, // 007D MOVE R13 R10
0x7C2C0400, // 007E CALL R11 2
0x60280012, // 007F GETGBL R10 G18
0x7C280000, // 0080 CALL R10 0
0x602C0010, // 0081 GETGBL R11 G16
0x8C300B17, // 0082 GETMET R12 R5 K23
0x8C300B13, // 0082 GETMET R12 R5 K19
0x7C300200, // 0083 CALL R12 1
0x7C2C0200, // 0084 CALL R11 1
0xA8020012, // 0085 EXBLK 0 #0099
@ -549,8 +519,8 @@ be_local_closure(class_hue_bridge_monad_cmd, /* name */
0x60340008, // 0088 GETGBL R13 G8
0x5C380200, // 0089 MOVE R14 R1
0x7C340200, // 008A CALL R13 1
0x0036300D, // 008B ADD R13 K24 R13
0x00341B19, // 008C ADD R13 R13 K25
0x00365C0D, // 008B ADD R13 K46 R13
0x00341B2F, // 008C ADD R13 R13 K47
0x00341A0C, // 008D ADD R13 R13 R12
0x60380013, // 008E GETGBL R14 G19
0x7C380000, // 008F CALL R14 0
@ -558,22 +528,22 @@ be_local_closure(class_hue_bridge_monad_cmd, /* name */
0x7C3C0000, // 0091 CALL R15 0
0x94400A0C, // 0092 GETIDX R16 R5 R12
0x983C1A10, // 0093 SETIDX R15 R13 R16
0x983A340F, // 0094 SETIDX R14 K26 R15
0x8C3C151B, // 0095 GETMET R15 R10 K27
0x983A600F, // 0094 SETIDX R14 K48 R15
0x8C3C1517, // 0095 GETMET R15 R10 K23
0x5C441C00, // 0096 MOVE R17 R14
0x7C3C0400, // 0097 CALL R15 2
0x7001FFEC, // 0098 JMP #0086
0x582C001C, // 0099 LDCONST R11 K28
0x582C0018, // 0099 LDCONST R11 K24
0xAC2C0200, // 009A CATCH R11 1 0
0xB0080000, // 009B RAISE 2 R0 R0
0x602C000C, // 009C GETGBL R11 G12
0x5C301400, // 009D MOVE R12 R10
0x7C2C0200, // 009E CALL R11 1
0x242C170C, // 009F GT R11 R11 K12
0x242C1723, // 009F GT R11 R11 K35
0x782E0001, // 00A0 JMPF R11 #00A3
0x8C2C091D, // 00A1 GETMET R11 R4 K29
0x8C2C0931, // 00A1 GETMET R11 R4 K49
0x7C2C0200, // 00A2 CALL R11 1
0x8C2C071E, // 00A3 GETMET R11 R3 K30
0x8C2C0732, // 00A3 GETMET R11 R3 K50
0x5C341400, // 00A4 MOVE R13 R10
0x7C2C0400, // 00A5 CALL R11 2
0x80041600, // 00A6 RET 1 R11
@ -590,53 +560,44 @@ be_local_closure(class_hue_bridge_monad_groups, /* name */
be_nested_proto(
8, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(lights),
/* K1 */ be_nested_str(keys),
/* K2 */ be_nested_str(push),
/* K3 */ be_nested_str(_X22),
/* K4 */ be_nested_str(stop_iteration),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str(concat),
/* K7 */ be_nested_str(_X2C),
}),
&be_ktab_class_hue_bridge_monad, /* shared constants */
&be_const_str_groups,
&be_const_str_solidified,
( &(const binstruction[31]) { /* code */
0x60040012, // 0000 GETGBL R1 G18
0x7C040000, // 0001 CALL R1 0
0x60080010, // 0002 GETGBL R2 G16
0x880C0100, // 0003 GETMBR R3 R0 K0
0x8C0C0701, // 0004 GETMET R3 R3 K1
0x880C0101, // 0003 GETMBR R3 R0 K1
0x8C0C0713, // 0004 GETMET R3 R3 K19
0x7C0C0200, // 0005 CALL R3 1
0x7C080200, // 0006 CALL R2 1
0xA8020009, // 0007 EXBLK 0 #0012
0x5C0C0400, // 0008 MOVE R3 R2
0x7C0C0000, // 0009 CALL R3 0
0x8C100302, // 000A GETMET R4 R1 K2
0x8C100317, // 000A GETMET R4 R1 K23
0x60180008, // 000B GETGBL R6 G8
0x5C1C0600, // 000C MOVE R7 R3
0x7C180200, // 000D CALL R6 1
0x001A0606, // 000E ADD R6 K3 R6
0x00180D03, // 000F ADD R6 R6 K3
0x001A2A06, // 000E ADD R6 K21 R6
0x00180D15, // 000F ADD R6 R6 K21
0x7C100400, // 0010 CALL R4 2
0x7001FFF5, // 0011 JMP #0008
0x58080004, // 0012 LDCONST R2 K4
0x58080018, // 0012 LDCONST R2 K24
0xAC080200, // 0013 CATCH R2 1 0
0xB0080000, // 0014 RAISE 2 R0 R0
0x6008000C, // 0015 GETGBL R2 G12
0x5C0C0200, // 0016 MOVE R3 R1
0x7C080200, // 0017 CALL R2 1
0x24080505, // 0018 GT R2 R2 K5
0x2408050D, // 0018 GT R2 R2 K13
0x780A0003, // 0019 JMPF R2 #001E
0x8C080306, // 001A GETMET R2 R1 K6
0x58100007, // 001B LDCONST R4 K7
0x8C080319, // 001A GETMET R2 R1 K25
0x5810001A, // 001B LDCONST R4 K26
0x7C080400, // 001C CALL R2 2
0x80040400, // 001D RET 1 R2
0x80000000, // 001E RET 0

View File

@ -3,6 +3,54 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'AXP192' ktab size: 44, total: 82 (saved 304 bytes)
static const bvalue be_ktab_class_AXP192[44] = {
/* K0 */ be_const_int(1),
/* K1 */ be_nested_str(write_bit),
/* K2 */ be_const_int(0),
/* K3 */ be_const_int(2),
/* K4 */ be_const_int(3),
/* K5 */ be_nested_str(read24),
/* K6 */ be_const_real_hex(0x3A102DE1),
/* K7 */ be_nested_str(read12),
/* K8 */ be_const_real_hex(0x3A902DE0),
/* K9 */ be_const_real_hex(0x3EC00000),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(2),
/* K12 */ be_const_int(3),
/* K13 */ be_nested_str(wire),
/* K14 */ be_nested_str(read),
/* K15 */ be_nested_str(addr),
/* K16 */ be_const_real_hex(0x3AB78035),
/* K17 */ be_const_real_hex(0x3ADED28A),
/* K18 */ be_const_int(0),
/* K19 */ be_const_int(3),
/* K20 */ be_nested_str(write8),
/* K21 */ be_nested_str(read8),
/* K22 */ be_nested_str(_X2C_X22AXP192_X22_X3A_X7B_X22VBusVoltage_X22_X3A_X25_X2E3f_X2C_X22VBusCurrent_X22_X3A_X25_X2E1f_X2C_X22BattVoltage_X22_X3A_X25_X2E3f_X2C_X22BattCurrent_X22_X3A_X25_X2E1f_X2C_X22Temperature_X22_X3A_X25_X2E1f_X7D),
/* K23 */ be_nested_str(get_vbus_voltage),
/* K24 */ be_nested_str(get_bat_voltage),
/* K25 */ be_nested_str(get_bat_current),
/* K26 */ be_nested_str(get_temp),
/* K27 */ be_nested_str(tasmota),
/* K28 */ be_nested_str(response_append),
/* K29 */ be_nested_str(I2C_Driver),
/* K30 */ be_nested_str(init),
/* K31 */ be_nested_str(AXP192),
/* K32 */ be_nested_str(read13),
/* K33 */ be_const_real_hex(0x3F000000),
/* K34 */ be_nested_str(_X7Bs_X7DVBus_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D),
/* K35 */ be_nested_str(_X7Bs_X7DVBus_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D),
/* K36 */ be_nested_str(_X7Bs_X7DBatt_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D),
/* K37 */ be_nested_str(_X7Bs_X7DBatt_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D),
/* K38 */ be_nested_str(_X7Bs_X7DAXP_X20Temperature_X7Bm_X7D_X25_X2E1f_X20_X26deg_X3BC_X7Be_X7D),
/* K39 */ be_nested_str(web_send_decimal),
/* K40 */ be_const_real_hex(0x3DCCCCCD),
/* K41 */ be_const_real_hex(0x4310B333),
/* K42 */ be_const_int(1),
/* K43 */ be_const_real_hex(0x3F000000),
};
extern const bclass be_class_AXP192;
@ -13,19 +61,13 @@ be_local_closure(class_AXP192_set_dcdc_enable, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_const_int(1),
/* K1 */ be_nested_str(write_bit),
/* K2 */ be_const_int(0),
/* K3 */ be_const_int(2),
/* K4 */ be_const_int(3),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_set_dcdc_enable,
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
@ -64,23 +106,20 @@ be_local_closure(class_AXP192_get_bat_power, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read24),
/* K1 */ be_const_real_hex(0x3A102DE0),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_get_bat_power,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040105, // 0000 GETMET R1 R0 K5
0x540E006F, // 0001 LDINT R3 112
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x08040306, // 0003 MUL R1 R1 K6
0x80040200, // 0004 RET 1 R1
})
)
@ -95,23 +134,20 @@ be_local_closure(class_AXP192_get_bat_voltage, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read12),
/* K1 */ be_const_real_hex(0x3A902DE0),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_get_bat_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E0077, // 0001 LDINT R3 120
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x08040308, // 0003 MUL R1 R1 K8
0x80040200, // 0004 RET 1 R1
})
)
@ -126,23 +162,20 @@ be_local_closure(class_AXP192_get_vbus_current, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read12),
/* K1 */ be_const_real_hex(0x3EC00000),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_get_vbus_current,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E005B, // 0001 LDINT R3 92
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x08040309, // 0003 MUL R1 R1 K9
0x80040200, // 0004 RET 1 R1
})
)
@ -157,23 +190,20 @@ be_local_closure(class_AXP192_get_warning_level, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read12),
/* K1 */ be_const_int(1),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_get_warning_level,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E0046, // 0001 LDINT R3 71
0x7C040400, // 0002 CALL R1 2
0x2C040301, // 0003 AND R1 R1 K1
0x2C04030A, // 0003 AND R1 R1 K10
0x80040200, // 0004 RET 1 R1
})
)
@ -188,32 +218,28 @@ be_local_closure(class_AXP192_set_ldo_enable, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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(2),
/* K1 */ be_nested_str(write_bit),
/* K2 */ be_const_int(3),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_set_ldo_enable,
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x1C0C0300, // 0000 EQ R3 R1 K0
0x1C0C030B, // 0000 EQ R3 R1 K11
0x780E0004, // 0001 JMPF R3 #0007
0x8C0C0101, // 0002 GETMET R3 R0 K1
0x54160011, // 0003 LDINT R5 18
0x58180000, // 0004 LDCONST R6 K0
0x5818000B, // 0004 LDCONST R6 K11
0x5C1C0400, // 0005 MOVE R7 R2
0x7C0C0800, // 0006 CALL R3 4
0x1C0C0302, // 0007 EQ R3 R1 K2
0x1C0C030C, // 0007 EQ R3 R1 K12
0x780E0004, // 0008 JMPF R3 #000E
0x8C0C0101, // 0009 GETMET R3 R0 K1
0x54160011, // 000A LDINT R5 18
0x58180002, // 000B LDCONST R6 K2
0x5818000C, // 000B LDCONST R6 K12
0x5C1C0400, // 000C MOVE R7 R2
0x7C0C0800, // 000D CALL R3 4
0x80000000, // 000E RET 0
@ -230,27 +256,21 @@ be_local_closure(class_AXP192_get_input_power_status, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(0),
/* K4 */ be_const_int(1),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_get_input_power_status,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x880C0102, // 0002 GETMBR R3 R0 K2
0x58100003, // 0003 LDCONST R4 K3
0x58140004, // 0004 LDCONST R5 K4
0x8804010D, // 0000 GETMBR R1 R0 K13
0x8C04030E, // 0001 GETMET R1 R1 K14
0x880C010F, // 0002 GETMBR R3 R0 K15
0x58100002, // 0003 LDCONST R4 K2
0x58140000, // 0004 LDCONST R5 K0
0x7C040800, // 0005 CALL R1 4
0x80040200, // 0006 RET 1 R1
})
@ -266,23 +286,20 @@ be_local_closure(class_AXP192_get_aps_voltage, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read12),
/* K1 */ be_const_real_hex(0x3AB78035),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_get_aps_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E007D, // 0001 LDINT R3 126
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x08040310, // 0003 MUL R1 R1 K16
0x80040200, // 0004 RET 1 R1
})
)
@ -297,19 +314,17 @@ be_local_closure(class_AXP192_set_exten, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(write_bit),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_set_exten,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C080100, // 0000 GETMET R2 R0 K0
0x8C080101, // 0000 GETMET R2 R0 K1
0x54120011, // 0001 LDINT R4 18
0x54160005, // 0002 LDINT R5 6
0x5C180200, // 0003 MOVE R6 R1
@ -328,26 +343,21 @@ be_local_closure(class_AXP192_battery_present, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(1),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_battery_present,
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x880C0102, // 0002 GETMBR R3 R0 K2
0x58100003, // 0003 LDCONST R4 K3
0x58140003, // 0004 LDCONST R5 K3
0x8804010D, // 0000 GETMBR R1 R0 K13
0x8C04030E, // 0001 GETMET R1 R1 K14
0x880C010F, // 0002 GETMBR R3 R0 K15
0x58100000, // 0003 LDCONST R4 K0
0x58140000, // 0004 LDCONST R5 K0
0x7C040800, // 0005 CALL R1 4
0x540A001F, // 0006 LDINT R2 32
0x2C040202, // 0007 AND R1 R1 R2
@ -371,23 +381,20 @@ be_local_closure(class_AXP192_get_vbus_voltage, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read12),
/* K1 */ be_const_real_hex(0x3ADED28A),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_get_vbus_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E0059, // 0001 LDINT R3 90
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x08040311, // 0003 MUL R1 R1 K17
0x80040200, // 0004 RET 1 R1
})
)
@ -402,39 +409,34 @@ be_local_closure(class_AXP192_write_gpio, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 4]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_const_int(2),
/* K2 */ be_nested_str(write_bit),
/* K3 */ be_const_int(3),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_write_gpio,
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x280C0300, // 0000 GE R3 R1 K0
0x280C0312, // 0000 GE R3 R1 K18
0x780E0007, // 0001 JMPF R3 #000A
0x180C0301, // 0002 LE R3 R1 K1
0x180C0303, // 0002 LE R3 R1 K3
0x780E0005, // 0003 JMPF R3 #000A
0x8C0C0102, // 0004 GETMET R3 R0 K2
0x8C0C0101, // 0004 GETMET R3 R0 K1
0x54160093, // 0005 LDINT R5 148
0x5C180200, // 0006 MOVE R6 R1
0x5C1C0400, // 0007 MOVE R7 R2
0x7C0C0800, // 0008 CALL R3 4
0x70020009, // 0009 JMP #0014
0x280C0303, // 000A GE R3 R1 K3
0x280C0313, // 000A GE R3 R1 K19
0x780E0007, // 000B JMPF R3 #0014
0x540E0003, // 000C LDINT R3 4
0x180C0203, // 000D LE R3 R1 R3
0x780E0004, // 000E JMPF R3 #0014
0x8C0C0102, // 000F GETMET R3 R0 K2
0x8C0C0101, // 000F GETMET R3 R0 K1
0x54160095, // 0010 LDINT R5 150
0x04180303, // 0011 SUB R6 R1 K3
0x04180313, // 0011 SUB R6 R1 K19
0x5C1C0400, // 0012 MOVE R7 R2
0x7C0C0800, // 0013 CALL R3 4
0x80000000, // 0014 RET 0
@ -451,18 +453,13 @@ be_local_closure(class_AXP192_set_ldo_voltage, /* name */
be_nested_proto(
9, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 4]) { /* constants */
/* K0 */ be_const_int(2),
/* K1 */ be_nested_str(write8),
/* K2 */ be_nested_str(read8),
/* K3 */ be_const_int(3),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_set_ldo_voltage,
&be_const_str_solidified,
( &(const binstruction[39]) { /* code */
@ -476,11 +473,11 @@ be_local_closure(class_AXP192_set_ldo_voltage, /* name */
0x54120011, // 0007 LDINT R4 18
0x040C0604, // 0008 SUB R3 R3 R4
0x5C080600, // 0009 MOVE R2 R3
0x1C0C0300, // 000A EQ R3 R1 K0
0x1C0C0303, // 000A EQ R3 R1 K3
0x780E000C, // 000B JMPF R3 #0019
0x8C0C0101, // 000C GETMET R3 R0 K1
0x8C0C0114, // 000C GETMET R3 R0 K20
0x54160027, // 000D LDINT R5 40
0x8C180102, // 000E GETMET R6 R0 K2
0x8C180115, // 000E GETMET R6 R0 K21
0x54220027, // 000F LDINT R8 40
0x7C180400, // 0010 CALL R6 2
0x541E000E, // 0011 LDINT R7 15
@ -491,11 +488,11 @@ be_local_closure(class_AXP192_set_ldo_voltage, /* name */
0x381C0E08, // 0016 SHL R7 R7 R8
0x30180C07, // 0017 OR R6 R6 R7
0x7C0C0600, // 0018 CALL R3 3
0x1C0C0303, // 0019 EQ R3 R1 K3
0x1C0C030C, // 0019 EQ R3 R1 K12
0x780E000A, // 001A JMPF R3 #0026
0x8C0C0101, // 001B GETMET R3 R0 K1
0x8C0C0114, // 001B GETMET R3 R0 K20
0x54160027, // 001C LDINT R5 40
0x8C180102, // 001D GETMET R6 R0 K2
0x8C180115, // 001D GETMET R6 R0 K21
0x54220027, // 001E LDINT R8 40
0x7C180400, // 001F CALL R6 2
0x541E00EF, // 0020 LDINT R7 240
@ -518,44 +515,35 @@ be_local_closure(class_AXP192_json_append, /* name */
be_nested_proto(
9, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(_X2C_X22AXP192_X22_X3A_X7B_X22VBusVoltage_X22_X3A_X25_X2E3f_X2C_X22VBusCurrent_X22_X3A_X25_X2E1f_X2C_X22BattVoltage_X22_X3A_X25_X2E3f_X2C_X22BattCurrent_X22_X3A_X25_X2E1f_X2C_X22Temperature_X22_X3A_X25_X2E1f_X7D),
/* K2 */ be_nested_str(get_vbus_voltage),
/* K3 */ be_nested_str(get_bat_voltage),
/* K4 */ be_nested_str(get_bat_current),
/* K5 */ be_nested_str(get_temp),
/* K6 */ be_nested_str(tasmota),
/* K7 */ be_nested_str(response_append),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_json_append,
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8804010D, // 0000 GETMBR R1 R0 K13
0x74060001, // 0001 JMPT R1 #0004
0x4C040000, // 0002 LDNIL R1
0x80040200, // 0003 RET 1 R1
0x60040018, // 0004 GETGBL R1 G24
0x58080001, // 0005 LDCONST R2 K1
0x8C0C0102, // 0006 GETMET R3 R0 K2
0x58080016, // 0005 LDCONST R2 K22
0x8C0C0117, // 0006 GETMET R3 R0 K23
0x7C0C0200, // 0007 CALL R3 1
0x8C100102, // 0008 GETMET R4 R0 K2
0x8C100117, // 0008 GETMET R4 R0 K23
0x7C100200, // 0009 CALL R4 1
0x8C140103, // 000A GETMET R5 R0 K3
0x8C140118, // 000A GETMET R5 R0 K24
0x7C140200, // 000B CALL R5 1
0x8C180104, // 000C GETMET R6 R0 K4
0x8C180119, // 000C GETMET R6 R0 K25
0x7C180200, // 000D CALL R6 1
0x8C1C0105, // 000E GETMET R7 R0 K5
0x8C1C011A, // 000E GETMET R7 R0 K26
0x7C1C0200, // 000F CALL R7 1
0x7C040C00, // 0010 CALL R1 6
0xB80A0C00, // 0011 GETNGBL R2 K6
0x8C080507, // 0012 GETMET R2 R2 K7
0xB80A3600, // 0011 GETNGBL R2 K27
0x8C08051C, // 0012 GETMET R2 R2 K28
0x5C100200, // 0013 MOVE R4 R1
0x7C080400, // 0014 CALL R2 2
0x80000000, // 0015 RET 0
@ -572,26 +560,22 @@ be_local_closure(class_AXP192_init, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(I2C_Driver),
/* K1 */ be_nested_str(init),
/* K2 */ be_nested_str(AXP192),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x60040003, // 0000 GETGBL R1 G3
0x5C080000, // 0001 MOVE R2 R0
0xB80E0000, // 0002 GETNGBL R3 K0
0xB80E3A00, // 0002 GETNGBL R3 K29
0x7C040400, // 0003 CALL R1 2
0x8C040301, // 0004 GETMET R1 R1 K1
0x580C0002, // 0005 LDCONST R3 K2
0x8C04031E, // 0004 GETMET R1 R1 K30
0x580C001F, // 0005 LDCONST R3 K31
0x54120033, // 0006 LDINT R4 52
0x7C040600, // 0007 CALL R1 3
0x80000000, // 0008 RET 0
@ -608,27 +592,24 @@ be_local_closure(class_AXP192_get_bat_current, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read13),
/* K1 */ be_const_real_hex(0x3F000000),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_get_bat_current,
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040120, // 0000 GETMET R1 R0 K32
0x540E0079, // 0001 LDINT R3 122
0x7C040400, // 0002 CALL R1 2
0x8C080100, // 0003 GETMET R2 R0 K0
0x8C080120, // 0003 GETMET R2 R0 K32
0x5412007B, // 0004 LDINT R4 124
0x7C080400, // 0005 CALL R2 2
0x04040202, // 0006 SUB R1 R1 R2
0x08040301, // 0007 MUL R1 R1 K1
0x08040321, // 0007 MUL R1 R1 K33
0x80040200, // 0008 RET 1 R1
})
)
@ -643,51 +624,38 @@ be_local_closure(class_AXP192_web_sensor, /* name */
be_nested_proto(
9, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str(wire),
/* K1 */ be_nested_str(_X7Bs_X7DVBus_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D),
/* K2 */ be_nested_str(_X7Bs_X7DVBus_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D),
/* K3 */ be_nested_str(_X7Bs_X7DBatt_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D),
/* K4 */ be_nested_str(_X7Bs_X7DBatt_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D),
/* K5 */ be_nested_str(_X7Bs_X7DAXP_X20Temperature_X7Bm_X7D_X25_X2E1f_X20_X26deg_X3BC_X7Be_X7D),
/* K6 */ be_nested_str(get_vbus_voltage),
/* K7 */ be_nested_str(get_bat_voltage),
/* K8 */ be_nested_str(get_bat_current),
/* K9 */ be_nested_str(get_temp),
/* K10 */ be_nested_str(tasmota),
/* K11 */ be_nested_str(web_send_decimal),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_web_sensor,
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8804010D, // 0000 GETMBR R1 R0 K13
0x74060001, // 0001 JMPT R1 #0004
0x4C040000, // 0002 LDNIL R1
0x80040200, // 0003 RET 1 R1
0x60040018, // 0004 GETGBL R1 G24
0x400A0302, // 0005 CONNECT R2 K1 K2
0x40080503, // 0006 CONNECT R2 R2 K3
0x40080504, // 0007 CONNECT R2 R2 K4
0x40080505, // 0008 CONNECT R2 R2 K5
0x8C0C0106, // 0009 GETMET R3 R0 K6
0x400A4523, // 0005 CONNECT R2 K34 K35
0x40080524, // 0006 CONNECT R2 R2 K36
0x40080525, // 0007 CONNECT R2 R2 K37
0x40080526, // 0008 CONNECT R2 R2 K38
0x8C0C0117, // 0009 GETMET R3 R0 K23
0x7C0C0200, // 000A CALL R3 1
0x8C100106, // 000B GETMET R4 R0 K6
0x8C100117, // 000B GETMET R4 R0 K23
0x7C100200, // 000C CALL R4 1
0x8C140107, // 000D GETMET R5 R0 K7
0x8C140118, // 000D GETMET R5 R0 K24
0x7C140200, // 000E CALL R5 1
0x8C180108, // 000F GETMET R6 R0 K8
0x8C180119, // 000F GETMET R6 R0 K25
0x7C180200, // 0010 CALL R6 1
0x8C1C0109, // 0011 GETMET R7 R0 K9
0x8C1C011A, // 0011 GETMET R7 R0 K26
0x7C1C0200, // 0012 CALL R7 1
0x7C040C00, // 0013 CALL R1 6
0xB80A1400, // 0014 GETNGBL R2 K10
0x8C08050B, // 0015 GETMET R2 R2 K11
0xB80A3600, // 0014 GETNGBL R2 K27
0x8C080527, // 0015 GETMET R2 R2 K39
0x5C100200, // 0016 MOVE R4 R1
0x7C080400, // 0017 CALL R2 2
0x80000000, // 0018 RET 0
@ -704,22 +672,19 @@ be_local_closure(class_AXP192_set_chg_current, /* name */
be_nested_proto(
8, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(write8),
/* K1 */ be_nested_str(read8),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_set_chg_current,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x8C080100, // 0000 GETMET R2 R0 K0
0x8C080114, // 0000 GETMET R2 R0 K20
0x54120032, // 0001 LDINT R4 51
0x8C140101, // 0002 GETMET R5 R0 K1
0x8C140115, // 0002 GETMET R5 R0 K21
0x541E0032, // 0003 LDINT R7 51
0x7C140400, // 0004 CALL R5 2
0x541A00EF, // 0005 LDINT R6 240
@ -742,25 +707,21 @@ be_local_closure(class_AXP192_get_temp, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read12),
/* K1 */ be_const_real_hex(0x3DCCCCCD),
/* K2 */ be_const_real_hex(0x4310B333),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_get_temp,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E005D, // 0001 LDINT R3 94
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x04040302, // 0004 SUB R1 R1 K2
0x08040328, // 0003 MUL R1 R1 K40
0x04040329, // 0004 SUB R1 R1 K41
0x80040200, // 0005 RET 1 R1
})
)
@ -775,26 +736,19 @@ be_local_closure(class_AXP192_set_dc_voltage, /* name */
be_nested_proto(
11, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 6]) { /* constants */
/* K0 */ be_const_int(1),
/* K1 */ be_const_int(3),
/* K2 */ be_const_int(0),
/* K3 */ be_const_int(2),
/* K4 */ be_nested_str(write8),
/* K5 */ be_nested_str(read8),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_set_dc_voltage,
&be_const_str_solidified,
( &(const binstruction[48]) { /* code */
0x140C0300, // 0000 LT R3 R1 K0
0x140C032A, // 0000 LT R3 R1 K42
0x740E0001, // 0001 JMPT R3 #0004
0x240C0301, // 0002 GT R3 R1 K1
0x240C0304, // 0002 GT R3 R1 K4
0x780E0000, // 0003 JMPF R3 #0005
0x80000600, // 0004 RET 0
0x4C0C0000, // 0005 LDNIL R3
@ -808,7 +762,7 @@ be_local_closure(class_AXP192_set_dc_voltage, /* name */
0x78120001, // 000D JMPF R4 #0010
0x540E006F, // 000E LDINT R3 112
0x7002000B, // 000F JMP #001C
0x1C100303, // 0010 EQ R4 R1 K3
0x1C10030B, // 0010 EQ R4 R1 K11
0x78120004, // 0011 JMPF R4 #0017
0x541208E2, // 0012 LDINT R4 2275
0x24100404, // 0013 GT R4 R2 R4
@ -821,16 +775,16 @@ be_local_closure(class_AXP192_set_dc_voltage, /* name */
0x0C100805, // 001A DIV R4 R4 R5
0x5C0C0800, // 001B MOVE R3 R4
0x54120025, // 001C LDINT R4 38
0x1C140301, // 001D EQ R5 R1 K1
0x1C140304, // 001D EQ R5 R1 K4
0x78160001, // 001E JMPF R5 #0021
0x54120026, // 001F LDINT R4 39
0x70020002, // 0020 JMP #0024
0x1C140303, // 0021 EQ R5 R1 K3
0x1C14030B, // 0021 EQ R5 R1 K11
0x78160000, // 0022 JMPF R5 #0024
0x54120022, // 0023 LDINT R4 35
0x8C140104, // 0024 GETMET R5 R0 K4
0x8C140114, // 0024 GETMET R5 R0 K20
0x5C1C0800, // 0025 MOVE R7 R4
0x8C200105, // 0026 GETMET R8 R0 K5
0x8C200115, // 0026 GETMET R8 R0 K21
0x5C280800, // 0027 MOVE R10 R4
0x7C200400, // 0028 CALL R8 2
0x5426007F, // 0029 LDINT R9 128
@ -853,23 +807,20 @@ be_local_closure(class_AXP192_power_off, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(write_bit),
/* K1 */ be_const_int(1),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_power_off,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040101, // 0000 GETMET R1 R0 K1
0x540E0031, // 0001 LDINT R3 50
0x54120006, // 0002 LDINT R4 7
0x58140001, // 0003 LDCONST R5 K1
0x58140000, // 0003 LDCONST R5 K0
0x7C040800, // 0004 CALL R1 4
0x80000000, // 0005 RET 0
})
@ -885,26 +836,21 @@ be_local_closure(class_AXP192_get_battery_chargin_status, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(1),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_get_battery_chargin_status,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x880C0102, // 0002 GETMBR R3 R0 K2
0x58100003, // 0003 LDCONST R4 K3
0x58140003, // 0004 LDCONST R5 K3
0x8804010D, // 0000 GETMBR R1 R0 K13
0x8C04030E, // 0001 GETMET R1 R1 K14
0x880C010F, // 0002 GETMBR R3 R0 K15
0x58100000, // 0003 LDCONST R4 K0
0x58140000, // 0004 LDCONST R5 K0
0x7C040800, // 0005 CALL R1 4
0x80040200, // 0006 RET 1 R1
})
@ -920,23 +866,20 @@ be_local_closure(class_AXP192_get_bat_charge_current, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read13),
/* K1 */ be_const_real_hex(0x3F000000),
}),
&be_ktab_class_AXP192, /* shared constants */
&be_const_str_get_bat_charge_current,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040120, // 0000 GETMET R1 R0 K32
0x540E0079, // 0001 LDINT R3 122
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x0804032B, // 0003 MUL R1 R1 K43
0x80040200, // 0004 RET 1 R1
})
)

View File

@ -3,6 +3,38 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'AXP202' ktab size: 28, total: 64 (saved 288 bytes)
static const bvalue be_ktab_class_AXP202[28] = {
/* K0 */ be_const_int(0),
/* K1 */ be_const_int(1),
/* K2 */ be_const_int(2),
/* K3 */ be_const_int(3),
/* K4 */ be_nested_str(write8),
/* K5 */ be_nested_str(read8),
/* K6 */ be_nested_str(read12),
/* K7 */ be_const_real_hex(0x3EC00000),
/* K8 */ be_const_real_hex(0x3A902DE0),
/* K9 */ be_nested_str(read13),
/* K10 */ be_const_real_hex(0x3F000000),
/* K11 */ be_nested_str(read24),
/* K12 */ be_const_real_hex(0x3A102DE1),
/* K13 */ be_const_real_hex(0x3AB78035),
/* K14 */ be_const_real_hex(0x3ADED28A),
/* K15 */ be_nested_str(write_bit),
/* K16 */ be_nested_str(wire),
/* K17 */ be_nested_str(read),
/* K18 */ be_nested_str(addr),
/* K19 */ be_const_int(3),
/* K20 */ be_nested_str(I2C_Driver),
/* K21 */ be_nested_str(init),
/* K22 */ be_nested_str(AXP202),
/* K23 */ be_const_int(0),
/* K24 */ be_const_int(2),
/* K25 */ be_const_real_hex(0x3F000000),
/* K26 */ be_const_real_hex(0x3DCCCCCD),
/* K27 */ be_const_real_hex(0x4310B333),
};
extern const bclass be_class_AXP202;
@ -13,20 +45,13 @@ be_local_closure(class_AXP202_set_shutdown_time, /* name */
be_nested_proto(
9, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 6]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_const_int(1),
/* K2 */ be_const_int(2),
/* K3 */ be_const_int(3),
/* K4 */ be_nested_str(write8),
/* K5 */ be_nested_str(read8),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_set_shutdown_time,
&be_const_str_solidified,
( &(const binstruction[24]) { /* code */
@ -67,23 +92,20 @@ be_local_closure(class_AXP202_get_vbus_current, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read12),
/* K1 */ be_const_real_hex(0x3EC00000),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_get_vbus_current,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040106, // 0000 GETMET R1 R0 K6
0x540E005B, // 0001 LDINT R3 92
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x08040307, // 0003 MUL R1 R1 K7
0x80040200, // 0004 RET 1 R1
})
)
@ -98,23 +120,20 @@ be_local_closure(class_AXP202_get_bat_voltage, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read12),
/* K1 */ be_const_real_hex(0x3A902DE0),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_get_bat_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040106, // 0000 GETMET R1 R0 K6
0x540E0077, // 0001 LDINT R3 120
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x08040308, // 0003 MUL R1 R1 K8
0x80040200, // 0004 RET 1 R1
})
)
@ -129,27 +148,24 @@ be_local_closure(class_AXP202_get_bat_current, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read13),
/* K1 */ be_const_real_hex(0x3F000000),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_get_bat_current,
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040109, // 0000 GETMET R1 R0 K9
0x540E0079, // 0001 LDINT R3 122
0x7C040400, // 0002 CALL R1 2
0x8C080100, // 0003 GETMET R2 R0 K0
0x8C080109, // 0003 GETMET R2 R0 K9
0x5412007B, // 0004 LDINT R4 124
0x7C080400, // 0005 CALL R2 2
0x04040202, // 0006 SUB R1 R1 R2
0x08040301, // 0007 MUL R1 R1 K1
0x0804030A, // 0007 MUL R1 R1 K10
0x80040200, // 0008 RET 1 R1
})
)
@ -164,23 +180,20 @@ be_local_closure(class_AXP202_get_bat_power, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read24),
/* K1 */ be_const_real_hex(0x3A102DE0),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_get_bat_power,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C04010B, // 0000 GETMET R1 R0 K11
0x540E006F, // 0001 LDINT R3 112
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x0804030C, // 0003 MUL R1 R1 K12
0x80040200, // 0004 RET 1 R1
})
)
@ -195,23 +208,20 @@ be_local_closure(class_AXP202_get_aps_voltage, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read12),
/* K1 */ be_const_real_hex(0x3AB78035),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_get_aps_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040106, // 0000 GETMET R1 R0 K6
0x540E007D, // 0001 LDINT R3 126
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x0804030D, // 0003 MUL R1 R1 K13
0x80040200, // 0004 RET 1 R1
})
)
@ -226,23 +236,20 @@ be_local_closure(class_AXP202_get_vbus_voltage, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read12),
/* K1 */ be_const_real_hex(0x3ADED28A),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_get_vbus_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040106, // 0000 GETMET R1 R0 K6
0x540E0059, // 0001 LDINT R3 90
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x0804030E, // 0003 MUL R1 R1 K14
0x80040200, // 0004 RET 1 R1
})
)
@ -257,30 +264,26 @@ be_local_closure(class_AXP202_set_ldo_enable, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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(2),
/* K1 */ be_nested_str(write_bit),
/* K2 */ be_const_int(3),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_set_ldo_enable,
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x1C0C0300, // 0000 EQ R3 R1 K0
0x1C0C0302, // 0000 EQ R3 R1 K2
0x780E0004, // 0001 JMPF R3 #0007
0x8C0C0101, // 0002 GETMET R3 R0 K1
0x8C0C010F, // 0002 GETMET R3 R0 K15
0x54160011, // 0003 LDINT R5 18
0x58180000, // 0004 LDCONST R6 K0
0x58180002, // 0004 LDCONST R6 K2
0x5C1C0400, // 0005 MOVE R7 R2
0x7C0C0800, // 0006 CALL R3 4
0x1C0C0302, // 0007 EQ R3 R1 K2
0x1C0C0303, // 0007 EQ R3 R1 K3
0x780E0004, // 0008 JMPF R3 #000E
0x8C0C0101, // 0009 GETMET R3 R0 K1
0x8C0C010F, // 0009 GETMET R3 R0 K15
0x54160011, // 000A LDINT R5 18
0x541A0005, // 000B LDINT R6 6
0x5C1C0400, // 000C MOVE R7 R2
@ -288,9 +291,9 @@ be_local_closure(class_AXP202_set_ldo_enable, /* name */
0x540E0003, // 000E LDINT R3 4
0x1C0C0203, // 000F EQ R3 R1 R3
0x780E0004, // 0010 JMPF R3 #0016
0x8C0C0101, // 0011 GETMET R3 R0 K1
0x8C0C010F, // 0011 GETMET R3 R0 K15
0x54160011, // 0012 LDINT R5 18
0x58180002, // 0013 LDCONST R6 K2
0x58180003, // 0013 LDCONST R6 K3
0x5C1C0400, // 0014 MOVE R7 R2
0x7C0C0800, // 0015 CALL R3 4
0x80000000, // 0016 RET 0
@ -307,26 +310,21 @@ be_local_closure(class_AXP202_battery_present, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(1),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_battery_present,
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x880C0102, // 0002 GETMBR R3 R0 K2
0x58100003, // 0003 LDCONST R4 K3
0x58140003, // 0004 LDCONST R5 K3
0x88040110, // 0000 GETMBR R1 R0 K16
0x8C040311, // 0001 GETMET R1 R1 K17
0x880C0112, // 0002 GETMBR R3 R0 K18
0x58100001, // 0003 LDCONST R4 K1
0x58140001, // 0004 LDCONST R5 K1
0x7C040800, // 0005 CALL R1 4
0x540A001F, // 0006 LDINT R2 32
0x2C040202, // 0007 AND R1 R1 R2
@ -350,16 +348,13 @@ be_local_closure(class_AXP202_set_chg_current_ma, /* name */
be_nested_proto(
9, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(write8),
/* K1 */ be_nested_str(read8),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_set_chg_current_ma,
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
@ -367,9 +362,9 @@ be_local_closure(class_AXP202_set_chg_current_ma, /* name */
0x04080202, // 0001 SUB R2 R1 R2
0x540E0063, // 0002 LDINT R3 100
0x0C080403, // 0003 DIV R2 R2 R3
0x8C0C0100, // 0004 GETMET R3 R0 K0
0x8C0C0104, // 0004 GETMET R3 R0 K4
0x54160032, // 0005 LDINT R5 51
0x8C180101, // 0006 GETMET R6 R0 K1
0x8C180105, // 0006 GETMET R6 R0 K5
0x54220032, // 0007 LDINT R8 51
0x7C180400, // 0008 CALL R6 2
0x541E00EF, // 0009 LDINT R7 240
@ -392,33 +387,28 @@ be_local_closure(class_AXP202_set_dcdc_enable, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 4]) { /* constants */
/* K0 */ be_const_int(2),
/* K1 */ be_nested_str(write_bit),
/* K2 */ be_const_int(3),
/* K3 */ be_const_int(1),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_set_dcdc_enable,
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x1C0C0300, // 0000 EQ R3 R1 K0
0x1C0C0302, // 0000 EQ R3 R1 K2
0x780E0004, // 0001 JMPF R3 #0007
0x8C0C0101, // 0002 GETMET R3 R0 K1
0x8C0C010F, // 0002 GETMET R3 R0 K15
0x54160011, // 0003 LDINT R5 18
0x541A0003, // 0004 LDINT R6 4
0x5C1C0400, // 0005 MOVE R7 R2
0x7C0C0800, // 0006 CALL R3 4
0x1C0C0302, // 0007 EQ R3 R1 K2
0x1C0C0303, // 0007 EQ R3 R1 K3
0x780E0004, // 0008 JMPF R3 #000E
0x8C0C0101, // 0009 GETMET R3 R0 K1
0x8C0C010F, // 0009 GETMET R3 R0 K15
0x54160011, // 000A LDINT R5 18
0x58180003, // 000B LDCONST R6 K3
0x58180001, // 000B LDCONST R6 K1
0x5C1C0400, // 000C MOVE R7 R2
0x7C0C0800, // 000D CALL R3 4
0x80000000, // 000E RET 0
@ -435,21 +425,17 @@ be_local_closure(class_AXP202_set_chg_led_mode, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(read8),
/* K1 */ be_const_int(3),
/* K2 */ be_nested_str(write8),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_set_chg_led_mode,
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0x8C080100, // 0000 GETMET R2 R0 K0
0x8C080105, // 0000 GETMET R2 R0 K5
0x54120031, // 0001 LDINT R4 50
0x7C080400, // 0002 CALL R2 2
0x540E00CE, // 0003 LDINT R3 207
@ -457,11 +443,11 @@ be_local_closure(class_AXP202_set_chg_led_mode, /* name */
0x54120007, // 0005 LDINT R4 8
0x300C0604, // 0006 OR R3 R3 R4
0x5C080600, // 0007 MOVE R2 R3
0x2C0C0301, // 0008 AND R3 R1 K1
0x2C0C0313, // 0008 AND R3 R1 K19
0x54120003, // 0009 LDINT R4 4
0x380C0604, // 000A SHL R3 R3 R4
0x30080403, // 000B OR R2 R2 R3
0x8C0C0102, // 000C GETMET R3 R0 K2
0x8C0C0104, // 000C GETMET R3 R0 K4
0x54160031, // 000D LDINT R5 50
0x5C180400, // 000E MOVE R6 R2
0x7C0C0600, // 000F CALL R3 3
@ -479,26 +465,22 @@ be_local_closure(class_AXP202_init, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(I2C_Driver),
/* K1 */ be_nested_str(init),
/* K2 */ be_nested_str(AXP202),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x60040003, // 0000 GETGBL R1 G3
0x5C080000, // 0001 MOVE R2 R0
0xB80E0000, // 0002 GETNGBL R3 K0
0xB80E2800, // 0002 GETNGBL R3 K20
0x7C040400, // 0003 CALL R1 2
0x8C040301, // 0004 GETMET R1 R1 K1
0x580C0002, // 0005 LDCONST R3 K2
0x8C040315, // 0004 GETMET R1 R1 K21
0x580C0016, // 0005 LDCONST R3 K22
0x54120034, // 0006 LDINT R4 53
0x7C040600, // 0007 CALL R1 3
0x80000000, // 0008 RET 0
@ -515,22 +497,19 @@ be_local_closure(class_AXP202_set_exten, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(write_bit),
/* K1 */ be_const_int(0),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_set_exten,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C080100, // 0000 GETMET R2 R0 K0
0x8C08010F, // 0000 GETMET R2 R0 K15
0x54120011, // 0001 LDINT R4 18
0x58140001, // 0002 LDCONST R5 K1
0x58140017, // 0002 LDCONST R5 K23
0x5C180200, // 0003 MOVE R6 R1
0x7C080800, // 0004 CALL R2 4
0x80000000, // 0005 RET 0
@ -547,26 +526,21 @@ be_local_closure(class_AXP202_get_battery_chargin_status, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(1),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_get_battery_chargin_status,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x880C0102, // 0002 GETMBR R3 R0 K2
0x58100003, // 0003 LDCONST R4 K3
0x58140003, // 0004 LDCONST R5 K3
0x88040110, // 0000 GETMBR R1 R0 K16
0x8C040311, // 0001 GETMET R1 R1 K17
0x880C0112, // 0002 GETMBR R3 R0 K18
0x58100001, // 0003 LDCONST R4 K1
0x58140001, // 0004 LDCONST R5 K1
0x7C040800, // 0005 CALL R1 4
0x80040200, // 0006 RET 1 R1
})
@ -582,39 +556,33 @@ be_local_closure(class_AXP202_set_dc_voltage, /* name */
be_nested_proto(
11, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_const_int(2),
/* K1 */ be_const_int(3),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str(write8),
/* K4 */ be_nested_str(read8),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_set_dc_voltage,
&be_const_str_solidified,
( &(const binstruction[44]) { /* code */
0x140C0300, // 0000 LT R3 R1 K0
0x140C0318, // 0000 LT R3 R1 K24
0x740E0001, // 0001 JMPT R3 #0004
0x240C0301, // 0002 GT R3 R1 K1
0x240C0303, // 0002 GT R3 R1 K3
0x780E0000, // 0003 JMPF R3 #0005
0x80000600, // 0004 RET 0
0x4C0C0000, // 0005 LDNIL R3
0x541202BB, // 0006 LDINT R4 700
0x14100404, // 0007 LT R4 R2 R4
0x78120001, // 0008 JMPF R4 #000B
0x580C0002, // 0009 LDCONST R3 K2
0x580C0017, // 0009 LDCONST R3 K23
0x70020010, // 000A JMP #001C
0x54120DAB, // 000B LDINT R4 3500
0x24100404, // 000C GT R4 R2 R4
0x78120001, // 000D JMPF R4 #0010
0x540E006F, // 000E LDINT R3 112
0x7002000B, // 000F JMP #001C
0x1C100300, // 0010 EQ R4 R1 K0
0x1C100318, // 0010 EQ R4 R1 K24
0x78120004, // 0011 JMPF R4 #0017
0x541208E2, // 0012 LDINT R4 2275
0x24100404, // 0013 GT R4 R2 R4
@ -627,12 +595,12 @@ be_local_closure(class_AXP202_set_dc_voltage, /* name */
0x0C100805, // 001A DIV R4 R4 R5
0x5C0C0800, // 001B MOVE R3 R4
0x54120022, // 001C LDINT R4 35
0x1C140301, // 001D EQ R5 R1 K1
0x1C140303, // 001D EQ R5 R1 K3
0x78160000, // 001E JMPF R5 #0020
0x54120026, // 001F LDINT R4 39
0x8C140103, // 0020 GETMET R5 R0 K3
0x8C140104, // 0020 GETMET R5 R0 K4
0x5C1C0800, // 0021 MOVE R7 R4
0x8C200104, // 0022 GETMET R8 R0 K4
0x8C200105, // 0022 GETMET R8 R0 K5
0x5C280800, // 0023 MOVE R10 R4
0x7C200400, // 0024 CALL R8 2
0x5426007F, // 0025 LDINT R9 128
@ -655,23 +623,20 @@ be_local_closure(class_AXP202_get_bat_charge_current, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read13),
/* K1 */ be_const_real_hex(0x3F000000),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_get_bat_charge_current,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040109, // 0000 GETMET R1 R0 K9
0x540E0079, // 0001 LDINT R3 122
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x08040319, // 0003 MUL R1 R1 K25
0x80040200, // 0004 RET 1 R1
})
)
@ -686,25 +651,21 @@ be_local_closure(class_AXP202_get_temp, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(read12),
/* K1 */ be_const_real_hex(0x3DCCCCCD),
/* K2 */ be_const_real_hex(0x4310B333),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_get_temp,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040106, // 0000 GETMET R1 R0 K6
0x540E005D, // 0001 LDINT R3 94
0x7C040400, // 0002 CALL R1 2
0x08040301, // 0003 MUL R1 R1 K1
0x04040302, // 0004 SUB R1 R1 K2
0x0804031A, // 0003 MUL R1 R1 K26
0x0404031B, // 0004 SUB R1 R1 K27
0x80040200, // 0005 RET 1 R1
})
)
@ -719,17 +680,13 @@ be_local_closure(class_AXP202_set_ldo_voltage, /* name */
be_nested_proto(
9, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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(2),
/* K1 */ be_nested_str(write8),
/* K2 */ be_nested_str(read8),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_set_ldo_voltage,
&be_const_str_solidified,
( &(const binstruction[59]) { /* code */
@ -737,7 +694,7 @@ be_local_closure(class_AXP202_set_ldo_voltage, /* name */
0x240C0403, // 0001 GT R3 R2 R3
0x780E0000, // 0002 JMPF R3 #0004
0x540A000E, // 0003 LDINT R2 15
0x1C0C0300, // 0004 EQ R3 R1 K0
0x1C0C0302, // 0004 EQ R3 R1 K2
0x740E0002, // 0005 JMPT R3 #0009
0x540E0003, // 0006 LDINT R3 4
0x1C0C0203, // 0007 EQ R3 R1 R3
@ -747,11 +704,11 @@ be_local_closure(class_AXP202_set_ldo_voltage, /* name */
0x54120011, // 000B LDINT R4 18
0x040C0604, // 000C SUB R3 R3 R4
0x5C080600, // 000D MOVE R2 R3
0x1C0C0300, // 000E EQ R3 R1 K0
0x1C0C0302, // 000E EQ R3 R1 K2
0x780E000D, // 000F JMPF R3 #001E
0x8C0C0101, // 0010 GETMET R3 R0 K1
0x8C0C0104, // 0010 GETMET R3 R0 K4
0x54160027, // 0011 LDINT R5 40
0x8C180102, // 0012 GETMET R6 R0 K2
0x8C180105, // 0012 GETMET R6 R0 K5
0x54220027, // 0013 LDINT R8 40
0x7C180400, // 0014 CALL R6 2
0x541E000E, // 0015 LDINT R7 15
@ -763,9 +720,9 @@ be_local_closure(class_AXP202_set_ldo_voltage, /* name */
0x30180C07, // 001B OR R6 R6 R7
0x7C0C0600, // 001C CALL R3 3
0x7002000A, // 001D JMP #0029
0x8C0C0101, // 001E GETMET R3 R0 K1
0x8C0C0104, // 001E GETMET R3 R0 K4
0x54160027, // 001F LDINT R5 40
0x8C180102, // 0020 GETMET R6 R0 K2
0x8C180105, // 0020 GETMET R6 R0 K5
0x54220027, // 0021 LDINT R8 40
0x7C180400, // 0022 CALL R6 2
0x541E00EF, // 0023 LDINT R7 240
@ -780,9 +737,9 @@ be_local_closure(class_AXP202_set_ldo_voltage, /* name */
0x5412001B, // 002C LDINT R4 28
0x040C0604, // 002D SUB R3 R3 R4
0x5C080600, // 002E MOVE R2 R3
0x8C0C0101, // 002F GETMET R3 R0 K1
0x8C0C0104, // 002F GETMET R3 R0 K4
0x54160027, // 0030 LDINT R5 40
0x8C180102, // 0031 GETMET R6 R0 K2
0x8C180105, // 0031 GETMET R6 R0 K5
0x54220028, // 0032 LDINT R8 41
0x7C180400, // 0033 CALL R6 2
0x541E007F, // 0034 LDINT R7 128
@ -805,26 +762,22 @@ be_local_closure(class_AXP202_set_limiting_off, /* name */
be_nested_proto(
7, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(write8),
/* K1 */ be_nested_str(read8),
/* K2 */ be_const_int(3),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_set_limiting_off,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040104, // 0000 GETMET R1 R0 K4
0x540E002F, // 0001 LDINT R3 48
0x8C100101, // 0002 GETMET R4 R0 K1
0x8C100105, // 0002 GETMET R4 R0 K5
0x541A002F, // 0003 LDINT R6 48
0x7C100400, // 0004 CALL R4 2
0x30100902, // 0005 OR R4 R4 K2
0x30100903, // 0005 OR R4 R4 K3
0x7C040600, // 0006 CALL R1 3
0x80000000, // 0007 RET 0
})
@ -840,27 +793,21 @@ be_local_closure(class_AXP202_get_input_power_status, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(0),
/* K4 */ be_const_int(1),
}),
&be_ktab_class_AXP202, /* shared constants */
&be_const_str_get_input_power_status,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x880C0102, // 0002 GETMBR R3 R0 K2
0x58100003, // 0003 LDCONST R4 K3
0x58140004, // 0004 LDCONST R5 K4
0x88040110, // 0000 GETMBR R1 R0 K16
0x8C040311, // 0001 GETMET R1 R1 K17
0x880C0112, // 0002 GETMBR R3 R0 K18
0x58100017, // 0003 LDCONST R4 K23
0x58140001, // 0004 LDCONST R5 K1
0x7C040800, // 0005 CALL R1 4
0x80040200, // 0006 RET 1 R1
})

View File

@ -3,6 +3,32 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'I2C_Driver' ktab size: 22, total: 60 (saved 304 bytes)
static const bvalue be_ktab_class_I2C_Driver[22] = {
/* K0 */ be_const_int(0),
/* K1 */ be_const_int(1),
/* K2 */ be_nested_str(write8),
/* K3 */ be_nested_str(read8),
/* K4 */ be_nested_str(wire),
/* K5 */ be_nested_str(read_bytes),
/* K6 */ be_nested_str(addr),
/* K7 */ be_const_int(1),
/* K8 */ be_const_int(2),
/* K9 */ be_const_int(3),
/* K10 */ be_const_int(3),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str(tasmota),
/* K13 */ be_nested_str(i2c_enabled),
/* K14 */ be_nested_str(wire_scan),
/* K15 */ be_nested_str(function),
/* K16 */ be_nested_str(name),
/* K17 */ be_nested_str(I2C_X3A),
/* K18 */ be_nested_str(detected_X20on_X20bus),
/* K19 */ be_nested_str(bus),
/* K20 */ be_nested_str(write),
/* K21 */ be_nested_str(read),
};
extern const bclass be_class_I2C_Driver;
@ -13,18 +39,13 @@ be_local_closure(class_I2C_Driver_write_bit, /* name */
be_nested_proto(
11, /* nstack */
4, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 4]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_const_int(1),
/* K2 */ be_nested_str(write8),
/* K3 */ be_nested_str(read8),
}),
&be_ktab_class_I2C_Driver, /* shared constants */
&be_const_str_write_bit,
&be_const_str_solidified,
( &(const binstruction[26]) { /* code */
@ -67,42 +88,34 @@ be_local_closure(class_I2C_Driver_read32, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read_bytes),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(0),
/* K4 */ be_const_int(1),
/* K5 */ be_const_int(2),
/* K6 */ be_const_int(3),
}),
&be_ktab_class_I2C_Driver, /* shared constants */
&be_const_str_read32,
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x88080104, // 0000 GETMBR R2 R0 K4
0x8C080505, // 0001 GETMET R2 R2 K5
0x88100106, // 0002 GETMBR R4 R0 K6
0x5C140200, // 0003 MOVE R5 R1
0x541A0003, // 0004 LDINT R6 4
0x7C080800, // 0005 CALL R2 4
0x940C0503, // 0006 GETIDX R3 R2 K3
0x940C0500, // 0006 GETIDX R3 R2 K0
0x54120017, // 0007 LDINT R4 24
0x380C0604, // 0008 SHL R3 R3 R4
0x94100504, // 0009 GETIDX R4 R2 K4
0x94100507, // 0009 GETIDX R4 R2 K7
0x5416000F, // 000A LDINT R5 16
0x38100805, // 000B SHL R4 R4 R5
0x000C0604, // 000C ADD R3 R3 R4
0x94100505, // 000D GETIDX R4 R2 K5
0x94100508, // 000D GETIDX R4 R2 K8
0x54160007, // 000E LDINT R5 8
0x38100805, // 000F SHL R4 R4 R5
0x000C0604, // 0010 ADD R3 R3 R4
0x94100506, // 0011 GETIDX R4 R2 K6
0x94100509, // 0011 GETIDX R4 R2 K9
0x000C0604, // 0012 ADD R3 R3 R4
0x80040600, // 0013 RET 1 R3
})
@ -118,33 +131,26 @@ be_local_closure(class_I2C_Driver_read13, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read_bytes),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(2),
/* K4 */ be_const_int(0),
/* K5 */ be_const_int(1),
}),
&be_ktab_class_I2C_Driver, /* shared constants */
&be_const_str_read13,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x88080104, // 0000 GETMBR R2 R0 K4
0x8C080505, // 0001 GETMET R2 R2 K5
0x88100106, // 0002 GETMBR R4 R0 K6
0x5C140200, // 0003 MOVE R5 R1
0x58180003, // 0004 LDCONST R6 K3
0x58180008, // 0004 LDCONST R6 K8
0x7C080800, // 0005 CALL R2 4
0x940C0504, // 0006 GETIDX R3 R2 K4
0x940C0500, // 0006 GETIDX R3 R2 K0
0x54120004, // 0007 LDINT R4 5
0x380C0604, // 0008 SHL R3 R3 R4
0x94100505, // 0009 GETIDX R4 R2 K5
0x94100507, // 0009 GETIDX R4 R2 K7
0x000C0604, // 000A ADD R3 R3 R4
0x80040600, // 000B RET 1 R3
})
@ -160,38 +166,30 @@ be_local_closure(class_I2C_Driver_read24, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read_bytes),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(3),
/* K4 */ be_const_int(0),
/* K5 */ be_const_int(1),
/* K6 */ be_const_int(2),
}),
&be_ktab_class_I2C_Driver, /* shared constants */
&be_const_str_read24,
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x88080104, // 0000 GETMBR R2 R0 K4
0x8C080505, // 0001 GETMET R2 R2 K5
0x88100106, // 0002 GETMBR R4 R0 K6
0x5C140200, // 0003 MOVE R5 R1
0x58180003, // 0004 LDCONST R6 K3
0x5818000A, // 0004 LDCONST R6 K10
0x7C080800, // 0005 CALL R2 4
0x940C0504, // 0006 GETIDX R3 R2 K4
0x940C0500, // 0006 GETIDX R3 R2 K0
0x5412000F, // 0007 LDINT R4 16
0x380C0604, // 0008 SHL R3 R3 R4
0x94100505, // 0009 GETIDX R4 R2 K5
0x94100507, // 0009 GETIDX R4 R2 K7
0x54160007, // 000A LDINT R5 8
0x38100805, // 000B SHL R4 R4 R5
0x000C0604, // 000C ADD R3 R3 R4
0x94100506, // 000D GETIDX R4 R2 K6
0x9410050B, // 000D GETIDX R4 R2 K11
0x000C0604, // 000E ADD R3 R3 R4
0x80040600, // 000F RET 1 R3
})
@ -207,33 +205,26 @@ be_local_closure(class_I2C_Driver_read14, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read_bytes),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(2),
/* K4 */ be_const_int(0),
/* K5 */ be_const_int(1),
}),
&be_ktab_class_I2C_Driver, /* shared constants */
&be_const_str_read14,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x88080104, // 0000 GETMBR R2 R0 K4
0x8C080505, // 0001 GETMET R2 R2 K5
0x88100106, // 0002 GETMBR R4 R0 K6
0x5C140200, // 0003 MOVE R5 R1
0x58180003, // 0004 LDCONST R6 K3
0x58180008, // 0004 LDCONST R6 K8
0x7C080800, // 0005 CALL R2 4
0x940C0504, // 0006 GETIDX R3 R2 K4
0x940C0500, // 0006 GETIDX R3 R2 K0
0x54120005, // 0007 LDINT R4 6
0x380C0604, // 0008 SHL R3 R3 R4
0x94100505, // 0009 GETIDX R4 R2 K5
0x94100507, // 0009 GETIDX R4 R2 K7
0x000C0604, // 000A ADD R3 R3 R4
0x80040600, // 000B RET 1 R3
})
@ -249,69 +240,58 @@ be_local_closure(class_I2C_Driver_init, /* name */
be_nested_proto(
9, /* nstack */
4, /* argc */
2, /* varg */
10, /* 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(tasmota),
/* K1 */ be_nested_str(i2c_enabled),
/* K2 */ be_nested_str(addr),
/* K3 */ be_nested_str(wire),
/* K4 */ be_nested_str(wire_scan),
/* K5 */ be_nested_str(function),
/* K6 */ be_nested_str(name),
/* K7 */ be_nested_str(I2C_X3A),
/* K8 */ be_nested_str(detected_X20on_X20bus),
/* K9 */ be_nested_str(bus),
}),
&be_ktab_class_I2C_Driver, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[44]) { /* code */
0x4C100000, // 0000 LDNIL R4
0x20100604, // 0001 NE R4 R3 R4
0x78120005, // 0002 JMPF R4 #0009
0xB8120000, // 0003 GETNGBL R4 K0
0x8C100901, // 0004 GETMET R4 R4 K1
0xB8121800, // 0003 GETNGBL R4 K12
0x8C10090D, // 0004 GETMET R4 R4 K13
0x5C180600, // 0005 MOVE R6 R3
0x7C100400, // 0006 CALL R4 2
0x74120000, // 0007 JMPT R4 #0009
0x80000800, // 0008 RET 0
0x90020402, // 0009 SETMBR R0 K2 R2
0xB8120000, // 000A GETNGBL R4 K0
0x8C100904, // 000B GETMET R4 R4 K4
0x88180102, // 000C GETMBR R6 R0 K2
0x90020C02, // 0009 SETMBR R0 K6 R2
0xB8121800, // 000A GETNGBL R4 K12
0x8C10090E, // 000B GETMET R4 R4 K14
0x88180106, // 000C GETMBR R6 R0 K6
0x7C100400, // 000D CALL R4 2
0x90020604, // 000E SETMBR R0 K3 R4
0x88100103, // 000F GETMBR R4 R0 K3
0x90020804, // 000E SETMBR R0 K4 R4
0x88100104, // 000F GETMBR R4 R0 K4
0x78120019, // 0010 JMPF R4 #002B
0x60100004, // 0011 GETGBL R4 G4
0x5C140200, // 0012 MOVE R5 R1
0x7C100200, // 0013 CALL R4 1
0x1C100905, // 0014 EQ R4 R4 K5
0x1C10090F, // 0014 EQ R4 R4 K15
0x78120004, // 0015 JMPF R4 #001B
0x5C100200, // 0016 MOVE R4 R1
0x5C140000, // 0017 MOVE R5 R0
0x7C100200, // 0018 CALL R4 1
0x90020C04, // 0019 SETMBR R0 K6 R4
0x90022004, // 0019 SETMBR R0 K16 R4
0x70020000, // 001A JMP #001C
0x90020C01, // 001B SETMBR R0 K6 R1
0x88100106, // 001C GETMBR R4 R0 K6
0x90022001, // 001B SETMBR R0 K16 R1
0x88100110, // 001C GETMBR R4 R0 K16
0x4C140000, // 001D LDNIL R5
0x1C100805, // 001E EQ R4 R4 R5
0x78120001, // 001F JMPF R4 #0022
0x4C100000, // 0020 LDNIL R4
0x90020604, // 0021 SETMBR R0 K3 R4
0x88100103, // 0022 GETMBR R4 R0 K3
0x90020804, // 0021 SETMBR R0 K4 R4
0x88100104, // 0022 GETMBR R4 R0 K4
0x78120006, // 0023 JMPF R4 #002B
0x60100001, // 0024 GETGBL R4 G1
0x58140007, // 0025 LDCONST R5 K7
0x88180106, // 0026 GETMBR R6 R0 K6
0x581C0008, // 0027 LDCONST R7 K8
0x88200103, // 0028 GETMBR R8 R0 K3
0x88201109, // 0029 GETMBR R8 R8 K9
0x58140011, // 0025 LDCONST R5 K17
0x88180110, // 0026 GETMBR R6 R0 K16
0x581C0012, // 0027 LDCONST R7 K18
0x88200104, // 0028 GETMBR R8 R0 K4
0x88201113, // 0029 GETMBR R8 R8 K19
0x7C100800, // 002A CALL R4 4
0x80000000, // 002B RET 0
})
@ -327,27 +307,22 @@ be_local_closure(class_I2C_Driver_write8, /* name */
be_nested_proto(
9, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(write),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(1),
}),
&be_ktab_class_I2C_Driver, /* shared constants */
&be_const_str_write8,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x880C0100, // 0000 GETMBR R3 R0 K0
0x8C0C0701, // 0001 GETMET R3 R3 K1
0x88140102, // 0002 GETMBR R5 R0 K2
0x880C0104, // 0000 GETMBR R3 R0 K4
0x8C0C0714, // 0001 GETMET R3 R3 K20
0x88140106, // 0002 GETMBR R5 R0 K6
0x5C180200, // 0003 MOVE R6 R1
0x5C1C0400, // 0004 MOVE R7 R2
0x58200003, // 0005 LDCONST R8 K3
0x58200001, // 0005 LDCONST R8 K1
0x7C0C0A00, // 0006 CALL R3 5
0x80040600, // 0007 RET 1 R3
})
@ -363,26 +338,21 @@ be_local_closure(class_I2C_Driver_read8, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(1),
}),
&be_ktab_class_I2C_Driver, /* shared constants */
&be_const_str_read8,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x88080104, // 0000 GETMBR R2 R0 K4
0x8C080515, // 0001 GETMET R2 R2 K21
0x88100106, // 0002 GETMBR R4 R0 K6
0x5C140200, // 0003 MOVE R5 R1
0x58180003, // 0004 LDCONST R6 K3
0x58180007, // 0004 LDCONST R6 K7
0x7C080800, // 0005 CALL R2 4
0x80040400, // 0006 RET 1 R2
})
@ -398,33 +368,26 @@ be_local_closure(class_I2C_Driver_read12, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read_bytes),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(2),
/* K4 */ be_const_int(0),
/* K5 */ be_const_int(1),
}),
&be_ktab_class_I2C_Driver, /* shared constants */
&be_const_str_read12,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x88080104, // 0000 GETMBR R2 R0 K4
0x8C080505, // 0001 GETMET R2 R2 K5
0x88100106, // 0002 GETMBR R4 R0 K6
0x5C140200, // 0003 MOVE R5 R1
0x58180003, // 0004 LDCONST R6 K3
0x58180008, // 0004 LDCONST R6 K8
0x7C080800, // 0005 CALL R2 4
0x940C0504, // 0006 GETIDX R3 R2 K4
0x940C0500, // 0006 GETIDX R3 R2 K0
0x54120003, // 0007 LDINT R4 4
0x380C0604, // 0008 SHL R3 R3 R4
0x94100505, // 0009 GETIDX R4 R2 K5
0x94100507, // 0009 GETIDX R4 R2 K7
0x000C0604, // 000A ADD R3 R3 R4
0x80040600, // 000B RET 1 R3
})
@ -440,33 +403,26 @@ be_local_closure(class_I2C_Driver_read16, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(read_bytes),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(2),
/* K4 */ be_const_int(0),
/* K5 */ be_const_int(1),
}),
&be_ktab_class_I2C_Driver, /* shared constants */
&be_const_str_read16,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x88080104, // 0000 GETMBR R2 R0 K4
0x8C080505, // 0001 GETMET R2 R2 K5
0x88100106, // 0002 GETMBR R4 R0 K6
0x5C140200, // 0003 MOVE R5 R1
0x58180003, // 0004 LDCONST R6 K3
0x58180008, // 0004 LDCONST R6 K8
0x7C080800, // 0005 CALL R2 4
0x940C0504, // 0006 GETIDX R3 R2 K4
0x940C0500, // 0006 GETIDX R3 R2 K0
0x54120007, // 0007 LDINT R4 8
0x380C0604, // 0008 SHL R3 R3 R4
0x94100505, // 0009 GETIDX R4 R2 K5
0x94100507, // 0009 GETIDX R4 R2 K7
0x000C0604, // 000A ADD R3 R3 R4
0x80040600, // 000B RET 1 R3
})

View File

@ -3,6 +3,32 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'FT3663' ktab size: 22, total: 25 (saved 24 bytes)
static const bvalue be_ktab_class_FT3663[22] = {
/* K0 */ be_nested_str(wire),
/* K1 */ be_nested_str(ts_loop),
/* K2 */ be_nested_str(init),
/* K3 */ be_nested_str(FT3663),
/* K4 */ be_nested_str(read8),
/* K5 */ be_nested_str(tasmota),
/* K6 */ be_nested_str(log),
/* K7 */ be_nested_str(I2C_X3A_X20ignoring_X20address_X200x38_X2C_X20not_X20FT3663),
/* K8 */ be_const_int(2),
/* K9 */ be_nested_str(TS_X20_X3A_X20FT3663_X20Touch_X20Screen_X20detected),
/* K10 */ be_nested_str(write8),
/* K11 */ be_const_int(0),
/* K12 */ be_nested_str(add_driver),
/* K13 */ be_nested_str(display),
/* K14 */ be_nested_str(read_bytes),
/* K15 */ be_nested_str(addr),
/* K16 */ be_const_int(2),
/* K17 */ be_const_int(3),
/* K18 */ be_nested_str(gest_id_codes),
/* K19 */ be_nested_str(find),
/* K20 */ be_const_int(1),
/* K21 */ be_nested_str(touch_update),
};
extern const bclass be_class_FT3663;
@ -13,16 +39,13 @@ be_local_closure(class_FT3663_every_100ms, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(wire),
/* K1 */ be_nested_str(ts_loop),
}),
&be_ktab_class_FT3663, /* shared constants */
&be_const_str_every_100ms,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
@ -44,42 +67,29 @@ be_local_closure(class_FT3663_init, /* name */
be_nested_proto(
7, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str(init),
/* K1 */ be_nested_str(FT3663),
/* K2 */ be_nested_str(wire),
/* K3 */ be_nested_str(read8),
/* K4 */ be_nested_str(tasmota),
/* K5 */ be_nested_str(log),
/* K6 */ be_nested_str(I2C_X3A_X20ignoring_X20address_X200x38_X2C_X20not_X20FT3663),
/* K7 */ be_const_int(2),
/* K8 */ be_nested_str(TS_X20_X3A_X20FT3663_X20Touch_X20Screen_X20detected),
/* K9 */ be_nested_str(write8),
/* K10 */ be_const_int(0),
/* K11 */ be_nested_str(add_driver),
}),
&be_ktab_class_FT3663, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[50]) { /* code */
0x60040003, // 0000 GETGBL R1 G3
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x8C040300, // 0003 GETMET R1 R1 K0
0x580C0001, // 0004 LDCONST R3 K1
0x8C040302, // 0003 GETMET R1 R1 K2
0x580C0003, // 0004 LDCONST R3 K3
0x54120037, // 0005 LDINT R4 56
0x7C040600, // 0006 CALL R1 3
0x88040102, // 0007 GETMBR R1 R0 K2
0x88040100, // 0007 GETMBR R1 R0 K0
0x78060027, // 0008 JMPF R1 #0031
0x8C040103, // 0009 GETMET R1 R0 K3
0x8C040104, // 0009 GETMET R1 R0 K4
0x540E00A7, // 000A LDINT R3 168
0x7C040400, // 000B CALL R1 2
0x8C080103, // 000C GETMET R2 R0 K3
0x8C080104, // 000C GETMET R2 R0 K4
0x541200A2, // 000D LDINT R4 163
0x7C080400, // 000E CALL R2 2
0x540E0010, // 000F LDINT R3 17
@ -88,32 +98,32 @@ be_local_closure(class_FT3663_init, /* name */
0x540E0063, // 0012 LDINT R3 100
0x200C0403, // 0013 NE R3 R2 R3
0x780E0007, // 0014 JMPF R3 #001D
0xB80E0800, // 0015 GETNGBL R3 K4
0x8C0C0705, // 0016 GETMET R3 R3 K5
0x58140006, // 0017 LDCONST R5 K6
0x58180007, // 0018 LDCONST R6 K7
0xB80E0A00, // 0015 GETNGBL R3 K5
0x8C0C0706, // 0016 GETMET R3 R3 K6
0x58140007, // 0017 LDCONST R5 K7
0x58180008, // 0018 LDCONST R6 K8
0x7C0C0600, // 0019 CALL R3 3
0x4C0C0000, // 001A LDNIL R3
0x90020403, // 001B SETMBR R0 K2 R3
0x90020003, // 001B SETMBR R0 K0 R3
0x80000600, // 001C RET 0
0xB80E0800, // 001D GETNGBL R3 K4
0x8C0C0705, // 001E GETMET R3 R3 K5
0x58140008, // 001F LDCONST R5 K8
0xB80E0A00, // 001D GETNGBL R3 K5
0x8C0C0706, // 001E GETMET R3 R3 K6
0x58140009, // 001F LDCONST R5 K9
0x7C0C0400, // 0020 CALL R3 2
0x8C0C0109, // 0021 GETMET R3 R0 K9
0x5814000A, // 0022 LDCONST R5 K10
0x5818000A, // 0023 LDCONST R6 K10
0x8C0C010A, // 0021 GETMET R3 R0 K10
0x5814000B, // 0022 LDCONST R5 K11
0x5818000B, // 0023 LDCONST R6 K11
0x7C0C0600, // 0024 CALL R3 3
0x8C0C0109, // 0025 GETMET R3 R0 K9
0x8C0C010A, // 0025 GETMET R3 R0 K10
0x5416007F, // 0026 LDINT R5 128
0x541A0015, // 0027 LDINT R6 22
0x7C0C0600, // 0028 CALL R3 3
0x8C0C0109, // 0029 GETMET R3 R0 K9
0x8C0C010A, // 0029 GETMET R3 R0 K10
0x54160087, // 002A LDINT R5 136
0x541A000D, // 002B LDINT R6 14
0x7C0C0600, // 002C CALL R3 3
0xB80E0800, // 002D GETNGBL R3 K4
0x8C0C070B, // 002E GETMET R3 R3 K11
0xB80E0A00, // 002D GETNGBL R3 K5
0x8C0C070C, // 002E GETMET R3 R3 K12
0x5C140000, // 002F MOVE R5 R0
0x7C0C0400, // 0030 CALL R3 2
0x80000000, // 0031 RET 0
@ -130,42 +140,30 @@ be_local_closure(class_FT3663_ts_loop, /* name */
be_nested_proto(
17, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str(wire),
/* K1 */ be_nested_str(display),
/* K2 */ be_nested_str(read_bytes),
/* K3 */ be_nested_str(addr),
/* K4 */ be_const_int(0),
/* K5 */ be_const_int(2),
/* K6 */ be_const_int(3),
/* K7 */ be_nested_str(gest_id_codes),
/* K8 */ be_nested_str(find),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str(touch_update),
}),
&be_ktab_class_FT3663, /* shared constants */
&be_const_str_ts_loop,
&be_const_str_solidified,
( &(const binstruction[63]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x74060000, // 0001 JMPT R1 #0003
0x80000200, // 0002 RET 0
0xA4060200, // 0003 IMPORT R1 K1
0xA4061A00, // 0003 IMPORT R1 K13
0x88080100, // 0004 GETMBR R2 R0 K0
0x8C080502, // 0005 GETMET R2 R2 K2
0x88100103, // 0006 GETMBR R4 R0 K3
0x58140004, // 0007 LDCONST R5 K4
0x8C08050E, // 0005 GETMET R2 R2 K14
0x8810010F, // 0006 GETMBR R4 R0 K15
0x5814000B, // 0007 LDCONST R5 K11
0x541A000E, // 0008 LDINT R6 15
0x7C080800, // 0009 CALL R2 4
0x940C0505, // 000A GETIDX R3 R2 K5
0x940C0510, // 000A GETIDX R3 R2 K16
0x5412000E, // 000B LDINT R4 15
0x2C0C0604, // 000C AND R3 R3 R4
0x94100506, // 000D GETIDX R4 R2 K6
0x94100511, // 000D GETIDX R4 R2 K17
0x5416000E, // 000E LDINT R5 15
0x2C100805, // 000F AND R4 R4 R5
0x54160007, // 0010 LDINT R5 8
@ -184,7 +182,7 @@ be_local_closure(class_FT3663_ts_loop, /* name */
0x30140A06, // 001D OR R5 R5 R6
0x541A0006, // 001E LDINT R6 7
0x94180406, // 001F GETIDX R6 R2 R6
0x941C0506, // 0020 GETIDX R7 R2 K6
0x941C0511, // 0020 GETIDX R7 R2 K17
0x54220008, // 0021 LDINT R8 9
0x2C1C0E08, // 0022 AND R7 R7 R8
0x54220007, // 0023 LDINT R8 8
@ -203,12 +201,12 @@ be_local_closure(class_FT3663_ts_loop, /* name */
0x30201009, // 0030 OR R8 R8 R9
0x5426000C, // 0031 LDINT R9 13
0x94240409, // 0032 GETIDX R9 R2 R9
0x88280107, // 0033 GETMBR R10 R0 K7
0x8C281508, // 0034 GETMET R10 R10 K8
0x94300509, // 0035 GETIDX R12 R2 K9
0x58340004, // 0036 LDCONST R13 K4
0x88280112, // 0033 GETMBR R10 R0 K18
0x8C281513, // 0034 GETMET R10 R10 K19
0x94300514, // 0035 GETIDX R12 R2 K20
0x5834000B, // 0036 LDCONST R13 K11
0x7C280600, // 0037 CALL R10 3
0x8C2C030A, // 0038 GETMET R11 R1 K10
0x8C2C0315, // 0038 GETMET R11 R1 K21
0x5C340600, // 0039 MOVE R13 R3
0x5C380800, // 003A MOVE R14 R4
0x5C3C0A00, // 003B MOVE R15 R5

File diff suppressed because it is too large Load Diff

View File

@ -121,6 +121,18 @@ be_local_closure(module_lv_tasmota_init, /* name */
);
/*******************************************************************/
// compact class 'splash_runner' ktab size: 8, total: 9 (saved 8 bytes)
static const bvalue be_ktab_class_splash_runner[8] = {
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(add_driver),
/* K2 */ be_nested_str_weak(display),
/* K3 */ be_nested_str_weak(dim),
/* K4 */ be_nested_str_weak(started),
/* K5 */ be_nested_str_weak(remove_driver),
/* K6 */ be_nested_str_weak(lv),
/* K7 */ be_nested_str_weak(splash),
};
extern const bclass be_class_splash_runner;
@ -131,16 +143,13 @@ be_local_closure(class_splash_runner_init, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(add_driver),
}),
&be_ktab_class_splash_runner, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
@ -162,36 +171,28 @@ be_local_closure(class_splash_runner_display, /* name */
be_nested_proto(
9, /* nstack */
5, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(display),
/* K1 */ be_nested_str_weak(dim),
/* K2 */ be_nested_str_weak(started),
/* K3 */ be_nested_str_weak(tasmota),
/* K4 */ be_nested_str_weak(remove_driver),
/* K5 */ be_nested_str_weak(lv),
/* K6 */ be_nested_str_weak(splash),
}),
&be_ktab_class_splash_runner, /* shared constants */
be_str_weak(display),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0xA4160000, // 0000 IMPORT R5 K0
0x1C180301, // 0001 EQ R6 R1 K1
0xA4160400, // 0000 IMPORT R5 K2
0x1C180303, // 0001 EQ R6 R1 K3
0x781A0009, // 0002 JMPF R6 #000D
0x8C180B02, // 0003 GETMET R6 R5 K2
0x8C180B04, // 0003 GETMET R6 R5 K4
0x7C180200, // 0004 CALL R6 1
0x781A0006, // 0005 JMPF R6 #000D
0xB81A0600, // 0006 GETNGBL R6 K3
0x8C180D04, // 0007 GETMET R6 R6 K4
0xB81A0000, // 0006 GETNGBL R6 K0
0x8C180D05, // 0007 GETMET R6 R6 K5
0x5C200000, // 0008 MOVE R8 R0
0x7C180400, // 0009 CALL R6 2
0xB81A0A00, // 000A GETNGBL R6 K5
0x8C180D06, // 000B GETMET R6 R6 K6
0xB81A0C00, // 000A GETNGBL R6 K6
0x8C180D07, // 000B GETMET R6 R6 K7
0x7C180200, // 000C CALL R6 1
0x80000000, // 000D RET 0
})

View File

@ -3,6 +3,208 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_mqtt_listener;
// compact class 'mqtt_listener' ktab size: 11, total: 17 (saved 48 bytes)
static const bvalue be_ktab_class_mqtt_listener[11] = {
/* K0 */ be_nested_str(_X3Cinstance_X3A_X20_X25s_X28_X27_X25s_X27_X29_X3E),
/* K1 */ be_nested_str(fulltopic),
/* K2 */ be_nested_str(string),
/* K3 */ be_nested_str(topic),
/* K4 */ be_nested_str(split),
/* K5 */ be_nested_str(_X2F),
/* K6 */ be_nested_str(closure),
/* K7 */ be_const_int(0),
/* K8 */ be_nested_str(_X23),
/* K9 */ be_nested_str(_X2B),
/* K10 */ be_const_int(1),
};
extern const bclass be_class_mqtt_listener;
/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_mqtt_listener_tostring, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_mqtt_listener, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x60040018, // 0000 GETGBL R1 G24
0x58080000, // 0001 LDCONST R2 K0
0x600C0005, // 0002 GETGBL R3 G5
0x5C100000, // 0003 MOVE R4 R0
0x7C0C0200, // 0004 CALL R3 1
0x88100101, // 0005 GETMBR R4 R0 K1
0x7C040600, // 0006 CALL R1 3
0x80040200, // 0007 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_mqtt_listener_init, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_mqtt_listener, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0xA40E0400, // 0000 IMPORT R3 K2
0x90020201, // 0001 SETMBR R0 K1 R1
0x8C100704, // 0002 GETMET R4 R3 K4
0x5C180200, // 0003 MOVE R6 R1
0x581C0005, // 0004 LDCONST R7 K5
0x7C100600, // 0005 CALL R4 3
0x90020604, // 0006 SETMBR R0 K3 R4
0x90020C02, // 0007 SETMBR R0 K6 R2
0x80000000, // 0008 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: mqtt_data
********************************************************************/
be_local_closure(class_mqtt_listener_mqtt_data, /* name */
be_nested_proto(
17, /* nstack */
5, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_mqtt_listener, /* shared constants */
&be_const_str_mqtt_data,
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
0xA4160400, // 0000 IMPORT R5 K2
0x8C180B04, // 0001 GETMET R6 R5 K4
0x5C200200, // 0002 MOVE R8 R1
0x58240005, // 0003 LDCONST R9 K5
0x7C180600, // 0004 CALL R6 3
0x601C000C, // 0005 GETGBL R7 G12
0x5C200C00, // 0006 MOVE R8 R6
0x7C1C0200, // 0007 CALL R7 1
0x88200103, // 0008 GETMBR R8 R0 K3
0x6024000C, // 0009 GETGBL R9 G12
0x5C281000, // 000A MOVE R10 R8
0x7C240200, // 000B CALL R9 1
0x58280007, // 000C LDCONST R10 K7
0x142C1409, // 000D LT R11 R10 R9
0x782E0013, // 000E JMPF R11 #0023
0x942C100A, // 000F GETIDX R11 R8 R10
0x1C301708, // 0010 EQ R12 R11 K8
0x78320001, // 0011 JMPF R12 #0014
0x7002000F, // 0012 JMP #0023
0x7002000C, // 0013 JMP #0021
0x28301407, // 0014 GE R12 R10 R7
0x78320002, // 0015 JMPF R12 #0019
0x50300000, // 0016 LDBOOL R12 0 0
0x80041800, // 0017 RET 1 R12
0x70020007, // 0018 JMP #0021
0x1C301709, // 0019 EQ R12 R11 K9
0x78320000, // 001A JMPF R12 #001C
0x70020004, // 001B JMP #0021
0x94300C0A, // 001C GETIDX R12 R6 R10
0x2030160C, // 001D NE R12 R11 R12
0x78320001, // 001E JMPF R12 #0021
0x50300000, // 001F LDBOOL R12 0 0
0x80041800, // 0020 RET 1 R12
0x0028150A, // 0021 ADD R10 R10 K10
0x7001FFE9, // 0022 JMP #000D
0x282C1409, // 0023 GE R11 R10 R9
0x782E0003, // 0024 JMPF R11 #0029
0x202C1207, // 0025 NE R11 R9 R7
0x782E0001, // 0026 JMPF R11 #0029
0x502C0000, // 0027 LDBOOL R11 0 0
0x80041600, // 0028 RET 1 R11
0x882C0106, // 0029 GETMBR R11 R0 K6
0x5C301600, // 002A MOVE R12 R11
0x5C340200, // 002B MOVE R13 R1
0x5C380400, // 002C MOVE R14 R2
0x5C3C0600, // 002D MOVE R15 R3
0x5C400800, // 002E MOVE R16 R4
0x7C300800, // 002F CALL R12 4
0x4C340000, // 0030 LDNIL R13
0x1C34180D, // 0031 EQ R13 R12 R13
0x78360000, // 0032 JMPF R13 #0034
0x50300200, // 0033 LDBOOL R12 1 0
0x80041800, // 0034 RET 1 R12
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: mqtt_listener
********************************************************************/
be_local_class(mqtt_listener,
3,
NULL,
be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(mqtt_data, -1), be_const_closure(class_mqtt_listener_mqtt_data_closure) },
{ be_const_key(tostring, -1), be_const_closure(class_mqtt_listener_tostring_closure) },
{ be_const_key(topic, -1), be_const_var(0) },
{ be_const_key(init, -1), be_const_closure(class_mqtt_listener_init_closure) },
{ be_const_key(closure, 0), be_const_var(2) },
{ be_const_key(fulltopic, -1), be_const_var(1) },
})),
(bstring*) &be_const_str_mqtt_listener
);
// compact class 'MQTT' ktab size: 23, total: 35 (saved 96 bytes)
static const bvalue be_ktab_class_MQTT[23] = {
/* K0 */ be_nested_str(topics),
/* K1 */ be_nested_str(closure),
/* K2 */ be_nested_str(mqtt_data),
/* K3 */ be_nested_str(stop_iteration),
/* K4 */ be_nested_str(tasmota),
/* K5 */ be_nested_str(add_driver),
/* K6 */ be_nested_str(add_rule),
/* K7 */ be_nested_str(Mqtt_X23Connected),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str(fulltopic),
/* K10 */ be_nested_str(_unsubscribe),
/* K11 */ be_nested_str(remove),
/* K12 */ be_const_int(1),
/* K13 */ be_nested_str(log),
/* K14 */ be_nested_str(BRY_X3A_X20mqtt_X20subscribe_X20all_X20registered_X20topics),
/* K15 */ be_const_int(3),
/* K16 */ be_nested_str(_subscribe),
/* K17 */ be_const_class(be_class_mqtt_listener),
/* K18 */ be_nested_str(lazy_init),
/* K19 */ be_nested_str(mqtt_listener_class),
/* K20 */ be_nested_str(function),
/* K21 */ be_nested_str(check_not_method),
/* K22 */ be_nested_str(push),
};
extern const bclass be_class_MQTT;
@ -13,18 +215,13 @@ be_local_closure(class_MQTT_mqtt_data, /* name */
be_nested_proto(
14, /* nstack */
5, /* argc */
2, /* varg */
10, /* 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(topics),
/* K1 */ be_nested_str(closure),
/* K2 */ be_nested_str(mqtt_data),
/* K3 */ be_nested_str(stop_iteration),
}),
&be_ktab_class_MQTT, /* shared constants */
&be_const_str_mqtt_data,
&be_const_str_solidified,
( &(const binstruction[31]) { /* code */
@ -72,7 +269,7 @@ be_local_closure(class_MQTT_lazy_init, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
@ -102,13 +299,7 @@ be_local_closure(class_MQTT_lazy_init, /* name */
),
}),
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str(topics),
/* K1 */ be_nested_str(tasmota),
/* K2 */ be_nested_str(add_driver),
/* K3 */ be_nested_str(add_rule),
/* K4 */ be_nested_str(Mqtt_X23Connected),
}),
&be_ktab_class_MQTT, /* shared constants */
&be_const_str_lazy_init,
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
@ -119,13 +310,13 @@ be_local_closure(class_MQTT_lazy_init, /* name */
0x60040012, // 0004 GETGBL R1 G18
0x7C040000, // 0005 CALL R1 0
0x90020001, // 0006 SETMBR R0 K0 R1
0xB8060200, // 0007 GETNGBL R1 K1
0x8C040302, // 0008 GETMET R1 R1 K2
0xB8060800, // 0007 GETNGBL R1 K4
0x8C040305, // 0008 GETMET R1 R1 K5
0x5C0C0000, // 0009 MOVE R3 R0
0x7C040400, // 000A CALL R1 2
0xB8060200, // 000B GETNGBL R1 K1
0x8C040303, // 000C GETMET R1 R1 K3
0x580C0004, // 000D LDCONST R3 K4
0xB8060800, // 000B GETNGBL R1 K4
0x8C040306, // 000C GETMET R1 R1 K6
0x580C0007, // 000D LDCONST R3 K7
0x84100000, // 000E CLOSURE R4 P0
0x7C040600, // 000F CALL R1 3
0xA0000000, // 0010 CLOSE R0
@ -143,20 +334,13 @@ be_local_closure(class_MQTT_unsubscribe, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(topics),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str(fulltopic),
/* K3 */ be_nested_str(_unsubscribe),
/* K4 */ be_nested_str(remove),
/* K5 */ be_const_int(1),
}),
&be_ktab_class_MQTT, /* shared constants */
&be_const_str_unsubscribe,
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
@ -165,7 +349,7 @@ be_local_closure(class_MQTT_unsubscribe, /* name */
0x1C080403, // 0002 EQ R2 R2 R3
0x780A0000, // 0003 JMPF R2 #0005
0x80000400, // 0004 RET 0
0x58080001, // 0005 LDCONST R2 K1
0x58080008, // 0005 LDCONST R2 K8
0x600C000C, // 0006 GETGBL R3 G12
0x88100100, // 0007 GETMBR R4 R0 K0
0x7C0C0200, // 0008 CALL R3 1
@ -176,28 +360,28 @@ be_local_closure(class_MQTT_unsubscribe, /* name */
0x740E0004, // 000D JMPT R3 #0013
0x880C0100, // 000E GETMBR R3 R0 K0
0x940C0602, // 000F GETIDX R3 R3 R2
0x880C0702, // 0010 GETMBR R3 R3 K2
0x880C0709, // 0010 GETMBR R3 R3 K9
0x1C0C0601, // 0011 EQ R3 R3 R1
0x780E000C, // 0012 JMPF R3 #0020
0x4C0C0000, // 0013 LDNIL R3
0x1C0C0203, // 0014 EQ R3 R1 R3
0x780E0004, // 0015 JMPF R3 #001B
0x8C0C0103, // 0016 GETMET R3 R0 K3
0x8C0C010A, // 0016 GETMET R3 R0 K10
0x88140100, // 0017 GETMBR R5 R0 K0
0x94140A02, // 0018 GETIDX R5 R5 R2
0x88140B02, // 0019 GETMBR R5 R5 K2
0x88140B09, // 0019 GETMBR R5 R5 K9
0x7C0C0400, // 001A CALL R3 2
0x880C0100, // 001B GETMBR R3 R0 K0
0x8C0C0704, // 001C GETMET R3 R3 K4
0x8C0C070B, // 001C GETMET R3 R3 K11
0x5C140400, // 001D MOVE R5 R2
0x7C0C0400, // 001E CALL R3 2
0x70020000, // 001F JMP #0021
0x00080505, // 0020 ADD R2 R2 K5
0x0008050C, // 0020 ADD R2 R2 K12
0x7001FFE3, // 0021 JMP #0006
0x4C0C0000, // 0022 LDNIL R3
0x200C0203, // 0023 NE R3 R1 R3
0x780E0002, // 0024 JMPF R3 #0028
0x8C0C0103, // 0025 GETMET R3 R0 K3
0x8C0C010A, // 0025 GETMET R3 R0 K10
0x5C140200, // 0026 MOVE R5 R1
0x7C0C0400, // 0027 CALL R3 2
0x80000000, // 0028 RET 0
@ -214,42 +398,33 @@ be_local_closure(class_MQTT_mqtt_connect, /* name */
be_nested_proto(
7, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(tasmota),
/* K1 */ be_nested_str(log),
/* K2 */ be_nested_str(BRY_X3A_X20mqtt_X20subscribe_X20all_X20registered_X20topics),
/* K3 */ be_const_int(3),
/* K4 */ be_nested_str(topics),
/* K5 */ be_nested_str(fulltopic),
/* K6 */ be_nested_str(_subscribe),
/* K7 */ be_nested_str(stop_iteration),
}),
&be_ktab_class_MQTT, /* shared constants */
&be_const_str_mqtt_connect,
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x580C0002, // 0002 LDCONST R3 K2
0x58100003, // 0003 LDCONST R4 K3
0xB8060800, // 0000 GETNGBL R1 K4
0x8C04030D, // 0001 GETMET R1 R1 K13
0x580C000E, // 0002 LDCONST R3 K14
0x5810000F, // 0003 LDCONST R4 K15
0x7C040600, // 0004 CALL R1 3
0x60040010, // 0005 GETGBL R1 G16
0x88080104, // 0006 GETMBR R2 R0 K4
0x88080100, // 0006 GETMBR R2 R0 K0
0x7C040200, // 0007 CALL R1 1
0xA8020006, // 0008 EXBLK 0 #0010
0x5C080200, // 0009 MOVE R2 R1
0x7C080000, // 000A CALL R2 0
0x880C0505, // 000B GETMBR R3 R2 K5
0x8C100106, // 000C GETMET R4 R0 K6
0x880C0509, // 000B GETMBR R3 R2 K9
0x8C100110, // 000C GETMET R4 R0 K16
0x5C180600, // 000D MOVE R6 R3
0x7C100400, // 000E CALL R4 2
0x7001FFF8, // 000F JMP #0009
0x58040007, // 0010 LDCONST R1 K7
0x58040003, // 0010 LDCONST R1 K3
0xAC040200, // 0011 CATCH R1 1 0
0xB0080000, // 0012 RAISE 2 R0 R0
0x50040000, // 0013 LDBOOL R1 0 0
@ -260,185 +435,6 @@ be_local_closure(class_MQTT_mqtt_connect, /* name */
/*******************************************************************/
extern const bclass be_class_mqtt_listener;
/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_mqtt_listener_tostring, /* 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[ 2]) { /* constants */
/* K0 */ be_nested_str(_X3Cinstance_X3A_X20_X25s_X28_X27_X25s_X27_X29_X3E),
/* K1 */ be_nested_str(fulltopic),
}),
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x60040018, // 0000 GETGBL R1 G24
0x58080000, // 0001 LDCONST R2 K0
0x600C0005, // 0002 GETGBL R3 G5
0x5C100000, // 0003 MOVE R4 R0
0x7C0C0200, // 0004 CALL R3 1
0x88100101, // 0005 GETMBR R4 R0 K1
0x7C040600, // 0006 CALL R1 3
0x80040200, // 0007 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_mqtt_listener_init, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 6]) { /* constants */
/* K0 */ be_nested_str(string),
/* K1 */ be_nested_str(fulltopic),
/* K2 */ be_nested_str(topic),
/* K3 */ be_nested_str(split),
/* K4 */ be_nested_str(_X2F),
/* K5 */ be_nested_str(closure),
}),
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0x90020201, // 0001 SETMBR R0 K1 R1
0x8C100703, // 0002 GETMET R4 R3 K3
0x5C180200, // 0003 MOVE R6 R1
0x581C0004, // 0004 LDCONST R7 K4
0x7C100600, // 0005 CALL R4 3
0x90020404, // 0006 SETMBR R0 K2 R4
0x90020A02, // 0007 SETMBR R0 K5 R2
0x80000000, // 0008 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: mqtt_data
********************************************************************/
be_local_closure(class_mqtt_listener_mqtt_data, /* name */
be_nested_proto(
17, /* nstack */
5, /* 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(string),
/* K1 */ be_nested_str(split),
/* K2 */ be_nested_str(_X2F),
/* K3 */ be_nested_str(topic),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str(_X23),
/* K6 */ be_nested_str(_X2B),
/* K7 */ be_const_int(1),
/* K8 */ be_nested_str(closure),
}),
&be_const_str_mqtt_data,
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
0xA4160000, // 0000 IMPORT R5 K0
0x8C180B01, // 0001 GETMET R6 R5 K1
0x5C200200, // 0002 MOVE R8 R1
0x58240002, // 0003 LDCONST R9 K2
0x7C180600, // 0004 CALL R6 3
0x601C000C, // 0005 GETGBL R7 G12
0x5C200C00, // 0006 MOVE R8 R6
0x7C1C0200, // 0007 CALL R7 1
0x88200103, // 0008 GETMBR R8 R0 K3
0x6024000C, // 0009 GETGBL R9 G12
0x5C281000, // 000A MOVE R10 R8
0x7C240200, // 000B CALL R9 1
0x58280004, // 000C LDCONST R10 K4
0x142C1409, // 000D LT R11 R10 R9
0x782E0013, // 000E JMPF R11 #0023
0x942C100A, // 000F GETIDX R11 R8 R10
0x1C301705, // 0010 EQ R12 R11 K5
0x78320001, // 0011 JMPF R12 #0014
0x7002000F, // 0012 JMP #0023
0x7002000C, // 0013 JMP #0021
0x28301407, // 0014 GE R12 R10 R7
0x78320002, // 0015 JMPF R12 #0019
0x50300000, // 0016 LDBOOL R12 0 0
0x80041800, // 0017 RET 1 R12
0x70020007, // 0018 JMP #0021
0x1C301706, // 0019 EQ R12 R11 K6
0x78320000, // 001A JMPF R12 #001C
0x70020004, // 001B JMP #0021
0x94300C0A, // 001C GETIDX R12 R6 R10
0x2030160C, // 001D NE R12 R11 R12
0x78320001, // 001E JMPF R12 #0021
0x50300000, // 001F LDBOOL R12 0 0
0x80041800, // 0020 RET 1 R12
0x00281507, // 0021 ADD R10 R10 K7
0x7001FFE9, // 0022 JMP #000D
0x282C1409, // 0023 GE R11 R10 R9
0x782E0003, // 0024 JMPF R11 #0029
0x202C1207, // 0025 NE R11 R9 R7
0x782E0001, // 0026 JMPF R11 #0029
0x502C0000, // 0027 LDBOOL R11 0 0
0x80041600, // 0028 RET 1 R11
0x882C0108, // 0029 GETMBR R11 R0 K8
0x5C301600, // 002A MOVE R12 R11
0x5C340200, // 002B MOVE R13 R1
0x5C380400, // 002C MOVE R14 R2
0x5C3C0600, // 002D MOVE R15 R3
0x5C400800, // 002E MOVE R16 R4
0x7C300800, // 002F CALL R12 4
0x4C340000, // 0030 LDNIL R13
0x1C34180D, // 0031 EQ R13 R12 R13
0x78360000, // 0032 JMPF R13 #0034
0x50300200, // 0033 LDBOOL R12 1 0
0x80041800, // 0034 RET 1 R12
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: mqtt_listener
********************************************************************/
be_local_class(mqtt_listener,
3,
NULL,
be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(mqtt_data, -1), be_const_closure(class_mqtt_listener_mqtt_data_closure) },
{ be_const_key(tostring, -1), be_const_closure(class_mqtt_listener_tostring_closure) },
{ be_const_key(topic, -1), be_const_var(0) },
{ be_const_key(init, -1), be_const_closure(class_mqtt_listener_init_closure) },
{ be_const_key(closure, 0), be_const_var(2) },
{ be_const_key(fulltopic, -1), be_const_var(1) },
})),
(bstring*) &be_const_str_mqtt_listener
);
/********************************************************************
** Solidified function: mqtt_listener_class
********************************************************************/
@ -446,20 +442,18 @@ be_local_closure(class_MQTT_mqtt_listener_class, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_const_class(be_class_mqtt_listener),
}),
&be_ktab_class_MQTT, /* shared constants */
&be_const_str_mqtt_listener_class,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0xB4000000, // 0001 CLASS K0
0x58040011, // 0000 LDCONST R1 K17
0xB4000011, // 0001 CLASS K17
0x5C080200, // 0002 MOVE R2 R1
0x80040200, // 0003 RET 1 R1
})
@ -475,75 +469,63 @@ be_local_closure(class_MQTT_subscribe, /* name */
be_nested_proto(
10, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str(lazy_init),
/* K1 */ be_nested_str(topics),
/* K2 */ be_nested_str(fulltopic),
/* K3 */ be_nested_str(closure),
/* K4 */ be_nested_str(stop_iteration),
/* K5 */ be_nested_str(mqtt_listener_class),
/* K6 */ be_nested_str(function),
/* K7 */ be_nested_str(tasmota),
/* K8 */ be_nested_str(check_not_method),
/* K9 */ be_nested_str(push),
/* K10 */ be_nested_str(_subscribe),
}),
&be_ktab_class_MQTT, /* shared constants */
&be_const_str_subscribe,
&be_const_str_solidified,
( &(const binstruction[50]) { /* code */
0x8C0C0100, // 0000 GETMET R3 R0 K0
0x8C0C0112, // 0000 GETMET R3 R0 K18
0x7C0C0200, // 0001 CALL R3 1
0x500C0000, // 0002 LDBOOL R3 0 0
0x60100010, // 0003 GETGBL R4 G16
0x88140101, // 0004 GETMBR R5 R0 K1
0x88140100, // 0004 GETMBR R5 R0 K0
0x7C100200, // 0005 CALL R4 1
0xA802000A, // 0006 EXBLK 0 #0012
0x5C140800, // 0007 MOVE R5 R4
0x7C140000, // 0008 CALL R5 0
0x88180B02, // 0009 GETMBR R6 R5 K2
0x88180B09, // 0009 GETMBR R6 R5 K9
0x1C180C01, // 000A EQ R6 R6 R1
0x781A0004, // 000B JMPF R6 #0011
0x88180B03, // 000C GETMBR R6 R5 K3
0x88180B01, // 000C GETMBR R6 R5 K1
0x1C180C02, // 000D EQ R6 R6 R2
0x781A0001, // 000E JMPF R6 #0011
0xA8040001, // 000F EXBLK 1 1
0x80000C00, // 0010 RET 0
0x7001FFF4, // 0011 JMP #0007
0x58100004, // 0012 LDCONST R4 K4
0x58100003, // 0012 LDCONST R4 K3
0xAC100200, // 0013 CATCH R4 1 0
0xB0080000, // 0014 RAISE 2 R0 R0
0x8C100105, // 0015 GETMET R4 R0 K5
0x8C100113, // 0015 GETMET R4 R0 K19
0x7C100200, // 0016 CALL R4 1
0x60140004, // 0017 GETGBL R5 G4
0x5C180400, // 0018 MOVE R6 R2
0x7C140200, // 0019 CALL R5 1
0x1C140B06, // 001A EQ R5 R5 K6
0x1C140B14, // 001A EQ R5 R5 K20
0x7816000B, // 001B JMPF R5 #0028
0xB8160E00, // 001C GETNGBL R5 K7
0x8C140B08, // 001D GETMET R5 R5 K8
0xB8160800, // 001C GETNGBL R5 K4
0x8C140B15, // 001D GETMET R5 R5 K21
0x5C1C0400, // 001E MOVE R7 R2
0x7C140400, // 001F CALL R5 2
0x88140101, // 0020 GETMBR R5 R0 K1
0x8C140B09, // 0021 GETMET R5 R5 K9
0x88140100, // 0020 GETMBR R5 R0 K0
0x8C140B16, // 0021 GETMET R5 R5 K22
0x5C1C0800, // 0022 MOVE R7 R4
0x5C200200, // 0023 MOVE R8 R1
0x5C240400, // 0024 MOVE R9 R2
0x7C1C0400, // 0025 CALL R7 2
0x7C140400, // 0026 CALL R5 2
0x70020005, // 0027 JMP #002E
0x88140101, // 0028 GETMBR R5 R0 K1
0x8C140B09, // 0029 GETMET R5 R5 K9
0x88140100, // 0028 GETMBR R5 R0 K0
0x8C140B16, // 0029 GETMET R5 R5 K22
0x5C1C0800, // 002A MOVE R7 R4
0x5C200200, // 002B MOVE R8 R1
0x7C1C0200, // 002C CALL R7 1
0x7C140400, // 002D CALL R5 2
0x8C14010A, // 002E GETMET R5 R0 K10
0x8C140110, // 002E GETMET R5 R0 K16
0x5C1C0200, // 002F MOVE R7 R1
0x7C140400, // 0030 CALL R5 2
0x80000000, // 0031 RET 0

View File

@ -31,23 +31,8 @@ be_local_closure(_anonymous_, /* name */
);
/*******************************************************************/
extern const bclass be_class_Persist;
/********************************************************************
** Solidified function: json_fdump_map
********************************************************************/
be_local_closure(class_Persist_json_fdump_map, /* name */
be_nested_proto(
13, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
// compact class 'Persist' ktab size: 35, total: 65 (saved 240 bytes)
static const bvalue be_ktab_class_Persist[35] = {
/* K0 */ be_nested_str(json),
/* K1 */ be_nested_str(write),
/* K2 */ be_nested_str(_X7B),
@ -58,7 +43,50 @@ be_local_closure(class_Persist_json_fdump_map, /* name */
/* K7 */ be_nested_str(_X2C),
/* K8 */ be_nested_str(stop_iteration),
/* K9 */ be_nested_str(_X7D),
}),
/* K10 */ be_nested_str(json_fdump_map),
/* K11 */ be_nested_str(json_fdump_list),
/* K12 */ be_nested_str(_p),
/* K13 */ be_nested_str(_dirty),
/* K14 */ be_nested_str(load),
/* K15 */ be_nested_str(_filename),
/* K16 */ be_nested_str(w),
/* K17 */ be_nested_str(json_fdump),
/* K18 */ be_nested_str(close),
/* K19 */ be_nested_str(_X7B_X7D),
/* K20 */ be_nested_str(find),
/* K21 */ be_nested_str(contains),
/* K22 */ be_nested_str(_X5B),
/* K23 */ be_const_int(0),
/* K24 */ be_const_int(1),
/* K25 */ be_nested_str(_X5D),
/* K26 */ be_nested_str(internal_error),
/* K27 */ be_nested_str(persist_X2E_p_X20is_X20not_X20a_X20map),
/* K28 */ be_nested_str(path),
/* K29 */ be_nested_str(exists),
/* K30 */ be_nested_str(r),
/* K31 */ be_nested_str(read),
/* K32 */ be_nested_str(BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson),
/* K33 */ be_nested_str(save),
/* K34 */ be_nested_str(remove),
};
extern const bclass be_class_Persist;
/********************************************************************
** Solidified function: json_fdump_map
********************************************************************/
be_local_closure(class_Persist_json_fdump_map, /* name */
be_nested_proto(
13, /* nstack */
3, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Persist, /* shared constants */
&be_const_str_json_fdump_map,
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
@ -116,19 +144,13 @@ be_local_closure(class_Persist_json_fdump_any, /* name */
be_nested_proto(
9, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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(json),
/* K1 */ be_nested_str(json_fdump_map),
/* K2 */ be_nested_str(json_fdump_list),
/* K3 */ be_nested_str(write),
/* K4 */ be_nested_str(dump),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_json_fdump_any,
&be_const_str_solidified,
( &(const binstruction[27]) { /* code */
@ -138,7 +160,7 @@ be_local_closure(class_Persist_json_fdump_any, /* name */
0x60180013, // 0003 GETGBL R6 G19
0x7C100400, // 0004 CALL R4 2
0x78120004, // 0005 JMPF R4 #000B
0x8C100101, // 0006 GETMET R4 R0 K1
0x8C10010A, // 0006 GETMET R4 R0 K10
0x5C180200, // 0007 MOVE R6 R1
0x5C1C0400, // 0008 MOVE R7 R2
0x7C100600, // 0009 CALL R4 3
@ -148,12 +170,12 @@ be_local_closure(class_Persist_json_fdump_any, /* name */
0x60180012, // 000D GETGBL R6 G18
0x7C100400, // 000E CALL R4 2
0x78120004, // 000F JMPF R4 #0015
0x8C100102, // 0010 GETMET R4 R0 K2
0x8C10010B, // 0010 GETMET R4 R0 K11
0x5C180200, // 0011 MOVE R6 R1
0x5C1C0400, // 0012 MOVE R7 R2
0x7C100600, // 0013 CALL R4 3
0x70020004, // 0014 JMP #001A
0x8C100303, // 0015 GETMET R4 R1 K3
0x8C100301, // 0015 GETMET R4 R1 K1
0x8C180704, // 0016 GETMET R6 R3 K4
0x5C200400, // 0017 MOVE R8 R2
0x7C180400, // 0018 CALL R6 2
@ -172,26 +194,22 @@ be_local_closure(class_Persist_init, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(_p),
/* K1 */ be_nested_str(_dirty),
/* K2 */ be_nested_str(load),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x60040013, // 0000 GETGBL R1 G19
0x7C040000, // 0001 CALL R1 0
0x90020001, // 0002 SETMBR R0 K0 R1
0x90021801, // 0002 SETMBR R0 K12 R1
0x50040000, // 0003 LDBOOL R1 0 0
0x90020201, // 0004 SETMBR R0 K1 R1
0x8C040102, // 0005 GETMET R1 R0 K2
0x90021A01, // 0004 SETMBR R0 K13 R1
0x8C04010E, // 0005 GETMET R1 R0 K14
0x7C040200, // 0006 CALL R1 1
0x80000000, // 0007 RET 0
})
@ -207,37 +225,29 @@ be_local_closure(class_Persist_save, /* name */
be_nested_proto(
7, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(_dirty),
/* K1 */ be_nested_str(_filename),
/* K2 */ be_nested_str(w),
/* K3 */ be_nested_str(json_fdump),
/* K4 */ be_nested_str(close),
/* K5 */ be_nested_str(write),
/* K6 */ be_nested_str(_X7B_X7D),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_save,
&be_const_str_solidified,
( &(const binstruction[50]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8804010D, // 0000 GETMBR R1 R0 K13
0x7806002E, // 0001 JMPF R1 #0031
0x4C040000, // 0002 LDNIL R1
0xA802000B, // 0003 EXBLK 0 #0010
0x60080011, // 0004 GETGBL R2 G17
0x880C0101, // 0005 GETMBR R3 R0 K1
0x58100002, // 0006 LDCONST R4 K2
0x880C010F, // 0005 GETMBR R3 R0 K15
0x58100010, // 0006 LDCONST R4 K16
0x7C080400, // 0007 CALL R2 2
0x5C040400, // 0008 MOVE R1 R2
0x8C080103, // 0009 GETMET R2 R0 K3
0x8C080111, // 0009 GETMET R2 R0 K17
0x5C100200, // 000A MOVE R4 R1
0x7C080400, // 000B CALL R2 2
0x8C080304, // 000C GETMET R2 R1 K4
0x8C080312, // 000C GETMET R2 R1 K18
0x7C080200, // 000D CALL R2 1
0xA8040001, // 000E EXBLK 1 1
0x7002001E, // 000F JMP #002F
@ -246,17 +256,17 @@ be_local_closure(class_Persist_save, /* name */
0x4C100000, // 0012 LDNIL R4
0x20100204, // 0013 NE R4 R1 R4
0x78120001, // 0014 JMPF R4 #0017
0x8C100304, // 0015 GETMET R4 R1 K4
0x8C100312, // 0015 GETMET R4 R1 K18
0x7C100200, // 0016 CALL R4 1
0x4C040000, // 0017 LDNIL R1
0xA8020009, // 0018 EXBLK 0 #0023
0x60100011, // 0019 GETGBL R4 G17
0x88140101, // 001A GETMBR R5 R0 K1
0x58180002, // 001B LDCONST R6 K2
0x8814010F, // 001A GETMBR R5 R0 K15
0x58180010, // 001B LDCONST R6 K16
0x7C100400, // 001C CALL R4 2
0x5C040800, // 001D MOVE R1 R4
0x8C100305, // 001E GETMET R4 R1 K5
0x58180006, // 001F LDCONST R6 K6
0x8C100301, // 001E GETMET R4 R1 K1
0x58180013, // 001F LDCONST R6 K19
0x7C100400, // 0020 CALL R4 2
0xA8040001, // 0021 EXBLK 1 1
0x70020003, // 0022 JMP #0027
@ -267,13 +277,13 @@ be_local_closure(class_Persist_save, /* name */
0x4C100000, // 0027 LDNIL R4
0x20100204, // 0028 NE R4 R1 R4
0x78120001, // 0029 JMPF R4 #002C
0x8C100304, // 002A GETMET R4 R1 K4
0x8C100312, // 002A GETMET R4 R1 K18
0x7C100200, // 002B CALL R4 1
0xB0040403, // 002C RAISE 1 R2 R3
0x70020000, // 002D JMP #002F
0xB0080000, // 002E RAISE 2 R0 R0
0x50080000, // 002F LDBOOL R2 0 0
0x90020002, // 0030 SETMBR R0 K0 R2
0x90021A02, // 0030 SETMBR R0 K13 R2
0x80000000, // 0031 RET 0
})
)
@ -288,24 +298,21 @@ be_local_closure(class_Persist_zero, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(_p),
/* K1 */ be_nested_str(_dirty),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_zero,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x60040013, // 0000 GETGBL R1 G19
0x7C040000, // 0001 CALL R1 0
0x90020001, // 0002 SETMBR R0 K0 R1
0x90021801, // 0002 SETMBR R0 K12 R1
0x50040200, // 0003 LDBOOL R1 1 0
0x90020201, // 0004 SETMBR R0 K1 R1
0x90021A01, // 0004 SETMBR R0 K13 R1
0x80000000, // 0005 RET 0
})
)
@ -320,21 +327,18 @@ be_local_closure(class_Persist_find, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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(_p),
/* K1 */ be_nested_str(find),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_find,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x880C0100, // 0000 GETMBR R3 R0 K0
0x8C0C0701, // 0001 GETMET R3 R3 K1
0x880C010C, // 0000 GETMBR R3 R0 K12
0x8C0C0714, // 0001 GETMET R3 R3 K20
0x5C140200, // 0002 MOVE R5 R1
0x5C180400, // 0003 MOVE R6 R2
0x7C0C0600, // 0004 CALL R3 3
@ -352,21 +356,18 @@ be_local_closure(class_Persist_has, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(_p),
/* K1 */ be_nested_str(contains),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_has,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x8808010C, // 0000 GETMBR R2 R0 K12
0x8C080515, // 0001 GETMET R2 R2 K21
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x80040400, // 0004 RET 1 R2
@ -383,48 +384,39 @@ be_local_closure(class_Persist_json_fdump_list, /* name */
be_nested_proto(
9, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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(json),
/* K1 */ be_nested_str(write),
/* K2 */ be_nested_str(_X5B),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str(_X2C),
/* K5 */ be_nested_str(json_fdump_any),
/* K6 */ be_const_int(1),
/* K7 */ be_nested_str(_X5D),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_json_fdump_list,
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0x8C100301, // 0001 GETMET R4 R1 K1
0x58180002, // 0002 LDCONST R6 K2
0x58180016, // 0002 LDCONST R6 K22
0x7C100400, // 0003 CALL R4 2
0x58100003, // 0004 LDCONST R4 K3
0x58100017, // 0004 LDCONST R4 K23
0x6014000C, // 0005 GETGBL R5 G12
0x5C180400, // 0006 MOVE R6 R2
0x7C140200, // 0007 CALL R5 1
0x14140805, // 0008 LT R5 R4 R5
0x7816000A, // 0009 JMPF R5 #0015
0x24140903, // 000A GT R5 R4 K3
0x24140917, // 000A GT R5 R4 K23
0x78160002, // 000B JMPF R5 #000F
0x8C140301, // 000C GETMET R5 R1 K1
0x581C0004, // 000D LDCONST R7 K4
0x581C0007, // 000D LDCONST R7 K7
0x7C140400, // 000E CALL R5 2
0x8C140105, // 000F GETMET R5 R0 K5
0x8C140106, // 000F GETMET R5 R0 K6
0x5C1C0200, // 0010 MOVE R7 R1
0x94200404, // 0011 GETIDX R8 R2 R4
0x7C140600, // 0012 CALL R5 3
0x00100906, // 0013 ADD R4 R4 K6
0x00100918, // 0013 ADD R4 R4 K24
0x7001FFEF, // 0014 JMP #0005
0x8C140301, // 0015 GETMET R5 R1 K1
0x581C0007, // 0016 LDCONST R7 K7
0x581C0019, // 0016 LDCONST R7 K25
0x7C140400, // 0017 CALL R5 2
0x80000000, // 0018 RET 0
})
@ -440,21 +432,18 @@ be_local_closure(class_Persist_member, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(_p),
/* K1 */ be_nested_str(find),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_member,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x8808010C, // 0000 GETMBR R2 R0 K12
0x8C080514, // 0001 GETMET R2 R2 K20
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x80040400, // 0004 RET 1 R2
@ -471,23 +460,20 @@ be_local_closure(class_Persist_setmember, /* name */
be_nested_proto(
4, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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(_p),
/* K1 */ be_nested_str(_dirty),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_setmember,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x880C0100, // 0000 GETMBR R3 R0 K0
0x880C010C, // 0000 GETMBR R3 R0 K12
0x980C0202, // 0001 SETIDX R3 R1 R2
0x500C0200, // 0002 LDBOOL R3 1 0
0x90020203, // 0003 SETMBR R0 K1 R3
0x90021A03, // 0003 SETMBR R0 K13 R3
0x80000000, // 0004 RET 0
})
)
@ -502,21 +488,18 @@ be_local_closure(class_Persist_contains, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(_p),
/* K1 */ be_nested_str(contains),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_contains,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x8808010C, // 0000 GETMBR R2 R0 K12
0x8C080515, // 0001 GETMET R2 R2 K21
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x80040400, // 0004 RET 1 R2
@ -533,34 +516,28 @@ be_local_closure(class_Persist_json_fdump, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(json),
/* K1 */ be_nested_str(_p),
/* K2 */ be_nested_str(json_fdump_map),
/* K3 */ be_nested_str(internal_error),
/* K4 */ be_nested_str(persist_X2E_p_X20is_X20not_X20a_X20map),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_json_fdump,
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x600C000F, // 0001 GETGBL R3 G15
0x88100101, // 0002 GETMBR R4 R0 K1
0x8810010C, // 0002 GETMBR R4 R0 K12
0x60140013, // 0003 GETGBL R5 G19
0x7C0C0400, // 0004 CALL R3 2
0x780E0004, // 0005 JMPF R3 #000B
0x8C0C0102, // 0006 GETMET R3 R0 K2
0x8C0C010A, // 0006 GETMET R3 R0 K10
0x5C140200, // 0007 MOVE R5 R1
0x88180101, // 0008 GETMBR R6 R0 K1
0x8818010C, // 0008 GETMBR R6 R0 K12
0x7C0C0600, // 0009 CALL R3 3
0x70020000, // 000A JMP #000C
0xB0060704, // 000B RAISE 1 K3 K4
0xB006351B, // 000B RAISE 1 K26 K27
0x80000000, // 000C RET 0
})
)
@ -575,49 +552,36 @@ be_local_closure(class_Persist_load, /* name */
be_nested_proto(
9, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str(json),
/* K1 */ be_nested_str(path),
/* K2 */ be_nested_str(exists),
/* K3 */ be_nested_str(_filename),
/* K4 */ be_nested_str(r),
/* K5 */ be_nested_str(load),
/* K6 */ be_nested_str(read),
/* K7 */ be_nested_str(close),
/* K8 */ be_nested_str(_p),
/* K9 */ be_nested_str(BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson),
/* K10 */ be_nested_str(_dirty),
/* K11 */ be_nested_str(save),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_load,
&be_const_str_solidified,
( &(const binstruction[49]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0xA40A3800, // 0001 IMPORT R2 K28
0x4C0C0000, // 0002 LDNIL R3
0x4C100000, // 0003 LDNIL R4
0x8C140502, // 0004 GETMET R5 R2 K2
0x881C0103, // 0005 GETMBR R7 R0 K3
0x8C14051D, // 0004 GETMET R5 R2 K29
0x881C010F, // 0005 GETMBR R7 R0 K15
0x7C140400, // 0006 CALL R5 2
0x78160025, // 0007 JMPF R5 #002E
0xA802000D, // 0008 EXBLK 0 #0017
0x60140011, // 0009 GETGBL R5 G17
0x88180103, // 000A GETMBR R6 R0 K3
0x581C0004, // 000B LDCONST R7 K4
0x8818010F, // 000A GETMBR R6 R0 K15
0x581C001E, // 000B LDCONST R7 K30
0x7C140400, // 000C CALL R5 2
0x5C0C0A00, // 000D MOVE R3 R5
0x8C140305, // 000E GETMET R5 R1 K5
0x8C1C0706, // 000F GETMET R7 R3 K6
0x8C14030E, // 000E GETMET R5 R1 K14
0x8C1C071F, // 000F GETMET R7 R3 K31
0x7C1C0200, // 0010 CALL R7 1
0x7C140400, // 0011 CALL R5 2
0x5C100A00, // 0012 MOVE R4 R5
0x8C140707, // 0013 GETMET R5 R3 K7
0x8C140712, // 0013 GETMET R5 R3 K18
0x7C140200, // 0014 CALL R5 1
0xA8040001, // 0015 EXBLK 1 1
0x70020009, // 0016 JMP #0021
@ -626,7 +590,7 @@ be_local_closure(class_Persist_load, /* name */
0x4C1C0000, // 0019 LDNIL R7
0x201C0607, // 001A NE R7 R3 R7
0x781E0001, // 001B JMPF R7 #001E
0x8C1C0707, // 001C GETMET R7 R3 K7
0x8C1C0712, // 001C GETMET R7 R3 K18
0x7C1C0200, // 001D CALL R7 1
0xB0040A06, // 001E RAISE 1 R5 R6
0x70020000, // 001F JMP #0021
@ -636,15 +600,15 @@ be_local_closure(class_Persist_load, /* name */
0x601C0013, // 0023 GETGBL R7 G19
0x7C140400, // 0024 CALL R5 2
0x78160001, // 0025 JMPF R5 #0028
0x90021004, // 0026 SETMBR R0 K8 R4
0x90021804, // 0026 SETMBR R0 K12 R4
0x70020002, // 0027 JMP #002B
0x60140001, // 0028 GETGBL R5 G1
0x58180009, // 0029 LDCONST R6 K9
0x58180020, // 0029 LDCONST R6 K32
0x7C140200, // 002A CALL R5 1
0x50140000, // 002B LDBOOL R5 0 0
0x90021405, // 002C SETMBR R0 K10 R5
0x90021A05, // 002C SETMBR R0 K13 R5
0x70020001, // 002D JMP #0030
0x8C14010B, // 002E GETMET R5 R0 K11
0x8C140121, // 002E GETMET R5 R0 K33
0x7C140200, // 002F CALL R5 1
0x80000000, // 0030 RET 0
})
@ -660,26 +624,22 @@ be_local_closure(class_Persist_remove, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(_p),
/* K1 */ be_nested_str(remove),
/* K2 */ be_nested_str(_dirty),
}),
&be_ktab_class_Persist, /* shared constants */
&be_const_str_remove,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x8808010C, // 0000 GETMBR R2 R0 K12
0x8C080522, // 0001 GETMET R2 R2 K34
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x50080200, // 0004 LDBOOL R2 1 0
0x90020402, // 0005 SETMBR R0 K2 R2
0x90021A02, // 0005 SETMBR R0 K13 R2
0x80000000, // 0006 RET 0
})
)

View File

@ -3,6 +3,20 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Rule_Matcher_Key;
// compact class 'Rule_Matcher_Key' ktab size: 9, total: 11 (saved 16 bytes)
static const bvalue be_ktab_class_Rule_Matcher_Key[9] = {
/* K0 */ be_nested_str(_X3CMatcher_X20key_X3D_X27),
/* K1 */ be_nested_str(name),
/* K2 */ be_nested_str(_X27_X3E),
/* K3 */ be_const_class(be_class_Rule_Matcher_Key),
/* K4 */ be_nested_str(string),
/* K5 */ be_nested_str(toupper),
/* K6 */ be_nested_str(keys),
/* K7 */ be_nested_str(stop_iteration),
/* K8 */ be_nested_str(find_key_i),
};
extern const bclass be_class_Rule_Matcher_Key;
@ -13,17 +27,13 @@ be_local_closure(class_Rule_Matcher_Key_tostring, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(_X3CMatcher_X20key_X3D_X27),
/* K1 */ be_nested_str(name),
/* K2 */ be_nested_str(_X27_X3E),
}),
&be_ktab_class_Rule_Matcher_Key, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
@ -46,25 +56,19 @@ be_local_closure(class_Rule_Matcher_Key_find_key_i, /* name */
be_nested_proto(
11, /* nstack */
2, /* argc */
4, /* varg */
12, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_const_class(be_class_Rule_Matcher_Key),
/* K1 */ be_nested_str(string),
/* K2 */ be_nested_str(toupper),
/* K3 */ be_nested_str(keys),
/* K4 */ be_nested_str(stop_iteration),
}),
&be_ktab_class_Rule_Matcher_Key, /* shared constants */
&be_const_str_find_key_i,
&be_const_str_solidified,
( &(const binstruction[31]) { /* code */
0x58080000, // 0000 LDCONST R2 K0
0xA40E0200, // 0001 IMPORT R3 K1
0x8C100702, // 0002 GETMET R4 R3 K2
0x58080003, // 0000 LDCONST R2 K3
0xA40E0800, // 0001 IMPORT R3 K4
0x8C100705, // 0002 GETMET R4 R3 K5
0x5C180200, // 0003 MOVE R6 R1
0x7C100400, // 0004 CALL R4 2
0x6014000F, // 0005 GETGBL R5 G15
@ -73,13 +77,13 @@ be_local_closure(class_Rule_Matcher_Key_find_key_i, /* name */
0x7C140400, // 0008 CALL R5 2
0x78160013, // 0009 JMPF R5 #001E
0x60140010, // 000A GETGBL R5 G16
0x8C180103, // 000B GETMET R6 R0 K3
0x8C180106, // 000B GETMET R6 R0 K6
0x7C180200, // 000C CALL R6 1
0x7C140200, // 000D CALL R5 1
0xA802000B, // 000E EXBLK 0 #001B
0x5C180A00, // 000F MOVE R6 R5
0x7C180000, // 0010 CALL R6 0
0x8C1C0702, // 0011 GETMET R7 R3 K2
0x8C1C0705, // 0011 GETMET R7 R3 K5
0x60240008, // 0012 GETGBL R9 G8
0x5C280C00, // 0013 MOVE R10 R6
0x7C240200, // 0014 CALL R9 1
@ -89,7 +93,7 @@ be_local_closure(class_Rule_Matcher_Key_find_key_i, /* name */
0xA8040001, // 0018 EXBLK 1 1
0x80040C00, // 0019 RET 1 R6
0x7001FFF3, // 001A JMP #000F
0x58140004, // 001B LDCONST R5 K4
0x58140007, // 001B LDCONST R5 K7
0xAC140200, // 001C CATCH R5 1 0
0xB0080000, // 001D RAISE 2 R0 R0
0x80000000, // 001E RET 0
@ -106,16 +110,13 @@ be_local_closure(class_Rule_Matcher_Key_match, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(find_key_i),
/* K1 */ be_nested_str(name),
}),
&be_ktab_class_Rule_Matcher_Key, /* shared constants */
&be_const_str_match,
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
@ -131,7 +132,7 @@ be_local_closure(class_Rule_Matcher_Key_match, /* name */
0x740A0001, // 0009 JMPT R2 #000C
0x4C080000, // 000A LDNIL R2
0x80040400, // 000B RET 1 R2
0x8C080100, // 000C GETMET R2 R0 K0
0x8C080108, // 000C GETMET R2 R0 K8
0x5C100200, // 000D MOVE R4 R1
0x88140101, // 000E GETMBR R5 R0 K1
0x7C080600, // 000F CALL R2 3
@ -155,19 +156,17 @@ be_local_closure(class_Rule_Matcher_Key_init, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(name),
}),
&be_ktab_class_Rule_Matcher_Key, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90020201, // 0000 SETMBR R0 K1 R1
0x80000000, // 0001 RET 0
})
)
@ -282,6 +281,39 @@ be_local_class(Rule_Matcher_Wildcard,
})),
(bstring*) &be_const_str_Rule_Matcher_Wildcard
);
// compact class 'Rule_Matcher_Operator' ktab size: 29, total: 37 (saved 64 bytes)
static const bvalue be_ktab_class_Rule_Matcher_Operator[29] = {
/* K0 */ be_nested_str(int),
/* K1 */ be_nested_str(real),
/* K2 */ be_nested_str(string),
/* K3 */ be_nested_str(op_func),
/* K4 */ be_nested_str(op_value),
/* K5 */ be_nested_str(op_str),
/* K6 */ be_nested_str(_X3D),
/* K7 */ be_nested_str(_X21_X3D_X3D),
/* K8 */ be_nested_str(_X24_X21),
/* K9 */ be_nested_str(_X24_X3C),
/* K10 */ be_nested_str(_X24_X3E),
/* K11 */ be_nested_str(_X24_X7C),
/* K12 */ be_nested_str(_X24_X5E),
/* K13 */ be_nested_str(_X3D_X3D),
/* K14 */ be_nested_str(_X21_X3D),
/* K15 */ be_nested_str(_X3E),
/* K16 */ be_nested_str(_X3E_X3D),
/* K17 */ be_nested_str(_X3C),
/* K18 */ be_nested_str(_X3C_X3D),
/* K19 */ be_nested_str(_X7C),
/* K20 */ be_nested_str(json),
/* K21 */ be_nested_str(load),
/* K22 */ be_nested_str(value_error),
/* K23 */ be_nested_str(value_X20needs_X20to_X20be_X20a_X20number),
/* K24 */ be_nested_str(_X3CMatcher_X20op_X20_X27),
/* K25 */ be_nested_str(_X27_X20val_X3D_X27),
/* K26 */ be_nested_str(_X27_X3E),
/* K27 */ be_nested_str(_X27_X20val_X3D),
/* K28 */ be_nested_str(op_parse),
};
extern const bclass be_class_Rule_Matcher_Operator;
@ -292,19 +324,13 @@ be_local_closure(class_Rule_Matcher_Operator_match, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(int),
/* K1 */ be_nested_str(real),
/* K2 */ be_nested_str(string),
/* K3 */ be_nested_str(op_func),
/* K4 */ be_nested_str(op_value),
}),
&be_ktab_class_Rule_Matcher_Operator, /* shared constants */
&be_const_str_match,
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
@ -341,7 +367,7 @@ be_local_closure(class_Rule_Matcher_Operator_op_parse, /* name */
be_nested_proto(
22, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
@ -656,35 +682,11 @@ be_local_closure(class_Rule_Matcher_Operator_op_parse, /* name */
),
}),
1, /* has constants */
( &(const bvalue[23]) { /* constants */
/* K0 */ be_nested_str(op_str),
/* K1 */ be_nested_str(_X3D),
/* K2 */ be_nested_str(_X21_X3D_X3D),
/* K3 */ be_nested_str(_X24_X21),
/* K4 */ be_nested_str(_X24_X3C),
/* K5 */ be_nested_str(_X24_X3E),
/* K6 */ be_nested_str(_X24_X7C),
/* K7 */ be_nested_str(_X24_X5E),
/* K8 */ be_nested_str(_X3D_X3D),
/* K9 */ be_nested_str(_X21_X3D),
/* K10 */ be_nested_str(_X3E),
/* K11 */ be_nested_str(_X3E_X3D),
/* K12 */ be_nested_str(_X3C),
/* K13 */ be_nested_str(_X3C_X3D),
/* K14 */ be_nested_str(_X7C),
/* K15 */ be_nested_str(op_func),
/* K16 */ be_nested_str(json),
/* K17 */ be_nested_str(load),
/* K18 */ be_nested_str(int),
/* K19 */ be_nested_str(real),
/* K20 */ be_nested_str(value_error),
/* K21 */ be_nested_str(value_X20needs_X20to_X20be_X20a_X20number),
/* K22 */ be_nested_str(op_value),
}),
&be_ktab_class_Rule_Matcher_Operator, /* shared constants */
&be_const_str_op_parse,
&be_const_str_solidified,
( &(const binstruction[97]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90020A01, // 0000 SETMBR R0 K5 R1
0x840C0000, // 0001 CLOSURE R3 P0
0x84100001, // 0002 CLOSURE R4 P1
0x84140002, // 0003 CLOSURE R5 P2
@ -700,86 +702,86 @@ be_local_closure(class_Rule_Matcher_Operator_op_parse, /* name */
0x843C000C, // 000D CLOSURE R15 P12
0x50400000, // 000E LDBOOL R16 0 0
0x4C440000, // 000F LDNIL R17
0x1C480301, // 0010 EQ R18 R1 K1
0x1C480306, // 0010 EQ R18 R1 K6
0x784A0001, // 0011 JMPF R18 #0014
0x5C440600, // 0012 MOVE R17 R3
0x70020033, // 0013 JMP #0048
0x1C480302, // 0014 EQ R18 R1 K2
0x1C480307, // 0014 EQ R18 R1 K7
0x784A0001, // 0015 JMPF R18 #0018
0x5C440800, // 0016 MOVE R17 R4
0x7002002F, // 0017 JMP #0048
0x1C480303, // 0018 EQ R18 R1 K3
0x1C480308, // 0018 EQ R18 R1 K8
0x784A0001, // 0019 JMPF R18 #001C
0x5C440800, // 001A MOVE R17 R4
0x7002002B, // 001B JMP #0048
0x1C480304, // 001C EQ R18 R1 K4
0x1C480309, // 001C EQ R18 R1 K9
0x784A0001, // 001D JMPF R18 #0020
0x5C440A00, // 001E MOVE R17 R5
0x70020027, // 001F JMP #0048
0x1C480305, // 0020 EQ R18 R1 K5
0x1C48030A, // 0020 EQ R18 R1 K10
0x784A0001, // 0021 JMPF R18 #0024
0x5C440C00, // 0022 MOVE R17 R6
0x70020023, // 0023 JMP #0048
0x1C480306, // 0024 EQ R18 R1 K6
0x1C48030B, // 0024 EQ R18 R1 K11
0x784A0001, // 0025 JMPF R18 #0028
0x5C440E00, // 0026 MOVE R17 R7
0x7002001F, // 0027 JMP #0048
0x1C480307, // 0028 EQ R18 R1 K7
0x1C48030C, // 0028 EQ R18 R1 K12
0x784A0001, // 0029 JMPF R18 #002C
0x5C441000, // 002A MOVE R17 R8
0x7002001B, // 002B JMP #0048
0x50400200, // 002C LDBOOL R16 1 0
0x1C480308, // 002D EQ R18 R1 K8
0x1C48030D, // 002D EQ R18 R1 K13
0x784A0001, // 002E JMPF R18 #0031
0x5C441200, // 002F MOVE R17 R9
0x70020016, // 0030 JMP #0048
0x1C480309, // 0031 EQ R18 R1 K9
0x1C48030E, // 0031 EQ R18 R1 K14
0x784A0001, // 0032 JMPF R18 #0035
0x5C441400, // 0033 MOVE R17 R10
0x70020012, // 0034 JMP #0048
0x1C48030A, // 0035 EQ R18 R1 K10
0x1C48030F, // 0035 EQ R18 R1 K15
0x784A0001, // 0036 JMPF R18 #0039
0x5C441600, // 0037 MOVE R17 R11
0x7002000E, // 0038 JMP #0048
0x1C48030B, // 0039 EQ R18 R1 K11
0x1C480310, // 0039 EQ R18 R1 K16
0x784A0001, // 003A JMPF R18 #003D
0x5C441800, // 003B MOVE R17 R12
0x7002000A, // 003C JMP #0048
0x1C48030C, // 003D EQ R18 R1 K12
0x1C480311, // 003D EQ R18 R1 K17
0x784A0001, // 003E JMPF R18 #0041
0x5C441A00, // 003F MOVE R17 R13
0x70020006, // 0040 JMP #0048
0x1C48030D, // 0041 EQ R18 R1 K13
0x1C480312, // 0041 EQ R18 R1 K18
0x784A0001, // 0042 JMPF R18 #0045
0x5C441C00, // 0043 MOVE R17 R14
0x70020002, // 0044 JMP #0048
0x1C48030E, // 0045 EQ R18 R1 K14
0x1C480313, // 0045 EQ R18 R1 K19
0x784A0000, // 0046 JMPF R18 #0048
0x5C441E00, // 0047 MOVE R17 R15
0x90021E11, // 0048 SETMBR R0 K15 R17
0x90020611, // 0048 SETMBR R0 K3 R17
0x78420011, // 0049 JMPF R16 #005C
0xA44A2000, // 004A IMPORT R18 K16
0x8C4C2511, // 004B GETMET R19 R18 K17
0xA44A2800, // 004A IMPORT R18 K20
0x8C4C2515, // 004B GETMET R19 R18 K21
0x5C540400, // 004C MOVE R21 R2
0x7C4C0400, // 004D CALL R19 2
0x60500004, // 004E GETGBL R20 G4
0x5C542600, // 004F MOVE R21 R19
0x7C500200, // 0050 CALL R20 1
0x20502912, // 0051 NE R20 R20 K18
0x20502900, // 0051 NE R20 R20 K0
0x78520006, // 0052 JMPF R20 #005A
0x60500004, // 0053 GETGBL R20 G4
0x5C542600, // 0054 MOVE R21 R19
0x7C500200, // 0055 CALL R20 1
0x20502913, // 0056 NE R20 R20 K19
0x20502901, // 0056 NE R20 R20 K1
0x78520001, // 0057 JMPF R20 #005A
0xB0062915, // 0058 RAISE 1 K20 K21
0xB0062D17, // 0058 RAISE 1 K22 K23
0x70020000, // 0059 JMP #005B
0x90022C13, // 005A SETMBR R0 K22 R19
0x90020813, // 005A SETMBR R0 K4 R19
0x70020003, // 005B JMP #0060
0x60480008, // 005C GETGBL R18 G8
0x5C4C0400, // 005D MOVE R19 R2
0x7C480200, // 005E CALL R18 1
0x90022C12, // 005F SETMBR R0 K22 R18
0x90020812, // 005F SETMBR R0 K4 R18
0x80000000, // 0060 RET 0
})
)
@ -794,48 +796,39 @@ be_local_closure(class_Rule_Matcher_Operator_tostring, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(op_value),
/* K1 */ be_nested_str(string),
/* K2 */ be_nested_str(_X3CMatcher_X20op_X20_X27),
/* K3 */ be_nested_str(op_str),
/* K4 */ be_nested_str(_X27_X20val_X3D_X27),
/* K5 */ be_nested_str(_X27_X3E),
/* K6 */ be_nested_str(_X27_X20val_X3D),
/* K7 */ be_nested_str(_X3E),
}),
&be_ktab_class_Rule_Matcher_Operator, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
0x60040004, // 0000 GETGBL R1 G4
0x88080100, // 0001 GETMBR R2 R0 K0
0x88080104, // 0001 GETMBR R2 R0 K4
0x7C040200, // 0002 CALL R1 1
0x1C040301, // 0003 EQ R1 R1 K1
0x1C040302, // 0003 EQ R1 R1 K2
0x78060009, // 0004 JMPF R1 #000F
0x88040103, // 0005 GETMBR R1 R0 K3
0x00060401, // 0006 ADD R1 K2 R1
0x00040304, // 0007 ADD R1 R1 K4
0x88040105, // 0005 GETMBR R1 R0 K5
0x00063001, // 0006 ADD R1 K24 R1
0x00040319, // 0007 ADD R1 R1 K25
0x60080008, // 0008 GETGBL R2 G8
0x880C0100, // 0009 GETMBR R3 R0 K0
0x880C0104, // 0009 GETMBR R3 R0 K4
0x7C080200, // 000A CALL R2 1
0x00040202, // 000B ADD R1 R1 R2
0x00040305, // 000C ADD R1 R1 K5
0x0004031A, // 000C ADD R1 R1 K26
0x80040200, // 000D RET 1 R1
0x70020008, // 000E JMP #0018
0x88040103, // 000F GETMBR R1 R0 K3
0x00060401, // 0010 ADD R1 K2 R1
0x00040306, // 0011 ADD R1 R1 K6
0x88040105, // 000F GETMBR R1 R0 K5
0x00063001, // 0010 ADD R1 K24 R1
0x0004031B, // 0011 ADD R1 R1 K27
0x60080008, // 0012 GETGBL R2 G8
0x880C0100, // 0013 GETMBR R3 R0 K0
0x880C0104, // 0013 GETMBR R3 R0 K4
0x7C080200, // 0014 CALL R2 1
0x00040202, // 0015 ADD R1 R1 R2
0x00040307, // 0016 ADD R1 R1 K7
0x0004030F, // 0016 ADD R1 R1 K15
0x80040200, // 0017 RET 1 R1
0x80000000, // 0018 RET 0
})
@ -851,19 +844,17 @@ be_local_closure(class_Rule_Matcher_Operator_init, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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(op_parse),
}),
&be_ktab_class_Rule_Matcher_Operator, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C0C0100, // 0000 GETMET R3 R0 K0
0x8C0C011C, // 0000 GETMET R3 R0 K28
0x5C140200, // 0001 MOVE R5 R1
0x5C180400, // 0002 MOVE R6 R2
0x7C0C0600, // 0003 CALL R3 3
@ -892,6 +883,15 @@ be_local_class(Rule_Matcher_Operator,
})),
(bstring*) &be_const_str_Rule_Matcher_Operator
);
// compact class 'Rule_Matcher_Array' ktab size: 5, total: 7 (saved 16 bytes)
static const bvalue be_ktab_class_Rule_Matcher_Array[5] = {
/* K0 */ be_nested_str(index),
/* K1 */ be_nested_str(_X3CMatcher_X20_X5B),
/* K2 */ be_nested_str(_X5D_X3E),
/* K3 */ be_const_int(0),
/* K4 */ be_const_int(1),
};
extern const bclass be_class_Rule_Matcher_Array;
@ -902,15 +902,13 @@ be_local_closure(class_Rule_Matcher_Array_init, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(index),
}),
&be_ktab_class_Rule_Matcher_Array, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
@ -929,24 +927,20 @@ be_local_closure(class_Rule_Matcher_Array_tostring, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(_X3CMatcher_X20_X5B),
/* K1 */ be_nested_str(index),
/* K2 */ be_nested_str(_X5D_X3E),
}),
&be_ktab_class_Rule_Matcher_Array, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x60040008, // 0000 GETGBL R1 G8
0x88080101, // 0001 GETMBR R2 R0 K1
0x88080100, // 0001 GETMBR R2 R0 K0
0x7C040200, // 0002 CALL R1 1
0x00060001, // 0003 ADD R1 K0 R1
0x00060201, // 0003 ADD R1 K1 R1
0x00040302, // 0004 ADD R1 R1 K2
0x80040200, // 0005 RET 1 R1
})
@ -962,17 +956,13 @@ be_local_closure(class_Rule_Matcher_Array_match, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(index),
/* K1 */ be_const_int(0),
/* K2 */ be_const_int(1),
}),
&be_ktab_class_Rule_Matcher_Array, /* shared constants */
&be_const_str_match,
&be_const_str_solidified,
( &(const binstruction[28]) { /* code */
@ -988,7 +978,7 @@ be_local_closure(class_Rule_Matcher_Array_match, /* name */
0x740A0000, // 0009 JMPT R2 #000B
0x80040200, // 000A RET 1 R1
0x88080100, // 000B GETMBR R2 R0 K0
0x18080501, // 000C LE R2 R2 K1
0x18080503, // 000C LE R2 R2 K3
0x780A0001, // 000D JMPF R2 #0010
0x4C080000, // 000E LDNIL R2
0x80040400, // 000F RET 1 R2
@ -1001,7 +991,7 @@ be_local_closure(class_Rule_Matcher_Array_match, /* name */
0x4C080000, // 0016 LDNIL R2
0x80040400, // 0017 RET 1 R2
0x88080100, // 0018 GETMBR R2 R0 K0
0x04080502, // 0019 SUB R2 R2 K2
0x04080504, // 0019 SUB R2 R2 K4
0x94080202, // 001A GETIDX R2 R1 R2
0x80040400, // 001B RET 1 R2
})
@ -1025,6 +1015,17 @@ be_local_class(Rule_Matcher_Array,
})),
(bstring*) &be_const_str_Rule_Matcher_Array
);
// compact class 'Rule_Matcher_AND_List' ktab size: 7, total: 9 (saved 16 bytes)
static const bvalue be_ktab_class_Rule_Matcher_AND_List[7] = {
/* K0 */ be_nested_str(and_list),
/* K1 */ be_nested_str(_X3CMatcher_AND_List_X20),
/* K2 */ be_nested_str(_X3E),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str(match),
/* K5 */ be_nested_str(push),
/* K6 */ be_const_int(1),
};
extern const bclass be_class_Rule_Matcher_AND_List;
@ -1035,15 +1036,13 @@ be_local_closure(class_Rule_Matcher_AND_List_init, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(and_list),
}),
&be_ktab_class_Rule_Matcher_AND_List, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
@ -1062,24 +1061,20 @@ be_local_closure(class_Rule_Matcher_AND_List_tostring, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(_X3CMatcher_AND_List_X20),
/* K1 */ be_nested_str(and_list),
/* K2 */ be_nested_str(_X3E),
}),
&be_ktab_class_Rule_Matcher_AND_List, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x60040008, // 0000 GETGBL R1 G8
0x88080101, // 0001 GETMBR R2 R0 K1
0x88080100, // 0001 GETMBR R2 R0 K0
0x7C040200, // 0002 CALL R1 1
0x00060001, // 0003 ADD R1 K0 R1
0x00060201, // 0003 ADD R1 K1 R1
0x00040302, // 0004 ADD R1 R1 K2
0x80040200, // 0005 RET 1 R1
})
@ -1095,33 +1090,27 @@ be_local_closure(class_Rule_Matcher_AND_List_match, /* name */
be_nested_proto(
9, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str(and_list),
/* K2 */ be_nested_str(match),
/* K3 */ be_nested_str(push),
/* K4 */ be_const_int(1),
}),
&be_ktab_class_Rule_Matcher_AND_List, /* shared constants */
&be_const_str_match,
&be_const_str_solidified,
( &(const binstruction[24]) { /* code */
0x58080000, // 0000 LDCONST R2 K0
0x58080003, // 0000 LDCONST R2 K3
0x600C0012, // 0001 GETGBL R3 G18
0x7C0C0000, // 0002 CALL R3 0
0x6010000C, // 0003 GETGBL R4 G12
0x88140101, // 0004 GETMBR R5 R0 K1
0x88140100, // 0004 GETMBR R5 R0 K0
0x7C100200, // 0005 CALL R4 1
0x14100404, // 0006 LT R4 R2 R4
0x7812000E, // 0007 JMPF R4 #0017
0x88100101, // 0008 GETMBR R4 R0 K1
0x88100100, // 0008 GETMBR R4 R0 K0
0x94100802, // 0009 GETIDX R4 R4 R2
0x8C140902, // 000A GETMET R5 R4 K2
0x8C140904, // 000A GETMET R5 R4 K4
0x5C1C0200, // 000B MOVE R7 R1
0x7C140400, // 000C CALL R5 2
0x4C180000, // 000D LDNIL R6
@ -1129,10 +1118,10 @@ be_local_closure(class_Rule_Matcher_AND_List_match, /* name */
0x781A0001, // 000F JMPF R6 #0012
0x4C180000, // 0010 LDNIL R6
0x80040C00, // 0011 RET 1 R6
0x8C180703, // 0012 GETMET R6 R3 K3
0x8C180705, // 0012 GETMET R6 R3 K5
0x5C200A00, // 0013 MOVE R8 R5
0x7C180400, // 0014 CALL R6 2
0x00080504, // 0015 ADD R2 R2 K4
0x00080506, // 0015 ADD R2 R2 K6
0x7001FFEB, // 0016 JMP #0003
0x80040600, // 0017 RET 1 R3
})
@ -1156,6 +1145,40 @@ be_local_class(Rule_Matcher_AND_List,
})),
(bstring*) &be_const_str_Rule_Matcher_AND_List
);
extern const bclass be_class_Rule_Matcher;
// compact class 'Rule_Matcher' ktab size: 29, total: 34 (saved 40 bytes)
static const bvalue be_ktab_class_Rule_Matcher[29] = {
/* K0 */ be_nested_str(matchers),
/* K1 */ be_nested_str(rule),
/* K2 */ be_nested_str(trigger),
/* K3 */ be_const_class(be_class_Rule_Matcher),
/* K4 */ be_nested_str(string),
/* K5 */ be_nested_str(parse),
/* K6 */ be_nested_str(push),
/* K7 */ be_nested_str(stop_iteration),
/* K8 */ be_nested_str(Rule_Matcher_AND_List),
/* K9 */ be_nested_str(tasmota),
/* K10 */ be_nested_str(find_op),
/* K11 */ be_const_int(0),
/* K12 */ be_const_int(1),
/* K13 */ be_const_int(2),
/* K14 */ be_nested_str(find),
/* K15 */ be_nested_str(_X23),
/* K16 */ be_nested_str(pattern_error),
/* K17 */ be_nested_str(empty_X20pattern_X20not_X20allowed),
/* K18 */ be_const_int(2147483647),
/* K19 */ be_nested_str(_X5B),
/* K20 */ be_nested_str(_X5D),
/* K21 */ be_nested_str(value_error),
/* K22 */ be_nested_str(missing_X20_X27_X5D_X27_X20in_X20rule_X20pattern),
/* K23 */ be_nested_str(_X3F),
/* K24 */ be_nested_str(Rule_Matcher_Wildcard),
/* K25 */ be_nested_str(Rule_Matcher_Key),
/* K26 */ be_nested_str(Rule_Matcher_Array),
/* K27 */ be_nested_str(Rule_Matcher_Operator),
/* K28 */ be_nested_str(match),
};
extern const bclass be_class_Rule_Matcher;
@ -1166,15 +1189,13 @@ be_local_closure(class_Rule_Matcher_tostring, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(matchers),
}),
&be_ktab_class_Rule_Matcher, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
@ -1195,23 +1216,19 @@ be_local_closure(class_Rule_Matcher_init, /* name */
be_nested_proto(
4, /* nstack */
4, /* argc */
2, /* varg */
10, /* 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(rule),
/* K1 */ be_nested_str(trigger),
/* K2 */ be_nested_str(matchers),
}),
&be_ktab_class_Rule_Matcher, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90020202, // 0001 SETMBR R0 K1 R2
0x90020403, // 0002 SETMBR R0 K2 R3
0x90020201, // 0000 SETMBR R0 K1 R1
0x90020402, // 0001 SETMBR R0 K2 R2
0x90020003, // 0002 SETMBR R0 K0 R3
0x80000000, // 0003 RET 0
})
)
@ -1226,45 +1243,18 @@ be_local_closure(class_Rule_Matcher_parse, /* name */
be_nested_proto(
20, /* nstack */
1, /* argc */
4, /* varg */
12, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[26]) { /* constants */
/* K0 */ be_const_class(be_class_Rule_Matcher),
/* K1 */ be_nested_str(string),
/* K2 */ be_nested_str(parse),
/* K3 */ be_nested_str(push),
/* K4 */ be_nested_str(trigger),
/* K5 */ be_nested_str(stop_iteration),
/* K6 */ be_nested_str(Rule_Matcher_AND_List),
/* K7 */ be_nested_str(tasmota),
/* K8 */ be_nested_str(find_op),
/* K9 */ be_const_int(0),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str(find),
/* K13 */ be_nested_str(_X23),
/* K14 */ be_nested_str(pattern_error),
/* K15 */ be_nested_str(empty_X20pattern_X20not_X20allowed),
/* K16 */ be_const_int(2147483647),
/* K17 */ be_nested_str(_X5B),
/* K18 */ be_nested_str(_X5D),
/* K19 */ be_nested_str(value_error),
/* K20 */ be_nested_str(missing_X20_X27_X5D_X27_X20in_X20rule_X20pattern),
/* K21 */ be_nested_str(_X3F),
/* K22 */ be_nested_str(Rule_Matcher_Wildcard),
/* K23 */ be_nested_str(Rule_Matcher_Key),
/* K24 */ be_nested_str(Rule_Matcher_Array),
/* K25 */ be_nested_str(Rule_Matcher_Operator),
}),
&be_ktab_class_Rule_Matcher, /* shared constants */
&be_const_str_parse,
&be_const_str_solidified,
( &(const binstruction[147]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x58040003, // 0000 LDCONST R1 K3
0xA40A0800, // 0001 IMPORT R2 K4
0x4C0C0000, // 0002 LDNIL R3
0x1C0C0003, // 0003 EQ R3 R0 R3
0x780E0001, // 0004 JMPF R3 #0007
@ -1285,17 +1275,17 @@ be_local_closure(class_Rule_Matcher_parse, /* name */
0xA802000B, // 0013 EXBLK 0 #0020
0x5C180A00, // 0014 MOVE R6 R5
0x7C180000, // 0015 CALL R6 0
0x8C1C0302, // 0016 GETMET R7 R1 K2
0x8C1C0305, // 0016 GETMET R7 R1 K5
0x5C240C00, // 0017 MOVE R9 R6
0x7C1C0400, // 0018 CALL R7 2
0x8C200703, // 0019 GETMET R8 R3 K3
0x8C200706, // 0019 GETMET R8 R3 K6
0x5C280E00, // 001A MOVE R10 R7
0x7C200400, // 001B CALL R8 2
0x8C200903, // 001C GETMET R8 R4 K3
0x88280F04, // 001D GETMBR R10 R7 K4
0x8C200906, // 001C GETMET R8 R4 K6
0x88280F02, // 001D GETMBR R10 R7 K2
0x7C200400, // 001E CALL R8 2
0x7001FFF3, // 001F JMP #0014
0x58140005, // 0020 LDCONST R5 K5
0x58140007, // 0020 LDCONST R5 K7
0xAC140200, // 0021 CATCH R5 1 0
0xB0080000, // 0022 RAISE 2 R0 R0
0x5C140200, // 0023 MOVE R5 R1
@ -1303,7 +1293,7 @@ be_local_closure(class_Rule_Matcher_parse, /* name */
0x5C1C0800, // 0025 MOVE R7 R4
0x60200012, // 0026 GETGBL R8 G18
0x7C200000, // 0027 CALL R8 0
0x8C240306, // 0028 GETMET R9 R1 K6
0x8C240308, // 0028 GETMET R9 R1 K8
0x5C2C0600, // 0029 MOVE R11 R3
0x7C240400, // 002A CALL R9 2
0x40241009, // 002B CONNECT R9 R8 R9
@ -1311,83 +1301,83 @@ be_local_closure(class_Rule_Matcher_parse, /* name */
0x80040A00, // 002D RET 1 R5
0x600C0012, // 002E GETGBL R3 G18
0x7C0C0000, // 002F CALL R3 0
0xB8120E00, // 0030 GETNGBL R4 K7
0x8C100908, // 0031 GETMET R4 R4 K8
0xB8121200, // 0030 GETNGBL R4 K9
0x8C10090A, // 0031 GETMET R4 R4 K10
0x5C180000, // 0032 MOVE R6 R0
0x7C100400, // 0033 CALL R4 2
0x94140909, // 0034 GETIDX R5 R4 K9
0x9418090A, // 0035 GETIDX R6 R4 K10
0x941C090B, // 0036 GETIDX R7 R4 K11
0x9414090B, // 0034 GETIDX R5 R4 K11
0x9418090C, // 0035 GETIDX R6 R4 K12
0x941C090D, // 0036 GETIDX R7 R4 K13
0x6020000C, // 0037 GETGBL R8 G12
0x5C240A00, // 0038 MOVE R9 R5
0x7C200200, // 0039 CALL R8 1
0x58240009, // 003A LDCONST R9 K9
0x5824000B, // 003A LDCONST R9 K11
0x5429FFFE, // 003B LDINT R10 -1
0x142C1208, // 003C LT R11 R9 R8
0x782E0042, // 003D JMPF R11 #0081
0x8C2C050C, // 003E GETMET R11 R2 K12
0x8C2C050E, // 003E GETMET R11 R2 K14
0x5C340A00, // 003F MOVE R13 R5
0x5838000D, // 0040 LDCONST R14 K13
0x5838000F, // 0040 LDCONST R14 K15
0x5C3C1200, // 0041 MOVE R15 R9
0x7C2C0800, // 0042 CALL R11 4
0x4C300000, // 0043 LDNIL R12
0x28341709, // 0044 GE R13 R11 K9
0x2834170B, // 0044 GE R13 R11 K11
0x78360008, // 0045 JMPF R13 #004F
0x1C341609, // 0046 EQ R13 R11 R9
0x78360000, // 0047 JMPF R13 #0049
0xB0061D0F, // 0048 RAISE 1 K14 K15
0x0434170A, // 0049 SUB R13 R11 K10
0xB0062111, // 0048 RAISE 1 K16 K17
0x0434170C, // 0049 SUB R13 R11 K12
0x4034120D, // 004A CONNECT R13 R9 R13
0x94300A0D, // 004B GETIDX R12 R5 R13
0x0034170A, // 004C ADD R13 R11 K10
0x0034170C, // 004C ADD R13 R11 K12
0x5C241A00, // 004D MOVE R9 R13
0x70020002, // 004E JMP #0052
0x40341310, // 004F CONNECT R13 R9 K16
0x40341312, // 004F CONNECT R13 R9 K18
0x94300A0D, // 0050 GETIDX R12 R5 R13
0x5C241000, // 0051 MOVE R9 R8
0x8C34050C, // 0052 GETMET R13 R2 K12
0x8C34050E, // 0052 GETMET R13 R2 K14
0x5C3C1800, // 0053 MOVE R15 R12
0x58400011, // 0054 LDCONST R16 K17
0x58400013, // 0054 LDCONST R16 K19
0x7C340600, // 0055 CALL R13 3
0x4C380000, // 0056 LDNIL R14
0x283C1B09, // 0057 GE R15 R13 K9
0x283C1B0B, // 0057 GE R15 R13 K11
0x783E0012, // 0058 JMPF R15 #006C
0x8C3C050C, // 0059 GETMET R15 R2 K12
0x8C3C050E, // 0059 GETMET R15 R2 K14
0x5C441800, // 005A MOVE R17 R12
0x58480012, // 005B LDCONST R18 K18
0x58480014, // 005B LDCONST R18 K20
0x5C4C1A00, // 005C MOVE R19 R13
0x7C3C0800, // 005D CALL R15 4
0x14401F09, // 005E LT R16 R15 K9
0x14401F0B, // 005E LT R16 R15 K11
0x78420000, // 005F JMPF R16 #0061
0xB0062714, // 0060 RAISE 1 K19 K20
0x00401B0A, // 0061 ADD R16 R13 K10
0x04441F0A, // 0062 SUB R17 R15 K10
0xB0062B16, // 0060 RAISE 1 K21 K22
0x00401B0C, // 0061 ADD R16 R13 K12
0x04441F0C, // 0062 SUB R17 R15 K12
0x40402011, // 0063 CONNECT R16 R16 R17
0x94401810, // 0064 GETIDX R16 R12 R16
0x04441B0A, // 0065 SUB R17 R13 K10
0x40461211, // 0066 CONNECT R17 K9 R17
0x04441B0C, // 0065 SUB R17 R13 K12
0x40461611, // 0066 CONNECT R17 K11 R17
0x94301811, // 0067 GETIDX R12 R12 R17
0x60440009, // 0068 GETGBL R17 G9
0x5C482000, // 0069 MOVE R18 R16
0x7C440200, // 006A CALL R17 1
0x5C382200, // 006B MOVE R14 R17
0x1C3C1915, // 006C EQ R15 R12 K21
0x1C3C1917, // 006C EQ R15 R12 K23
0x783E0004, // 006D JMPF R15 #0073
0x8C3C0703, // 006E GETMET R15 R3 K3
0x8C440316, // 006F GETMET R17 R1 K22
0x8C3C0706, // 006E GETMET R15 R3 K6
0x8C440318, // 006F GETMET R17 R1 K24
0x7C440200, // 0070 CALL R17 1
0x7C3C0400, // 0071 CALL R15 2
0x70020004, // 0072 JMP #0078
0x8C3C0703, // 0073 GETMET R15 R3 K3
0x8C440317, // 0074 GETMET R17 R1 K23
0x8C3C0706, // 0073 GETMET R15 R3 K6
0x8C440319, // 0074 GETMET R17 R1 K25
0x5C4C1800, // 0075 MOVE R19 R12
0x7C440400, // 0076 CALL R17 2
0x7C3C0400, // 0077 CALL R15 2
0x4C3C0000, // 0078 LDNIL R15
0x203C1C0F, // 0079 NE R15 R14 R15
0x783E0004, // 007A JMPF R15 #0080
0x8C3C0703, // 007B GETMET R15 R3 K3
0x8C440318, // 007C GETMET R17 R1 K24
0x8C3C0706, // 007B GETMET R15 R3 K6
0x8C44031A, // 007C GETMET R17 R1 K26
0x5C4C1C00, // 007D MOVE R19 R14
0x7C440400, // 007E CALL R17 2
0x7C3C0400, // 007F CALL R15 2
@ -1398,8 +1388,8 @@ be_local_closure(class_Rule_Matcher_parse, /* name */
0x4C2C0000, // 0084 LDNIL R11
0x202C0E0B, // 0085 NE R11 R7 R11
0x782E0005, // 0086 JMPF R11 #008D
0x8C2C0703, // 0087 GETMET R11 R3 K3
0x8C340319, // 0088 GETMET R13 R1 K25
0x8C2C0706, // 0087 GETMET R11 R3 K6
0x8C34031B, // 0088 GETMET R13 R1 K27
0x5C3C0C00, // 0089 MOVE R15 R6
0x5C400E00, // 008A MOVE R16 R7
0x7C340600, // 008B CALL R13 3
@ -1423,18 +1413,13 @@ be_local_closure(class_Rule_Matcher_match, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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(matchers),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str(match),
/* K3 */ be_const_int(1),
}),
&be_ktab_class_Rule_Matcher, /* shared constants */
&be_const_str_match,
&be_const_str_solidified,
( &(const binstruction[27]) { /* code */
@ -1445,7 +1430,7 @@ be_local_closure(class_Rule_Matcher_match, /* name */
0x4C080000, // 0004 LDNIL R2
0x80040400, // 0005 RET 1 R2
0x5C080200, // 0006 MOVE R2 R1
0x580C0001, // 0007 LDCONST R3 K1
0x580C000B, // 0007 LDCONST R3 K11
0x6010000C, // 0008 GETGBL R4 G12
0x88140100, // 0009 GETMBR R5 R0 K0
0x7C100200, // 000A CALL R4 1
@ -1453,7 +1438,7 @@ be_local_closure(class_Rule_Matcher_match, /* name */
0x7812000C, // 000C JMPF R4 #001A
0x88100100, // 000D GETMBR R4 R0 K0
0x94100803, // 000E GETIDX R4 R4 R3
0x8C100902, // 000F GETMET R4 R4 K2
0x8C10091C, // 000F GETMET R4 R4 K28
0x5C180400, // 0010 MOVE R6 R2
0x7C100400, // 0011 CALL R4 2
0x5C080800, // 0012 MOVE R2 R4
@ -1462,7 +1447,7 @@ be_local_closure(class_Rule_Matcher_match, /* name */
0x78120001, // 0015 JMPF R4 #0018
0x4C100000, // 0016 LDNIL R4
0x80040800, // 0017 RET 1 R4
0x000C0703, // 0018 ADD R3 R3 K3
0x000C070C, // 0018 ADD R3 R3 K12
0x7001FFED, // 0019 JMP #0008
0x80040400, // 001A RET 1 R2
})

View File

@ -3,6 +3,25 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Tapp' ktab size: 15, total: 16 (saved 8 bytes)
static const bvalue be_ktab_class_Tapp[15] = {
/* K0 */ be_nested_str(tasmota),
/* K1 */ be_nested_str(add_driver),
/* K2 */ be_nested_str(path),
/* K3 */ be_nested_str(string),
/* K4 */ be_nested_str(listdir),
/* K5 */ be_nested_str(_X2F),
/* K6 */ be_nested_str(find),
/* K7 */ be_nested_str(_X2Etapp),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str(log),
/* K10 */ be_nested_str(TAP_X3A_X20Loaded_X20Tasmota_X20App_X20_X27_X25s_X27),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str(load),
/* K13 */ be_nested_str(_X23autoexec_X2Ebe),
/* K14 */ be_nested_str(stop_iteration),
};
extern const bclass be_class_Tapp;
@ -13,16 +32,13 @@ be_local_closure(class_Tapp_init, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(tasmota),
/* K1 */ be_nested_str(add_driver),
}),
&be_ktab_class_Tapp, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
@ -44,35 +60,20 @@ be_local_closure(class_Tapp_autoexec, /* name */
be_nested_proto(
11, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str(path),
/* K1 */ be_nested_str(string),
/* K2 */ be_nested_str(listdir),
/* K3 */ be_nested_str(_X2F),
/* K4 */ be_nested_str(find),
/* K5 */ be_nested_str(_X2Etapp),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str(tasmota),
/* K8 */ be_nested_str(log),
/* K9 */ be_nested_str(TAP_X3A_X20Loaded_X20Tasmota_X20App_X20_X27_X25s_X27),
/* K10 */ be_const_int(2),
/* K11 */ be_nested_str(load),
/* K12 */ be_nested_str(_X23autoexec_X2Ebe),
/* K13 */ be_nested_str(stop_iteration),
}),
&be_ktab_class_Tapp, /* shared constants */
&be_const_str_autoexec,
&be_const_str_solidified,
( &(const binstruction[34]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0302, // 0002 GETMET R3 R1 K2
0x58140003, // 0003 LDCONST R5 K3
0xA4060400, // 0000 IMPORT R1 K2
0xA40A0600, // 0001 IMPORT R2 K3
0x8C0C0304, // 0002 GETMET R3 R1 K4
0x58140005, // 0003 LDCONST R5 K5
0x7C0C0400, // 0004 CALL R3 2
0x60100010, // 0005 GETGBL R4 G16
0x5C140600, // 0006 MOVE R5 R3
@ -80,26 +81,26 @@ be_local_closure(class_Tapp_autoexec, /* name */
0xA8020014, // 0008 EXBLK 0 #001E
0x5C140800, // 0009 MOVE R5 R4
0x7C140000, // 000A CALL R5 0
0x8C180504, // 000B GETMET R6 R2 K4
0x8C180506, // 000B GETMET R6 R2 K6
0x5C200A00, // 000C MOVE R8 R5
0x58240005, // 000D LDCONST R9 K5
0x58240007, // 000D LDCONST R9 K7
0x7C180600, // 000E CALL R6 3
0x24180D06, // 000F GT R6 R6 K6
0x24180D08, // 000F GT R6 R6 K8
0x781A000B, // 0010 JMPF R6 #001D
0xB81A0E00, // 0011 GETNGBL R6 K7
0x8C180D08, // 0012 GETMET R6 R6 K8
0xB81A0000, // 0011 GETNGBL R6 K0
0x8C180D09, // 0012 GETMET R6 R6 K9
0x60200018, // 0013 GETGBL R8 G24
0x58240009, // 0014 LDCONST R9 K9
0x5824000A, // 0014 LDCONST R9 K10
0x5C280A00, // 0015 MOVE R10 R5
0x7C200400, // 0016 CALL R8 2
0x5824000A, // 0017 LDCONST R9 K10
0x5824000B, // 0017 LDCONST R9 K11
0x7C180600, // 0018 CALL R6 3
0xB81A0E00, // 0019 GETNGBL R6 K7
0x8C180D0B, // 001A GETMET R6 R6 K11
0x00200B0C, // 001B ADD R8 R5 K12
0xB81A0000, // 0019 GETNGBL R6 K0
0x8C180D0C, // 001A GETMET R6 R6 K12
0x00200B0D, // 001B ADD R8 R5 K13
0x7C180400, // 001C CALL R6 2
0x7001FFEA, // 001D JMP #0009
0x5810000D, // 001E LDCONST R4 K13
0x5810000E, // 001E LDCONST R4 K14
0xAC100200, // 001F CATCH R4 1 0
0xB0080000, // 0020 RAISE 2 R0 R0
0x80000000, // 0021 RET 0

View File

@ -3,6 +3,18 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Trigger' ktab size: 8, total: 14 (saved 48 bytes)
static const bvalue be_ktab_class_Trigger[8] = {
/* K0 */ be_nested_str(trig),
/* K1 */ be_nested_str(f),
/* K2 */ be_nested_str(id),
/* K3 */ be_nested_str(o),
/* K4 */ be_nested_str(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str(time_reached),
/* K7 */ be_nested_str(next),
};
extern const bclass be_class_Trigger;
@ -13,18 +25,13 @@ be_local_closure(class_Trigger_init, /* name */
be_nested_proto(
5, /* nstack */
5, /* argc */
2, /* varg */
10, /* 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(trig),
/* K1 */ be_nested_str(f),
/* K2 */ be_nested_str(id),
/* K3 */ be_nested_str(o),
}),
&be_ktab_class_Trigger, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
@ -46,36 +53,31 @@ be_local_closure(class_Trigger_tostring, /* name */
be_nested_proto(
8, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29),
/* K1 */ be_nested_str(trig),
/* K2 */ be_nested_str(f),
/* K3 */ be_nested_str(id),
}),
&be_ktab_class_Trigger, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x60040018, // 0000 GETGBL R1 G24
0x58080000, // 0001 LDCONST R2 K0
0x58080004, // 0001 LDCONST R2 K4
0x600C0008, // 0002 GETGBL R3 G8
0x60100006, // 0003 GETGBL R4 G6
0x5C140000, // 0004 MOVE R5 R0
0x7C100200, // 0005 CALL R4 1
0x7C0C0200, // 0006 CALL R3 1
0x60100008, // 0007 GETGBL R4 G8
0x88140101, // 0008 GETMBR R5 R0 K1
0x88140100, // 0008 GETMBR R5 R0 K0
0x7C100200, // 0009 CALL R4 1
0x60140008, // 000A GETGBL R5 G8
0x88180102, // 000B GETMBR R6 R0 K2
0x88180101, // 000B GETMBR R6 R0 K1
0x7C140200, // 000C CALL R5 1
0x60180008, // 000D GETGBL R6 G8
0x881C0103, // 000E GETMBR R7 R0 K3
0x881C0102, // 000E GETMBR R7 R0 K2
0x7C180200, // 000F CALL R6 1
0x7C040A00, // 0010 CALL R1 5
0x80040200, // 0011 RET 1 R1
@ -92,29 +94,24 @@ be_local_closure(class_Trigger_time_reached, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(o),
/* K1 */ be_nested_str(trig),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str(time_reached),
}),
&be_ktab_class_Trigger, /* shared constants */
&be_const_str_time_reached,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040103, // 0000 GETMBR R1 R0 K3
0x78060007, // 0001 JMPF R1 #000A
0x88040101, // 0002 GETMBR R1 R0 K1
0x24040302, // 0003 GT R1 R1 K2
0x88040100, // 0002 GETMBR R1 R0 K0
0x24040305, // 0003 GT R1 R1 K5
0x78060004, // 0004 JMPF R1 #000A
0x88040100, // 0005 GETMBR R1 R0 K0
0x8C040303, // 0006 GETMET R1 R1 K3
0x880C0101, // 0007 GETMBR R3 R0 K1
0x88040103, // 0005 GETMBR R1 R0 K3
0x8C040306, // 0006 GETMET R1 R1 K6
0x880C0100, // 0007 GETMBR R3 R0 K0
0x7C040400, // 0008 CALL R1 2
0x80040200, // 0009 RET 1 R1
0x50040000, // 000A LDBOOL R1 0 0
@ -132,23 +129,20 @@ be_local_closure(class_Trigger_next, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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(o),
/* K1 */ be_nested_str(next),
}),
&be_ktab_class_Trigger, /* shared constants */
&be_const_str_next,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88040103, // 0000 GETMBR R1 R0 K3
0x78060003, // 0001 JMPF R1 #0006
0x88040100, // 0002 GETMBR R1 R0 K0
0x8C040301, // 0003 GETMET R1 R1 K1
0x88040103, // 0002 GETMBR R1 R0 K3
0x8C040307, // 0003 GETMET R1 R1 K7
0x7C040200, // 0004 CALL R1 1
0x80040200, // 0005 RET 1 R1
0x80000000, // 0006 RET 0

View File

@ -3,6 +3,31 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'zb_coord' ktab size: 21, total: 24 (saved 24 bytes)
static const bvalue be_ktab_class_zb_coord[21] = {
/* K0 */ be_nested_str_weak(init),
/* K1 */ be_nested_str_weak(instance),
/* K2 */ be_nested_str_weak(value_error),
/* K3 */ be_nested_str_weak(instance_X20required),
/* K4 */ be_nested_str_weak(_handlers),
/* K5 */ be_nested_str_weak(find),
/* K6 */ be_nested_str_weak(push),
/* K7 */ be_nested_str_weak(introspect),
/* K8 */ be_nested_str_weak(toptr),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str_weak(zcl_frame),
/* K11 */ be_nested_str_weak(zcl_attribute_list),
/* K12 */ be_nested_str_weak(get),
/* K13 */ be_nested_str_weak(function),
/* K14 */ be_nested_str_weak(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s),
/* K15 */ be_nested_str_weak(tasmota),
/* K16 */ be_nested_str_weak(_debug_present),
/* K17 */ be_nested_str_weak(debug),
/* K18 */ be_nested_str_weak(traceback),
/* K19 */ be_const_int(1),
/* K20 */ be_nested_str_weak(remove),
};
extern const bclass be_class_zb_coord;
@ -13,15 +38,13 @@ be_local_closure(class_zb_coord_init, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(init),
}),
&be_ktab_class_zb_coord, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
@ -44,47 +67,40 @@ be_local_closure(class_zb_coord_add_handler, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(instance),
/* K1 */ be_nested_str_weak(value_error),
/* K2 */ be_nested_str_weak(instance_X20required),
/* K3 */ be_nested_str_weak(_handlers),
/* K4 */ be_nested_str_weak(find),
/* K5 */ be_nested_str_weak(push),
}),
&be_ktab_class_zb_coord, /* shared constants */
be_str_weak(add_handler),
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
0x60080004, // 0000 GETGBL R2 G4
0x5C0C0200, // 0001 MOVE R3 R1
0x7C080200, // 0002 CALL R2 1
0x20080500, // 0003 NE R2 R2 K0
0x20080501, // 0003 NE R2 R2 K1
0x780A0000, // 0004 JMPF R2 #0006
0xB0060302, // 0005 RAISE 1 K1 K2
0x88080103, // 0006 GETMBR R2 R0 K3
0xB0060503, // 0005 RAISE 1 K2 K3
0x88080104, // 0006 GETMBR R2 R0 K4
0x780A000B, // 0007 JMPF R2 #0014
0x88080103, // 0008 GETMBR R2 R0 K3
0x8C080504, // 0009 GETMET R2 R2 K4
0x88080104, // 0008 GETMBR R2 R0 K4
0x8C080505, // 0009 GETMET R2 R2 K5
0x5C100200, // 000A MOVE R4 R1
0x7C080400, // 000B CALL R2 2
0x4C0C0000, // 000C LDNIL R3
0x1C080403, // 000D EQ R2 R2 R3
0x780A0003, // 000E JMPF R2 #0013
0x88080103, // 000F GETMBR R2 R0 K3
0x8C080505, // 0010 GETMET R2 R2 K5
0x88080104, // 000F GETMBR R2 R0 K4
0x8C080506, // 0010 GETMET R2 R2 K6
0x5C100200, // 0011 MOVE R4 R1
0x7C080400, // 0012 CALL R2 2
0x70020003, // 0013 JMP #0018
0x60080012, // 0014 GETGBL R2 G18
0x7C080000, // 0015 CALL R2 0
0x400C0401, // 0016 CONNECT R3 R2 R1
0x90020602, // 0017 SETMBR R0 K3 R2
0x90020802, // 0017 SETMBR R0 K4 R2
0x80000000, // 0018 RET 0
})
)
@ -99,70 +115,55 @@ be_local_closure(class_zb_coord_dispatch, /* name */
be_nested_proto(
19, /* nstack */
5, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(_handlers),
/* K1 */ be_nested_str_weak(introspect),
/* K2 */ be_nested_str_weak(toptr),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(zcl_frame),
/* K5 */ be_nested_str_weak(zcl_attribute_list),
/* K6 */ be_nested_str_weak(get),
/* K7 */ be_nested_str_weak(function),
/* K8 */ be_nested_str_weak(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s),
/* K9 */ be_nested_str_weak(tasmota),
/* K10 */ be_nested_str_weak(_debug_present),
/* K11 */ be_nested_str_weak(debug),
/* K12 */ be_nested_str_weak(traceback),
/* K13 */ be_const_int(1),
}),
&be_ktab_class_zb_coord, /* shared constants */
be_str_weak(dispatch),
&be_const_str_solidified,
( &(const binstruction[70]) { /* code */
0x88140100, // 0000 GETMBR R5 R0 K0
0x88140104, // 0000 GETMBR R5 R0 K4
0x4C180000, // 0001 LDNIL R6
0x1C140A06, // 0002 EQ R5 R5 R6
0x78160000, // 0003 JMPF R5 #0005
0x80000A00, // 0004 RET 0
0xA4160200, // 0005 IMPORT R5 K1
0xA4160E00, // 0005 IMPORT R5 K7
0x4C180000, // 0006 LDNIL R6
0x4C1C0000, // 0007 LDNIL R7
0x8C200B02, // 0008 GETMET R8 R5 K2
0x58280003, // 0009 LDCONST R10 K3
0x8C200B08, // 0008 GETMET R8 R5 K8
0x58280009, // 0009 LDCONST R10 K9
0x7C200400, // 000A CALL R8 2
0x20240408, // 000B NE R9 R2 R8
0x78260003, // 000C JMPF R9 #0011
0x8C240104, // 000D GETMET R9 R0 K4
0x8C24010A, // 000D GETMET R9 R0 K10
0x5C2C0400, // 000E MOVE R11 R2
0x7C240400, // 000F CALL R9 2
0x5C181200, // 0010 MOVE R6 R9
0x20240608, // 0011 NE R9 R3 R8
0x78260003, // 0012 JMPF R9 #0017
0x8C240105, // 0013 GETMET R9 R0 K5
0x8C24010B, // 0013 GETMET R9 R0 K11
0x5C2C0600, // 0014 MOVE R11 R3
0x7C240400, // 0015 CALL R9 2
0x5C1C1200, // 0016 MOVE R7 R9
0x58240003, // 0017 LDCONST R9 K3
0x58240009, // 0017 LDCONST R9 K9
0x6028000C, // 0018 GETGBL R10 G12
0x882C0100, // 0019 GETMBR R11 R0 K0
0x882C0104, // 0019 GETMBR R11 R0 K4
0x7C280200, // 001A CALL R10 1
0x1428120A, // 001B LT R10 R9 R10
0x782A0027, // 001C JMPF R10 #0045
0x88280100, // 001D GETMBR R10 R0 K0
0x88280104, // 001D GETMBR R10 R0 K4
0x94281409, // 001E GETIDX R10 R10 R9
0x8C2C0B06, // 001F GETMET R11 R5 K6
0x8C2C0B0C, // 001F GETMET R11 R5 K12
0x5C341400, // 0020 MOVE R13 R10
0x5C380200, // 0021 MOVE R14 R1
0x7C2C0600, // 0022 CALL R11 3
0x60300004, // 0023 GETGBL R12 G4
0x5C341600, // 0024 MOVE R13 R11
0x7C300200, // 0025 CALL R12 1
0x1C301907, // 0026 EQ R12 R12 K7
0x1C30190D, // 0026 EQ R12 R12 K13
0x7832001A, // 0027 JMPF R12 #0043
0xA8020008, // 0028 EXBLK 0 #0032
0x5C301600, // 0029 MOVE R12 R11
@ -178,20 +179,20 @@ be_local_closure(class_zb_coord_dispatch, /* name */
0x7002000D, // 0033 JMP #0042
0x60380001, // 0034 GETGBL R14 G1
0x603C0018, // 0035 GETGBL R15 G24
0x58400008, // 0036 LDCONST R16 K8
0x5840000E, // 0036 LDCONST R16 K14
0x5C441800, // 0037 MOVE R17 R12
0x5C481A00, // 0038 MOVE R18 R13
0x7C3C0600, // 0039 CALL R15 3
0x7C380200, // 003A CALL R14 1
0xB83A1200, // 003B GETNGBL R14 K9
0x88381D0A, // 003C GETMBR R14 R14 K10
0xB83A1E00, // 003B GETNGBL R14 K15
0x88381D10, // 003C GETMBR R14 R14 K16
0x783A0002, // 003D JMPF R14 #0041
0xA43A1600, // 003E IMPORT R14 K11
0x8C3C1D0C, // 003F GETMET R15 R14 K12
0xA43A2200, // 003E IMPORT R14 K17
0x8C3C1D12, // 003F GETMET R15 R14 K18
0x7C3C0200, // 0040 CALL R15 1
0x70020000, // 0041 JMP #0043
0xB0080000, // 0042 RAISE 2 R0 R0
0x0024130D, // 0043 ADD R9 R9 K13
0x00241313, // 0043 ADD R9 R9 K19
0x7001FFD2, // 0044 JMP #0018
0x80000000, // 0045 RET 0
})
@ -207,31 +208,27 @@ be_local_closure(class_zb_coord_remove_handler, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(_handlers),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(remove),
}),
&be_ktab_class_zb_coord, /* shared constants */
be_str_weak(remove_handler),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x88080104, // 0000 GETMBR R2 R0 K4
0x780A000A, // 0001 JMPF R2 #000D
0x88080100, // 0002 GETMBR R2 R0 K0
0x8C080501, // 0003 GETMET R2 R2 K1
0x88080104, // 0002 GETMBR R2 R0 K4
0x8C080505, // 0003 GETMET R2 R2 K5
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x4C0C0000, // 0006 LDNIL R3
0x200C0403, // 0007 NE R3 R2 R3
0x780E0003, // 0008 JMPF R3 #000D
0x880C0100, // 0009 GETMBR R3 R0 K0
0x8C0C0702, // 000A GETMET R3 R3 K2
0x880C0104, // 0009 GETMBR R3 R0 K4
0x8C0C0714, // 000A GETMET R3 R3 K20
0x5C140400, // 000B MOVE R5 R2
0x7C0C0400, // 000C CALL R3 2
0x80000000, // 000D RET 0

View File

@ -3,6 +3,54 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'zcl_attribute' ktab size: 44, total: 70 (saved 208 bytes)
static const bvalue be_ktab_class_zcl_attribute[44] = {
/* K0 */ be_nested_str_weak(tomap),
/* K1 */ be_nested_str_weak(cluster),
/* K2 */ be_nested_str_weak(attr_id),
/* K3 */ be_nested_str_weak(cmd),
/* K4 */ be_nested_str_weak(direction),
/* K5 */ be_nested_str_weak(key),
/* K6 */ be_nested_str_weak(val),
/* K7 */ be_nested_str_weak(_X3Cundefined_X3E),
/* K8 */ be_nested_str_weak(key_suffix),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(_X2504X_X2F_X2504X),
/* K11 */ be_nested_str_weak(_X2B),
/* K12 */ be_nested_str_weak(_X2504X_X25s_X2502X),
/* K13 */ be_nested_str_weak(_X3F),
/* K14 */ be_nested_str_weak(_X21),
/* K15 */ be_nested_str_weak(_cluster),
/* K16 */ be_nested_str_weak(_attr_id),
/* K17 */ be_nested_str_weak(_iscmd),
/* K18 */ be_const_int(0),
/* K19 */ be_nested_str_weak(_cmd),
/* K20 */ be_const_int(1),
/* K21 */ be_nested_str_weak(_direction),
/* K22 */ be_nested_str_weak(_set_val),
/* K23 */ be_nested_str_weak(_set_key),
/* K24 */ be_nested_str_weak(setmember),
/* K25 */ be_nested_str_weak(introspect),
/* K26 */ be_nested_str_weak(json),
/* K27 */ be_nested_str_weak(dump),
/* K28 */ be_nested_str_weak(key_tostring),
/* K29 */ be_nested_str_weak(_X3A),
/* K30 */ be_nested_str_weak(get),
/* K31 */ be_nested_str_weak(tojson),
/* K32 */ be_nested_str_weak(_X28_X25s_X29),
/* K33 */ be_nested_str_weak(_X2C_X25s_X3A_X22_X2504X_X2F_X2504X_X22),
/* K34 */ be_nested_str_weak(init),
/* K35 */ be_nested_str_weak(_init),
/* K36 */ be_nested_str_weak(ismapped),
/* K37 */ be_nested_str_weak(_deinit),
/* K38 */ be_nested_str_weak(cmd_general),
/* K39 */ be_nested_str_weak(_cmd_general),
/* K40 */ be_nested_str_weak(_get_val),
/* K41 */ be_nested_str_weak(tohex),
/* K42 */ be_nested_str_weak(_get_key),
/* K43 */ be_nested_str_weak(member),
};
extern const bclass be_class_zcl_attribute;
@ -13,21 +61,13 @@ be_local_closure(class_zcl_attribute_tomap, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(tomap),
/* K1 */ be_nested_str_weak(cluster),
/* K2 */ be_nested_str_weak(attr_id),
/* K3 */ be_nested_str_weak(cmd),
/* K4 */ be_nested_str_weak(direction),
/* K5 */ be_nested_str_weak(key),
/* K6 */ be_nested_str_weak(val),
}),
&be_ktab_class_zcl_attribute, /* shared constants */
be_str_weak(tomap),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
@ -62,97 +102,83 @@ be_local_closure(class_zcl_attribute_key_tostring, /* name */
be_nested_proto(
8, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(_X3Cundefined_X3E),
/* K1 */ be_nested_str_weak(key),
/* K2 */ be_nested_str_weak(key_suffix),
/* K3 */ be_const_int(1),
/* K4 */ be_nested_str_weak(cluster),
/* K5 */ be_nested_str_weak(attr_id),
/* K6 */ be_nested_str_weak(_X2504X_X2F_X2504X),
/* K7 */ be_nested_str_weak(_X2B),
/* K8 */ be_nested_str_weak(cmd),
/* K9 */ be_nested_str_weak(direction),
/* K10 */ be_nested_str_weak(_X2504X_X25s_X2502X),
/* K11 */ be_nested_str_weak(_X3F),
/* K12 */ be_nested_str_weak(_X21),
}),
&be_ktab_class_zcl_attribute, /* shared constants */
be_str_weak(key_tostring),
&be_const_str_solidified,
( &(const binstruction[69]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x58040007, // 0000 LDCONST R1 K7
0x88080105, // 0001 GETMBR R2 R0 K5
0x4C0C0000, // 0002 LDNIL R3
0x200C0403, // 0003 NE R3 R2 R3
0x780E0008, // 0004 JMPF R3 #000E
0x5C040400, // 0005 MOVE R1 R2
0x880C0102, // 0006 GETMBR R3 R0 K2
0x240C0703, // 0007 GT R3 R3 K3
0x880C0108, // 0006 GETMBR R3 R0 K8
0x240C0709, // 0007 GT R3 R3 K9
0x780E0003, // 0008 JMPF R3 #000D
0x600C0008, // 0009 GETGBL R3 G8
0x88100102, // 000A GETMBR R4 R0 K2
0x88100108, // 000A GETMBR R4 R0 K8
0x7C0C0200, // 000B CALL R3 1
0x00040203, // 000C ADD R1 R1 R3
0x70020035, // 000D JMP #0044
0x880C0104, // 000E GETMBR R3 R0 K4
0x880C0101, // 000E GETMBR R3 R0 K1
0x4C100000, // 000F LDNIL R4
0x200C0604, // 0010 NE R3 R3 R4
0x780E0012, // 0011 JMPF R3 #0025
0x880C0105, // 0012 GETMBR R3 R0 K5
0x880C0102, // 0012 GETMBR R3 R0 K2
0x4C100000, // 0013 LDNIL R4
0x200C0604, // 0014 NE R3 R3 R4
0x780E000E, // 0015 JMPF R3 #0025
0x600C0018, // 0016 GETGBL R3 G24
0x58100006, // 0017 LDCONST R4 K6
0x88140104, // 0018 GETMBR R5 R0 K4
0x88180105, // 0019 GETMBR R6 R0 K5
0x5810000A, // 0017 LDCONST R4 K10
0x88140101, // 0018 GETMBR R5 R0 K1
0x88180102, // 0019 GETMBR R6 R0 K2
0x7C0C0600, // 001A CALL R3 3
0x5C040600, // 001B MOVE R1 R3
0x880C0102, // 001C GETMBR R3 R0 K2
0x240C0703, // 001D GT R3 R3 K3
0x880C0108, // 001C GETMBR R3 R0 K8
0x240C0709, // 001D GT R3 R3 K9
0x780E0004, // 001E JMPF R3 #0024
0x600C0008, // 001F GETGBL R3 G8
0x88100102, // 0020 GETMBR R4 R0 K2
0x88100108, // 0020 GETMBR R4 R0 K8
0x7C0C0200, // 0021 CALL R3 1
0x000E0E03, // 0022 ADD R3 K7 R3
0x000E1603, // 0022 ADD R3 K11 R3
0x00040203, // 0023 ADD R1 R1 R3
0x7002001E, // 0024 JMP #0044
0x880C0104, // 0025 GETMBR R3 R0 K4
0x880C0101, // 0025 GETMBR R3 R0 K1
0x4C100000, // 0026 LDNIL R4
0x200C0604, // 0027 NE R3 R3 R4
0x780E001A, // 0028 JMPF R3 #0044
0x880C0108, // 0029 GETMBR R3 R0 K8
0x880C0103, // 0029 GETMBR R3 R0 K3
0x4C100000, // 002A LDNIL R4
0x200C0604, // 002B NE R3 R3 R4
0x780E0016, // 002C JMPF R3 #0044
0x880C0109, // 002D GETMBR R3 R0 K9
0x880C0104, // 002D GETMBR R3 R0 K4
0x4C100000, // 002E LDNIL R4
0x200C0604, // 002F NE R3 R3 R4
0x780E0012, // 0030 JMPF R3 #0044
0x600C0018, // 0031 GETGBL R3 G24
0x5810000A, // 0032 LDCONST R4 K10
0x88140104, // 0033 GETMBR R5 R0 K4
0x88180109, // 0034 GETMBR R6 R0 K9
0x5810000C, // 0032 LDCONST R4 K12
0x88140101, // 0033 GETMBR R5 R0 K1
0x88180104, // 0034 GETMBR R6 R0 K4
0x781A0001, // 0035 JMPF R6 #0038
0x5818000B, // 0036 LDCONST R6 K11
0x5818000D, // 0036 LDCONST R6 K13
0x70020000, // 0037 JMP #0039
0x5818000C, // 0038 LDCONST R6 K12
0x881C0108, // 0039 GETMBR R7 R0 K8
0x5818000E, // 0038 LDCONST R6 K14
0x881C0103, // 0039 GETMBR R7 R0 K3
0x7C0C0800, // 003A CALL R3 4
0x5C040600, // 003B MOVE R1 R3
0x880C0102, // 003C GETMBR R3 R0 K2
0x240C0703, // 003D GT R3 R3 K3
0x880C0108, // 003C GETMBR R3 R0 K8
0x240C0709, // 003D GT R3 R3 K9
0x780E0004, // 003E JMPF R3 #0044
0x600C0008, // 003F GETGBL R3 G8
0x88100102, // 0040 GETMBR R4 R0 K2
0x88100108, // 0040 GETMBR R4 R0 K8
0x7C0C0200, // 0041 CALL R3 1
0x000E0E03, // 0042 ADD R3 K7 R3
0x000E1603, // 0042 ADD R3 K11 R3
0x00040203, // 0043 ADD R1 R1 R3
0x80040200, // 0044 RET 1 R1
})
@ -168,42 +194,25 @@ be_local_closure(class_zcl_attribute_setmember, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[16]) { /* constants */
/* K0 */ be_nested_str_weak(cluster),
/* K1 */ be_nested_str_weak(_cluster),
/* K2 */ be_nested_str_weak(attr_id),
/* K3 */ be_nested_str_weak(_attr_id),
/* K4 */ be_nested_str_weak(_iscmd),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(cmd),
/* K7 */ be_nested_str_weak(_cmd),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(direction),
/* K10 */ be_nested_str_weak(_direction),
/* K11 */ be_nested_str_weak(val),
/* K12 */ be_nested_str_weak(_set_val),
/* K13 */ be_nested_str_weak(key),
/* K14 */ be_nested_str_weak(_set_key),
/* K15 */ be_nested_str_weak(setmember),
}),
&be_ktab_class_zcl_attribute, /* shared constants */
be_str_weak(setmember),
&be_const_str_solidified,
( &(const binstruction[66]) { /* code */
0x1C0C0300, // 0000 EQ R3 R1 K0
0x1C0C0301, // 0000 EQ R3 R1 K1
0x780E0007, // 0001 JMPF R3 #000A
0x4C0C0000, // 0002 LDNIL R3
0x1C0C0403, // 0003 EQ R3 R2 R3
0x780E0002, // 0004 JMPF R3 #0008
0x540EFFFE, // 0005 LDINT R3 65535
0x90020203, // 0006 SETMBR R0 K1 R3
0x90021E03, // 0006 SETMBR R0 K15 R3
0x70020000, // 0007 JMP #0009
0x90020202, // 0008 SETMBR R0 K1 R2
0x90021E02, // 0008 SETMBR R0 K15 R2
0x70020036, // 0009 JMP #0041
0x1C0C0302, // 000A EQ R3 R1 K2
0x780E0008, // 000B JMPF R3 #0015
@ -211,52 +220,52 @@ be_local_closure(class_zcl_attribute_setmember, /* name */
0x1C0C0403, // 000D EQ R3 R2 R3
0x780E0002, // 000E JMPF R3 #0012
0x540EFFFE, // 000F LDINT R3 65535
0x90020603, // 0010 SETMBR R0 K3 R3
0x90022003, // 0010 SETMBR R0 K16 R3
0x70020001, // 0011 JMP #0014
0x90020602, // 0012 SETMBR R0 K3 R2
0x90020905, // 0013 SETMBR R0 K4 K5
0x90022002, // 0012 SETMBR R0 K16 R2
0x90022312, // 0013 SETMBR R0 K17 K18
0x7002002B, // 0014 JMP #0041
0x1C0C0306, // 0015 EQ R3 R1 K6
0x1C0C0303, // 0015 EQ R3 R1 K3
0x780E0008, // 0016 JMPF R3 #0020
0x4C0C0000, // 0017 LDNIL R3
0x1C0C0403, // 0018 EQ R3 R2 R3
0x780E0002, // 0019 JMPF R3 #001D
0x540E00FE, // 001A LDINT R3 255
0x90020E03, // 001B SETMBR R0 K7 R3
0x90022603, // 001B SETMBR R0 K19 R3
0x70020001, // 001C JMP #001F
0x90020E02, // 001D SETMBR R0 K7 R2
0x90020908, // 001E SETMBR R0 K4 K8
0x90022602, // 001D SETMBR R0 K19 R2
0x90022314, // 001E SETMBR R0 K17 K20
0x70020020, // 001F JMP #0041
0x1C0C0309, // 0020 EQ R3 R1 K9
0x1C0C0304, // 0020 EQ R3 R1 K4
0x780E000B, // 0021 JMPF R3 #002E
0x4C0C0000, // 0022 LDNIL R3
0x1C0C0403, // 0023 EQ R3 R2 R3
0x780E0001, // 0024 JMPF R3 #0027
0x90021505, // 0025 SETMBR R0 K10 K5
0x90022B12, // 0025 SETMBR R0 K21 K18
0x70020005, // 0026 JMP #002D
0x780A0001, // 0027 JMPF R2 #002A
0x580C0008, // 0028 LDCONST R3 K8
0x580C0014, // 0028 LDCONST R3 K20
0x70020000, // 0029 JMP #002B
0x580C0005, // 002A LDCONST R3 K5
0x90021403, // 002B SETMBR R0 K10 R3
0x90020908, // 002C SETMBR R0 K4 K8
0x580C0012, // 002A LDCONST R3 K18
0x90022A03, // 002B SETMBR R0 K21 R3
0x90022314, // 002C SETMBR R0 K17 K20
0x70020012, // 002D JMP #0041
0x1C0C030B, // 002E EQ R3 R1 K11
0x1C0C0306, // 002E EQ R3 R1 K6
0x780E0003, // 002F JMPF R3 #0034
0x8C0C010C, // 0030 GETMET R3 R0 K12
0x8C0C0116, // 0030 GETMET R3 R0 K22
0x5C140400, // 0031 MOVE R5 R2
0x7C0C0400, // 0032 CALL R3 2
0x7002000C, // 0033 JMP #0041
0x1C0C030D, // 0034 EQ R3 R1 K13
0x1C0C0305, // 0034 EQ R3 R1 K5
0x780E0003, // 0035 JMPF R3 #003A
0x8C0C010E, // 0036 GETMET R3 R0 K14
0x8C0C0117, // 0036 GETMET R3 R0 K23
0x5C140400, // 0037 MOVE R5 R2
0x7C0C0400, // 0038 CALL R3 2
0x70020006, // 0039 JMP #0041
0x600C0003, // 003A GETGBL R3 G3
0x5C100000, // 003B MOVE R4 R0
0x7C0C0200, // 003C CALL R3 1
0x8C0C070F, // 003D GETMET R3 R3 K15
0x8C0C0718, // 003D GETMET R3 R3 K24
0x5C140200, // 003E MOVE R5 R1
0x5C180400, // 003F MOVE R6 R2
0x7C0C0600, // 0040 CALL R3 3
@ -274,77 +283,63 @@ be_local_closure(class_zcl_attribute_tostring, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
10, /* 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_weak(introspect),
/* K1 */ be_nested_str_weak(json),
/* K2 */ be_nested_str_weak(dump),
/* K3 */ be_nested_str_weak(key_tostring),
/* K4 */ be_nested_str_weak(_X3A),
/* K5 */ be_nested_str_weak(get),
/* K6 */ be_nested_str_weak(val),
/* K7 */ be_nested_str_weak(tojson),
/* K8 */ be_nested_str_weak(cluster),
/* K9 */ be_nested_str_weak(attr_id),
/* K10 */ be_nested_str_weak(key),
/* K11 */ be_nested_str_weak(_X28_X25s_X29),
/* K12 */ be_nested_str_weak(_X2C_X25s_X3A_X22_X2504X_X2F_X2504X_X22),
}),
&be_ktab_class_zcl_attribute, /* shared constants */
be_str_weak(tostring),
&be_const_str_solidified,
( &(const binstruction[50]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0502, // 0002 GETMET R3 R2 K2
0x8C140103, // 0003 GETMET R5 R0 K3
0xA4063200, // 0000 IMPORT R1 K25
0xA40A3400, // 0001 IMPORT R2 K26
0x8C0C051B, // 0002 GETMET R3 R2 K27
0x8C14011C, // 0003 GETMET R5 R0 K28
0x7C140200, // 0004 CALL R5 1
0x7C0C0400, // 0005 CALL R3 2
0x000C0704, // 0006 ADD R3 R3 K4
0x8C100305, // 0007 GETMET R4 R1 K5
0x000C071D, // 0006 ADD R3 R3 K29
0x8C10031E, // 0007 GETMET R4 R1 K30
0x88180106, // 0008 GETMBR R6 R0 K6
0x581C0007, // 0009 LDCONST R7 K7
0x581C001F, // 0009 LDCONST R7 K31
0x7C100600, // 000A CALL R4 3
0x4C140000, // 000B LDNIL R5
0x20100805, // 000C NE R4 R4 R5
0x78120004, // 000D JMPF R4 #0013
0x88100106, // 000E GETMBR R4 R0 K6
0x8C100907, // 000F GETMET R4 R4 K7
0x8C10091F, // 000F GETMET R4 R4 K31
0x7C100200, // 0010 CALL R4 1
0x000C0604, // 0011 ADD R3 R3 R4
0x70020003, // 0012 JMP #0017
0x8C100502, // 0013 GETMET R4 R2 K2
0x8C10051B, // 0013 GETMET R4 R2 K27
0x88180106, // 0014 GETMBR R6 R0 K6
0x7C100400, // 0015 CALL R4 2
0x000C0604, // 0016 ADD R3 R3 R4
0x88100108, // 0017 GETMBR R4 R0 K8
0x88100101, // 0017 GETMBR R4 R0 K1
0x4C140000, // 0018 LDNIL R5
0x20100805, // 0019 NE R4 R4 R5
0x78120015, // 001A JMPF R4 #0031
0x88100109, // 001B GETMBR R4 R0 K9
0x88100102, // 001B GETMBR R4 R0 K2
0x4C140000, // 001C LDNIL R5
0x20100805, // 001D NE R4 R4 R5
0x78120011, // 001E JMPF R4 #0031
0x8810010A, // 001F GETMBR R4 R0 K10
0x88100105, // 001F GETMBR R4 R0 K5
0x4C140000, // 0020 LDNIL R5
0x20100805, // 0021 NE R4 R4 R5
0x7812000D, // 0022 JMPF R4 #0031
0x60100018, // 0023 GETGBL R4 G24
0x5814000B, // 0024 LDCONST R5 K11
0x8C180103, // 0025 GETMET R6 R0 K3
0x58140020, // 0024 LDCONST R5 K32
0x8C18011C, // 0025 GETMET R6 R0 K28
0x7C180200, // 0026 CALL R6 1
0x7C100400, // 0027 CALL R4 2
0x60140018, // 0028 GETGBL R5 G24
0x5818000C, // 0029 LDCONST R6 K12
0x8C1C0502, // 002A GETMET R7 R2 K2
0x58180021, // 0029 LDCONST R6 K33
0x8C1C051B, // 002A GETMET R7 R2 K27
0x5C240800, // 002B MOVE R9 R4
0x7C1C0400, // 002C CALL R7 2
0x88200108, // 002D GETMBR R8 R0 K8
0x88240109, // 002E GETMBR R9 R0 K9
0x88200101, // 002D GETMBR R8 R0 K1
0x88240102, // 002E GETMBR R9 R0 K2
0x7C140800, // 002F CALL R5 4
0x000C0605, // 0030 ADD R3 R3 R5
0x80040600, // 0031 RET 1 R3
@ -361,29 +356,26 @@ be_local_closure(class_zcl_attribute_init, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(init),
/* K1 */ be_nested_str_weak(_init),
}),
&be_ktab_class_zcl_attribute, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C080500, // 0003 GETMET R2 R2 K0
0x8C080522, // 0003 GETMET R2 R2 K34
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x4C080000, // 0006 LDNIL R2
0x1C080202, // 0007 EQ R2 R1 R2
0x780A0001, // 0008 JMPF R2 #000B
0x8C080101, // 0009 GETMET R2 R0 K1
0x8C080123, // 0009 GETMET R2 R0 K35
0x7C080200, // 000A CALL R2 1
0x80000000, // 000B RET 0
})
@ -399,23 +391,20 @@ be_local_closure(class_zcl_attribute_deinit, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(ismapped),
/* K1 */ be_nested_str_weak(_deinit),
}),
&be_ktab_class_zcl_attribute, /* shared constants */
be_str_weak(deinit),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040124, // 0000 GETMET R1 R0 K36
0x7C040200, // 0001 CALL R1 1
0x74060001, // 0002 JMPT R1 #0005
0x8C040101, // 0003 GETMET R1 R0 K1
0x8C040125, // 0003 GETMET R1 R0 K37
0x7C040200, // 0004 CALL R1 1
0x80000000, // 0005 RET 0
})
@ -431,37 +420,19 @@ be_local_closure(class_zcl_attribute_member, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[17]) { /* constants */
/* K0 */ be_nested_str_weak(cluster),
/* K1 */ be_nested_str_weak(_cluster),
/* K2 */ be_nested_str_weak(attr_id),
/* K3 */ be_nested_str_weak(_attr_id),
/* K4 */ be_nested_str_weak(_iscmd),
/* K5 */ be_nested_str_weak(cmd),
/* K6 */ be_nested_str_weak(_cmd),
/* K7 */ be_nested_str_weak(direction),
/* K8 */ be_nested_str_weak(_direction),
/* K9 */ be_nested_str_weak(cmd_general),
/* K10 */ be_nested_str_weak(_cmd_general),
/* K11 */ be_nested_str_weak(val),
/* K12 */ be_nested_str_weak(_get_val),
/* K13 */ be_nested_str_weak(tohex),
/* K14 */ be_nested_str_weak(key),
/* K15 */ be_nested_str_weak(_get_key),
/* K16 */ be_nested_str_weak(member),
}),
&be_ktab_class_zcl_attribute, /* shared constants */
be_str_weak(member),
&be_const_str_solidified,
( &(const binstruction[75]) { /* code */
0x1C080300, // 0000 EQ R2 R1 K0
0x1C080301, // 0000 EQ R2 R1 K1
0x780A0008, // 0001 JMPF R2 #000B
0x88080101, // 0002 GETMBR R2 R0 K1
0x8808010F, // 0002 GETMBR R2 R0 K15
0x540EFFFE, // 0003 LDINT R3 65535
0x200C0403, // 0004 NE R3 R2 R3
0x780E0001, // 0005 JMPF R3 #0008
@ -472,64 +443,64 @@ be_local_closure(class_zcl_attribute_member, /* name */
0x7002003E, // 000A JMP #004A
0x1C080302, // 000B EQ R2 R1 K2
0x780A000A, // 000C JMPF R2 #0018
0x88080103, // 000D GETMBR R2 R0 K3
0x88080110, // 000D GETMBR R2 R0 K16
0x540EFFFE, // 000E LDINT R3 65535
0x200C0403, // 000F NE R3 R2 R3
0x780E0003, // 0010 JMPF R3 #0015
0x880C0104, // 0011 GETMBR R3 R0 K4
0x880C0111, // 0011 GETMBR R3 R0 K17
0x740E0001, // 0012 JMPT R3 #0015
0x5C0C0400, // 0013 MOVE R3 R2
0x70020000, // 0014 JMP #0016
0x4C0C0000, // 0015 LDNIL R3
0x80040600, // 0016 RET 1 R3
0x70020031, // 0017 JMP #004A
0x1C080305, // 0018 EQ R2 R1 K5
0x1C080303, // 0018 EQ R2 R1 K3
0x780A000A, // 0019 JMPF R2 #0025
0x88080106, // 001A GETMBR R2 R0 K6
0x88080113, // 001A GETMBR R2 R0 K19
0x540E00FE, // 001B LDINT R3 255
0x200C0403, // 001C NE R3 R2 R3
0x780E0003, // 001D JMPF R3 #0022
0x880C0104, // 001E GETMBR R3 R0 K4
0x880C0111, // 001E GETMBR R3 R0 K17
0x780E0001, // 001F JMPF R3 #0022
0x5C0C0400, // 0020 MOVE R3 R2
0x70020000, // 0021 JMP #0023
0x4C0C0000, // 0022 LDNIL R3
0x80040600, // 0023 RET 1 R3
0x70020024, // 0024 JMP #004A
0x1C080307, // 0025 EQ R2 R1 K7
0x1C080304, // 0025 EQ R2 R1 K4
0x780A0002, // 0026 JMPF R2 #002A
0x88080108, // 0027 GETMBR R2 R0 K8
0x88080115, // 0027 GETMBR R2 R0 K21
0x80040400, // 0028 RET 1 R2
0x7002001F, // 0029 JMP #004A
0x1C080309, // 002A EQ R2 R1 K9
0x1C080326, // 002A EQ R2 R1 K38
0x780A0002, // 002B JMPF R2 #002F
0x8808010A, // 002C GETMBR R2 R0 K10
0x88080127, // 002C GETMBR R2 R0 K39
0x80040400, // 002D RET 1 R2
0x7002001A, // 002E JMP #004A
0x1C08030B, // 002F EQ R2 R1 K11
0x1C080306, // 002F EQ R2 R1 K6
0x780A000B, // 0030 JMPF R2 #003D
0x8C08010C, // 0031 GETMET R2 R0 K12
0x8C080128, // 0031 GETMET R2 R0 K40
0x7C080200, // 0032 CALL R2 1
0x600C000F, // 0033 GETGBL R3 G15
0x5C100400, // 0034 MOVE R4 R2
0x60140015, // 0035 GETGBL R5 G21
0x7C0C0400, // 0036 CALL R3 2
0x780E0002, // 0037 JMPF R3 #003B
0x8C0C050D, // 0038 GETMET R3 R2 K13
0x8C0C0529, // 0038 GETMET R3 R2 K41
0x7C0C0200, // 0039 CALL R3 1
0x5C080600, // 003A MOVE R2 R3
0x80040400, // 003B RET 1 R2
0x7002000C, // 003C JMP #004A
0x1C08030E, // 003D EQ R2 R1 K14
0x1C080305, // 003D EQ R2 R1 K5
0x780A0003, // 003E JMPF R2 #0043
0x8C08010F, // 003F GETMET R2 R0 K15
0x8C08012A, // 003F GETMET R2 R0 K42
0x7C080200, // 0040 CALL R2 1
0x80040400, // 0041 RET 1 R2
0x70020006, // 0042 JMP #004A
0x60080003, // 0043 GETGBL R2 G3
0x5C0C0000, // 0044 MOVE R3 R0
0x7C080200, // 0045 CALL R2 1
0x8C080510, // 0046 GETMET R2 R2 K16
0x8C08052B, // 0046 GETMET R2 R2 K43
0x5C100200, // 0047 MOVE R4 R1
0x7C080400, // 0048 CALL R2 2
0x80040400, // 0049 RET 1 R2
@ -559,6 +530,37 @@ be_local_class(zcl_attribute,
})),
be_str_weak(zcl_attribute)
);
// compact class 'zcl_attribute_list' ktab size: 27, total: 36 (saved 72 bytes)
static const bvalue be_ktab_class_zcl_attribute_list[27] = {
/* K0 */ be_nested_str_weak(groupaddr),
/* K1 */ be_nested_str_weak(_groupaddr),
/* K2 */ be_nested_str_weak(src_ep),
/* K3 */ be_nested_str_weak(_src_ep),
/* K4 */ be_nested_str_weak(lqi),
/* K5 */ be_nested_str_weak(_lqi),
/* K6 */ be_nested_str_weak(member),
/* K7 */ be_nested_str_weak(setmember),
/* K8 */ be_nested_str_weak(init),
/* K9 */ be_nested_str_weak(_init),
/* K10 */ be_nested_str_weak(ismapped),
/* K11 */ be_nested_str_weak(_deinit),
/* K12 */ be_nested_str_weak(json),
/* K13 */ be_nested_str_weak(shortaddr),
/* K14 */ be_nested_str_weak(push),
/* K15 */ be_nested_str_weak(_X22Device_X22_X3A_X220x_X2504X_X22),
/* K16 */ be_nested_str_weak(_X22Group_X22_X3A_X220x_X2504X_X22),
/* K17 */ be_const_int(0),
/* K18 */ be_nested_str_weak(size),
/* K19 */ be_nested_str_weak(tostring),
/* K20 */ be_const_int(1),
/* K21 */ be_nested_str_weak(_X22Endpoint_X22_X3A_X25s),
/* K22 */ be_nested_str_weak(_X22LinkQuality_X22_X3A_X25s),
/* K23 */ be_nested_str_weak(_X7B),
/* K24 */ be_nested_str_weak(concat),
/* K25 */ be_nested_str_weak(_X2C),
/* K26 */ be_nested_str_weak(_X7D),
};
extern const bclass be_class_zcl_attribute_list;
@ -569,21 +571,13 @@ be_local_closure(class_zcl_attribute_list_member, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(groupaddr),
/* K1 */ be_nested_str_weak(_groupaddr),
/* K2 */ be_nested_str_weak(src_ep),
/* K3 */ be_nested_str_weak(_src_ep),
/* K4 */ be_nested_str_weak(lqi),
/* K5 */ be_nested_str_weak(_lqi),
/* K6 */ be_nested_str_weak(member),
}),
&be_ktab_class_zcl_attribute_list, /* shared constants */
be_str_weak(member),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
@ -641,21 +635,13 @@ be_local_closure(class_zcl_attribute_list_setmember, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(groupaddr),
/* K1 */ be_nested_str_weak(_groupaddr),
/* K2 */ be_nested_str_weak(src_ep),
/* K3 */ be_nested_str_weak(_src_ep),
/* K4 */ be_nested_str_weak(lqi),
/* K5 */ be_nested_str_weak(_lqi),
/* K6 */ be_nested_str_weak(setmember),
}),
&be_ktab_class_zcl_attribute_list, /* shared constants */
be_str_weak(setmember),
&be_const_str_solidified,
( &(const binstruction[38]) { /* code */
@ -692,7 +678,7 @@ be_local_closure(class_zcl_attribute_list_setmember, /* name */
0x600C0003, // 001E GETGBL R3 G3
0x5C100000, // 001F MOVE R4 R0
0x7C0C0200, // 0020 CALL R3 1
0x8C0C0706, // 0021 GETMET R3 R3 K6
0x8C0C0707, // 0021 GETMET R3 R3 K7
0x5C140200, // 0022 MOVE R5 R1
0x5C180400, // 0023 MOVE R6 R2
0x7C0C0600, // 0024 CALL R3 3
@ -710,29 +696,26 @@ be_local_closure(class_zcl_attribute_list_init, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(init),
/* K1 */ be_nested_str_weak(_init),
}),
&be_ktab_class_zcl_attribute_list, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C080500, // 0003 GETMET R2 R2 K0
0x8C080508, // 0003 GETMET R2 R2 K8
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x4C080000, // 0006 LDNIL R2
0x1C080202, // 0007 EQ R2 R1 R2
0x780A0001, // 0008 JMPF R2 #000B
0x8C080101, // 0009 GETMET R2 R0 K1
0x8C080109, // 0009 GETMET R2 R0 K9
0x7C080200, // 000A CALL R2 1
0x80000000, // 000B RET 0
})
@ -748,23 +731,20 @@ be_local_closure(class_zcl_attribute_list_deinit, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(ismapped),
/* K1 */ be_nested_str_weak(_deinit),
}),
&be_ktab_class_zcl_attribute_list, /* shared constants */
be_str_weak(deinit),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C04010A, // 0000 GETMET R1 R0 K10
0x7C040200, // 0001 CALL R1 1
0x74060001, // 0002 JMPT R1 #0005
0x8C040101, // 0003 GETMET R1 R0 K1
0x8C04010B, // 0003 GETMET R1 R0 K11
0x7C040200, // 0004 CALL R1 1
0x80000000, // 0005 RET 0
})
@ -780,96 +760,77 @@ be_local_closure(class_zcl_attribute_list_tostring, /* name */
be_nested_proto(
11, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[18]) { /* constants */
/* K0 */ be_nested_str_weak(json),
/* K1 */ be_nested_str_weak(shortaddr),
/* K2 */ be_nested_str_weak(push),
/* K3 */ be_nested_str_weak(_X22Device_X22_X3A_X220x_X2504X_X22),
/* K4 */ be_nested_str_weak(groupaddr),
/* K5 */ be_nested_str_weak(_X22Group_X22_X3A_X220x_X2504X_X22),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(size),
/* K8 */ be_nested_str_weak(tostring),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(src_ep),
/* K11 */ be_nested_str_weak(_X22Endpoint_X22_X3A_X25s),
/* K12 */ be_nested_str_weak(lqi),
/* K13 */ be_nested_str_weak(_X22LinkQuality_X22_X3A_X25s),
/* K14 */ be_nested_str_weak(_X7B),
/* K15 */ be_nested_str_weak(concat),
/* K16 */ be_nested_str_weak(_X2C),
/* K17 */ be_nested_str_weak(_X7D),
}),
&be_ktab_class_zcl_attribute_list, /* shared constants */
be_str_weak(tostring),
&be_const_str_solidified,
( &(const binstruction[62]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA4061800, // 0000 IMPORT R1 K12
0x60080012, // 0001 GETGBL R2 G18
0x7C080000, // 0002 CALL R2 0
0x4C0C0000, // 0003 LDNIL R3
0x880C0101, // 0004 GETMBR R3 R0 K1
0x880C010D, // 0004 GETMBR R3 R0 K13
0x4C100000, // 0005 LDNIL R4
0x200C0604, // 0006 NE R3 R3 R4
0x780E0005, // 0007 JMPF R3 #000E
0x8C0C0502, // 0008 GETMET R3 R2 K2
0x8C0C050E, // 0008 GETMET R3 R2 K14
0x60140018, // 0009 GETGBL R5 G24
0x58180003, // 000A LDCONST R6 K3
0x5818000F, // 000A LDCONST R6 K15
0x5C1C0600, // 000B MOVE R7 R3
0x7C140400, // 000C CALL R5 2
0x7C0C0400, // 000D CALL R3 2
0x880C0104, // 000E GETMBR R3 R0 K4
0x880C0100, // 000E GETMBR R3 R0 K0
0x4C100000, // 000F LDNIL R4
0x200C0604, // 0010 NE R3 R3 R4
0x780E0005, // 0011 JMPF R3 #0018
0x8C0C0502, // 0012 GETMET R3 R2 K2
0x8C0C050E, // 0012 GETMET R3 R2 K14
0x60140018, // 0013 GETGBL R5 G24
0x58180005, // 0014 LDCONST R6 K5
0x58180010, // 0014 LDCONST R6 K16
0x5C1C0600, // 0015 MOVE R7 R3
0x7C140400, // 0016 CALL R5 2
0x7C0C0400, // 0017 CALL R3 2
0x58100006, // 0018 LDCONST R4 K6
0x8C140107, // 0019 GETMET R5 R0 K7
0x58100011, // 0018 LDCONST R4 K17
0x8C140112, // 0019 GETMET R5 R0 K18
0x7C140200, // 001A CALL R5 1
0x14180805, // 001B LT R6 R4 R5
0x781A0006, // 001C JMPF R6 #0024
0x8C180502, // 001D GETMET R6 R2 K2
0x8C18050E, // 001D GETMET R6 R2 K14
0x94200004, // 001E GETIDX R8 R0 R4
0x8C201108, // 001F GETMET R8 R8 K8
0x8C201113, // 001F GETMET R8 R8 K19
0x7C200200, // 0020 CALL R8 1
0x7C180400, // 0021 CALL R6 2
0x00100909, // 0022 ADD R4 R4 K9
0x00100914, // 0022 ADD R4 R4 K20
0x7001FFF6, // 0023 JMP #001B
0x880C010A, // 0024 GETMBR R3 R0 K10
0x880C0102, // 0024 GETMBR R3 R0 K2
0x4C180000, // 0025 LDNIL R6
0x200C0606, // 0026 NE R3 R3 R6
0x780E0005, // 0027 JMPF R3 #002E
0x8C180502, // 0028 GETMET R6 R2 K2
0x8C18050E, // 0028 GETMET R6 R2 K14
0x60200018, // 0029 GETGBL R8 G24
0x5824000B, // 002A LDCONST R9 K11
0x58240015, // 002A LDCONST R9 K21
0x5C280600, // 002B MOVE R10 R3
0x7C200400, // 002C CALL R8 2
0x7C180400, // 002D CALL R6 2
0x880C010C, // 002E GETMBR R3 R0 K12
0x880C0104, // 002E GETMBR R3 R0 K4
0x4C180000, // 002F LDNIL R6
0x200C0606, // 0030 NE R3 R3 R6
0x780E0005, // 0031 JMPF R3 #0038
0x8C180502, // 0032 GETMET R6 R2 K2
0x8C18050E, // 0032 GETMET R6 R2 K14
0x60200018, // 0033 GETGBL R8 G24
0x5824000D, // 0034 LDCONST R9 K13
0x58240016, // 0034 LDCONST R9 K22
0x5C280600, // 0035 MOVE R10 R3
0x7C200400, // 0036 CALL R8 2
0x7C180400, // 0037 CALL R6 2
0x8C18050F, // 0038 GETMET R6 R2 K15
0x58200010, // 0039 LDCONST R8 K16
0x8C180518, // 0038 GETMET R6 R2 K24
0x58200019, // 0039 LDCONST R8 K25
0x7C180400, // 003A CALL R6 2
0x001A1C06, // 003B ADD R6 K14 R6
0x00180D11, // 003C ADD R6 R6 K17
0x001A2E06, // 003B ADD R6 K23 R6
0x00180D1A, // 003C ADD R6 R6 K26
0x80040C00, // 003D RET 1 R6
})
)

View File

@ -3,6 +3,22 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'zcl_frame' ktab size: 12, total: 16 (saved 32 bytes)
static const bvalue be_ktab_class_zcl_frame[12] = {
/* K0 */ be_nested_str_weak(payload),
/* K1 */ be_nested_str_weak(_get_bytes),
/* K2 */ be_nested_str_weak(payload_ptr),
/* K3 */ be_nested_str_weak(member),
/* K4 */ be_nested_str_weak(_set_bytes),
/* K5 */ be_nested_str_weak(setmember),
/* K6 */ be_nested_str_weak(init),
/* K7 */ be_nested_str_weak(no_bytes),
/* K8 */ be_nested_str_weak(tomap),
/* K9 */ be_nested_str_weak(shortaddr_hex),
/* K10 */ be_nested_str_weak(0x_X2504X),
/* K11 */ be_nested_str_weak(shortaddr),
};
extern const bclass be_class_zcl_frame;
@ -13,18 +29,13 @@ be_local_closure(class_zcl_frame_member, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* 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_weak(payload),
/* K1 */ be_nested_str_weak(_get_bytes),
/* K2 */ be_nested_str_weak(payload_ptr),
/* K3 */ be_nested_str_weak(member),
}),
&be_ktab_class_zcl_frame, /* shared constants */
be_str_weak(member),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
@ -56,24 +67,19 @@ be_local_closure(class_zcl_frame_setmember, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
2, /* varg */
10, /* 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_weak(payload),
/* K1 */ be_nested_str_weak(_set_bytes),
/* K2 */ be_nested_str_weak(payload_ptr),
/* K3 */ be_nested_str_weak(setmember),
}),
&be_ktab_class_zcl_frame, /* shared constants */
be_str_weak(setmember),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0x1C0C0300, // 0000 EQ R3 R1 K0
0x780E0005, // 0001 JMPF R3 #0008
0x8C0C0101, // 0002 GETMET R3 R0 K1
0x8C0C0104, // 0002 GETMET R3 R0 K4
0x88140102, // 0003 GETMBR R5 R0 K2
0x5C180400, // 0004 MOVE R6 R2
0x7C0C0600, // 0005 CALL R3 3
@ -82,7 +88,7 @@ be_local_closure(class_zcl_frame_setmember, /* name */
0x600C0003, // 0008 GETGBL R3 G3
0x5C100000, // 0009 MOVE R4 R0
0x7C0C0200, // 000A CALL R3 1
0x8C0C0703, // 000B GETMET R3 R3 K3
0x8C0C0705, // 000B GETMET R3 R3 K5
0x5C140200, // 000C MOVE R5 R1
0x5C180400, // 000D MOVE R6 R2
0x7C0C0600, // 000E CALL R3 3
@ -101,28 +107,25 @@ be_local_closure(class_zcl_frame_init, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(init),
/* K1 */ be_nested_str_weak(no_bytes),
}),
&be_ktab_class_zcl_frame, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C080500, // 0003 GETMET R2 R2 K0
0x8C080506, // 0003 GETMET R2 R2 K6
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x60080015, // 0006 GETGBL R2 G21
0x7C080000, // 0007 CALL R2 0
0x90020202, // 0008 SETMBR R0 K1 R2
0x90020E02, // 0008 SETMBR R0 K7 R2
0x80000000, // 0009 RET 0
})
)
@ -137,34 +140,28 @@ be_local_closure(class_zcl_frame_tomap, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(tomap),
/* K1 */ be_nested_str_weak(shortaddr_hex),
/* K2 */ be_nested_str_weak(0x_X2504X),
/* K3 */ be_nested_str_weak(shortaddr),
/* K4 */ be_nested_str_weak(payload),
}),
&be_ktab_class_zcl_frame, /* shared constants */
be_str_weak(tomap),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x60040003, // 0000 GETGBL R1 G3
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x8C040300, // 0003 GETMET R1 R1 K0
0x8C040308, // 0003 GETMET R1 R1 K8
0x7C040200, // 0004 CALL R1 1
0x60080018, // 0005 GETGBL R2 G24
0x580C0002, // 0006 LDCONST R3 K2
0x88100103, // 0007 GETMBR R4 R0 K3
0x580C000A, // 0006 LDCONST R3 K10
0x8810010B, // 0007 GETMBR R4 R0 K11
0x7C080400, // 0008 CALL R2 2
0x98060202, // 0009 SETIDX R1 K1 R2
0x88080104, // 000A GETMBR R2 R0 K4
0x98060802, // 000B SETIDX R1 K4 R2
0x98061202, // 0009 SETIDX R1 K9 R2
0x88080100, // 000A GETMBR R2 R0 K0
0x98060002, // 000B SETIDX R1 K0 R2
0x80040200, // 000C RET 1 R1
})
)
@ -179,19 +176,17 @@ be_local_closure(class_zcl_frame_tostring, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(tomap),
}),
&be_ktab_class_zcl_frame, /* shared constants */
be_str_weak(tostring),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x8C040108, // 0000 GETMET R1 R0 K8
0x7C040200, // 0001 CALL R1 1
0x60080008, // 0002 GETGBL R2 G8
0x5C0C0200, // 0003 MOVE R3 R1