Solidified Code updated

This commit is contained in:
Jason2866 2025-02-04 18:10:24 +00:00 committed by github-actions[bot]
parent d54dfa6bc4
commit f727013373
141 changed files with 99115 additions and 0 deletions

View File

@ -0,0 +1,7 @@
/* Solidification of animate_0.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,825 @@
/* Solidification of animate_1_core.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Animate_core' ktab size: 52, total: 104 (saved 416 bytes)
static const bvalue be_ktab_class_Animate_core[52] = {
/* 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(1),
/* K14 */ be_nested_str_weak(remove_fast_loop),
/* K15 */ be_nested_str_weak(fast_loop_cb),
/* K16 */ be_nested_str_weak(set_strip_bri),
/* K17 */ be_nested_str_weak(push),
/* K18 */ be_nested_str_weak(time_reached),
/* K19 */ be_nested_str_weak(fast_loop_next),
/* K20 */ be_nested_str_weak(can_show),
/* K21 */ be_nested_str_weak(frame),
/* K22 */ be_nested_str_weak(fill_pixels),
/* K23 */ be_nested_str_weak(back_color),
/* K24 */ be_nested_str_weak(millis),
/* K25 */ be_nested_str_weak(FAST_LOOP_MIN),
/* K26 */ be_nested_str_weak(animate),
/* K27 */ be_nested_str_weak(layer),
/* K28 */ be_const_int(-16777216),
/* K29 */ be_nested_str_weak(paint),
/* K30 */ be_nested_str_weak(blend_pixels),
/* K31 */ be_nested_str_weak(obj),
/* K32 */ be_nested_str_weak(mth),
/* K33 */ be_nested_str_weak(paste_pixels),
/* K34 */ be_nested_str_weak(pixels_buffer),
/* K35 */ be_nested_str_weak(get_bri),
/* K36 */ be_nested_str_weak(get_gamma),
/* K37 */ be_nested_str_weak(dirty),
/* K38 */ be_nested_str_weak(show),
/* K39 */ be_nested_str_weak(global),
/* K40 */ be_nested_str_weak(_cur_anim),
/* K41 */ be_nested_str_weak(pixel_count),
/* K42 */ be_nested_str_weak(set_current),
/* K43 */ be_nested_str_weak(set_cb),
/* K44 */ be_nested_str_weak(set_back_color),
/* K45 */ be_nested_str_weak(add_animator),
/* K46 */ be_nested_str_weak(get_animate),
/* K47 */ be_nested_str_weak(introspect),
/* K48 */ be_nested_str_weak(instance),
/* K49 */ be_nested_str_weak(set_animate),
/* K50 */ be_nested_str_weak(start),
/* K51 */ be_nested_str_weak(add_fast_loop),
};
extern const bclass be_class_Animate_core;
/********************************************************************
** Solidified function: clear
********************************************************************/
be_local_closure(class_Animate_core_clear, /* 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_Animate_core, /* shared constants */
be_str_weak(clear),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x7C040200, // 0001 CALL R1 1
0x88040101, // 0002 GETMBR R1 R0 K1
0x8C040302, // 0003 GETMET R1 R1 K2
0x7C040200, // 0004 CALL R1 1
0x80000000, // 0005 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_strip_bri
********************************************************************/
be_local_closure(class_Animate_core_set_strip_bri, /* name */
be_nested_proto(
10, /* 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_Animate_core, /* shared constants */
be_str_weak(set_strip_bri),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
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
0x58200007, // 0007 LDCONST R8 K7
0x542600FE, // 0008 LDINT R9 255
0x7C0C0C00, // 0009 CALL R3 6
0x7C040400, // 000A CALL R1 2
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: remove_painter
********************************************************************/
be_local_closure(class_Animate_core_remove_painter, /* name */
be_nested_proto(
8, /* 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_Animate_core, /* shared constants */
be_str_weak(remove_painter),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x88080108, // 0000 GETMBR R2 R0 K8
0x4C0C0000, // 0001 LDNIL R3
0x200C0203, // 0002 NE R3 R1 R3
0x780E0005, // 0003 JMPF R3 #000A
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
0x8C0C0502, // 000A GETMET R3 R2 K2
0x7C0C0200, // 000B CALL R3 1
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: stop
********************************************************************/
be_local_closure(class_Animate_core_stop, /* 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_Animate_core, /* shared constants */
be_str_weak(stop),
&be_const_str_solidified,
( &(const binstruction[19]) { /* code */
0x50040000, // 0000 LDBOOL R1 0 0
0x90021601, // 0001 SETMBR R0 K11 R1
0x8804010C, // 0002 GETMBR R1 R0 K12
0x58080007, // 0003 LDCONST R2 K7
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
0x8C0C0700, // 000A GETMET R3 R3 K0
0x7C0C0200, // 000B CALL R3 1
0x0008050D, // 000C ADD R2 R2 K13
0x7001FFF5, // 000D JMP #0004
0xB80E0800, // 000E GETNGBL R3 K4
0x8C0C070E, // 000F GETMET R3 R3 K14
0x8814010F, // 0010 GETMBR R5 R0 K15
0x7C0C0400, // 0011 CALL R3 2
0x80000000, // 0012 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bri
********************************************************************/
be_local_closure(class_Animate_core_get_bri, /* name */
be_nested_proto(
3, /* 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_Animate_core, /* shared constants */
be_str_weak(get_bri),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88080106, // 0000 GETMBR R2 R0 K6
0x80040400, // 0001 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_bri
********************************************************************/
be_local_closure(class_Animate_core_set_bri, /* name */
be_nested_proto(
4, /* 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_Animate_core, /* shared constants */
be_str_weak(set_bri),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x90020C01, // 0000 SETMBR R0 K6 R1
0x8C080110, // 0001 GETMET R2 R0 K16
0x7C080200, // 0002 CALL R2 1
0x80000000, // 0003 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: add_painter
********************************************************************/
be_local_closure(class_Animate_core_add_painter, /* name */
be_nested_proto(
5, /* 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_Animate_core, /* shared constants */
be_str_weak(add_painter),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
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
0x88080108, // 0007 GETMBR R2 R0 K8
0x8C080511, // 0008 GETMET R2 R2 K17
0x5C100200, // 0009 MOVE R4 R1
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: fast_loop
********************************************************************/
be_local_closure(class_Animate_core_fast_loop, /* name */
be_nested_proto(
13, /* 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_Animate_core, /* shared constants */
be_str_weak(fast_loop),
&be_const_str_solidified,
( &(const binstruction[84]) { /* code */
0x8804010B, // 0000 GETMBR R1 R0 K11
0x78060050, // 0001 JMPF R1 #0053
0xB8060800, // 0002 GETNGBL R1 K4
0x8C040312, // 0003 GETMET R1 R1 K18
0x880C0113, // 0004 GETMBR R3 R0 K19
0x7C040400, // 0005 CALL R1 2
0x7806004B, // 0006 JMPF R1 #0053
0x88040101, // 0007 GETMBR R1 R0 K1
0x8C040314, // 0008 GETMET R1 R1 K20
0x7C040200, // 0009 CALL R1 1
0x78060047, // 000A JMPF R1 #0053
0x88040115, // 000B GETMBR R1 R0 K21
0x8C040316, // 000C GETMET R1 R1 K22
0x880C0117, // 000D GETMBR R3 R0 K23
0x7C040400, // 000E CALL R1 2
0x58040007, // 000F LDCONST R1 K7
0xB80A0800, // 0010 GETNGBL R2 K4
0x8C080518, // 0011 GETMET R2 R2 K24
0x7C080200, // 0012 CALL R2 1
0x880C0119, // 0013 GETMBR R3 R0 K25
0x000C0403, // 0014 ADD R3 R2 R3
0x90022603, // 0015 SETMBR R0 K19 R3
0x600C000C, // 0016 GETGBL R3 G12
0x8810010C, // 0017 GETMBR R4 R0 K12
0x7C0C0200, // 0018 CALL R3 1
0x140C0203, // 0019 LT R3 R1 R3
0x780E0006, // 001A JMPF R3 #0022
0x880C010C, // 001B GETMBR R3 R0 K12
0x940C0601, // 001C GETIDX R3 R3 R1
0x8C0C071A, // 001D GETMET R3 R3 K26
0x5C140400, // 001E MOVE R5 R2
0x7C0C0400, // 001F CALL R3 2
0x0004030D, // 0020 ADD R1 R1 K13
0x7001FFF3, // 0021 JMP #0016
0x58040007, // 0022 LDCONST R1 K7
0x880C0115, // 0023 GETMBR R3 R0 K21
0x8810011B, // 0024 GETMBR R4 R0 K27
0x6014000C, // 0025 GETGBL R5 G12
0x88180108, // 0026 GETMBR R6 R0 K8
0x7C140200, // 0027 CALL R5 1
0x14140205, // 0028 LT R5 R1 R5
0x7816000D, // 0029 JMPF R5 #0038
0x8C140916, // 002A GETMET R5 R4 K22
0x581C001C, // 002B LDCONST R7 K28
0x7C140400, // 002C CALL R5 2
0x88140108, // 002D GETMBR R5 R0 K8
0x94140A01, // 002E GETIDX R5 R5 R1
0x8C140B1D, // 002F GETMET R5 R5 K29
0x5C1C0800, // 0030 MOVE R7 R4
0x7C140400, // 0031 CALL R5 2
0x78160002, // 0032 JMPF R5 #0036
0x8C14071E, // 0033 GETMET R5 R3 K30
0x5C1C0800, // 0034 MOVE R7 R4
0x7C140400, // 0035 CALL R5 2
0x0004030D, // 0036 ADD R1 R1 K13
0x7001FFEC, // 0037 JMP #0025
0x8814011F, // 0038 GETMBR R5 R0 K31
0x88180120, // 0039 GETMBR R6 R0 K32
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
0x8C1C011A, // 003F GETMET R7 R0 K26
0x7C1C0200, // 0040 CALL R7 1
0x881C0115, // 0041 GETMBR R7 R0 K21
0x8C1C0F21, // 0042 GETMET R7 R7 K33
0x88240101, // 0043 GETMBR R9 R0 K1
0x8C241322, // 0044 GETMET R9 R9 K34
0x7C240200, // 0045 CALL R9 1
0x88280101, // 0046 GETMBR R10 R0 K1
0x8C281523, // 0047 GETMET R10 R10 K35
0x7C280200, // 0048 CALL R10 1
0x882C0101, // 0049 GETMBR R11 R0 K1
0x8C2C1724, // 004A GETMET R11 R11 K36
0x7C2C0200, // 004B CALL R11 1
0x7C1C0800, // 004C CALL R7 4
0x881C0101, // 004D GETMBR R7 R0 K1
0x8C1C0F25, // 004E GETMET R7 R7 K37
0x7C1C0200, // 004F CALL R7 1
0x881C0101, // 0050 GETMBR R7 R0 K1
0x8C1C0F26, // 0051 GETMET R7 R7 K38
0x7C1C0200, // 0052 CALL R7 1
0x80000000, // 0053 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: remove_animator
********************************************************************/
be_local_closure(class_Animate_core_remove_animator, /* name */
be_nested_proto(
8, /* 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_Animate_core, /* shared constants */
be_str_weak(remove_animator),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x8808010C, // 0000 GETMBR R2 R0 K12
0x4C0C0000, // 0001 LDNIL R3
0x200C0203, // 0002 NE R3 R1 R3
0x780E0005, // 0003 JMPF R3 #000A
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
0x8C0C0502, // 000A GETMET R3 R2 K2
0x7C0C0200, // 000B CALL R3 1
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: animate
********************************************************************/
be_local_closure(class_Animate_core_animate, /* name */
be_nested_proto(
1, /* 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_Animate_core, /* shared constants */
be_str_weak(animate),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_current
********************************************************************/
be_local_closure(class_Animate_core_set_current, /* name */
be_nested_proto(
2, /* 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_Animate_core, /* shared constants */
be_str_weak(set_current),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0xB8064E00, // 0000 GETNGBL R1 K39
0x90065000, // 0001 SETMBR R1 K40 R0
0x80000000, // 0002 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Animate_core_init, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
be_nested_proto(
2, /* nstack */
0, /* argc */
0, /* varg */
1, /* has upvals */
( &(const bupvaldesc[ 1]) { /* upvals */
be_local_const_upval(1, 0),
}),
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(fast_loop),
}),
be_str_weak(_anonymous_),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x68000000, // 0000 GETUPV R0 U0
0x8C000100, // 0001 GETMET R0 R0 K0
0x7C000200, // 0002 CALL R0 1
0x80000000, // 0003 RET 0
})
),
}),
1, /* has constants */
&be_ktab_class_Animate_core, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[37]) { /* code */
0xA40E3400, // 0000 IMPORT R3 K26
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
0x90020C02, // 0006 SETMBR R0 K6 R2
0x8C100110, // 0007 GETMET R4 R0 K16
0x7C100200, // 0008 CALL R4 1
0x50100000, // 0009 LDBOOL R4 0 0
0x90021604, // 000A SETMBR R0 K11 R4
0x8C100329, // 000B GETMET R4 R1 K41
0x7C100200, // 000C CALL R4 1
0x90025204, // 000D SETMBR R0 K41 R4
0x60100012, // 000E GETGBL R4 G18
0x7C100000, // 000F CALL R4 0
0x90021804, // 0010 SETMBR R0 K12 R4
0x60100012, // 0011 GETGBL R4 G18
0x7C100000, // 0012 CALL R4 0
0x90021004, // 0013 SETMBR R0 K8 R4
0x8C100102, // 0014 GETMET R4 R0 K2
0x7C100200, // 0015 CALL R4 1
0x8C100715, // 0016 GETMET R4 R3 K21
0x88180129, // 0017 GETMBR R6 R0 K41
0x7C100400, // 0018 CALL R4 2
0x90022A04, // 0019 SETMBR R0 K21 R4
0x8C100715, // 001A GETMET R4 R3 K21
0x88180129, // 001B GETMBR R6 R0 K41
0x7C100400, // 001C CALL R4 2
0x90023604, // 001D SETMBR R0 K27 R4
0x84100000, // 001E CLOSURE R4 P0
0x90021E04, // 001F SETMBR R0 K15 R4
0x90022F07, // 0020 SETMBR R0 K23 K7
0x8C10012A, // 0021 GETMET R4 R0 K42
0x7C100200, // 0022 CALL R4 1
0xA0000000, // 0023 CLOSE R0
0x80000000, // 0024 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_cb
********************************************************************/
be_local_closure(class_Animate_core_set_cb, /* name */
be_nested_proto(
3, /* 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_Animate_core, /* shared constants */
be_str_weak(set_cb),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x90023E01, // 0000 SETMBR R0 K31 R1
0x90024002, // 0001 SETMBR R0 K32 R2
0x80000000, // 0002 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_back_color
********************************************************************/
be_local_closure(class_Animate_core_set_back_color, /* name */
be_nested_proto(
2, /* 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_Animate_core, /* shared constants */
be_str_weak(set_back_color),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90022E01, // 0000 SETMBR R0 K23 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: add_background_animator
********************************************************************/
be_local_closure(class_Animate_core_add_background_animator, /* name */
be_nested_proto(
6, /* 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_Animate_core, /* shared constants */
be_str_weak(add_background_animator),
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x8C08032B, // 0000 GETMET R2 R1 K43
0x5C100000, // 0001 MOVE R4 R0
0x8814012C, // 0002 GETMBR R5 R0 K44
0x7C080600, // 0003 CALL R2 3
0x8C08012D, // 0004 GETMET R2 R0 K45
0x5C100200, // 0005 MOVE R4 R1
0x7C080400, // 0006 CALL R2 2
0x80000000, // 0007 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: add_animator
********************************************************************/
be_local_closure(class_Animate_core_add_animator, /* name */
be_nested_proto(
5, /* 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_Animate_core, /* shared constants */
be_str_weak(add_animator),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
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
0x8808010C, // 0007 GETMBR R2 R0 K12
0x8C080511, // 0008 GETMET R2 R2 K17
0x5C100200, // 0009 MOVE R4 R1
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: remove
********************************************************************/
be_local_closure(class_Animate_core_remove, /* 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_Animate_core, /* shared constants */
be_str_weak(remove),
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x8C040102, // 0000 GETMET R1 R0 K2
0x7C040200, // 0001 CALL R1 1
0xB8060800, // 0002 GETNGBL R1 K4
0x8C04030E, // 0003 GETMET R1 R1 K14
0x880C010F, // 0004 GETMBR R3 R0 K15
0x7C040400, // 0005 CALL R1 2
0x80000000, // 0006 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_Animate_core_start, /* name */
be_nested_proto(
8, /* 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_Animate_core, /* shared constants */
be_str_weak(start),
&be_const_str_solidified,
( &(const binstruction[40]) { /* code */
0x88040101, // 0000 GETMBR R1 R0 K1
0x8C04032E, // 0001 GETMET R1 R1 K46
0x7C040200, // 0002 CALL R1 1
0xA40A5E00, // 0003 IMPORT R2 K47
0x4C0C0000, // 0004 LDNIL R3
0x200C0203, // 0005 NE R3 R1 R3
0x780E0008, // 0006 JMPF R3 #0010
0x600C0004, // 0007 GETGBL R3 G4
0x5C100200, // 0008 MOVE R4 R1
0x7C0C0200, // 0009 CALL R3 1
0x1C0C0730, // 000A EQ R3 R3 K48
0x780E0003, // 000B JMPF R3 #0010
0x200C0200, // 000C NE R3 R1 R0
0x780E0001, // 000D JMPF R3 #0010
0x8C0C0300, // 000E GETMET R3 R1 K0
0x7C0C0200, // 000F CALL R3 1
0x880C0101, // 0010 GETMBR R3 R0 K1
0x8C0C0731, // 0011 GETMET R3 R3 K49
0x5C140000, // 0012 MOVE R5 R0
0x7C0C0400, // 0013 CALL R3 2
0x500C0200, // 0014 LDBOOL R3 1 0
0x90021603, // 0015 SETMBR R0 K11 R3
0x880C010C, // 0016 GETMBR R3 R0 K12
0x58100007, // 0017 LDCONST R4 K7
0x6014000C, // 0018 GETGBL R5 G12
0x5C180600, // 0019 MOVE R6 R3
0x7C140200, // 001A CALL R5 1
0x14140805, // 001B LT R5 R4 R5
0x78160004, // 001C JMPF R5 #0022
0x94140604, // 001D GETIDX R5 R3 R4
0x8C140B32, // 001E GETMET R5 R5 K50
0x7C140200, // 001F CALL R5 1
0x0010090D, // 0020 ADD R4 R4 K13
0x7001FFF5, // 0021 JMP #0018
0x90022707, // 0022 SETMBR R0 K19 K7
0xB8160800, // 0023 GETNGBL R5 K4
0x8C140B33, // 0024 GETMET R5 R5 K51
0x881C010F, // 0025 GETMBR R7 R0 K15
0x7C140400, // 0026 CALL R5 2
0x80000000, // 0027 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Animate_core
********************************************************************/
be_local_class(Animate_core,
13,
NULL,
be_nested_map(32,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(set_strip_bri, -1), be_const_closure(class_Animate_core_set_strip_bri_closure) },
{ be_const_key_weak(animators, -1), be_const_var(4) },
{ be_const_key_weak(clear, 0), be_const_closure(class_Animate_core_clear_closure) },
{ be_const_key_weak(remove, -1), be_const_closure(class_Animate_core_remove_closure) },
{ be_const_key_weak(mth, -1), be_const_var(9) },
{ be_const_key_weak(stop, 1), be_const_closure(class_Animate_core_stop_closure) },
{ be_const_key_weak(fast_loop_cb, 30), be_const_var(6) },
{ be_const_key_weak(get_bri, -1), be_const_closure(class_Animate_core_get_bri_closure) },
{ be_const_key_weak(add_animator, -1), be_const_closure(class_Animate_core_add_animator_closure) },
{ be_const_key_weak(add_background_animator, -1), be_const_closure(class_Animate_core_add_background_animator_closure) },
{ be_const_key_weak(fast_loop_next, -1), be_const_var(7) },
{ be_const_key_weak(remove_animator, -1), be_const_closure(class_Animate_core_remove_animator_closure) },
{ be_const_key_weak(add_painter, 28), be_const_closure(class_Animate_core_add_painter_closure) },
{ be_const_key_weak(FAST_LOOP_MIN, -1), be_const_int(20) },
{ be_const_key_weak(fast_loop, -1), be_const_closure(class_Animate_core_fast_loop_closure) },
{ be_const_key_weak(set_back_color, 11), be_const_closure(class_Animate_core_set_back_color_closure) },
{ be_const_key_weak(animate, 8), be_const_closure(class_Animate_core_animate_closure) },
{ be_const_key_weak(strip, 24), be_const_var(0) },
{ be_const_key_weak(layer, -1), be_const_var(11) },
{ be_const_key_weak(init, -1), be_const_closure(class_Animate_core_init_closure) },
{ be_const_key_weak(bri, -1), be_const_var(2) },
{ be_const_key_weak(set_cb, 13), be_const_closure(class_Animate_core_set_cb_closure) },
{ be_const_key_weak(back_color, 18), be_const_var(12) },
{ be_const_key_weak(pixel_count, 15), be_const_var(1) },
{ be_const_key_weak(set_current, -1), be_const_closure(class_Animate_core_set_current_closure) },
{ be_const_key_weak(painters, -1), be_const_var(5) },
{ be_const_key_weak(obj, 10), be_const_var(8) },
{ be_const_key_weak(set_bri, 9), be_const_closure(class_Animate_core_set_bri_closure) },
{ be_const_key_weak(running, -1), be_const_var(3) },
{ be_const_key_weak(remove_painter, 3), be_const_closure(class_Animate_core_remove_painter_closure) },
{ be_const_key_weak(frame, -1), be_const_var(10) },
{ be_const_key_weak(start, -1), be_const_closure(class_Animate_core_start_closure) },
})),
be_str_weak(Animate_core)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,785 @@
/* Solidification of animate_2_animate_effects.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Animate_painter;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Animate_painter_init, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(global),
/* K1 */ be_nested_str_weak(_cur_anim),
/* K2 */ be_nested_str_weak(add_painter),
}),
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x88040301, // 0001 GETMBR R1 R1 K1
0x4C080000, // 0002 LDNIL R2
0x20080202, // 0003 NE R2 R1 R2
0x780A0002, // 0004 JMPF R2 #0008
0x8C080302, // 0005 GETMET R2 R1 K2
0x5C100000, // 0006 MOVE R4 R0
0x7C080400, // 0007 CALL R2 2
0x80000000, // 0008 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: paint
********************************************************************/
be_local_closure(class_Animate_painter_paint, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
be_str_weak(paint),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Animate_painter
********************************************************************/
be_local_class(Animate_painter,
0,
NULL,
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(paint, -1), be_const_closure(class_Animate_painter_paint_closure) },
{ be_const_key_weak(init, 0), be_const_closure(class_Animate_painter_init_closure) },
})),
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;
/********************************************************************
** Solidified function: set_pulse_size
********************************************************************/
be_local_closure(class_Animate_pulse_set_pulse_size, /* name */
be_nested_proto(
2, /* 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_Animate_pulse, /* shared constants */
be_str_weak(set_pulse_size),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_slew_size
********************************************************************/
be_local_closure(class_Animate_pulse_set_slew_size, /* name */
be_nested_proto(
2, /* 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_Animate_pulse, /* shared constants */
be_str_weak(set_slew_size),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020201, // 0000 SETMBR R0 K1 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_back_color
********************************************************************/
be_local_closure(class_Animate_pulse_set_back_color, /* name */
be_nested_proto(
2, /* 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_Animate_pulse, /* shared constants */
be_str_weak(set_back_color),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020401, // 0000 SETMBR R0 K2 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_pos
********************************************************************/
be_local_closure(class_Animate_pulse_set_pos, /* name */
be_nested_proto(
2, /* 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_Animate_pulse, /* shared constants */
be_str_weak(set_pos),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020601, // 0000 SETMBR R0 K3 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_color
********************************************************************/
be_local_closure(class_Animate_pulse_set_color, /* name */
be_nested_proto(
2, /* 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_Animate_pulse, /* shared constants */
be_str_weak(set_color),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020801, // 0000 SETMBR R0 K4 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Animate_pulse_init, /* name */
be_nested_proto(
6, /* 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_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
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
0x58040006, // 0008 LDCONST R1 K6
0x4C100000, // 0009 LDNIL R4
0x1C100404, // 000A EQ R4 R2 R4
0x78120000, // 000B JMPF R4 #000D
0x58080007, // 000C LDCONST R2 K7
0x4C100000, // 000D LDNIL R4
0x1C100604, // 000E EQ R4 R3 R4
0x78120000, // 000F JMPF R4 #0011
0x580C0008, // 0010 LDCONST R3 K8
0x90020801, // 0011 SETMBR R0 K4 R1
0x90020509, // 0012 SETMBR R0 K2 K9
0x14100508, // 0013 LT R4 R2 K8
0x78120000, // 0014 JMPF R4 #0016
0x58080008, // 0015 LDCONST R2 K8
0x90020002, // 0016 SETMBR R0 K0 R2
0x14100708, // 0017 LT R4 R3 K8
0x78120000, // 0018 JMPF R4 #001A
0x580C0008, // 0019 LDCONST R3 K8
0x90020203, // 001A SETMBR R0 K1 R3
0x90020708, // 001B SETMBR R0 K3 K8
0x80000000, // 001C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: paint
********************************************************************/
be_local_closure(class_Animate_pulse_paint, /* name */
be_nested_proto(
22, /* 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_Animate_pulse, /* shared constants */
be_str_weak(paint),
&be_const_str_solidified,
( &(const binstruction[91]) { /* code */
0x88080102, // 0000 GETMBR R2 R0 K2
0x200C0509, // 0001 NE R3 R2 K9
0x780E0002, // 0002 JMPF R3 #0006
0x8C0C030A, // 0003 GETMET R3 R1 K10
0x5C140400, // 0004 MOVE R5 R2
0x7C0C0400, // 0005 CALL R3 2
0x880C0103, // 0006 GETMBR R3 R0 K3
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
0x00280605, // 000E ADD R10 R3 R5
0x5C241400, // 000F MOVE R9 R10
0x14281108, // 0010 LT R10 R8 K8
0x782A0000, // 0011 JMPF R10 #0013
0x58200008, // 0012 LDCONST R8 K8
0x28281207, // 0013 GE R10 R9 R7
0x782A0000, // 0014 JMPF R10 #0016
0x5C240E00, // 0015 MOVE R9 R7
0x5C281000, // 0016 MOVE R10 R8
0x142C1409, // 0017 LT R11 R10 R9
0x782E0002, // 0018 JMPF R11 #001C
0x98041406, // 0019 SETIDX R1 R10 R6
0x00281507, // 001A ADD R10 R10 K7
0x7001FFFA, // 001B JMP #0017
0x242C0908, // 001C GT R11 R4 K8
0x782E003A, // 001D JMPF R11 #0059
0x042C0604, // 001E SUB R11 R3 R4
0x5C201600, // 001F MOVE R8 R11
0x5C240600, // 0020 MOVE R9 R3
0x142C1108, // 0021 LT R11 R8 K8
0x782E0000, // 0022 JMPF R11 #0024
0x58200008, // 0023 LDCONST R8 K8
0x282C1207, // 0024 GE R11 R9 R7
0x782E0000, // 0025 JMPF R11 #0027
0x5C240E00, // 0026 MOVE R9 R7
0x5C281000, // 0027 MOVE R10 R8
0x142C1409, // 0028 LT R11 R10 R9
0x782E000F, // 0029 JMPF R11 #003A
0x8C2C030C, // 002A GETMET R11 R1 K12
0x5C340400, // 002B MOVE R13 R2
0x5C380C00, // 002C MOVE R14 R6
0xB83E1A00, // 002D GETNGBL R15 K13
0x8C3C1F0E, // 002E GETMET R15 R15 K14
0x5C441400, // 002F MOVE R17 R10
0x04480604, // 0030 SUB R18 R3 R4
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
0x00281507, // 0038 ADD R10 R10 K7
0x7001FFED, // 0039 JMP #0028
0x002C0605, // 003A ADD R11 R3 R5
0x5C201600, // 003B MOVE R8 R11
0x002C0605, // 003C ADD R11 R3 R5
0x002C1604, // 003D ADD R11 R11 R4
0x5C241600, // 003E MOVE R9 R11
0x142C1108, // 003F LT R11 R8 K8
0x782E0000, // 0040 JMPF R11 #0042
0x58200008, // 0041 LDCONST R8 K8
0x282C1207, // 0042 GE R11 R9 R7
0x782E0000, // 0043 JMPF R11 #0045
0x5C240E00, // 0044 MOVE R9 R7
0x5C281000, // 0045 MOVE R10 R8
0x142C1409, // 0046 LT R11 R10 R9
0x782E0010, // 0047 JMPF R11 #0059
0x8C2C030C, // 0048 GETMET R11 R1 K12
0x5C340400, // 0049 MOVE R13 R2
0x5C380C00, // 004A MOVE R14 R6
0xB83E1A00, // 004B GETNGBL R15 K13
0x8C3C1F0E, // 004C GETMET R15 R15 K14
0x5C441400, // 004D MOVE R17 R10
0x00480605, // 004E ADD R18 R3 R5
0x04482507, // 004F SUB R18 R18 K7
0x004C0605, // 0050 ADD R19 R3 R5
0x004C2604, // 0051 ADD R19 R19 R4
0x58500008, // 0052 LDCONST R20 K8
0x545600FE, // 0053 LDINT R21 255
0x7C3C0C00, // 0054 CALL R15 6
0x7C2C0800, // 0055 CALL R11 4
0x9804140B, // 0056 SETIDX R1 R10 R11
0x00281507, // 0057 ADD R10 R10 K7
0x7001FFEC, // 0058 JMP #0046
0x502C0200, // 0059 LDBOOL R11 1 0
0x80041600, // 005A RET 1 R11
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Animate_pulse
********************************************************************/
extern const bclass be_class_Animate_painter;
be_local_class(Animate_pulse,
5,
&be_class_Animate_painter,
be_nested_map(12,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(paint, -1), be_const_closure(class_Animate_pulse_paint_closure) },
{ be_const_key_weak(set_slew_size, -1), be_const_closure(class_Animate_pulse_set_slew_size_closure) },
{ be_const_key_weak(pulse_size, -1), be_const_var(4) },
{ be_const_key_weak(set_back_color, 8), be_const_closure(class_Animate_pulse_set_back_color_closure) },
{ be_const_key_weak(color, -1), be_const_var(0) },
{ be_const_key_weak(back_color, -1), be_const_var(1) },
{ be_const_key_weak(set_pos, -1), be_const_closure(class_Animate_pulse_set_pos_closure) },
{ be_const_key_weak(set_color, -1), be_const_closure(class_Animate_pulse_set_color_closure) },
{ be_const_key_weak(init, 7), be_const_closure(class_Animate_pulse_init_closure) },
{ be_const_key_weak(pos, -1), be_const_var(2) },
{ be_const_key_weak(slew_size, 5), be_const_var(3) },
{ be_const_key_weak(set_pulse_size, 0), be_const_closure(class_Animate_pulse_set_pulse_size_closure) },
})),
be_str_weak(Animate_pulse)
);
// compact class 'Animate_crenel' ktab size: 19, total: 34 (saved 120 bytes)
static const bvalue be_ktab_class_Animate_crenel[19] = {
/* K0 */ be_nested_str_weak(pulse_size),
/* K1 */ be_nested_str_weak(back_color),
/* K2 */ be_const_int(-16777216),
/* K3 */ be_nested_str_weak(fill_pixels),
/* K4 */ be_nested_str_weak(pos),
/* K5 */ be_nested_str_weak(low_size),
/* K6 */ be_nested_str_weak(color),
/* K7 */ be_nested_str_weak(pixel_size),
/* K8 */ be_nested_str_weak(nb_pulse),
/* K9 */ be_const_int(0),
/* K10 */ be_const_int(1),
/* K11 */ be_nested_str_weak(int),
/* K12 */ be_nested_str_weak(instance),
/* K13 */ be_nested_str_weak(get_color),
/* K14 */ be_nested_str_weak(tasmota),
/* K15 */ be_nested_str_weak(scale_int),
/* K16 */ be_nested_str_weak(init),
/* K17 */ be_const_int(16777215),
/* K18 */ be_const_int(3),
};
extern const bclass be_class_Animate_crenel;
/********************************************************************
** Solidified function: set_pulse_size
********************************************************************/
be_local_closure(class_Animate_crenel_set_pulse_size, /* name */
be_nested_proto(
2, /* 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_Animate_crenel, /* shared constants */
be_str_weak(set_pulse_size),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: paint
********************************************************************/
be_local_closure(class_Animate_crenel_paint, /* name */
be_nested_proto(
20, /* 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_Animate_crenel, /* shared constants */
be_str_weak(paint),
&be_const_str_solidified,
( &(const binstruction[83]) { /* code */
0x88080101, // 0000 GETMBR R2 R0 K1
0x200C0502, // 0001 NE R3 R2 K2
0x780E0002, // 0002 JMPF R3 #0006
0x8C0C0303, // 0003 GETMET R3 R1 K3
0x5C140400, // 0004 MOVE R5 R2
0x7C0C0400, // 0005 CALL R3 2
0x880C0104, // 0006 GETMBR R3 R0 K4
0x88100100, // 0007 GETMBR R4 R0 K0
0x88140105, // 0008 GETMBR R5 R0 K5
0x88180106, // 0009 GETMBR R6 R0 K6
0x881C0307, // 000A GETMBR R7 R1 K7
0x60200009, // 000B GETGBL R8 G9
0x00240805, // 000C ADD R9 R4 R5
0x7C200200, // 000D CALL R8 1
0x88240108, // 000E GETMBR R9 R0 K8
0x18281109, // 000F LE R10 R8 K9
0x782A0000, // 0010 JMPF R10 #0012
0x5820000A, // 0011 LDCONST R8 K10
0x1C281309, // 0012 EQ R10 R9 K9
0x782A0000, // 0013 JMPF R10 #0015
0x80001400, // 0014 RET 0
0x14281309, // 0015 LT R10 R9 K9
0x782A0006, // 0016 JMPF R10 #001E
0x00280604, // 0017 ADD R10 R3 R4
0x0428150A, // 0018 SUB R10 R10 K10
0x10281408, // 0019 MOD R10 R10 R8
0x04281404, // 001A SUB R10 R10 R4
0x0028150A, // 001B ADD R10 R10 K10
0x5C0C1400, // 001C MOVE R3 R10
0x70020007, // 001D JMP #0026
0x44281000, // 001E NEG R10 R8
0x1428060A, // 001F LT R10 R3 R10
0x782A0004, // 0020 JMPF R10 #0026
0x20281309, // 0021 NE R10 R9 K9
0x782A0002, // 0022 JMPF R10 #0026
0x000C0608, // 0023 ADD R3 R3 R8
0x0424130A, // 0024 SUB R9 R9 K10
0x7001FFF7, // 0025 JMP #001E
0x14280607, // 0026 LT R10 R3 R7
0x782A0028, // 0027 JMPF R10 #0051
0x20281309, // 0028 NE R10 R9 K9
0x782A0026, // 0029 JMPF R10 #0051
0x58280009, // 002A LDCONST R10 K9
0x142C0709, // 002B LT R11 R3 K9
0x782E0001, // 002C JMPF R11 #002F
0x442C0600, // 002D NEG R11 R3
0x5C281600, // 002E MOVE R10 R11
0x602C0004, // 002F GETGBL R11 G4
0x88300106, // 0030 GETMBR R12 R0 K6
0x7C2C0200, // 0031 CALL R11 1
0x1C2C170B, // 0032 EQ R11 R11 K11
0x782E0009, // 0033 JMPF R11 #003E
0x142C1404, // 0034 LT R11 R10 R4
0x782E0006, // 0035 JMPF R11 #003D
0x002C060A, // 0036 ADD R11 R3 R10
0x142C1607, // 0037 LT R11 R11 R7
0x782E0003, // 0038 JMPF R11 #003D
0x002C060A, // 0039 ADD R11 R3 R10
0x98041606, // 003A SETIDX R1 R11 R6
0x0028150A, // 003B ADD R10 R10 K10
0x7001FFF6, // 003C JMP #0034
0x7002000F, // 003D JMP #004E
0x602C0004, // 003E GETGBL R11 G4
0x88300106, // 003F GETMBR R12 R0 K6
0x7C2C0200, // 0040 CALL R11 1
0x1C2C170C, // 0041 EQ R11 R11 K12
0x782E000A, // 0042 JMPF R11 #004E
0x882C0106, // 0043 GETMBR R11 R0 K6
0x8C2C170D, // 0044 GETMET R11 R11 K13
0xB8361C00, // 0045 GETNGBL R13 K14
0x8C341B0F, // 0046 GETMET R13 R13 K15
0x5C3C1400, // 0047 MOVE R15 R10
0x58400009, // 0048 LDCONST R16 K9
0x0444090A, // 0049 SUB R17 R4 K10
0x58480009, // 004A LDCONST R18 K9
0x544E00FE, // 004B LDINT R19 255
0x7C340C00, // 004C CALL R13 6
0x7C2C0400, // 004D CALL R11 2
0x000C0608, // 004E ADD R3 R3 R8
0x0424130A, // 004F SUB R9 R9 K10
0x7001FFD4, // 0050 JMP #0026
0x50280200, // 0051 LDBOOL R10 1 0
0x80041400, // 0052 RET 1 R10
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_back_color
********************************************************************/
be_local_closure(class_Animate_crenel_set_back_color, /* name */
be_nested_proto(
2, /* 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_Animate_crenel, /* shared constants */
be_str_weak(set_back_color),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020201, // 0000 SETMBR R0 K1 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_pos
********************************************************************/
be_local_closure(class_Animate_crenel_set_pos, /* name */
be_nested_proto(
2, /* 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_Animate_crenel, /* shared constants */
be_str_weak(set_pos),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020801, // 0000 SETMBR R0 K4 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_color
********************************************************************/
be_local_closure(class_Animate_crenel_set_color, /* name */
be_nested_proto(
2, /* 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_Animate_crenel, /* shared constants */
be_str_weak(set_color),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020C01, // 0000 SETMBR R0 K6 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_low_size
********************************************************************/
be_local_closure(class_Animate_crenel_set_low_size, /* name */
be_nested_proto(
2, /* 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_Animate_crenel, /* shared constants */
be_str_weak(set_low_size),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020A01, // 0000 SETMBR R0 K5 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Animate_crenel_init, /* name */
be_nested_proto(
7, /* 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_Animate_crenel, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[34]) { /* code */
0x60140003, // 0000 GETGBL R5 G3
0x5C180000, // 0001 MOVE R6 R0
0x7C140200, // 0002 CALL R5 1
0x8C140B10, // 0003 GETMET R5 R5 K16
0x7C140200, // 0004 CALL R5 1
0x4C140000, // 0005 LDNIL R5
0x1C140205, // 0006 EQ R5 R1 R5
0x78160000, // 0007 JMPF R5 #0009
0x58040011, // 0008 LDCONST R1 K17
0x4C140000, // 0009 LDNIL R5
0x1C140405, // 000A EQ R5 R2 R5
0x78160000, // 000B JMPF R5 #000D
0x5808000A, // 000C LDCONST R2 K10
0x4C140000, // 000D LDNIL R5
0x1C140605, // 000E EQ R5 R3 R5
0x78160000, // 000F JMPF R5 #0011
0x580C0012, // 0010 LDCONST R3 K18
0x4C140000, // 0011 LDNIL R5
0x1C140805, // 0012 EQ R5 R4 R5
0x78160000, // 0013 JMPF R5 #0015
0x5411FFFE, // 0014 LDINT R4 -1
0x90020C01, // 0015 SETMBR R0 K6 R1
0x90020302, // 0016 SETMBR R0 K1 K2
0x14140509, // 0017 LT R5 R2 K9
0x78160000, // 0018 JMPF R5 #001A
0x58080009, // 0019 LDCONST R2 K9
0x90020002, // 001A SETMBR R0 K0 R2
0x14140709, // 001B LT R5 R3 K9
0x78160000, // 001C JMPF R5 #001E
0x580C0009, // 001D LDCONST R3 K9
0x90020A03, // 001E SETMBR R0 K5 R3
0x90021004, // 001F SETMBR R0 K8 R4
0x90020909, // 0020 SETMBR R0 K4 K9
0x80000000, // 0021 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_nb_pulse
********************************************************************/
be_local_closure(class_Animate_crenel_set_nb_pulse, /* name */
be_nested_proto(
2, /* 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_Animate_crenel, /* shared constants */
be_str_weak(set_nb_pulse),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90021001, // 0000 SETMBR R0 K8 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Animate_crenel
********************************************************************/
extern const bclass be_class_Animate_painter;
be_local_class(Animate_crenel,
6,
&be_class_Animate_painter,
be_nested_map(14,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(low_size, -1), be_const_var(4) },
{ be_const_key_weak(paint, -1), be_const_closure(class_Animate_crenel_paint_closure) },
{ be_const_key_weak(color, -1), be_const_var(0) },
{ be_const_key_weak(set_pulse_size, 11), be_const_closure(class_Animate_crenel_set_pulse_size_closure) },
{ be_const_key_weak(pulse_size, -1), be_const_var(3) },
{ be_const_key_weak(set_back_color, 10), be_const_closure(class_Animate_crenel_set_back_color_closure) },
{ be_const_key_weak(set_pos, -1), be_const_closure(class_Animate_crenel_set_pos_closure) },
{ be_const_key_weak(back_color, -1), be_const_var(1) },
{ be_const_key_weak(set_low_size, 7), be_const_closure(class_Animate_crenel_set_low_size_closure) },
{ be_const_key_weak(pos, -1), be_const_var(2) },
{ be_const_key_weak(init, -1), be_const_closure(class_Animate_crenel_init_closure) },
{ be_const_key_weak(set_color, 1), be_const_closure(class_Animate_crenel_set_color_closure) },
{ be_const_key_weak(set_nb_pulse, -1), be_const_closure(class_Animate_crenel_set_nb_pulse_closure) },
{ be_const_key_weak(nb_pulse, 0), be_const_var(5) },
})),
be_str_weak(Animate_crenel)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,178 @@
/* Solidification of leds_frame_be_methods.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: setitem
********************************************************************/
be_local_closure(class_Leds_frame_be_setitem, /* 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_Leds_frame_be, /* shared constants */
&be_const_str_setitem,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x8C0C0100, // 0000 GETMET R3 R0 K0
0x54160003, // 0001 LDINT R5 4
0x08140205, // 0002 MUL R5 R1 R5
0x5C180400, // 0003 MOVE R6 R2
0x541E0003, // 0004 LDINT R7 4
0x7C0C0800, // 0005 CALL R3 4
0x80000000, // 0006 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_pixel
********************************************************************/
be_local_closure(class_Leds_frame_be_set_pixel, /* name */
be_nested_proto(
11, /* nstack */
6, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&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
0x58140001, // 0003 LDCONST R5 K1
0x541A00FE, // 0004 LDINT R6 255
0x2C180A06, // 0005 AND R6 R5 R6
0x541E0017, // 0006 LDINT R7 24
0x38180C07, // 0007 SHL R6 R6 R7
0x541E00FE, // 0008 LDINT R7 255
0x2C1C0407, // 0009 AND R7 R2 R7
0x5422000F, // 000A LDINT R8 16
0x381C0E08, // 000B SHL R7 R7 R8
0x30180C07, // 000C OR R6 R6 R7
0x541E00FE, // 000D LDINT R7 255
0x2C1C0607, // 000E AND R7 R3 R7
0x54220007, // 000F LDINT R8 8
0x381C0E08, // 0010 SHL R7 R7 R8
0x30180C07, // 0011 OR R6 R6 R7
0x541E00FE, // 0012 LDINT R7 255
0x2C1C0807, // 0013 AND R7 R4 R7
0x30180C07, // 0014 OR R6 R6 R7
0x8C1C0102, // 0015 GETMET R7 R0 K2
0x5C240200, // 0016 MOVE R9 R1
0x5C280C00, // 0017 MOVE R10 R6
0x7C1C0600, // 0018 CALL R7 3
0x80000000, // 0019 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: item
********************************************************************/
be_local_closure(class_Leds_frame_be_item, /* name */
be_nested_proto(
6, /* 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_Leds_frame_be, /* shared constants */
&be_const_str_item,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C080103, // 0000 GETMET R2 R0 K3
0x54120003, // 0001 LDINT R4 4
0x08100204, // 0002 MUL R4 R1 R4
0x54160003, // 0003 LDINT R5 4
0x7C080600, // 0004 CALL R2 3
0x80040400, // 0005 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Leds_frame_be_init, /* name */
be_nested_proto(
5, /* 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_Leds_frame_be, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x14080301, // 0000 LT R2 R1 K1
0x780A0000, // 0001 JMPF R2 #0003
0x44040200, // 0002 NEG R1 R1
0x90020801, // 0003 SETMBR R0 K4 R1
0x60080003, // 0004 GETGBL R2 G3
0x5C0C0000, // 0005 MOVE R3 R0
0x7C080200, // 0006 CALL R2 1
0x8C080505, // 0007 GETMET R2 R2 K5
0x5411FFFB, // 0008 LDINT R4 -4
0x08100204, // 0009 MUL R4 R1 R4
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Leds_frame_be
********************************************************************/
be_local_class(Leds_frame_be,
0,
NULL,
be_nested_map(4,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(setitem, 1), be_const_closure(class_Leds_frame_be_setitem_closure) },
{ be_const_key(set_pixel, -1), be_const_closure(class_Leds_frame_be_set_pixel_closure) },
{ be_const_key(item, -1), be_const_closure(class_Leds_frame_be_item_closure) },
{ be_const_key(init, -1), be_const_closure(class_Leds_frame_be_init_closure) },
})),
(bstring*) &be_const_str_Leds_frame_be
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,495 @@
/* Solidification of Matter_0_Inspect.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
/********************************************************************
** Solidified function: sort
********************************************************************/
be_local_closure(module_matter_sort, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_const_int(1),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(stop_iteration),
}),
be_str_weak(sort),
&be_const_str_solidified,
( &(const binstruction[29]) { /* code */
0x60040010, // 0000 GETGBL R1 G16
0x6008000C, // 0001 GETGBL R2 G12
0x5C0C0000, // 0002 MOVE R3 R0
0x7C080200, // 0003 CALL R2 1
0x04080500, // 0004 SUB R2 R2 K0
0x400A0002, // 0005 CONNECT R2 K0 R2
0x7C040200, // 0006 CALL R1 1
0xA8020010, // 0007 EXBLK 0 #0019
0x5C080200, // 0008 MOVE R2 R1
0x7C080000, // 0009 CALL R2 0
0x940C0002, // 000A GETIDX R3 R0 R2
0x5C100400, // 000B MOVE R4 R2
0x24140901, // 000C GT R5 R4 K1
0x78160008, // 000D JMPF R5 #0017
0x04140900, // 000E SUB R5 R4 K0
0x94140005, // 000F GETIDX R5 R0 R5
0x24140A03, // 0010 GT R5 R5 R3
0x78160004, // 0011 JMPF R5 #0017
0x04140900, // 0012 SUB R5 R4 K0
0x94140005, // 0013 GETIDX R5 R0 R5
0x98000805, // 0014 SETIDX R0 R4 R5
0x04100900, // 0015 SUB R4 R4 K0
0x7001FFF4, // 0016 JMP #000C
0x98000803, // 0017 SETIDX R0 R4 R3
0x7001FFEE, // 0018 JMP #0008
0x58040002, // 0019 LDCONST R1 K2
0xAC040200, // 001A CATCH R1 1 0
0xB0080000, // 001B RAISE 2 R0 R0
0x80040000, // 001C RET 1 R0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: jitter
********************************************************************/
be_local_closure(module_matter_jitter, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(crypto),
/* K1 */ be_nested_str_weak(random),
/* K2 */ be_nested_str_weak(get),
/* K3 */ be_const_int(0),
/* K4 */ be_const_int(2147483647),
/* K5 */ be_nested_str_weak(tasmota),
/* K6 */ be_nested_str_weak(millis),
}),
be_str_weak(jitter),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080301, // 0001 GETMET R2 R1 K1
0x54120003, // 0002 LDINT R4 4
0x7C080400, // 0003 CALL R2 2
0x8C080502, // 0004 GETMET R2 R2 K2
0x58100003, // 0005 LDCONST R4 K3
0x54160003, // 0006 LDINT R5 4
0x7C080600, // 0007 CALL R2 3
0x2C080504, // 0008 AND R2 R2 K4
0xB80E0A00, // 0009 GETNGBL R3 K5
0x8C0C0706, // 000A GETMET R3 R3 K6
0x10140400, // 000B MOD R5 R2 R0
0x7C0C0400, // 000C CALL R3 2
0x80040600, // 000D RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: inspect
********************************************************************/
be_local_closure(module_matter_inspect, /* name */
be_nested_proto(
15, /* nstack */
1, /* argc */
0, /* 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(introspect),
/* K1 */ be_nested_str_weak(members),
/* K2 */ be_nested_str_weak(get),
/* K3 */ be_nested_str_weak(function),
/* K4 */ be_nested_str_weak(find),
/* K5 */ be_nested_str_weak(push),
/* K6 */ be_nested_str_weak(stop_iteration),
/* K7 */ be_nested_str_weak(matter),
/* K8 */ be_nested_str_weak(sort),
/* K9 */ be_nested_str_weak(_X27_X25s_X27_X3A_X20_X25s),
/* K10 */ be_nested_str_weak(_X7B),
/* K11 */ be_nested_str_weak(concat),
/* K12 */ be_nested_str_weak(_X2C_X20),
/* K13 */ be_nested_str_weak(_X7D),
/* K14 */ be_nested_str_weak(Exception_X3A),
/* K15 */ be_nested_str_weak(_X7C),
}),
be_str_weak(inspect),
&be_const_str_solidified,
( &(const binstruction[99]) { /* code */
0xA8020052, // 0000 EXBLK 0 #0054
0xA4060000, // 0001 IMPORT R1 K0
0x60080012, // 0002 GETGBL R2 G18
0x7C080000, // 0003 CALL R2 0
0x5C0C0000, // 0004 MOVE R3 R0
0x4C100000, // 0005 LDNIL R4
0x20100604, // 0006 NE R4 R3 R4
0x78120022, // 0007 JMPF R4 #002B
0x60100010, // 0008 GETGBL R4 G16
0x8C140301, // 0009 GETMET R5 R1 K1
0x5C1C0600, // 000A MOVE R7 R3
0x7C140400, // 000B CALL R5 2
0x7C100200, // 000C CALL R4 1
0xA8020014, // 000D EXBLK 0 #0023
0x5C140800, // 000E MOVE R5 R4
0x7C140000, // 000F CALL R5 0
0x8C180302, // 0010 GETMET R6 R1 K2
0x5C200600, // 0011 MOVE R8 R3
0x5C240A00, // 0012 MOVE R9 R5
0x7C180600, // 0013 CALL R6 3
0x601C0004, // 0014 GETGBL R7 G4
0x5C200C00, // 0015 MOVE R8 R6
0x7C1C0200, // 0016 CALL R7 1
0x201C0F03, // 0017 NE R7 R7 K3
0x781E0008, // 0018 JMPF R7 #0022
0x8C1C0504, // 0019 GETMET R7 R2 K4
0x5C240A00, // 001A MOVE R9 R5
0x7C1C0400, // 001B CALL R7 2
0x4C200000, // 001C LDNIL R8
0x1C1C0E08, // 001D EQ R7 R7 R8
0x781E0002, // 001E JMPF R7 #0022
0x8C1C0505, // 001F GETMET R7 R2 K5
0x5C240A00, // 0020 MOVE R9 R5
0x7C1C0400, // 0021 CALL R7 2
0x7001FFEA, // 0022 JMP #000E
0x58100006, // 0023 LDCONST R4 K6
0xAC100200, // 0024 CATCH R4 1 0
0xB0080000, // 0025 RAISE 2 R0 R0
0x60100003, // 0026 GETGBL R4 G3
0x5C140600, // 0027 MOVE R5 R3
0x7C100200, // 0028 CALL R4 1
0x5C0C0800, // 0029 MOVE R3 R4
0x7001FFD9, // 002A JMP #0005
0xB8120E00, // 002B GETNGBL R4 K7
0x8C100908, // 002C GETMET R4 R4 K8
0x5C180400, // 002D MOVE R6 R2
0x7C100400, // 002E CALL R4 2
0x5C080800, // 002F MOVE R2 R4
0x60100012, // 0030 GETGBL R4 G18
0x7C100000, // 0031 CALL R4 0
0x60140010, // 0032 GETGBL R5 G16
0x5C180400, // 0033 MOVE R6 R2
0x7C140200, // 0034 CALL R5 1
0xA8020011, // 0035 EXBLK 0 #0048
0x5C180A00, // 0036 MOVE R6 R5
0x7C180000, // 0037 CALL R6 0
0x8C1C0302, // 0038 GETMET R7 R1 K2
0x5C240000, // 0039 MOVE R9 R0
0x5C280C00, // 003A MOVE R10 R6
0x7C1C0600, // 003B CALL R7 3
0x8C200905, // 003C GETMET R8 R4 K5
0x60280018, // 003D GETGBL R10 G24
0x582C0009, // 003E LDCONST R11 K9
0x60300008, // 003F GETGBL R12 G8
0x5C340C00, // 0040 MOVE R13 R6
0x7C300200, // 0041 CALL R12 1
0x60340008, // 0042 GETGBL R13 G8
0x5C380E00, // 0043 MOVE R14 R7
0x7C340200, // 0044 CALL R13 1
0x7C280600, // 0045 CALL R10 3
0x7C200400, // 0046 CALL R8 2
0x7001FFED, // 0047 JMP #0036
0x58140006, // 0048 LDCONST R5 K6
0xAC140200, // 0049 CATCH R5 1 0
0xB0080000, // 004A RAISE 2 R0 R0
0x8C14090B, // 004B GETMET R5 R4 K11
0x581C000C, // 004C LDCONST R7 K12
0x7C140400, // 004D CALL R5 2
0x00161405, // 004E ADD R5 K10 R5
0x00140B0D, // 004F ADD R5 R5 K13
0xA8040001, // 0050 EXBLK 1 1
0x80040A00, // 0051 RET 1 R5
0xA8040001, // 0052 EXBLK 1 1
0x7002000D, // 0053 JMP #0062
0xAC040002, // 0054 CATCH R1 0 2
0x7002000A, // 0055 JMP #0061
0x600C0008, // 0056 GETGBL R3 G8
0x5C100200, // 0057 MOVE R4 R1
0x7C0C0200, // 0058 CALL R3 1
0x000E1C03, // 0059 ADD R3 K14 R3
0x000C070F, // 005A ADD R3 R3 K15
0x60100008, // 005B GETGBL R4 G8
0x5C140400, // 005C MOVE R5 R2
0x7C100200, // 005D CALL R4 1
0x000C0604, // 005E ADD R3 R3 R4
0x80040600, // 005F RET 1 R3
0x70020000, // 0060 JMP #0062
0xB0080000, // 0061 RAISE 2 R0 R0
0x80000000, // 0062 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: consolidate_clusters
********************************************************************/
be_local_closure(module_matter_consolidate_clusters, /* name */
be_nested_proto(
16, /* nstack */
2, /* argc */
0, /* 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(CLUSTERS),
/* K1 */ be_nested_str_weak(keys),
/* K2 */ be_const_int(2),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(push),
/* K5 */ be_nested_str_weak(get),
/* K6 */ be_const_int(1),
/* K7 */ be_nested_str_weak(stop_iteration),
/* K8 */ be_nested_str_weak(contains),
/* K9 */ be_nested_str_weak(find),
/* K10 */ be_nested_str_weak(matter),
/* K11 */ be_nested_str_weak(sort),
/* K12 */ be_nested_str_weak(add),
}),
be_str_weak(consolidate_clusters),
&be_const_str_solidified,
( &(const binstruction[180]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x4C0C0000, // 0003 LDNIL R3
0x20080403, // 0004 NE R2 R2 R3
0x780A0004, // 0005 JMPF R2 #000B
0x60080003, // 0006 GETGBL R2 G3
0x5C0C0000, // 0007 MOVE R3 R0
0x7C080200, // 0008 CALL R2 1
0x88080500, // 0009 GETMBR R2 R2 K0
0x70020001, // 000A JMP #000D
0x60080013, // 000B GETGBL R2 G19
0x7C080000, // 000C CALL R2 0
0x600C0013, // 000D GETGBL R3 G19
0x7C0C0000, // 000E CALL R3 0
0x60100010, // 000F GETGBL R4 G16
0x8C140501, // 0010 GETMET R5 R2 K1
0x7C140200, // 0011 CALL R5 1
0x7C100200, // 0012 CALL R4 1
0xA802001A, // 0013 EXBLK 0 #002F
0x5C140800, // 0014 MOVE R5 R4
0x7C140000, // 0015 CALL R5 0
0x60180012, // 0016 GETGBL R6 G18
0x7C180000, // 0017 CALL R6 0
0x941C0405, // 0018 GETIDX R7 R2 R5
0x4C200000, // 0019 LDNIL R8
0x20200E08, // 001A NE R8 R7 R8
0x78220004, // 001B JMPF R8 #0021
0x6020000C, // 001C GETGBL R8 G12
0x5C240E00, // 001D MOVE R9 R7
0x7C200200, // 001E CALL R8 1
0x0C201102, // 001F DIV R8 R8 K2
0x70020000, // 0020 JMP #0022
0x58200003, // 0021 LDCONST R8 K3
0x58240003, // 0022 LDCONST R9 K3
0x14281208, // 0023 LT R10 R9 R8
0x782A0007, // 0024 JMPF R10 #002D
0x8C280D04, // 0025 GETMET R10 R6 K4
0x8C300F05, // 0026 GETMET R12 R7 K5
0x08381302, // 0027 MUL R14 R9 K2
0x543DFFFD, // 0028 LDINT R15 -2
0x7C300600, // 0029 CALL R12 3
0x7C280400, // 002A CALL R10 2
0x00241306, // 002B ADD R9 R9 K6
0x7001FFF5, // 002C JMP #0023
0x980C0A06, // 002D SETIDX R3 R5 R6
0x7001FFE4, // 002E JMP #0014
0x58100007, // 002F LDCONST R4 K7
0xAC100200, // 0030 CATCH R4 1 0
0xB0080000, // 0031 RAISE 2 R0 R0
0x60100010, // 0032 GETGBL R4 G16
0x8C140301, // 0033 GETMET R5 R1 K1
0x7C140200, // 0034 CALL R5 1
0x7C100200, // 0035 CALL R4 1
0xA802001E, // 0036 EXBLK 0 #0056
0x5C140800, // 0037 MOVE R5 R4
0x7C140000, // 0038 CALL R5 0
0x8C180708, // 0039 GETMET R6 R3 K8
0x5C200A00, // 003A MOVE R8 R5
0x7C180400, // 003B CALL R6 2
0x741A0002, // 003C JMPT R6 #0040
0x60180012, // 003D GETGBL R6 G18
0x7C180000, // 003E CALL R6 0
0x980C0A06, // 003F SETIDX R3 R5 R6
0x60180010, // 0040 GETGBL R6 G16
0x941C0205, // 0041 GETIDX R7 R1 R5
0x7C180200, // 0042 CALL R6 1
0xA802000D, // 0043 EXBLK 0 #0052
0x5C1C0C00, // 0044 MOVE R7 R6
0x7C1C0000, // 0045 CALL R7 0
0x94200605, // 0046 GETIDX R8 R3 R5
0x8C201109, // 0047 GETMET R8 R8 K9
0x5C280E00, // 0048 MOVE R10 R7
0x7C200400, // 0049 CALL R8 2
0x4C240000, // 004A LDNIL R9
0x1C201009, // 004B EQ R8 R8 R9
0x78220003, // 004C JMPF R8 #0051
0x94200605, // 004D GETIDX R8 R3 R5
0x8C201104, // 004E GETMET R8 R8 K4
0x5C280E00, // 004F MOVE R10 R7
0x7C200400, // 0050 CALL R8 2
0x7001FFF1, // 0051 JMP #0044
0x58180007, // 0052 LDCONST R6 K7
0xAC180200, // 0053 CATCH R6 1 0
0xB0080000, // 0054 RAISE 2 R0 R0
0x7001FFE0, // 0055 JMP #0037
0x58100007, // 0056 LDCONST R4 K7
0xAC100200, // 0057 CATCH R4 1 0
0xB0080000, // 0058 RAISE 2 R0 R0
0x60100012, // 0059 GETGBL R4 G18
0x7C100000, // 005A CALL R4 0
0x5416FFF7, // 005B LDINT R5 65528
0x40140805, // 005C CONNECT R5 R4 R5
0x5416FFF8, // 005D LDINT R5 65529
0x40140805, // 005E CONNECT R5 R4 R5
0x5416FFF9, // 005F LDINT R5 65530
0x40140805, // 0060 CONNECT R5 R4 R5
0x5416FFFA, // 0061 LDINT R5 65531
0x40140805, // 0062 CONNECT R5 R4 R5
0x5416FFFB, // 0063 LDINT R5 65532
0x40140805, // 0064 CONNECT R5 R4 R5
0x5416FFFC, // 0065 LDINT R5 65533
0x40140805, // 0066 CONNECT R5 R4 R5
0x60140010, // 0067 GETGBL R5 G16
0x8C180301, // 0068 GETMET R6 R1 K1
0x7C180200, // 0069 CALL R6 1
0x7C140200, // 006A CALL R5 1
0xA8020017, // 006B EXBLK 0 #0084
0x5C180A00, // 006C MOVE R6 R5
0x7C180000, // 006D CALL R6 0
0x601C0010, // 006E GETGBL R7 G16
0x5C200800, // 006F MOVE R8 R4
0x7C1C0200, // 0070 CALL R7 1
0xA802000D, // 0071 EXBLK 0 #0080
0x5C200E00, // 0072 MOVE R8 R7
0x7C200000, // 0073 CALL R8 0
0x94240606, // 0074 GETIDX R9 R3 R6
0x8C241309, // 0075 GETMET R9 R9 K9
0x5C2C1000, // 0076 MOVE R11 R8
0x7C240400, // 0077 CALL R9 2
0x4C280000, // 0078 LDNIL R10
0x1C24120A, // 0079 EQ R9 R9 R10
0x78260003, // 007A JMPF R9 #007F
0x94240606, // 007B GETIDX R9 R3 R6
0x8C241304, // 007C GETMET R9 R9 K4
0x5C2C1000, // 007D MOVE R11 R8
0x7C240400, // 007E CALL R9 2
0x7001FFF1, // 007F JMP #0072
0x581C0007, // 0080 LDCONST R7 K7
0xAC1C0200, // 0081 CATCH R7 1 0
0xB0080000, // 0082 RAISE 2 R0 R0
0x7001FFE7, // 0083 JMP #006C
0x58140007, // 0084 LDCONST R5 K7
0xAC140200, // 0085 CATCH R5 1 0
0xB0080000, // 0086 RAISE 2 R0 R0
0x60140010, // 0087 GETGBL R5 G16
0x8C180701, // 0088 GETMET R6 R3 K1
0x7C180200, // 0089 CALL R6 1
0x7C140200, // 008A CALL R5 1
0xA8020008, // 008B EXBLK 0 #0095
0x5C180A00, // 008C MOVE R6 R5
0x7C180000, // 008D CALL R6 0
0x941C0606, // 008E GETIDX R7 R3 R6
0xB8221400, // 008F GETNGBL R8 K10
0x8C20110B, // 0090 GETMET R8 R8 K11
0x5C280E00, // 0091 MOVE R10 R7
0x7C200400, // 0092 CALL R8 2
0x980C0C08, // 0093 SETIDX R3 R6 R8
0x7001FFF6, // 0094 JMP #008C
0x58140007, // 0095 LDCONST R5 K7
0xAC140200, // 0096 CATCH R5 1 0
0xB0080000, // 0097 RAISE 2 R0 R0
0x60140010, // 0098 GETGBL R5 G16
0x8C180701, // 0099 GETMET R6 R3 K1
0x7C180200, // 009A CALL R6 1
0x7C140200, // 009B CALL R5 1
0xA8020012, // 009C EXBLK 0 #00B0
0x5C180A00, // 009D MOVE R6 R5
0x7C180000, // 009E CALL R6 0
0x941C0606, // 009F GETIDX R7 R3 R6
0x60200015, // 00A0 GETGBL R8 G21
0x7C200000, // 00A1 CALL R8 0
0x58240003, // 00A2 LDCONST R9 K3
0x6028000C, // 00A3 GETGBL R10 G12
0x5C2C0E00, // 00A4 MOVE R11 R7
0x7C280200, // 00A5 CALL R10 1
0x1428120A, // 00A6 LT R10 R9 R10
0x782A0005, // 00A7 JMPF R10 #00AE
0x8C28110C, // 00A8 GETMET R10 R8 K12
0x94300E09, // 00A9 GETIDX R12 R7 R9
0x5435FFFD, // 00AA LDINT R13 -2
0x7C280600, // 00AB CALL R10 3
0x00241306, // 00AC ADD R9 R9 K6
0x7001FFF4, // 00AD JMP #00A3
0x980C0C08, // 00AE SETIDX R3 R6 R8
0x7001FFEC, // 00AF JMP #009D
0x58140007, // 00B0 LDCONST R5 K7
0xAC140200, // 00B1 CATCH R5 1 0
0xB0080000, // 00B2 RAISE 2 R0 R0
0x80040600, // 00B3 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: UC_LIST
********************************************************************/
be_local_closure(module_matter_UC_LIST, /* name */
be_nested_proto(
4, /* nstack */
2, /* argc */
1, /* 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(UPDATE_COMMANDS),
}),
be_str_weak(UC_LIST),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x88080500, // 0003 GETMBR R2 R2 K0
0x000C0401, // 0004 ADD R3 R2 R1
0x80040600, // 0005 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,145 @@
/* Solidification of Matter_Base38.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Base38;
/********************************************************************
** Solidified function: encode
********************************************************************/
be_local_closure(class_Matter_Base38_encode, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
4, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
be_nested_proto(
6, /* nstack */
2, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 4]) { /* constants */
/* K0 */ be_nested_str_weak(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_X2D_X2E),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(),
/* K3 */ be_const_int(1),
}),
be_str_weak(b38_enc),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0x58080000, // 0000 LDCONST R2 K0
0x580C0001, // 0001 LDCONST R3 K1
0x58100002, // 0002 LDCONST R4 K2
0x14140601, // 0003 LT R5 R3 R1
0x78160007, // 0004 JMPF R5 #000D
0x54160025, // 0005 LDINT R5 38
0x10140005, // 0006 MOD R5 R0 R5
0x94140405, // 0007 GETIDX R5 R2 R5
0x00100805, // 0008 ADD R4 R4 R5
0x54160025, // 0009 LDINT R5 38
0x0C000005, // 000A DIV R0 R0 R5
0x000C0703, // 000B ADD R3 R3 K3
0x7001FFF5, // 000C JMP #0003
0x80040800, // 000D RET 1 R4
})
),
}),
1, /* has constants */
( &(const bvalue[ 6]) { /* constants */
/* K0 */ be_const_class(be_class_Matter_Base38),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(),
/* K3 */ be_const_int(2),
/* K4 */ be_const_int(1),
/* K5 */ be_const_int(3),
}),
be_str_weak(encode),
&be_const_str_solidified,
( &(const binstruction[58]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0x84080000, // 0001 CLOSURE R2 P0
0x580C0001, // 0002 LDCONST R3 K1
0x6010000C, // 0003 GETGBL R4 G12
0x5C140000, // 0004 MOVE R5 R0
0x7C100200, // 0005 CALL R4 1
0x58140002, // 0006 LDCONST R5 K2
0x14180604, // 0007 LT R6 R3 R4
0x781A002F, // 0008 JMPF R6 #0039
0x4C180000, // 0009 LDNIL R6
0x001C0703, // 000A ADD R7 R3 K3
0x141C0E04, // 000B LT R7 R7 R4
0x781E0012, // 000C JMPF R7 #0020
0x941C0003, // 000D GETIDX R7 R0 R3
0x00200704, // 000E ADD R8 R3 K4
0x94200008, // 000F GETIDX R8 R0 R8
0x54260007, // 0010 LDINT R9 8
0x38201009, // 0011 SHL R8 R8 R9
0x301C0E08, // 0012 OR R7 R7 R8
0x00200703, // 0013 ADD R8 R3 K3
0x94200008, // 0014 GETIDX R8 R0 R8
0x5426000F, // 0015 LDINT R9 16
0x38201009, // 0016 SHL R8 R8 R9
0x301C0E08, // 0017 OR R7 R7 R8
0x5C180E00, // 0018 MOVE R6 R7
0x5C1C0400, // 0019 MOVE R7 R2
0x5C200C00, // 001A MOVE R8 R6
0x54260004, // 001B LDINT R9 5
0x7C1C0400, // 001C CALL R7 2
0x00140A07, // 001D ADD R5 R5 R7
0x000C0705, // 001E ADD R3 R3 K5
0x70020017, // 001F JMP #0038
0x001C0704, // 0020 ADD R7 R3 K4
0x141C0E04, // 0021 LT R7 R7 R4
0x781E000D, // 0022 JMPF R7 #0031
0x941C0003, // 0023 GETIDX R7 R0 R3
0x00200704, // 0024 ADD R8 R3 K4
0x94200008, // 0025 GETIDX R8 R0 R8
0x54260007, // 0026 LDINT R9 8
0x38201009, // 0027 SHL R8 R8 R9
0x301C0E08, // 0028 OR R7 R7 R8
0x5C180E00, // 0029 MOVE R6 R7
0x5C1C0400, // 002A MOVE R7 R2
0x5C200C00, // 002B MOVE R8 R6
0x54260003, // 002C LDINT R9 4
0x7C1C0400, // 002D CALL R7 2
0x00140A07, // 002E ADD R5 R5 R7
0x000C0703, // 002F ADD R3 R3 K3
0x70020006, // 0030 JMP #0038
0x94180003, // 0031 GETIDX R6 R0 R3
0x5C1C0400, // 0032 MOVE R7 R2
0x5C200C00, // 0033 MOVE R8 R6
0x58240003, // 0034 LDCONST R9 K3
0x7C1C0400, // 0035 CALL R7 2
0x00140A07, // 0036 ADD R5 R5 R7
0x000C0704, // 0037 ADD R3 R3 K4
0x7001FFCD, // 0038 JMP #0007
0x80040A00, // 0039 RET 1 R5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Base38
********************************************************************/
be_local_class(Matter_Base38,
0,
NULL,
be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(encode, -1), be_const_static_closure(class_Matter_Base38_encode_closure) },
})),
be_str_weak(Matter_Base38)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,829 @@
/* Solidification of Matter_Commissioning_Data.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_PBKDFParamRequest;
/********************************************************************
** Solidified function: parse
********************************************************************/
be_local_closure(class_Matter_PBKDFParamRequest_parse, /* 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[16]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str_weak(parse),
/* K4 */ be_nested_str_weak(initiatorRandom),
/* K5 */ be_nested_str_weak(getsubval),
/* K6 */ be_const_int(1),
/* K7 */ be_nested_str_weak(initiator_session_id),
/* K8 */ be_const_int(2),
/* K9 */ be_nested_str_weak(passcodeId),
/* K10 */ be_const_int(3),
/* K11 */ be_nested_str_weak(hasPBKDFParameters),
/* K12 */ be_nested_str_weak(findsub),
/* K13 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL),
/* K14 */ be_nested_str_weak(findsubval),
/* K15 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL),
}),
be_str_weak(parse),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x4C100000, // 0002 LDNIL R4
0x1C100404, // 0003 EQ R4 R2 R4
0x78120000, // 0004 JMPF R4 #0006
0x58080002, // 0005 LDCONST R2 K2
0x8C100703, // 0006 GETMET R4 R3 K3
0x5C180200, // 0007 MOVE R6 R1
0x5C1C0400, // 0008 MOVE R7 R2
0x7C100600, // 0009 CALL R4 3
0x8C140905, // 000A GETMET R5 R4 K5
0x581C0006, // 000B LDCONST R7 K6
0x7C140400, // 000C CALL R5 2
0x90020805, // 000D SETMBR R0 K4 R5
0x8C140905, // 000E GETMET R5 R4 K5
0x581C0008, // 000F LDCONST R7 K8
0x7C140400, // 0010 CALL R5 2
0x90020E05, // 0011 SETMBR R0 K7 R5
0x8C140905, // 0012 GETMET R5 R4 K5
0x581C000A, // 0013 LDCONST R7 K10
0x7C140400, // 0014 CALL R5 2
0x90021205, // 0015 SETMBR R0 K9 R5
0x8C140905, // 0016 GETMET R5 R4 K5
0x541E0003, // 0017 LDINT R7 4
0x7C140400, // 0018 CALL R5 2
0x90021605, // 0019 SETMBR R0 K11 R5
0x8C14090C, // 001A GETMET R5 R4 K12
0x541E0004, // 001B LDINT R7 5
0x7C140400, // 001C CALL R5 2
0x4C180000, // 001D LDNIL R6
0x20180A06, // 001E NE R6 R5 R6
0x781A0007, // 001F JMPF R6 #0028
0x8C180B0E, // 0020 GETMET R6 R5 K14
0x58200006, // 0021 LDCONST R8 K6
0x7C180400, // 0022 CALL R6 2
0x90021A06, // 0023 SETMBR R0 K13 R6
0x8C180B0E, // 0024 GETMET R6 R5 K14
0x58200008, // 0025 LDCONST R8 K8
0x7C180400, // 0026 CALL R6 2
0x90021E06, // 0027 SETMBR R0 K15 R6
0x80040000, // 0028 RET 1 R0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_PBKDFParamRequest
********************************************************************/
be_local_class(Matter_PBKDFParamRequest,
6,
NULL,
be_nested_map(7,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(initiatorRandom, 6), be_const_var(0) },
{ be_const_key_weak(passcodeId, -1), be_const_var(2) },
{ be_const_key_weak(hasPBKDFParameters, -1), be_const_var(3) },
{ be_const_key_weak(parse, -1), be_const_closure(class_Matter_PBKDFParamRequest_parse_closure) },
{ be_const_key_weak(initiator_session_id, 0), be_const_var(1) },
{ be_const_key_weak(SLEEPY_IDLE_INTERVAL, 3), be_const_var(4) },
{ be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, -1), be_const_var(5) },
})),
be_str_weak(Matter_PBKDFParamRequest)
);
extern const bclass be_class_Matter_PBKDFParamResponse;
/********************************************************************
** Solidified function: tlv2raw
********************************************************************/
be_local_closure(class_Matter_PBKDFParamResponse_tlv2raw, /* name */
be_nested_proto(
11, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[19]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(Matter_TLV_struct),
/* K3 */ be_nested_str_weak(add_TLV),
/* K4 */ be_const_int(1),
/* K5 */ be_nested_str_weak(B1),
/* K6 */ be_nested_str_weak(initiatorRandom),
/* K7 */ be_const_int(2),
/* K8 */ be_nested_str_weak(responderRandom),
/* K9 */ be_const_int(3),
/* K10 */ be_nested_str_weak(U2),
/* K11 */ be_nested_str_weak(responderSessionId),
/* K12 */ be_nested_str_weak(add_struct),
/* K13 */ be_nested_str_weak(U4),
/* K14 */ be_nested_str_weak(pbkdf_parameters_iterations),
/* K15 */ be_nested_str_weak(pbkdf_parameters_salt),
/* K16 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL),
/* K17 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL),
/* K18 */ be_nested_str_weak(tlv2raw),
}),
be_str_weak(tlv2raw),
&be_const_str_solidified,
( &(const binstruction[57]) { /* code */
0xB80A0000, // 0000 GETNGBL R2 K0
0x88080501, // 0001 GETMBR R2 R2 K1
0x8C0C0502, // 0002 GETMET R3 R2 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C100703, // 0004 GETMET R4 R3 K3
0x58180004, // 0005 LDCONST R6 K4
0x881C0505, // 0006 GETMBR R7 R2 K5
0x88200106, // 0007 GETMBR R8 R0 K6
0x7C100800, // 0008 CALL R4 4
0x8C100703, // 0009 GETMET R4 R3 K3
0x58180007, // 000A LDCONST R6 K7
0x881C0505, // 000B GETMBR R7 R2 K5
0x88200108, // 000C GETMBR R8 R0 K8
0x7C100800, // 000D CALL R4 4
0x8C100703, // 000E GETMET R4 R3 K3
0x58180009, // 000F LDCONST R6 K9
0x881C050A, // 0010 GETMBR R7 R2 K10
0x8820010B, // 0011 GETMBR R8 R0 K11
0x7C100800, // 0012 CALL R4 4
0x8C10070C, // 0013 GETMET R4 R3 K12
0x541A0003, // 0014 LDINT R6 4
0x7C100400, // 0015 CALL R4 2
0x8C140903, // 0016 GETMET R5 R4 K3
0x581C0004, // 0017 LDCONST R7 K4
0x8820050D, // 0018 GETMBR R8 R2 K13
0x8824010E, // 0019 GETMBR R9 R0 K14
0x7C140800, // 001A CALL R5 4
0x8C140903, // 001B GETMET R5 R4 K3
0x581C0007, // 001C LDCONST R7 K7
0x88200505, // 001D GETMBR R8 R2 K5
0x8824010F, // 001E GETMBR R9 R0 K15
0x7C140800, // 001F CALL R5 4
0x88140110, // 0020 GETMBR R5 R0 K16
0x4C180000, // 0021 LDNIL R6
0x20140A06, // 0022 NE R5 R5 R6
0x74160003, // 0023 JMPT R5 #0028
0x88140111, // 0024 GETMBR R5 R0 K17
0x4C180000, // 0025 LDNIL R6
0x20140A06, // 0026 NE R5 R5 R6
0x7816000C, // 0027 JMPF R5 #0035
0x8C14070C, // 0028 GETMET R5 R3 K12
0x541E0004, // 0029 LDINT R7 5
0x7C140400, // 002A CALL R5 2
0x8C180B03, // 002B GETMET R6 R5 K3
0x58200004, // 002C LDCONST R8 K4
0x8824050D, // 002D GETMBR R9 R2 K13
0x88280110, // 002E GETMBR R10 R0 K16
0x7C180800, // 002F CALL R6 4
0x8C180B03, // 0030 GETMET R6 R5 K3
0x58200007, // 0031 LDCONST R8 K7
0x8824050D, // 0032 GETMBR R9 R2 K13
0x88280111, // 0033 GETMBR R10 R0 K17
0x7C180800, // 0034 CALL R6 4
0x8C140712, // 0035 GETMET R5 R3 K18
0x5C1C0200, // 0036 MOVE R7 R1
0x7C140400, // 0037 CALL R5 2
0x80040A00, // 0038 RET 1 R5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_PBKDFParamResponse
********************************************************************/
be_local_class(Matter_PBKDFParamResponse,
7,
NULL,
be_nested_map(8,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(pbkdf_parameters_salt, -1), be_const_var(4) },
{ be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, -1), be_const_var(6) },
{ be_const_key_weak(SLEEPY_IDLE_INTERVAL, 1), be_const_var(5) },
{ be_const_key_weak(responderSessionId, -1), be_const_var(2) },
{ be_const_key_weak(pbkdf_parameters_iterations, -1), be_const_var(3) },
{ be_const_key_weak(initiatorRandom, 7), be_const_var(0) },
{ be_const_key_weak(responderRandom, 3), be_const_var(1) },
{ be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_PBKDFParamResponse_tlv2raw_closure) },
})),
be_str_weak(Matter_PBKDFParamResponse)
);
extern const bclass be_class_Matter_Pake1;
/********************************************************************
** Solidified function: parse
********************************************************************/
be_local_closure(class_Matter_Pake1_parse, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(parse),
/* K4 */ be_nested_str_weak(pA),
/* K5 */ be_nested_str_weak(getsubval),
/* K6 */ be_const_int(1),
}),
be_str_weak(parse),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x4C0C0000, // 0000 LDNIL R3
0x1C0C0403, // 0001 EQ R3 R2 R3
0x780E0000, // 0002 JMPF R3 #0004
0x58080000, // 0003 LDCONST R2 K0
0xB80E0200, // 0004 GETNGBL R3 K1
0x880C0702, // 0005 GETMBR R3 R3 K2
0x8C0C0703, // 0006 GETMET R3 R3 K3
0x5C140200, // 0007 MOVE R5 R1
0x5C180400, // 0008 MOVE R6 R2
0x7C0C0600, // 0009 CALL R3 3
0x8C100705, // 000A GETMET R4 R3 K5
0x58180006, // 000B LDCONST R6 K6
0x7C100400, // 000C CALL R4 2
0x90020804, // 000D SETMBR R0 K4 R4
0x80040000, // 000E RET 1 R0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Pake1
********************************************************************/
be_local_class(Matter_Pake1,
1,
NULL,
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(pA, 1), be_const_var(0) },
{ be_const_key_weak(parse, -1), be_const_closure(class_Matter_Pake1_parse_closure) },
})),
be_str_weak(Matter_Pake1)
);
extern const bclass be_class_Matter_Pake2;
/********************************************************************
** Solidified function: tlv2raw
********************************************************************/
be_local_closure(class_Matter_Pake2_tlv2raw, /* name */
be_nested_proto(
9, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(Matter_TLV_struct),
/* K3 */ be_nested_str_weak(add_TLV),
/* K4 */ be_const_int(1),
/* K5 */ be_nested_str_weak(B1),
/* K6 */ be_nested_str_weak(pB),
/* K7 */ be_const_int(2),
/* K8 */ be_nested_str_weak(cB),
/* K9 */ be_nested_str_weak(tlv2raw),
}),
be_str_weak(tlv2raw),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0xB80A0000, // 0000 GETNGBL R2 K0
0x88080501, // 0001 GETMBR R2 R2 K1
0x8C0C0502, // 0002 GETMET R3 R2 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C100703, // 0004 GETMET R4 R3 K3
0x58180004, // 0005 LDCONST R6 K4
0x881C0505, // 0006 GETMBR R7 R2 K5
0x88200106, // 0007 GETMBR R8 R0 K6
0x7C100800, // 0008 CALL R4 4
0x8C100703, // 0009 GETMET R4 R3 K3
0x58180007, // 000A LDCONST R6 K7
0x881C0505, // 000B GETMBR R7 R2 K5
0x88200108, // 000C GETMBR R8 R0 K8
0x7C100800, // 000D CALL R4 4
0x8C100709, // 000E GETMET R4 R3 K9
0x5C180200, // 000F MOVE R6 R1
0x7C100400, // 0010 CALL R4 2
0x80040800, // 0011 RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Pake2
********************************************************************/
be_local_class(Matter_Pake2,
2,
NULL,
be_nested_map(3,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_Pake2_tlv2raw_closure) },
{ be_const_key_weak(cB, -1), be_const_var(1) },
{ be_const_key_weak(pB, 0), be_const_var(0) },
})),
be_str_weak(Matter_Pake2)
);
extern const bclass be_class_Matter_Pake3;
/********************************************************************
** Solidified function: parse
********************************************************************/
be_local_closure(class_Matter_Pake3_parse, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(parse),
/* K4 */ be_nested_str_weak(cA),
/* K5 */ be_nested_str_weak(getsubval),
/* K6 */ be_const_int(1),
}),
be_str_weak(parse),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x4C0C0000, // 0000 LDNIL R3
0x1C0C0403, // 0001 EQ R3 R2 R3
0x780E0000, // 0002 JMPF R3 #0004
0x58080000, // 0003 LDCONST R2 K0
0xB80E0200, // 0004 GETNGBL R3 K1
0x880C0702, // 0005 GETMBR R3 R3 K2
0x8C0C0703, // 0006 GETMET R3 R3 K3
0x5C140200, // 0007 MOVE R5 R1
0x5C180400, // 0008 MOVE R6 R2
0x7C0C0600, // 0009 CALL R3 3
0x8C100705, // 000A GETMET R4 R3 K5
0x58180006, // 000B LDCONST R6 K6
0x7C100400, // 000C CALL R4 2
0x90020804, // 000D SETMBR R0 K4 R4
0x80040000, // 000E RET 1 R0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Pake3
********************************************************************/
be_local_class(Matter_Pake3,
1,
NULL,
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(parse, -1), be_const_closure(class_Matter_Pake3_parse_closure) },
{ be_const_key_weak(cA, -1), be_const_var(0) },
})),
be_str_weak(Matter_Pake3)
);
extern const bclass be_class_Matter_Sigma1;
/********************************************************************
** Solidified function: parse
********************************************************************/
be_local_closure(class_Matter_Sigma1_parse, /* 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[20]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(parse),
/* K4 */ be_nested_str_weak(Msg1),
/* K5 */ be_const_int(2147483647),
/* K6 */ be_nested_str_weak(initiatorRandom),
/* K7 */ be_nested_str_weak(getsubval),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(initiator_session_id),
/* K10 */ be_const_int(2),
/* K11 */ be_nested_str_weak(destinationId),
/* K12 */ be_const_int(3),
/* K13 */ be_nested_str_weak(initiatorEphPubKey),
/* K14 */ be_nested_str_weak(findsub),
/* K15 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL),
/* K16 */ be_nested_str_weak(findsubval),
/* K17 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL),
/* K18 */ be_nested_str_weak(resumptionID),
/* K19 */ be_nested_str_weak(initiatorResumeMIC),
}),
be_str_weak(parse),
&be_const_str_solidified,
( &(const binstruction[52]) { /* code */
0x4C0C0000, // 0000 LDNIL R3
0x1C0C0403, // 0001 EQ R3 R2 R3
0x780E0000, // 0002 JMPF R3 #0004
0x58080000, // 0003 LDCONST R2 K0
0xB80E0200, // 0004 GETNGBL R3 K1
0x880C0702, // 0005 GETMBR R3 R3 K2
0x8C0C0703, // 0006 GETMET R3 R3 K3
0x5C140200, // 0007 MOVE R5 R1
0x5C180400, // 0008 MOVE R6 R2
0x7C0C0600, // 0009 CALL R3 3
0x40100505, // 000A CONNECT R4 R2 K5
0x94100204, // 000B GETIDX R4 R1 R4
0x90020804, // 000C SETMBR R0 K4 R4
0x8C100707, // 000D GETMET R4 R3 K7
0x58180008, // 000E LDCONST R6 K8
0x7C100400, // 000F CALL R4 2
0x90020C04, // 0010 SETMBR R0 K6 R4
0x8C100707, // 0011 GETMET R4 R3 K7
0x5818000A, // 0012 LDCONST R6 K10
0x7C100400, // 0013 CALL R4 2
0x90021204, // 0014 SETMBR R0 K9 R4
0x8C100707, // 0015 GETMET R4 R3 K7
0x5818000C, // 0016 LDCONST R6 K12
0x7C100400, // 0017 CALL R4 2
0x90021604, // 0018 SETMBR R0 K11 R4
0x8C100707, // 0019 GETMET R4 R3 K7
0x541A0003, // 001A LDINT R6 4
0x7C100400, // 001B CALL R4 2
0x90021A04, // 001C SETMBR R0 K13 R4
0x8C10070E, // 001D GETMET R4 R3 K14
0x541A0004, // 001E LDINT R6 5
0x7C100400, // 001F CALL R4 2
0x4C140000, // 0020 LDNIL R5
0x20140805, // 0021 NE R5 R4 R5
0x78160007, // 0022 JMPF R5 #002B
0x8C140910, // 0023 GETMET R5 R4 K16
0x581C0008, // 0024 LDCONST R7 K8
0x7C140400, // 0025 CALL R5 2
0x90021E05, // 0026 SETMBR R0 K15 R5
0x8C140910, // 0027 GETMET R5 R4 K16
0x581C000A, // 0028 LDCONST R7 K10
0x7C140400, // 0029 CALL R5 2
0x90022205, // 002A SETMBR R0 K17 R5
0x8C140710, // 002B GETMET R5 R3 K16
0x541E0005, // 002C LDINT R7 6
0x7C140400, // 002D CALL R5 2
0x90022405, // 002E SETMBR R0 K18 R5
0x8C140710, // 002F GETMET R5 R3 K16
0x541E0006, // 0030 LDINT R7 7
0x7C140400, // 0031 CALL R5 2
0x90022605, // 0032 SETMBR R0 K19 R5
0x80040000, // 0033 RET 1 R0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Sigma1
********************************************************************/
be_local_class(Matter_Sigma1,
9,
NULL,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, -1), be_const_var(5) },
{ be_const_key_weak(Msg1, -1), be_const_var(8) },
{ be_const_key_weak(parse, 6), be_const_closure(class_Matter_Sigma1_parse_closure) },
{ be_const_key_weak(initiatorRandom, -1), be_const_var(0) },
{ be_const_key_weak(SLEEPY_IDLE_INTERVAL, 7), be_const_var(4) },
{ be_const_key_weak(initiatorEphPubKey, -1), be_const_var(3) },
{ be_const_key_weak(initiatorResumeMIC, -1), be_const_var(7) },
{ be_const_key_weak(resumptionID, -1), be_const_var(6) },
{ be_const_key_weak(destinationId, -1), be_const_var(2) },
{ be_const_key_weak(initiator_session_id, 1), be_const_var(1) },
})),
be_str_weak(Matter_Sigma1)
);
extern const bclass be_class_Matter_Sigma2;
/********************************************************************
** Solidified function: tlv2raw
********************************************************************/
be_local_closure(class_Matter_Sigma2_tlv2raw, /* name */
be_nested_proto(
10, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[18]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(Matter_TLV_struct),
/* K3 */ be_nested_str_weak(add_TLV),
/* K4 */ be_const_int(1),
/* K5 */ be_nested_str_weak(B1),
/* K6 */ be_nested_str_weak(responderRandom),
/* K7 */ be_const_int(2),
/* K8 */ be_nested_str_weak(U2),
/* K9 */ be_nested_str_weak(responderSessionId),
/* K10 */ be_const_int(3),
/* K11 */ be_nested_str_weak(responderEphPubKey),
/* K12 */ be_nested_str_weak(encrypted2),
/* K13 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL),
/* K14 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL),
/* K15 */ be_nested_str_weak(add_struct),
/* K16 */ be_nested_str_weak(U4),
/* K17 */ be_nested_str_weak(tlv2raw),
}),
be_str_weak(tlv2raw),
&be_const_str_solidified,
( &(const binstruction[49]) { /* code */
0xB80A0000, // 0000 GETNGBL R2 K0
0x88080501, // 0001 GETMBR R2 R2 K1
0x8C0C0502, // 0002 GETMET R3 R2 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C100703, // 0004 GETMET R4 R3 K3
0x58180004, // 0005 LDCONST R6 K4
0x881C0505, // 0006 GETMBR R7 R2 K5
0x88200106, // 0007 GETMBR R8 R0 K6
0x7C100800, // 0008 CALL R4 4
0x8C100703, // 0009 GETMET R4 R3 K3
0x58180007, // 000A LDCONST R6 K7
0x881C0508, // 000B GETMBR R7 R2 K8
0x88200109, // 000C GETMBR R8 R0 K9
0x7C100800, // 000D CALL R4 4
0x8C100703, // 000E GETMET R4 R3 K3
0x5818000A, // 000F LDCONST R6 K10
0x881C0505, // 0010 GETMBR R7 R2 K5
0x8820010B, // 0011 GETMBR R8 R0 K11
0x7C100800, // 0012 CALL R4 4
0x8C100703, // 0013 GETMET R4 R3 K3
0x541A0003, // 0014 LDINT R6 4
0x881C0505, // 0015 GETMBR R7 R2 K5
0x8820010C, // 0016 GETMBR R8 R0 K12
0x7C100800, // 0017 CALL R4 4
0x8810010D, // 0018 GETMBR R4 R0 K13
0x4C140000, // 0019 LDNIL R5
0x20100805, // 001A NE R4 R4 R5
0x74120003, // 001B JMPT R4 #0020
0x8810010E, // 001C GETMBR R4 R0 K14
0x4C140000, // 001D LDNIL R5
0x20100805, // 001E NE R4 R4 R5
0x7812000C, // 001F JMPF R4 #002D
0x8C10070F, // 0020 GETMET R4 R3 K15
0x541A0004, // 0021 LDINT R6 5
0x7C100400, // 0022 CALL R4 2
0x8C140903, // 0023 GETMET R5 R4 K3
0x581C0004, // 0024 LDCONST R7 K4
0x88200510, // 0025 GETMBR R8 R2 K16
0x8824010D, // 0026 GETMBR R9 R0 K13
0x7C140800, // 0027 CALL R5 4
0x8C140903, // 0028 GETMET R5 R4 K3
0x581C0007, // 0029 LDCONST R7 K7
0x88200510, // 002A GETMBR R8 R2 K16
0x8824010E, // 002B GETMBR R9 R0 K14
0x7C140800, // 002C CALL R5 4
0x8C100711, // 002D GETMET R4 R3 K17
0x5C180200, // 002E MOVE R6 R1
0x7C100400, // 002F CALL R4 2
0x80040800, // 0030 RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Sigma2
********************************************************************/
be_local_class(Matter_Sigma2,
6,
NULL,
be_nested_map(7,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_Sigma2_tlv2raw_closure) },
{ be_const_key_weak(responderEphPubKey, 3), be_const_var(2) },
{ be_const_key_weak(responderSessionId, -1), be_const_var(1) },
{ be_const_key_weak(SLEEPY_IDLE_INTERVAL, -1), be_const_var(4) },
{ be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, 6), be_const_var(5) },
{ be_const_key_weak(responderRandom, 1), be_const_var(0) },
{ be_const_key_weak(encrypted2, -1), be_const_var(3) },
})),
be_str_weak(Matter_Sigma2)
);
extern const bclass be_class_Matter_Sigma2Resume;
/********************************************************************
** Solidified function: tlv2raw
********************************************************************/
be_local_closure(class_Matter_Sigma2Resume_tlv2raw, /* name */
be_nested_proto(
10, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[17]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(Matter_TLV_struct),
/* K3 */ be_nested_str_weak(add_TLV),
/* K4 */ be_const_int(1),
/* K5 */ be_nested_str_weak(B1),
/* K6 */ be_nested_str_weak(resumptionID),
/* K7 */ be_const_int(2),
/* K8 */ be_nested_str_weak(sigma2ResumeMIC),
/* K9 */ be_const_int(3),
/* K10 */ be_nested_str_weak(U2),
/* K11 */ be_nested_str_weak(responderSessionID),
/* K12 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL),
/* K13 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL),
/* K14 */ be_nested_str_weak(add_struct),
/* K15 */ be_nested_str_weak(U4),
/* K16 */ be_nested_str_weak(tlv2raw),
}),
be_str_weak(tlv2raw),
&be_const_str_solidified,
( &(const binstruction[44]) { /* code */
0xB80A0000, // 0000 GETNGBL R2 K0
0x88080501, // 0001 GETMBR R2 R2 K1
0x8C0C0502, // 0002 GETMET R3 R2 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C100703, // 0004 GETMET R4 R3 K3
0x58180004, // 0005 LDCONST R6 K4
0x881C0505, // 0006 GETMBR R7 R2 K5
0x88200106, // 0007 GETMBR R8 R0 K6
0x7C100800, // 0008 CALL R4 4
0x8C100703, // 0009 GETMET R4 R3 K3
0x58180007, // 000A LDCONST R6 K7
0x881C0505, // 000B GETMBR R7 R2 K5
0x88200108, // 000C GETMBR R8 R0 K8
0x7C100800, // 000D CALL R4 4
0x8C100703, // 000E GETMET R4 R3 K3
0x58180009, // 000F LDCONST R6 K9
0x881C050A, // 0010 GETMBR R7 R2 K10
0x8820010B, // 0011 GETMBR R8 R0 K11
0x7C100800, // 0012 CALL R4 4
0x8810010C, // 0013 GETMBR R4 R0 K12
0x4C140000, // 0014 LDNIL R5
0x20100805, // 0015 NE R4 R4 R5
0x74120003, // 0016 JMPT R4 #001B
0x8810010D, // 0017 GETMBR R4 R0 K13
0x4C140000, // 0018 LDNIL R5
0x20100805, // 0019 NE R4 R4 R5
0x7812000C, // 001A JMPF R4 #0028
0x8C10070E, // 001B GETMET R4 R3 K14
0x541A0003, // 001C LDINT R6 4
0x7C100400, // 001D CALL R4 2
0x8C140903, // 001E GETMET R5 R4 K3
0x581C0004, // 001F LDCONST R7 K4
0x8820050F, // 0020 GETMBR R8 R2 K15
0x8824010C, // 0021 GETMBR R9 R0 K12
0x7C140800, // 0022 CALL R5 4
0x8C140903, // 0023 GETMET R5 R4 K3
0x581C0007, // 0024 LDCONST R7 K7
0x8820050F, // 0025 GETMBR R8 R2 K15
0x8824010D, // 0026 GETMBR R9 R0 K13
0x7C140800, // 0027 CALL R5 4
0x8C100710, // 0028 GETMET R4 R3 K16
0x5C180200, // 0029 MOVE R6 R1
0x7C100400, // 002A CALL R4 2
0x80040800, // 002B RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Sigma2Resume
********************************************************************/
be_local_class(Matter_Sigma2Resume,
5,
NULL,
be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(SLEEPY_IDLE_INTERVAL, 3), be_const_var(3) },
{ be_const_key_weak(resumptionID, -1), be_const_var(0) },
{ be_const_key_weak(sigma2ResumeMIC, -1), be_const_var(1) },
{ be_const_key_weak(responderSessionID, 1), be_const_var(2) },
{ be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, -1), be_const_var(4) },
{ be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_Sigma2Resume_tlv2raw_closure) },
})),
be_str_weak(Matter_Sigma2Resume)
);
extern const bclass be_class_Matter_Sigma3;
/********************************************************************
** Solidified function: parse
********************************************************************/
be_local_closure(class_Matter_Sigma3_parse, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(parse),
/* K4 */ be_nested_str_weak(Msg3),
/* K5 */ be_const_int(2147483647),
/* K6 */ be_nested_str_weak(TBEData3Encrypted),
/* K7 */ be_nested_str_weak(getsubval),
/* K8 */ be_const_int(1),
}),
be_str_weak(parse),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x4C0C0000, // 0000 LDNIL R3
0x1C0C0403, // 0001 EQ R3 R2 R3
0x780E0000, // 0002 JMPF R3 #0004
0x58080000, // 0003 LDCONST R2 K0
0xB80E0200, // 0004 GETNGBL R3 K1
0x880C0702, // 0005 GETMBR R3 R3 K2
0x8C0C0703, // 0006 GETMET R3 R3 K3
0x5C140200, // 0007 MOVE R5 R1
0x5C180400, // 0008 MOVE R6 R2
0x7C0C0600, // 0009 CALL R3 3
0x40100505, // 000A CONNECT R4 R2 K5
0x94100204, // 000B GETIDX R4 R1 R4
0x90020804, // 000C SETMBR R0 K4 R4
0x8C100707, // 000D GETMET R4 R3 K7
0x58180008, // 000E LDCONST R6 K8
0x7C100400, // 000F CALL R4 2
0x90020C04, // 0010 SETMBR R0 K6 R4
0x80040000, // 0011 RET 1 R0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Sigma3
********************************************************************/
be_local_class(Matter_Sigma3,
2,
NULL,
be_nested_map(3,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(TBEData3Encrypted, 2), be_const_var(0) },
{ be_const_key_weak(parse, -1), be_const_closure(class_Matter_Sigma3_parse_closure) },
{ be_const_key_weak(Msg3, -1), be_const_var(1) },
})),
be_str_weak(Matter_Sigma3)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,215 @@
/* Solidification of Matter_Control_Message.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: parse_MsgCounterSyncRsp
********************************************************************/
be_local_closure(class_Matter_Control_Message_parse_MsgCounterSyncRsp, /* name */
be_nested_proto(
8, /* 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_Control_Message, /* shared constants */
be_str_weak(parse_MsgCounterSyncRsp),
&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
0x88180304, // 0004 GETMBR R6 R1 K4
0x40180D05, // 0005 CONNECT R6 R6 K5
0x881C0303, // 0006 GETMBR R7 R1 K3
0x94180E06, // 0007 GETIDX R6 R7 R6
0x8C180D06, // 0008 GETMET R6 R6 K6
0x7C180200, // 0009 CALL R6 1
0x7C100400, // 000A CALL R4 2
0x58140007, // 000B LDCONST R5 K7
0x7C0C0400, // 000C CALL R3 2
0x500C0000, // 000D LDBOOL R3 0 0
0x80040600, // 000E RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_MsgCounterSyncReq
********************************************************************/
be_local_closure(class_Matter_Control_Message_parse_MsgCounterSyncReq, /* name */
be_nested_proto(
8, /* 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_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
0x58140008, // 0003 LDCONST R5 K8
0x88180304, // 0004 GETMBR R6 R1 K4
0x40180D05, // 0005 CONNECT R6 R6 K5
0x881C0303, // 0006 GETMBR R7 R1 K3
0x94180E06, // 0007 GETIDX R6 R7 R6
0x8C180D06, // 0008 GETMET R6 R6 K6
0x7C180200, // 0009 CALL R6 1
0x7C100400, // 000A CALL R4 2
0x58140007, // 000B LDCONST R5 K7
0x7C0C0400, // 000C CALL R3 2
0x500C0000, // 000D LDBOOL R3 0 0
0x80040600, // 000E RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Control_Message_init, /* name */
be_nested_proto(
4, /* 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_Control_Message, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
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
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: process_incoming_control_message
********************************************************************/
be_local_closure(class_Matter_Control_Message_process_incoming_control_message, /* name */
be_nested_proto(
6, /* 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_Control_Message, /* shared constants */
be_str_weak(process_incoming_control_message),
&be_const_str_solidified,
( &(const binstruction[35]) { /* code */
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
0x000E1803, // 0005 ADD R3 K12 R3
0x5810000F, // 0006 LDCONST R4 K15
0x7C080400, // 0007 CALL R2 2
0x88080310, // 0008 GETMBR R2 R1 K16
0x1C080511, // 0009 EQ R2 R2 K17
0x780A0004, // 000A JMPF R2 #0010
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
0x88080310, // 0010 GETMBR R2 R1 K16
0x1C080513, // 0011 EQ R2 R2 K19
0x780A0004, // 0012 JMPF R2 #0018
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
0xB80A0200, // 0018 GETNGBL R2 K1
0x600C0018, // 0019 GETGBL R3 G24
0x58100015, // 001A LDCONST R4 K21
0x88140310, // 001B GETMBR R5 R1 K16
0x7C0C0400, // 001C CALL R3 2
0x58100007, // 001D LDCONST R4 K7
0x7C080400, // 001E CALL R2 2
0x50080000, // 001F LDBOOL R2 0 0
0x80040400, // 0020 RET 1 R2
0x50080000, // 0021 LDBOOL R2 0 0
0x80040400, // 0022 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Control_Message
********************************************************************/
be_local_class(Matter_Control_Message,
2,
NULL,
be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(parse_MsgCounterSyncRsp, -1), be_const_closure(class_Matter_Control_Message_parse_MsgCounterSyncRsp_closure) },
{ be_const_key_weak(responder, 2), be_const_var(0) },
{ be_const_key_weak(parse_MsgCounterSyncReq, -1), be_const_closure(class_Matter_Control_Message_parse_MsgCounterSyncReq_closure) },
{ be_const_key_weak(init, 4), be_const_closure(class_Matter_Control_Message_init_closure) },
{ be_const_key_weak(device, -1), be_const_var(1) },
{ be_const_key_weak(process_incoming_control_message, -1), be_const_closure(class_Matter_Control_Message_process_incoming_control_message_closure) },
})),
be_str_weak(Matter_Control_Message)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,734 @@
/* Solidification of Matter_Expirable.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: before_remove
********************************************************************/
be_local_closure(class_Matter_Expirable_before_remove, /* name */
be_nested_proto(
1, /* 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_Expirable, /* shared constants */
be_str_weak(before_remove),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_no_expiration
********************************************************************/
be_local_closure(class_Matter_Expirable_set_no_expiration, /* name */
be_nested_proto(
2, /* 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_Expirable, /* shared constants */
be_str_weak(set_no_expiration),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x4C040000, // 0000 LDNIL R1
0x90020001, // 0001 SETMBR R0 K0 R1
0x80000000, // 0002 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Expirable_init, /* name */
be_nested_proto(
2, /* 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_Expirable, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x50040000, // 0000 LDBOOL R1 0 0
0x90020201, // 0001 SETMBR R0 K1 R1
0x80000000, // 0002 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_expire_time
********************************************************************/
be_local_closure(class_Matter_Expirable_set_expire_time, /* name */
be_nested_proto(
4, /* 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_Expirable, /* shared constants */
be_str_weak(set_expire_time),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x60080009, // 0000 GETGBL R2 G9
0x5C0C0200, // 0001 MOVE R3 R1
0x7C080200, // 0002 CALL R2 1
0x90020002, // 0003 SETMBR R0 K0 R2
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: has_expired
********************************************************************/
be_local_closure(class_Matter_Expirable_has_expired, /* name */
be_nested_proto(
4, /* 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_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
0xB80A0400, // 0003 GETNGBL R2 K2
0x8C080503, // 0004 GETMET R2 R2 K3
0x7C080200, // 0005 CALL R2 1
0x5C040400, // 0006 MOVE R1 R2
0x88080100, // 0007 GETMBR R2 R0 K0
0x4C0C0000, // 0008 LDNIL R3
0x20080403, // 0009 NE R2 R2 R3
0x780A0002, // 000A JMPF R2 #000E
0x88080100, // 000B GETMBR R2 R0 K0
0x28080202, // 000C GE R2 R1 R2
0x80040400, // 000D RET 1 R2
0x50080000, // 000E LDBOOL R2 0 0
0x80040400, // 000F RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_parent_list
********************************************************************/
be_local_closure(class_Matter_Expirable_set_parent_list, /* name */
be_nested_proto(
2, /* 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_Expirable, /* shared constants */
be_str_weak(set_parent_list),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020801, // 0000 SETMBR R0 K4 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: hydrate_post
********************************************************************/
be_local_closure(class_Matter_Expirable_hydrate_post, /* name */
be_nested_proto(
1, /* 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_Expirable, /* shared constants */
be_str_weak(hydrate_post),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_expire_in_seconds
********************************************************************/
be_local_closure(class_Matter_Expirable_set_expire_in_seconds, /* name */
be_nested_proto(
6, /* 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_Expirable, /* shared constants */
be_str_weak(set_expire_in_seconds),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x4C0C0000, // 0000 LDNIL R3
0x1C0C0203, // 0001 EQ R3 R1 R3
0x780E0000, // 0002 JMPF R3 #0004
0x80000600, // 0003 RET 0
0x4C0C0000, // 0004 LDNIL R3
0x1C0C0403, // 0005 EQ R3 R2 R3
0x780E0003, // 0006 JMPF R3 #000B
0xB80E0400, // 0007 GETNGBL R3 K2
0x8C0C0703, // 0008 GETMET R3 R3 K3
0x7C0C0200, // 0009 CALL R3 1
0x5C080600, // 000A MOVE R2 R3
0x8C0C0105, // 000B GETMET R3 R0 K5
0x00140401, // 000C ADD R5 R2 R1
0x7C0C0400, // 000D CALL R3 2
0x80000000, // 000E RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_parent_list
********************************************************************/
be_local_closure(class_Matter_Expirable_get_parent_list, /* name */
be_nested_proto(
2, /* 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_Expirable, /* shared constants */
be_str_weak(get_parent_list),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88040104, // 0000 GETMBR R1 R0 K4
0x80040200, // 0001 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: does_persist
********************************************************************/
be_local_closure(class_Matter_Expirable_does_persist, /* name */
be_nested_proto(
2, /* 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_Expirable, /* shared constants */
be_str_weak(does_persist),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88040101, // 0000 GETMBR R1 R0 K1
0x80040200, // 0001 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_persist
********************************************************************/
be_local_closure(class_Matter_Expirable_set_persist, /* name */
be_nested_proto(
4, /* 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_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
0x90020202, // 0003 SETMBR R0 K1 R2
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: persist_pre
********************************************************************/
be_local_closure(class_Matter_Expirable_persist_pre, /* name */
be_nested_proto(
1, /* 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_Expirable, /* shared constants */
be_str_weak(persist_pre),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: persist_post
********************************************************************/
be_local_closure(class_Matter_Expirable_persist_post, /* name */
be_nested_proto(
1, /* 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_Expirable, /* shared constants */
be_str_weak(persist_post),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Expirable
********************************************************************/
be_local_class(Matter_Expirable,
3,
NULL,
be_nested_map(16,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(_expiration, -1), be_const_var(2) },
{ be_const_key_weak(set_no_expiration, 9), be_const_closure(class_Matter_Expirable_set_no_expiration_closure) },
{ be_const_key_weak(persist_post, -1), be_const_closure(class_Matter_Expirable_persist_post_closure) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_Expirable_init_closure) },
{ be_const_key_weak(has_expired, -1), be_const_closure(class_Matter_Expirable_has_expired_closure) },
{ be_const_key_weak(set_expire_time, 6), be_const_closure(class_Matter_Expirable_set_expire_time_closure) },
{ be_const_key_weak(set_parent_list, 4), be_const_closure(class_Matter_Expirable_set_parent_list_closure) },
{ be_const_key_weak(hydrate_post, -1), be_const_closure(class_Matter_Expirable_hydrate_post_closure) },
{ be_const_key_weak(set_expire_in_seconds, -1), be_const_closure(class_Matter_Expirable_set_expire_in_seconds_closure) },
{ be_const_key_weak(get_parent_list, 8), be_const_closure(class_Matter_Expirable_get_parent_list_closure) },
{ be_const_key_weak(_list, -1), be_const_var(0) },
{ be_const_key_weak(does_persist, -1), be_const_closure(class_Matter_Expirable_does_persist_closure) },
{ be_const_key_weak(set_persist, -1), be_const_closure(class_Matter_Expirable_set_persist_closure) },
{ be_const_key_weak(persist_pre, -1), be_const_closure(class_Matter_Expirable_persist_pre_closure) },
{ be_const_key_weak(_persist, 2), be_const_var(1) },
{ be_const_key_weak(before_remove, 0), be_const_closure(class_Matter_Expirable_before_remove_closure) },
})),
be_str_weak(Matter_Expirable)
);
// compact class 'Matter_Expirable_list' ktab size: 15, total: 25 (saved 80 bytes)
static const bvalue be_ktab_class_Matter_Expirable_list[15] = {
/* 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_nested_str_weak(has_expired),
/* K13 */ be_nested_str_weak(iter),
/* K14 */ be_nested_str_weak(setitem),
};
extern const bclass be_class_Matter_Expirable_list;
/********************************************************************
** Solidified function: count_persistables
********************************************************************/
be_local_closure(class_Matter_Expirable_list_count_persistables, /* 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_Expirable_list, /* shared constants */
be_str_weak(count_persistables),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0x58080000, // 0001 LDCONST R2 K0
0x600C000C, // 0002 GETGBL R3 G12
0x5C100000, // 0003 MOVE R4 R0
0x7C0C0200, // 0004 CALL R3 1
0x140C0403, // 0005 LT R3 R2 R3
0x780E0005, // 0006 JMPF R3 #000D
0x940C0002, // 0007 GETIDX R3 R0 R2
0x880C0701, // 0008 GETMBR R3 R3 K1
0x780E0000, // 0009 JMPF R3 #000B
0x00040302, // 000A ADD R1 R1 K2
0x00080502, // 000B ADD R2 R2 K2
0x7001FFF4, // 000C JMP #0002
0x80040200, // 000D RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: remove
********************************************************************/
be_local_closure(class_Matter_Expirable_list_remove, /* name */
be_nested_proto(
5, /* 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_Expirable_list, /* shared constants */
be_str_weak(remove),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x20080202, // 0001 NE R2 R1 R2
0x780A0010, // 0002 JMPF R2 #0014
0x28080300, // 0003 GE R2 R1 K0
0x780A0007, // 0004 JMPF R2 #000D
0x6008000C, // 0005 GETGBL R2 G12
0x5C0C0000, // 0006 MOVE R3 R0
0x7C080200, // 0007 CALL R2 1
0x14080202, // 0008 LT R2 R1 R2
0x780A0002, // 0009 JMPF R2 #000D
0x94080001, // 000A GETIDX R2 R0 R1
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
0x8C080504, // 0010 GETMET R2 R2 K4
0x5C100200, // 0011 MOVE R4 R1
0x7C080400, // 0012 CALL R2 2
0x80040400, // 0013 RET 1 R2
0x80000000, // 0014 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: push
********************************************************************/
be_local_closure(class_Matter_Expirable_list_push, /* name */
be_nested_proto(
5, /* 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_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
0xB8120A00, // 0002 GETNGBL R4 K5
0x88100906, // 0003 GETMBR R4 R4 K6
0x7C080400, // 0004 CALL R2 2
0x740A0000, // 0005 JMPT R2 #0007
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
0x8C08050A, // 000D GETMET R2 R2 K10
0x5C100200, // 000E MOVE R4 R1
0x7C080400, // 000F CALL R2 2
0x80040400, // 0010 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: every_second
********************************************************************/
be_local_closure(class_Matter_Expirable_list_every_second, /* 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_Matter_Expirable_list, /* shared constants */
be_str_weak(every_second),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x8C04010B, // 0000 GETMET R1 R0 K11
0x7C040200, // 0001 CALL R1 1
0x80000000, // 0002 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: remove_expired
********************************************************************/
be_local_closure(class_Matter_Expirable_list_remove_expired, /* 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_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
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
0x8C0C070C, // 0008 GETMET R3 R3 K12
0x7C0C0200, // 0009 CALL R3 1
0x780E0007, // 000A JMPF R3 #0013
0x940C0002, // 000B GETIDX R3 R0 R2
0x880C0701, // 000C GETMBR R3 R3 K1
0x780E0000, // 000D JMPF R3 #000F
0x50040200, // 000E LDBOOL R1 1 0
0x8C0C0104, // 000F GETMET R3 R0 K4
0x5C140400, // 0010 MOVE R5 R2
0x7C0C0400, // 0011 CALL R3 2
0x70020000, // 0012 JMP #0014
0x00080502, // 0013 ADD R2 R2 K2
0x7001FFEC, // 0014 JMP #0002
0x80040200, // 0015 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: persistables
********************************************************************/
be_local_closure(class_Matter_Expirable_list_persistables, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
be_nested_proto(
2, /* nstack */
0, /* argc */
0, /* varg */
1, /* has upvals */
( &(const bupvaldesc[ 1]) { /* upvals */
be_local_const_upval(1, 1),
}),
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(_persist),
}),
be_str_weak(_anonymous_),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x50000200, // 0000 LDBOOL R0 1 0
0x78020005, // 0001 JMPF R0 #0008
0x68000000, // 0002 GETUPV R0 U0
0x7C000000, // 0003 CALL R0 0
0x88040100, // 0004 GETMBR R1 R0 K0
0x78060000, // 0005 JMPF R1 #0007
0x80040000, // 0006 RET 1 R0
0x7001FFF7, // 0007 JMP #0000
0x80000000, // 0008 RET 0
})
),
}),
1, /* has constants */
&be_ktab_class_Matter_Expirable_list, /* shared constants */
be_str_weak(persistables),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C04010D, // 0000 GETMET R1 R0 K13
0x7C040200, // 0001 CALL R1 1
0x84080000, // 0002 CLOSURE R2 P0
0xA0000000, // 0003 CLOSE R0
0x80040400, // 0004 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: setitem
********************************************************************/
be_local_closure(class_Matter_Expirable_list_setitem, /* name */
be_nested_proto(
7, /* 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_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
0xB8160A00, // 0002 GETNGBL R5 K5
0x88140B06, // 0003 GETMBR R5 R5 K6
0x7C0C0400, // 0004 CALL R3 2
0x740E0000, // 0005 JMPT R3 #0007
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
0x8C0C070E, // 000D GETMET R3 R3 K14
0x5C140200, // 000E MOVE R5 R1
0x5C180400, // 000F MOVE R6 R2
0x7C0C0600, // 0010 CALL R3 3
0x80040600, // 0011 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Expirable_list
********************************************************************/
extern const bclass be_class_list;
be_local_class(Matter_Expirable_list,
0,
&be_class_list,
be_nested_map(7,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(count_persistables, 4), be_const_closure(class_Matter_Expirable_list_count_persistables_closure) },
{ be_const_key_weak(remove, -1), be_const_closure(class_Matter_Expirable_list_remove_closure) },
{ be_const_key_weak(push, 5), be_const_closure(class_Matter_Expirable_list_push_closure) },
{ be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Expirable_list_every_second_closure) },
{ be_const_key_weak(setitem, 6), be_const_closure(class_Matter_Expirable_list_setitem_closure) },
{ be_const_key_weak(persistables, -1), be_const_closure(class_Matter_Expirable_list_persistables_closure) },
{ be_const_key_weak(remove_expired, -1), be_const_closure(class_Matter_Expirable_list_remove_expired_closure) },
})),
be_str_weak(Matter_Expirable_list)
);
/********************************************************************/
/* End of solidification */

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,712 @@
/* Solidification of Matter_MessageHandler.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_MessageHandler_init, /* name */
be_nested_proto(
5, /* 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_MessageHandler, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0xB80A0400, // 0001 GETNGBL R2 K2
0x8C080503, // 0002 GETMET R2 R2 K3
0x5C100000, // 0003 MOVE R4 R0
0x7C080400, // 0004 CALL R2 2
0x90020202, // 0005 SETMBR R0 K1 R2
0xB80A0400, // 0006 GETNGBL R2 K2
0x8C080505, // 0007 GETMET R2 R2 K5
0x5C100200, // 0008 MOVE R4 R1
0x7C080400, // 0009 CALL R2 2
0x90020802, // 000A SETMBR R0 K4 R2
0xB80A0400, // 000B GETNGBL R2 K2
0x8C080507, // 000C GETMET R2 R2 K7
0x5C100000, // 000D MOVE R4 R0
0x7C080400, // 000E CALL R2 2
0x90020C02, // 000F SETMBR R0 K6 R2
0x60080015, // 0010 GETGBL R2 G21
0x540E000F, // 0011 LDINT R3 16
0x7C080200, // 0012 CALL R2 1
0x90021002, // 0013 SETMBR R0 K8 R2
0x80000000, // 0014 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: send_encrypted_ack
********************************************************************/
be_local_closure(class_Matter_MessageHandler_send_encrypted_ack, /* 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_MessageHandler, /* shared constants */
be_str_weak(send_encrypted_ack),
&be_const_str_solidified,
( &(const binstruction[32]) { /* code */
0x880C0309, // 0000 GETMBR R3 R1 K9
0x780E001C, // 0001 JMPF R3 #001F
0x8C0C030A, // 0002 GETMET R3 R1 K10
0x5C140400, // 0003 MOVE R5 R2
0x7C0C0400, // 0004 CALL R3 2
0x8C10070B, // 0005 GETMET R4 R3 K11
0x7C100200, // 0006 CALL R4 1
0x8C10070C, // 0007 GETMET R4 R3 K12
0x7C100200, // 0008 CALL R4 1
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
0xB8121E00, // 000E GETNGBL R4 K15
0x60140018, // 000F GETGBL R5 G24
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
0x58280015, // 0016 LDCONST R10 K21
0x70020000, // 0017 JMP #0019
0x58280016, // 0018 LDCONST R10 K22
0x7C140A00, // 0019 CALL R5 5
0x541A0003, // 001A LDINT R6 4
0x7C100400, // 001B CALL R4 2
0x8C100117, // 001C GETMET R4 R0 K23
0x5C180600, // 001D MOVE R6 R3
0x7C100400, // 001E CALL R4 2
0x80000000, // 001F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: msg_received
********************************************************************/
be_local_closure(class_Matter_MessageHandler_msg_received, /* name */
be_nested_proto(
18, /* 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_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
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
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
0x881C0B1A, // 0010 GETMBR R7 R5 K26
0x781E000C, // 0011 JMPF R7 #001F
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
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
0x881C0B12, // 001F GETMBR R7 R5 K18
0x1C1C0F1F, // 0020 EQ R7 R7 K31
0x781E007A, // 0021 JMPF R7 #009D
0x881C0B20, // 0022 GETMBR R7 R5 K32
0x1C1C0F1F, // 0023 EQ R7 R7 K31
0x781E0077, // 0024 JMPF R7 #009D
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
0x901E4202, // 002C SETMBR R7 K33 R2
0x780E0000, // 002D JMPF R3 #002F
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
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
0xB8221E00, // 003C GETNGBL R8 K15
0x60240018, // 003D GETGBL R9 G24
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
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
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
0x88200100, // 0053 GETMBR R8 R0 K0
0x8C20112A, // 0054 GETMET R8 R8 K42
0x5C280A00, // 0055 MOVE R10 R5
0x7C200400, // 0056 CALL R8 2
0x88200B2B, // 0057 GETMBR R8 R5 K43
0x5426000F, // 0058 LDINT R9 16
0x20201009, // 0059 NE R8 R8 R9
0x7822001A, // 005A JMPF R8 #0076
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
0x5828002D, // 0062 LDCONST R10 K45
0x882C0B2B, // 0063 GETMBR R11 R5 K43
0x7C240400, // 0064 CALL R9 2
0x5C201200, // 0065 MOVE R8 R9
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
0xB8261E00, // 006B GETNGBL R9 K15
0x60280018, // 006C GETGBL R10 G24
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
0x582C002E, // 0073 LDCONST R11 K46
0x7C240400, // 0074 CALL R9 2
0x70020017, // 0075 JMP #008E
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
0xB8221E00, // 007B GETNGBL R8 K15
0x60240018, // 007C GETGBL R9 G24
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
0x58340031, // 0082 LDCONST R13 K49
0x70020000, // 0083 JMP #0085
0x58340016, // 0084 LDCONST R13 K22
0x88380B32, // 0085 GETMBR R14 R5 K50
0x603C0008, // 0086 GETGBL R15 G8
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
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
0x8C200128, // 0095 GETMET R8 R0 K40
0x5C280A00, // 0096 MOVE R10 R5
0x502C0000, // 0097 LDBOOL R11 0 0
0x7C200600, // 0098 CALL R8 3
0x50200200, // 0099 LDBOOL R8 1 0
0xA8040001, // 009A EXBLK 1 1
0x80041000, // 009B RET 1 R8
0x70020093, // 009C JMP #0131
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
0xB81E1E00, // 00A2 GETNGBL R7 K15
0x60200018, // 00A3 GETGBL R8 G24
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
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
0xB8221E00, // 00B2 GETNGBL R8 K15
0x60240008, // 00B3 GETGBL R9 G8
0x88280B12, // 00B4 GETMBR R10 R5 K18
0x7C240200, // 00B5 CALL R9 1
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
0x901E4202, // 00BD SETMBR R7 K33 R2
0x780E0000, // 00BE JMPF R3 #00C0
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
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
0xB8221E00, // 00CC GETNGBL R8 K15
0x60240008, // 00CD GETGBL R9 G8
0x88280B14, // 00CE GETMBR R10 R5 K20
0x7C240200, // 00CF CALL R9 1
0x00267009, // 00D0 ADD R9 K56 R9
0x00241339, // 00D1 ADD R9 R9 K57
0x60280008, // 00D2 GETGBL R10 G8
0x882C0F3A, // 00D3 GETMBR R11 R7 K58
0x7C280200, // 00D4 CALL R10 1
0x0024120A, // 00D5 ADD R9 R9 R10
0x5828002E, // 00D6 LDCONST R10 K46
0x7C200400, // 00D7 CALL R8 2
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
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
0x8C240B29, // 00E6 GETMET R9 R5 K41
0x7C240200, // 00E7 CALL R9 1
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
0xB8261E00, // 00ED GETNGBL R9 K15
0x60280008, // 00EE GETGBL R10 G8
0x882C0B3E, // 00EF GETMBR R11 R5 K62
0x7C280200, // 00F0 CALL R10 1
0x002A7A0A, // 00F1 ADD R10 K61 R10
0x0028153F, // 00F2 ADD R10 R10 K63
0x602C0008, // 00F3 GETGBL R11 G8
0x88300B2B, // 00F4 GETMBR R12 R5 K43
0x7C2C0200, // 00F5 CALL R11 1
0x0028140B, // 00F6 ADD R10 R10 R11
0x00281540, // 00F7 ADD R10 R10 K64
0x602C0008, // 00F8 GETGBL R11 G8
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
0x88240100, // 0100 GETMBR R9 R0 K0
0x8C24132A, // 0101 GETMET R9 R9 K42
0x5C2C0A00, // 0102 MOVE R11 R5
0x7C240400, // 0103 CALL R9 2
0x88240B3E, // 0104 GETMBR R9 R5 K62
0x1C28131F, // 0105 EQ R10 R9 K31
0x782A000F, // 0106 JMPF R10 #0117
0x88280B2B, // 0107 GETMBR R10 R5 K43
0x542E000F, // 0108 LDINT R11 16
0x1C28140B, // 0109 EQ R10 R10 R11
0x782A0009, // 010A JMPF R10 #0115
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
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
0x1C281343, // 0117 EQ R10 R9 K67
0x782A0010, // 0118 JMPF R10 #012A
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
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
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
0xB82A1E00, // 012A GETNGBL R10 K15
0x602C0008, // 012B GETGBL R11 G8
0x5C301200, // 012C MOVE R12 R9
0x7C2C0200, // 012D CALL R11 1
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
0xA8040001, // 0133 EXBLK 1 1
0x70020017, // 0134 JMP #014D
0xAC140002, // 0135 CATCH R5 0 2
0x70020014, // 0136 JMP #014C
0xB81E1E00, // 0137 GETNGBL R7 K15
0x60200008, // 0138 GETGBL R8 G8
0x5C240A00, // 0139 MOVE R9 R5
0x7C200200, // 013A CALL R8 1
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
0x58240047, // 0141 LDCONST R9 K71
0x7C1C0400, // 0142 CALL R7 2
0xB81E1A00, // 0143 GETNGBL R7 K13
0x881C0F48, // 0144 GETMBR R7 R7 K72
0x781E0002, // 0145 JMPF R7 #0149
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
0x70020000, // 014B JMP #014D
0xB0080000, // 014C RAISE 2 R0 R0
0x80000000, // 014D RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: send_response_frame
********************************************************************/
be_local_closure(class_Matter_MessageHandler_send_response_frame, /* name */
be_nested_proto(
5, /* 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_MessageHandler, /* shared constants */
be_str_weak(send_response_frame),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C08054B, // 0001 GETMET R2 R2 K75
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: send_simple_ack
********************************************************************/
be_local_closure(class_Matter_MessageHandler_send_simple_ack, /* 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_MessageHandler, /* shared constants */
be_str_weak(send_simple_ack),
&be_const_str_solidified,
( &(const binstruction[32]) { /* code */
0x880C0309, // 0000 GETMBR R3 R1 K9
0x780E001C, // 0001 JMPF R3 #001F
0x8C0C030A, // 0002 GETMET R3 R1 K10
0x5C140400, // 0003 MOVE R5 R2
0x7C0C0400, // 0004 CALL R3 2
0x88100312, // 0005 GETMBR R4 R1 K18
0x900E2404, // 0006 SETMBR R3 K18 R4
0x8C10070B, // 0007 GETMET R4 R3 K11
0x7C100200, // 0008 CALL R4 1
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
0xB8121E00, // 000E GETNGBL R4 K15
0x60140018, // 000F GETGBL R5 G24
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
0x58280015, // 0016 LDCONST R10 K21
0x70020000, // 0017 JMP #0019
0x58280016, // 0018 LDCONST R10 K22
0x7C140A00, // 0019 CALL R5 5
0x541A0003, // 001A LDINT R6 4
0x7C100400, // 001B CALL R4 2
0x8C100117, // 001C GETMET R4 R0 K23
0x5C180600, // 001D MOVE R6 R3
0x7C100400, // 001E CALL R4 2
0x80000000, // 001F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: every_50ms
********************************************************************/
be_local_closure(class_Matter_MessageHandler_every_50ms, /* 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_Matter_MessageHandler, /* shared constants */
be_str_weak(every_50ms),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x88040104, // 0000 GETMBR R1 R0 K4
0x8C04034D, // 0001 GETMET R1 R1 K77
0x7C040200, // 0002 CALL R1 1
0x80000000, // 0003 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: every_second
********************************************************************/
be_local_closure(class_Matter_MessageHandler_every_second, /* 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_Matter_MessageHandler, /* shared constants */
be_str_weak(every_second),
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88040101, // 0000 GETMBR R1 R0 K1
0x8C04034E, // 0001 GETMET R1 R1 K78
0x7C040200, // 0002 CALL R1 1
0x88040104, // 0003 GETMBR R1 R0 K4
0x8C04034E, // 0004 GETMET R1 R1 K78
0x7C040200, // 0005 CALL R1 1
0x80000000, // 0006 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_MessageHandler
********************************************************************/
be_local_class(Matter_MessageHandler,
5,
NULL,
be_nested_map(12,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(commissioning, -1), be_const_var(1) },
{ be_const_key_weak(_n_bytes, 7), be_const_var(4) },
{ be_const_key_weak(send_encrypted_ack, -1), be_const_closure(class_Matter_MessageHandler_send_encrypted_ack_closure) },
{ be_const_key_weak(init, 5), be_const_closure(class_Matter_MessageHandler_init_closure) },
{ be_const_key_weak(msg_received, -1), be_const_closure(class_Matter_MessageHandler_msg_received_closure) },
{ be_const_key_weak(im, 11), be_const_var(2) },
{ be_const_key_weak(every_second, -1), be_const_closure(class_Matter_MessageHandler_every_second_closure) },
{ be_const_key_weak(every_50ms, -1), be_const_closure(class_Matter_MessageHandler_every_50ms_closure) },
{ be_const_key_weak(send_simple_ack, 1), be_const_closure(class_Matter_MessageHandler_send_simple_ack_closure) },
{ be_const_key_weak(send_response_frame, 6), be_const_closure(class_Matter_MessageHandler_send_response_frame_closure) },
{ be_const_key_weak(control_message, -1), be_const_var(3) },
{ be_const_key_weak(device, -1), be_const_var(0) },
})),
be_str_weak(Matter_MessageHandler)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,90 @@
/* Solidification of Matter_Module.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
/********************************************************************
** Solidified function: setmember
********************************************************************/
be_local_closure(module_matter_setmember, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(global),
/* K1 */ be_nested_str_weak(contains),
/* K2 */ be_nested_str_weak(_X2Ematter),
}),
be_str_weak(setmember),
&be_const_str_solidified,
( &(const binstruction[11]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x8C0C0501, // 0001 GETMET R3 R2 K1
0x58140002, // 0002 LDCONST R5 K2
0x7C0C0400, // 0003 CALL R3 2
0x740E0002, // 0004 JMPT R3 #0008
0x600C0013, // 0005 GETGBL R3 G19
0x7C0C0000, // 0006 CALL R3 0
0x900A0403, // 0007 SETMBR R2 K2 R3
0x880C0502, // 0008 GETMBR R3 R2 K2
0x980C0001, // 0009 SETIDX R3 R0 R1
0x80000000, // 000A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: member
********************************************************************/
be_local_closure(module_matter_member, /* name */
be_nested_proto(
6, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 4]) { /* constants */
/* K0 */ be_nested_str_weak(global),
/* K1 */ be_nested_str_weak(undefined),
/* K2 */ be_nested_str_weak(contains),
/* K3 */ be_nested_str_weak(_X2Ematter),
}),
be_str_weak(member),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0302, // 0002 GETMET R3 R1 K2
0x58140003, // 0003 LDCONST R5 K3
0x7C0C0400, // 0004 CALL R3 2
0x780E0008, // 0005 JMPF R3 #000F
0x880C0303, // 0006 GETMBR R3 R1 K3
0x8C0C0702, // 0007 GETMET R3 R3 K2
0x5C140000, // 0008 MOVE R5 R0
0x7C0C0400, // 0009 CALL R3 2
0x780E0003, // 000A JMPF R3 #000F
0x880C0303, // 000B GETMBR R3 R1 K3
0x940C0600, // 000C GETIDX R3 R3 R0
0x80040600, // 000D RET 1 R3
0x70020000, // 000E JMP #0010
0x80040400, // 000F RET 1 R2
0x80000000, // 0010 RET 0
})
)
);
/*******************************************************************/
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,248 @@
/* Solidification of Matter_Path_0.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: reset
********************************************************************/
be_local_closure(class_Matter_Path_reset, /* name */
be_nested_proto(
2, /* 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_Path, /* shared constants */
be_str_weak(reset),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x4C040000, // 0000 LDNIL R1
0x90020001, // 0001 SETMBR R0 K0 R1
0x90020201, // 0002 SETMBR R0 K1 R1
0x90020401, // 0003 SETMBR R0 K2 R1
0x90020601, // 0004 SETMBR R0 K3 R1
0x90020801, // 0005 SETMBR R0 K4 R1
0x90020A01, // 0006 SETMBR R0 K5 R1
0x90020C01, // 0007 SETMBR R0 K6 R1
0x90020E01, // 0008 SETMBR R0 K7 R1
0x80000000, // 0009 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Path_init, /* name */
be_nested_proto(
4, /* 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_Path, /* shared constants */
be_str_weak(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
0x80000000, // 0003 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_Matter_Path_tostring, /* 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_Path, /* shared constants */
be_str_weak(tostring),
&be_const_str_solidified,
( &(const binstruction[77]) { /* code */
0xA802003C, // 0000 EXBLK 0 #003E
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
0x580C0009, // 0007 LDCONST R3 K9
0x88100100, // 0008 GETMBR R4 R0 K0
0x7C080400, // 0009 CALL R2 2
0x70020000, // 000A JMP #000C
0x5808000A, // 000B LDCONST R2 K10
0x00040202, // 000C ADD R1 R1 R2
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
0x580C000B, // 0012 LDCONST R3 K11
0x88100101, // 0013 GETMBR R4 R0 K1
0x7C080400, // 0014 CALL R2 2
0x70020000, // 0015 JMP #0017
0x5808000C, // 0016 LDCONST R2 K12
0x00040202, // 0017 ADD R1 R1 R2
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
0x580C000D, // 001D LDCONST R3 K13
0x88100102, // 001E GETMBR R4 R0 K2
0x7C080400, // 001F CALL R2 2
0x70020000, // 0020 JMP #0022
0x58080008, // 0021 LDCONST R2 K8
0x00040202, // 0022 ADD R1 R1 R2
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
0x580C000D, // 0028 LDCONST R3 K13
0x88100104, // 0029 GETMBR R4 R0 K4
0x7C080400, // 002A CALL R2 2
0x70020000, // 002B JMP #002D
0x58080008, // 002C LDCONST R2 K8
0x00040202, // 002D ADD R1 R1 R2
0x88080103, // 002E GETMBR R2 R0 K3
0x780A0000, // 002F JMPF R2 #0031
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
0x88080104, // 0035 GETMBR R2 R0 K4
0x4C0C0000, // 0036 LDNIL R3
0x1C080403, // 0037 EQ R2 R2 R3
0x780A0000, // 0038 JMPF R2 #003A
0x0004030F, // 0039 ADD R1 R1 K15
0xA8040001, // 003A EXBLK 1 1
0x80040200, // 003B RET 1 R1
0xA8040001, // 003C EXBLK 1 1
0x7002000D, // 003D JMP #004C
0xAC040002, // 003E CATCH R1 0 2
0x7002000A, // 003F JMP #004B
0x600C0008, // 0040 GETGBL R3 G8
0x5C100200, // 0041 MOVE R4 R1
0x7C0C0200, // 0042 CALL R3 1
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
0x000C0604, // 0048 ADD R3 R3 R4
0x80040600, // 0049 RET 1 R3
0x70020000, // 004A JMP #004C
0xB0080000, // 004B RAISE 2 R0 R0
0x80000000, // 004C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: copy
********************************************************************/
be_local_closure(class_Matter_Path_copy, /* name */
be_nested_proto(
4, /* 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_Path, /* shared constants */
be_str_weak(copy),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x8C080112, // 0000 GETMET R2 R0 K18
0x7C080200, // 0001 CALL R2 1
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
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Path
********************************************************************/
be_local_class(Matter_Path,
8,
NULL,
be_nested_map(12,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(reset, -1), be_const_closure(class_Matter_Path_reset_closure) },
{ be_const_key_weak(cluster, 5), be_const_var(1) },
{ be_const_key_weak(fabric_filtered, 6), be_const_var(3) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_Path_init_closure) },
{ be_const_key_weak(endpoint, -1), be_const_var(0) },
{ be_const_key_weak(tostring, -1), be_const_closure(class_Matter_Path_tostring_closure) },
{ be_const_key_weak(command, 10), be_const_var(4) },
{ be_const_key_weak(status, -1), be_const_var(5) },
{ be_const_key_weak(copy, -1), be_const_closure(class_Matter_Path_copy_closure) },
{ be_const_key_weak(log, -1), be_const_var(6) },
{ be_const_key_weak(msg, -1), be_const_var(7) },
{ be_const_key_weak(attribute, -1), be_const_var(2) },
})),
be_str_weak(Matter_Path)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,328 @@
/* Solidification of Matter_Path_1_EventGenerator.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_EventGenerator_init, /* name */
be_nested_proto(
2, /* 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_EventGenerator, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_pi
********************************************************************/
be_local_closure(class_Matter_EventGenerator_get_pi, /* name */
be_nested_proto(
2, /* 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_EventGenerator, /* shared constants */
be_str_weak(get_pi),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x4C040000, // 0000 LDNIL R1
0x80040200, // 0001 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_Matter_EventGenerator_start, /* name */
be_nested_proto(
7, /* 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_Matter_EventGenerator, /* shared constants */
be_str_weak(start),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x8C140101, // 0000 GETMET R5 R0 K1
0x7C140200, // 0001 CALL R5 1
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
0x90020E05, // 0008 SETMBR R0 K7 R5
0x80000000, // 0009 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: reset
********************************************************************/
be_local_closure(class_Matter_EventGenerator_reset, /* 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_Matter_EventGenerator, /* shared constants */
be_str_weak(reset),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x4C040000, // 0000 LDNIL R1
0x90020C01, // 0001 SETMBR R0 K6 R1
0x50080200, // 0002 LDBOOL R2 1 0
0x90020E02, // 0003 SETMBR R0 K7 R2
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: is_finished
********************************************************************/
be_local_closure(class_Matter_EventGenerator_is_finished, /* name */
be_nested_proto(
2, /* 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_EventGenerator, /* shared constants */
be_str_weak(is_finished),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88040107, // 0000 GETMBR R1 R0 K7
0x80040200, // 0001 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: event_is_match
********************************************************************/
be_local_closure(class_Matter_EventGenerator_event_is_match, /* name */
be_nested_proto(
5, /* 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_EventGenerator, /* shared constants */
be_str_weak(event_is_match),
&be_const_str_solidified,
( &(const binstruction[38]) { /* code */
0x50080200, // 0000 LDBOOL R2 1 0
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
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
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
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
0x500C0200, // 0017 LDBOOL R3 1 0
0x5C080600, // 0018 MOVE R2 R3
0x880C0104, // 0019 GETMBR R3 R0 K4
0x4C100000, // 001A LDNIL R4
0x200C0604, // 001B NE R3 R3 R4
0x780E0007, // 001C JMPF R3 #0025
0x780A0003, // 001D JMPF R2 #0022
0x880C0104, // 001E GETMBR R3 R0 K4
0x8810030A, // 001F GETMBR R4 R1 K10
0x1C0C0604, // 0020 EQ R3 R3 R4
0x740E0000, // 0021 JMPT R3 #0023
0x500C0001, // 0022 LDBOOL R3 0 1
0x500C0200, // 0023 LDBOOL R3 1 0
0x5C080600, // 0024 MOVE R2 R3
0x80040400, // 0025 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: next_event
********************************************************************/
be_local_closure(class_Matter_EventGenerator_next_event, /* 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_EventGenerator, /* shared constants */
be_str_weak(next_event),
&be_const_str_solidified,
( &(const binstruction[27]) { /* code */
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
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
0x8C080101, // 000E GETMET R2 R0 K1
0x7C080200, // 000F CALL R2 1
0x4C080000, // 0010 LDNIL R2
0x80040400, // 0011 RET 1 R2
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
0x80040200, // 0018 RET 1 R1
0x7001FFE9, // 0019 JMP #0004
0x80000000, // 001A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: restart_from
********************************************************************/
be_local_closure(class_Matter_EventGenerator_restart_from, /* name */
be_nested_proto(
3, /* 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_EventGenerator, /* shared constants */
be_str_weak(restart_from),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x50080000, // 0000 LDBOOL R2 0 0
0x90020E02, // 0001 SETMBR R0 K7 R2
0x90020C01, // 0002 SETMBR R0 K6 R1
0x80000000, // 0003 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_EventGenerator
********************************************************************/
be_local_class(Matter_EventGenerator,
7,
NULL,
be_nested_map(15,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_EventGenerator_init_closure) },
{ be_const_key_weak(path_in_endpoint, -1), be_const_var(1) },
{ be_const_key_weak(get_pi, -1), be_const_closure(class_Matter_EventGenerator_get_pi_closure) },
{ be_const_key_weak(path_in_event, -1), be_const_var(3) },
{ be_const_key_weak(finished, -1), be_const_var(6) },
{ be_const_key_weak(path_in_event_min, -1), be_const_var(4) },
{ be_const_key_weak(device, -1), be_const_var(0) },
{ be_const_key_weak(event_no, 9), be_const_var(5) },
{ be_const_key_weak(is_finished, -1), be_const_closure(class_Matter_EventGenerator_is_finished_closure) },
{ be_const_key_weak(restart_from, 5), be_const_closure(class_Matter_EventGenerator_restart_from_closure) },
{ be_const_key_weak(event_is_match, -1), be_const_closure(class_Matter_EventGenerator_event_is_match_closure) },
{ be_const_key_weak(start, 13), be_const_closure(class_Matter_EventGenerator_start_closure) },
{ be_const_key_weak(reset, 7), be_const_closure(class_Matter_EventGenerator_reset_closure) },
{ be_const_key_weak(next_event, -1), be_const_closure(class_Matter_EventGenerator_next_event_closure) },
{ be_const_key_weak(path_in_cluster, -1), be_const_var(2) },
})),
be_str_weak(Matter_EventGenerator)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,688 @@
/* Solidification of Matter_Path_1_PathGenerator.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_PathGenerator' ktab size: 37, total: 80 (saved 344 bytes)
static const bvalue be_ktab_class_Matter_PathGenerator[37] = {
/* 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_bytes),
/* K31 */ be_const_int(2),
/* K32 */ be_const_int(0),
/* K33 */ be_nested_str_weak(get),
/* K34 */ be_nested_str_weak(plugins),
/* K35 */ be_nested_str_weak(get_cluster_list_sorted),
/* K36 */ be_nested_str_weak(Path),
};
extern const bclass be_class_Matter_PathGenerator;
/********************************************************************
** Solidified function: reset
********************************************************************/
be_local_closure(class_Matter_PathGenerator_reset, /* 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_Matter_PathGenerator, /* shared constants */
be_str_weak(reset),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x4C040000, // 0000 LDNIL R1
0x88080100, // 0001 GETMBR R2 R0 K0
0x8C080501, // 0002 GETMET R2 R2 K1
0x7C080200, // 0003 CALL R2 1
0x50080000, // 0004 LDBOOL R2 0 0
0x90020402, // 0005 SETMBR R0 K2 R2
0x90020601, // 0006 SETMBR R0 K3 R1
0x90020801, // 0007 SETMBR R0 K4 R1
0x90020A01, // 0008 SETMBR R0 K5 R1
0x80000000, // 0009 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_PathGenerator_init, /* name */
be_nested_proto(
2, /* 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_PathGenerator, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020C01, // 0000 SETMBR R0 K6 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: is_direct
********************************************************************/
be_local_closure(class_Matter_PathGenerator_is_direct, /* 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_Matter_PathGenerator, /* shared constants */
be_str_weak(is_direct),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x88040107, // 0000 GETMBR R1 R0 K7
0x4C080000, // 0001 LDNIL R2
0x20040202, // 0002 NE R1 R1 R2
0x78060007, // 0003 JMPF R1 #000C
0x88040108, // 0004 GETMBR R1 R0 K8
0x4C080000, // 0005 LDNIL R2
0x20040202, // 0006 NE R1 R1 R2
0x78060003, // 0007 JMPF R1 #000C
0x88040109, // 0008 GETMBR R1 R0 K9
0x4C080000, // 0009 LDNIL R2
0x20040202, // 000A NE R1 R1 R2
0x74060000, // 000B JMPT R1 #000D
0x50040001, // 000C LDBOOL R1 0 1
0x50040200, // 000D LDBOOL R1 1 0
0x80040200, // 000E RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: is_finished
********************************************************************/
be_local_closure(class_Matter_PathGenerator_is_finished, /* 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_Matter_PathGenerator, /* shared constants */
be_str_weak(is_finished),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x88040102, // 0000 GETMBR R1 R0 K2
0x50080000, // 0001 LDBOOL R2 0 0
0x20040202, // 0002 NE R1 R1 R2
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: next_attribute
********************************************************************/
be_local_closure(class_Matter_PathGenerator_next_attribute, /* 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_Matter_PathGenerator, /* shared constants */
be_str_weak(next_attribute),
&be_const_str_solidified,
( &(const binstruction[95]) { /* code */
0x88040102, // 0000 GETMBR R1 R0 K2
0x50080200, // 0001 LDBOOL R2 1 0
0x1C040202, // 0002 EQ R1 R1 R2
0x74060006, // 0003 JMPT R1 #000B
0x88040102, // 0004 GETMBR R1 R0 K2
0x4C080000, // 0005 LDNIL R2
0x20040202, // 0006 NE R1 R1 R2
0x78060006, // 0007 JMPF R1 #000F
0x8C04010A, // 0008 GETMET R1 R0 K10
0x7C040200, // 0009 CALL R1 1
0x78060003, // 000A JMPF R1 #000F
0x8C040101, // 000B GETMET R1 R0 K1
0x7C040200, // 000C CALL R1 1
0x4C040000, // 000D LDNIL R1
0x80040200, // 000E RET 1 R1
0x88040102, // 000F GETMBR R1 R0 K2
0x50080000, // 0010 LDBOOL R2 0 0
0x20040202, // 0011 NE R1 R1 R2
0x78060033, // 0012 JMPF R1 #0047
0x88040102, // 0013 GETMBR R1 R0 K2
0x4C080000, // 0014 LDNIL R2
0x1C040202, // 0015 EQ R1 R1 R2
0x74060003, // 0016 JMPT R1 #001B
0x88040103, // 0017 GETMBR R1 R0 K3
0x50080000, // 0018 LDBOOL R2 0 0
0x1C040202, // 0019 EQ R1 R1 R2
0x78060002, // 001A JMPF R1 #001E
0x8C04010B, // 001B GETMET R1 R0 K11
0x7C040200, // 001C CALL R1 1
0x7001FFF0, // 001D JMP #000F
0x50040200, // 001E LDBOOL R1 1 0
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
0x88040104, // 0024 GETMBR R1 R0 K4
0x50080000, // 0025 LDBOOL R2 0 0
0x1C040202, // 0026 EQ R1 R1 R2
0x78060002, // 0027 JMPF R1 #002B
0x8C04010D, // 0028 GETMET R1 R0 K13
0x7C040200, // 0029 CALL R1 1
0x7001FFE3, // 002A JMP #000F
0x50040200, // 002B LDBOOL R1 1 0
0x90021C01, // 002C SETMBR R0 K14 R1
0x8C04010F, // 002D GETMET R1 R0 K15
0x7C040200, // 002E CALL R1 1
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
0x90022001, // 0035 SETMBR R0 K16 R1
0x88040100, // 0036 GETMBR R1 R0 K0
0x8C080301, // 0037 GETMET R2 R1 K1
0x7C080200, // 0038 CALL R2 1
0x88080102, // 0039 GETMBR R2 R0 K2
0x8C080512, // 003A GETMET R2 R2 K18
0x7C080200, // 003B CALL R2 1
0x90062202, // 003C SETMBR R1 K17 R2
0x88080103, // 003D GETMBR R2 R0 K3
0x90060602, // 003E SETMBR R1 K3 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
0x90062A02, // 0044 SETMBR R1 K21 R2
0x80040200, // 0045 RET 1 R1
0x7001FFC7, // 0046 JMP #000F
0x8C04010A, // 0047 GETMET R1 R0 K10
0x7C040200, // 0048 CALL R1 1
0x78060010, // 0049 JMPF R1 #005B
0x88040100, // 004A GETMBR R1 R0 K0
0x8C080301, // 004B GETMET R2 R1 K1
0x7C080200, // 004C CALL R2 1
0x88080107, // 004D GETMBR R2 R0 K7
0x90062202, // 004E SETMBR R1 K17 R2
0x88080108, // 004F GETMBR R2 R0 K8
0x90060602, // 0050 SETMBR R1 K3 R2
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
0x90062A02, // 0057 SETMBR R1 K21 R2
0x50080200, // 0058 LDBOOL R2 1 0
0x90020402, // 0059 SETMBR R0 K2 R2
0x80040200, // 005A RET 1 R1
0x8C040101, // 005B GETMET R1 R0 K1
0x7C040200, // 005C CALL R1 1
0x4C040000, // 005D LDNIL R1
0x80040200, // 005E RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: _next_cluster
********************************************************************/
be_local_closure(class_Matter_PathGenerator__next_cluster, /* name */
be_nested_proto(
7, /* 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_PathGenerator, /* shared constants */
be_str_weak(_next_cluster),
&be_const_str_solidified,
( &(const binstruction[44]) { /* code */
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
0x88040105, // 0006 GETMBR R1 R0 K5
0x88080108, // 0007 GETMBR R2 R0 K8
0x4C0C0000, // 0008 LDNIL R3
0x90020803, // 0009 SETMBR R0 K4 R3
0x540DFFFE, // 000A LDINT R3 -1
0x88100103, // 000B GETMBR R4 R0 K3
0x4C140000, // 000C LDNIL R5
0x20100805, // 000D NE R4 R4 R5
0x78120003, // 000E JMPF R4 #0013
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
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
0x000C0718, // 001C ADD R3 R3 K24
0x94100203, // 001D GETIDX R4 R1 R3
0x90020604, // 001E SETMBR R0 K3 R4
0x4C100000, // 001F LDNIL R4
0x1C100404, // 0020 EQ R4 R2 R4
0x74120002, // 0021 JMPT R4 #0025
0x88100103, // 0022 GETMBR R4 R0 K3
0x1C100404, // 0023 EQ R4 R2 R4
0x78120001, // 0024 JMPF R4 #0027
0x88100103, // 0025 GETMBR R4 R0 K3
0x80040800, // 0026 RET 1 R4
0x7001FFED, // 0027 JMP #0016
0x50100000, // 0028 LDBOOL R4 0 0
0x90020604, // 0029 SETMBR R0 K3 R4
0x50100000, // 002A LDBOOL R4 0 0
0x80040800, // 002B RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: _default_status_error
********************************************************************/
be_local_closure(class_Matter_PathGenerator__default_status_error, /* 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_Matter_PathGenerator, /* shared constants */
be_str_weak(_default_status_error),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x8C04010A, // 0000 GETMET R1 R0 K10
0x7C040200, // 0001 CALL R1 1
0x78060011, // 0002 JMPF R1 #0015
0x8804010C, // 0003 GETMBR R1 R0 K12
0x74060002, // 0004 JMPT R1 #0008
0xB8063200, // 0005 GETNGBL R1 K25
0x8804031A, // 0006 GETMBR R1 R1 K26
0x80040200, // 0007 RET 1 R1
0x8804010E, // 0008 GETMBR R1 R0 K14
0x74060002, // 0009 JMPT R1 #000D
0xB8063200, // 000A GETNGBL R1 K25
0x8804031B, // 000B GETMBR R1 R1 K27
0x80040200, // 000C RET 1 R1
0x88040110, // 000D GETMBR R1 R0 K16
0x74060002, // 000E JMPT R1 #0012
0xB8063200, // 000F GETNGBL R1 K25
0x8804031C, // 0010 GETMBR R1 R1 K28
0x80040200, // 0011 RET 1 R1
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
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: _next_attribute
********************************************************************/
be_local_closure(class_Matter_PathGenerator__next_attribute, /* name */
be_nested_proto(
10, /* 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_PathGenerator, /* shared constants */
be_str_weak(_next_attribute),
&be_const_str_solidified,
( &(const binstruction[69]) { /* code */
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
0x88040102, // 0006 GETMBR R1 R0 K2
0x8C04031E, // 0007 GETMET R1 R1 K30
0x880C0103, // 0008 GETMBR R3 R0 K3
0x7C040400, // 0009 CALL R1 2
0x4C080000, // 000A LDNIL R2
0x20080202, // 000B NE R2 R1 R2
0x780A0004, // 000C JMPF R2 #0012
0x6008000C, // 000D GETGBL R2 G12
0x5C0C0200, // 000E MOVE R3 R1
0x7C080200, // 000F CALL R2 1
0x0C08051F, // 0010 DIV R2 R2 K31
0x70020000, // 0011 JMP #0013
0x58080020, // 0012 LDCONST R2 K32
0x880C0109, // 0013 GETMBR R3 R0 K9
0x5411FFFE, // 0014 LDINT R4 -1
0x88140104, // 0015 GETMBR R5 R0 K4
0x4C180000, // 0016 LDNIL R6
0x20140A06, // 0017 NE R5 R5 R6
0x78160012, // 0018 JMPF R5 #002C
0x58140020, // 0019 LDCONST R5 K32
0x50180200, // 001A LDBOOL R6 1 0
0x781A000F, // 001B JMPF R6 #002C
0x14180A02, // 001C LT R6 R5 R2
0x781A000A, // 001D JMPF R6 #0029
0x8C180321, // 001E GETMET R6 R1 K33
0x08200B1F, // 001F MUL R8 R5 K31
0x5425FFFD, // 0020 LDINT R9 -2
0x7C180600, // 0021 CALL R6 3
0x881C0104, // 0022 GETMBR R7 R0 K4
0x1C180C07, // 0023 EQ R6 R6 R7
0x781A0001, // 0024 JMPF R6 #0027
0x5C100A00, // 0025 MOVE R4 R5
0x70020004, // 0026 JMP #002C
0x00140B18, // 0027 ADD R5 R5 K24
0x70020001, // 0028 JMP #002B
0x4C100000, // 0029 LDNIL R4
0x70020000, // 002A JMP #002C
0x7001FFED, // 002B JMP #001A
0x4C140000, // 002C LDNIL R5
0x20140805, // 002D NE R5 R4 R5
0x78160011, // 002E JMPF R5 #0041
0x00140918, // 002F ADD R5 R4 K24
0x14140A02, // 0030 LT R5 R5 R2
0x7816000E, // 0031 JMPF R5 #0041
0x00100918, // 0032 ADD R4 R4 K24
0x8C140321, // 0033 GETMET R5 R1 K33
0x081C091F, // 0034 MUL R7 R4 K31
0x5421FFFD, // 0035 LDINT R8 -2
0x7C140600, // 0036 CALL R5 3
0x90020805, // 0037 SETMBR R0 K4 R5
0x4C140000, // 0038 LDNIL R5
0x1C140605, // 0039 EQ R5 R3 R5
0x74160002, // 003A JMPT R5 #003E
0x88140104, // 003B GETMBR R5 R0 K4
0x1C140605, // 003C EQ R5 R3 R5
0x78160001, // 003D JMPF R5 #0040
0x88140104, // 003E GETMBR R5 R0 K4
0x80040A00, // 003F RET 1 R5
0x7001FFED, // 0040 JMP #002F
0x50140000, // 0041 LDBOOL R5 0 0
0x90020805, // 0042 SETMBR R0 K4 R5
0x50140000, // 0043 LDBOOL R5 0 0
0x80040A00, // 0044 RET 1 R5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: _next_endpoint
********************************************************************/
be_local_closure(class_Matter_PathGenerator__next_endpoint, /* name */
be_nested_proto(
7, /* 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_PathGenerator, /* shared constants */
be_str_weak(_next_endpoint),
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
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
0x88040106, // 0006 GETMBR R1 R0 K6
0x88040322, // 0007 GETMBR R1 R1 K34
0x88080107, // 0008 GETMBR R2 R0 K7
0x4C0C0000, // 0009 LDNIL R3
0x90020603, // 000A SETMBR R0 K3 R3
0x4C0C0000, // 000B LDNIL R3
0x90020803, // 000C SETMBR R0 K4 R3
0x540DFFFE, // 000D LDINT R3 -1
0x88100102, // 000E GETMBR R4 R0 K2
0x4C140000, // 000F LDNIL R5
0x20100805, // 0010 NE R4 R4 R5
0x78120003, // 0011 JMPF R4 #0016
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
0x00100718, // 0019 ADD R4 R3 K24
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
0x000C0718, // 001F ADD R3 R3 K24
0x94100203, // 0020 GETIDX R4 R1 R3
0x90020404, // 0021 SETMBR R0 K2 R4
0x4C100000, // 0022 LDNIL R4
0x1C100404, // 0023 EQ R4 R2 R4
0x74120004, // 0024 JMPT R4 #002A
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
0x88100102, // 002A GETMBR R4 R0 K2
0x8C100923, // 002B GETMET R4 R4 K35
0x7C100200, // 002C CALL R4 1
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
0x90020404, // 0032 SETMBR R0 K2 R4
0x50100000, // 0033 LDBOOL R4 0 0
0x80040800, // 0034 RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_pi
********************************************************************/
be_local_closure(class_Matter_PathGenerator_get_pi, /* 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_Matter_PathGenerator, /* shared constants */
be_str_weak(get_pi),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88040102, // 0000 GETMBR R1 R0 K2
0x50080000, // 0001 LDBOOL R2 0 0
0x1C040202, // 0002 EQ R1 R1 R2
0x74060003, // 0003 JMPT R1 #0008
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
0x88040102, // 000A GETMBR R1 R0 K2
0x80040200, // 000B RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_Matter_PathGenerator_start, /* name */
be_nested_proto(
7, /* 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_Matter_PathGenerator, /* shared constants */
be_str_weak(start),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xB8163200, // 0000 GETNGBL R5 K25
0x8C140B24, // 0001 GETMET R5 R5 K36
0x7C140200, // 0002 CALL R5 1
0x90020005, // 0003 SETMBR R0 K0 R5
0x8C140101, // 0004 GETMET R5 R0 K1
0x7C140200, // 0005 CALL R5 1
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
0x90022805, // 000C SETMBR R0 K20 R5
0x4C140000, // 000D LDNIL R5
0x90020405, // 000E SETMBR R0 K2 R5
0x50140000, // 000F LDBOOL R5 0 0
0x90021805, // 0010 SETMBR R0 K12 R5
0x50140000, // 0011 LDBOOL R5 0 0
0x90021C05, // 0012 SETMBR R0 K14 R5
0x50140000, // 0013 LDBOOL R5 0 0
0x90022005, // 0014 SETMBR R0 K16 R5
0x80000000, // 0015 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_PathGenerator
********************************************************************/
be_local_class(Matter_PathGenerator,
13,
NULL,
be_nested_map(24,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(reset, -1), be_const_closure(class_Matter_PathGenerator_reset_closure) },
{ be_const_key_weak(start, -1), be_const_closure(class_Matter_PathGenerator_start_closure) },
{ be_const_key_weak(pi, -1), be_const_var(5) },
{ be_const_key_weak(init, 15), be_const_closure(class_Matter_PathGenerator_init_closure) },
{ be_const_key_weak(path_in_endpoint, -1), be_const_var(1) },
{ be_const_key_weak(path_in_cluster, -1), be_const_var(2) },
{ be_const_key_weak(get_pi, -1), be_const_closure(class_Matter_PathGenerator_get_pi_closure) },
{ be_const_key_weak(is_direct, 9), be_const_closure(class_Matter_PathGenerator_is_direct_closure) },
{ be_const_key_weak(is_finished, -1), be_const_closure(class_Matter_PathGenerator_is_finished_closure) },
{ be_const_key_weak(next_attribute, 22), be_const_closure(class_Matter_PathGenerator_next_attribute_closure) },
{ be_const_key_weak(cluster_found, 17), be_const_var(10) },
{ be_const_key_weak(endpoint_found, 6), be_const_var(9) },
{ be_const_key_weak(_next_attribute, -1), be_const_closure(class_Matter_PathGenerator__next_attribute_closure) },
{ be_const_key_weak(cluster, -1), be_const_var(6) },
{ be_const_key_weak(_next_cluster, -1), be_const_closure(class_Matter_PathGenerator__next_cluster_closure) },
{ be_const_key_weak(device, -1), be_const_var(0) },
{ be_const_key_weak(path_concrete, -1), be_const_var(12) },
{ be_const_key_weak(clusters, -1), be_const_var(8) },
{ be_const_key_weak(path_in_fabric_filtered, -1), be_const_var(4) },
{ be_const_key_weak(_default_status_error, -1), be_const_closure(class_Matter_PathGenerator__default_status_error_closure) },
{ be_const_key_weak(attribute_found, 12), be_const_var(11) },
{ be_const_key_weak(_next_endpoint, -1), be_const_closure(class_Matter_PathGenerator__next_endpoint_closure) },
{ be_const_key_weak(path_in_attribute, -1), be_const_var(3) },
{ be_const_key_weak(attribute, 1), be_const_var(7) },
})),
be_str_weak(Matter_PathGenerator)
);
/********************************************************************/
/* End of solidification */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,220 @@
/* Solidification of Matter_Plugin_1_Aggregator.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Aggregator' ktab size: 21, total: 29 (saved 64 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Aggregator[21] = {
/* 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(3),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(set),
/* K7 */ be_nested_str_weak(U2),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(U1),
/* K10 */ be_const_int(2),
/* K11 */ be_nested_str_weak(Matter_TLV_array),
/* K12 */ be_nested_str_weak(add_TLV),
/* K13 */ be_nested_str_weak(device),
/* K14 */ be_nested_str_weak(get_active_endpoints),
/* 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_nested_str_weak(Matter_TLV_struct),
/* K20 */ 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 */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0x1C1C0B04, // 0004 EQ R7 R5 K4
0x781E000F, // 0005 JMPF R7 #0016
0x1C1C0D05, // 0006 EQ R7 R6 K5
0x781E0005, // 0007 JMPF R7 #000E
0x8C1C0706, // 0008 GETMET R7 R3 K6
0x88240907, // 0009 GETMBR R9 R4 K7
0x58280005, // 000A LDCONST R10 K5
0x7C1C0600, // 000B CALL R7 3
0x80040E00, // 000C RET 1 R7
0x70020006, // 000D JMP #0015
0x1C1C0D08, // 000E EQ R7 R6 K8
0x781E0004, // 000F JMPF R7 #0015
0x8C1C0706, // 0010 GETMET R7 R3 K6
0x88240909, // 0011 GETMBR R9 R4 K9
0x58280005, // 0012 LDCONST R10 K5
0x7C1C0600, // 0013 CALL R7 3
0x80040E00, // 0014 RET 1 R7
0x70020029, // 0015 JMP #0040
0x541E001C, // 0016 LDINT R7 29
0x1C1C0A07, // 0017 EQ R7 R5 R7
0x781E0026, // 0018 JMPF R7 #0040
0x1C1C0D0A, // 0019 EQ R7 R6 K10
0x781E0008, // 001A JMPF R7 #0024
0x8C1C090B, // 001B GETMET R7 R4 K11
0x7C1C0200, // 001C CALL R7 1
0x8C200F0C, // 001D GETMET R8 R7 K12
0x4C280000, // 001E LDNIL R10
0x882C0907, // 001F GETMBR R11 R4 K7
0x5432001D, // 0020 LDINT R12 30
0x7C200800, // 0021 CALL R8 4
0x80040E00, // 0022 RET 1 R7
0x7002001B, // 0023 JMP #0040
0x1C1C0D04, // 0024 EQ R7 R6 K4
0x781E0019, // 0025 JMPF R7 #0040
0x8C1C090B, // 0026 GETMET R7 R4 K11
0x7C1C0200, // 0027 CALL R7 1
0x8820010D, // 0028 GETMBR R8 R0 K13
0x8C20110E, // 0029 GETMET R8 R8 K14
0x50280200, // 002A LDBOOL R10 1 0
0x7C200400, // 002B CALL R8 2
0x60240010, // 002C GETGBL R9 G16
0x5C281000, // 002D MOVE R10 R8
0x7C240200, // 002E CALL R9 1
0xA802000B, // 002F EXBLK 0 #003C
0x5C281200, // 0030 MOVE R10 R9
0x7C280000, // 0031 CALL R10 0
0xB82E0000, // 0032 GETNGBL R11 K0
0x882C170F, // 0033 GETMBR R11 R11 K15
0x202C140B, // 0034 NE R11 R10 R11
0x782E0004, // 0035 JMPF R11 #003B
0x8C2C0F0C, // 0036 GETMET R11 R7 K12
0x4C340000, // 0037 LDNIL R13
0x88380907, // 0038 GETMBR R14 R4 K7
0x5C3C1400, // 0039 MOVE R15 R10
0x7C2C0800, // 003A CALL R11 4
0x7001FFF3, // 003B JMP #0030
0x58240010, // 003C LDCONST R9 K16
0xAC240200, // 003D CATCH R9 1 0
0xB0080000, // 003E RAISE 2 R0 R0
0x80040E00, // 003F RET 1 R7
0x601C0003, // 0040 GETGBL R7 G3
0x5C200000, // 0041 MOVE R8 R0
0x7C1C0200, // 0042 CALL R7 1
0x8C1C0F11, // 0043 GETMET R7 R7 K17
0x5C240200, // 0044 MOVE R9 R1
0x5C280400, // 0045 MOVE R10 R2
0x5C2C0600, // 0046 MOVE R11 R3
0x7C1C0800, // 0047 CALL R7 4
0x80040E00, // 0048 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: invoke_request
********************************************************************/
be_local_closure(class_Matter_Plugin_Aggregator_invoke_request, /* name */
be_nested_proto(
13, /* 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(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
0x88180712, // 0003 GETMBR R6 R3 K18
0x1C1C0B04, // 0004 EQ R7 R5 K4
0x781E0016, // 0005 JMPF R7 #001D
0x1C1C0D05, // 0006 EQ R7 R6 K5
0x781E0002, // 0007 JMPF R7 #000B
0x501C0200, // 0008 LDBOOL R7 1 0
0x80040E00, // 0009 RET 1 R7
0x70020010, // 000A JMP #001C
0x1C1C0D08, // 000B EQ R7 R6 K8
0x781E0009, // 000C JMPF R7 #0017
0x8C1C0913, // 000D GETMET R7 R4 K19
0x7C1C0200, // 000E CALL R7 1
0x8C200F0C, // 000F GETMET R8 R7 K12
0x58280005, // 0010 LDCONST R10 K5
0x882C0907, // 0011 GETMBR R11 R4 K7
0x58300005, // 0012 LDCONST R12 K5
0x7C200800, // 0013 CALL R8 4
0x900E2505, // 0014 SETMBR R3 K18 K5
0x80040E00, // 0015 RET 1 R7
0x70020004, // 0016 JMP #001C
0x541E003F, // 0017 LDINT R7 64
0x1C1C0C07, // 0018 EQ R7 R6 R7
0x781E0001, // 0019 JMPF R7 #001C
0x501C0200, // 001A LDBOOL R7 1 0
0x80040E00, // 001B RET 1 R7
0x70020008, // 001C JMP #0026
0x601C0003, // 001D GETGBL R7 G3
0x5C200000, // 001E MOVE R8 R0
0x7C1C0200, // 001F CALL R7 1
0x8C1C0F14, // 0020 GETMET R7 R7 K20
0x5C240200, // 0021 MOVE R9 R1
0x5C280400, // 0022 MOVE R10 R2
0x5C2C0600, // 0023 MOVE R11 R3
0x7C1C0800, // 0024 CALL R7 4
0x80040E00, // 0025 RET 1 R7
0x80000000, // 0026 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Aggregator
********************************************************************/
extern const bclass be_class_Matter_Plugin;
be_local_class(Matter_Plugin_Aggregator,
0,
&be_class_Matter_Plugin,
be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Aggregator_read_attribute_closure) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(aggregator) },
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(14, -1), be_const_int(1) },
})) ) } )) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Aggregator) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(29, -1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 0), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Aggregator_invoke_request_closure) },
})),
be_str_weak(Matter_Plugin_Aggregator)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,493 @@
/* Solidification of Matter_Plugin_2_Fan.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Fan' ktab size: 28, total: 64 (saved 288 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Fan[28] = {
/* 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(1),
/* K15 */ be_nested_str_weak(matter),
/* K16 */ be_nested_str_weak(TLV),
/* K17 */ be_nested_str_weak(cluster),
/* K18 */ be_nested_str_weak(attribute),
/* K19 */ be_nested_str_weak(update_shadow_lazy),
/* K20 */ be_nested_str_weak(int),
/* K21 */ be_nested_str_weak(publish_command),
/* K22 */ be_nested_str_weak(status),
/* K23 */ be_nested_str_weak(CONSTRAINT_ERROR),
/* K24 */ be_nested_str_weak(init),
/* K25 */ be_nested_str_weak(set),
/* K26 */ be_nested_str_weak(U1),
/* K27 */ be_nested_str_weak(read_attribute),
};
extern const bclass be_class_Matter_Plugin_Fan;
/********************************************************************
** Solidified function: set_fan_mode
********************************************************************/
be_local_closure(class_Matter_Plugin_Fan_set_fan_mode, /* name */
be_nested_proto(
10, /* 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_Fan, /* shared constants */
be_str_weak(set_fan_mode),
&be_const_str_solidified,
( &(const binstruction[48]) { /* code */
0x60080009, // 0000 GETGBL R2 G9
0x5C0C0200, // 0001 MOVE R3 R1
0x7C080200, // 0002 CALL R2 1
0x5C040400, // 0003 MOVE R1 R2
0x14080300, // 0004 LT R2 R1 K0
0x780A0000, // 0005 JMPF R2 #0007
0x58040000, // 0006 LDCONST R1 K0
0x88080101, // 0007 GETMBR R2 R0 K1
0x20080202, // 0008 NE R2 R1 R2
0x780A0024, // 0009 JMPF R2 #002F
0x8C080102, // 000A GETMET R2 R0 K2
0x54120201, // 000B LDINT R4 514
0x58140000, // 000C LDCONST R5 K0
0x7C080600, // 000D CALL R2 3
0x60080009, // 000E GETGBL R2 G9
0x5C0C0200, // 000F MOVE R3 R1
0x7C080200, // 0010 CALL R2 1
0x90020202, // 0011 SETMBR R0 K1 R2
0x88080103, // 0012 GETMBR R2 R0 K3
0x880C0101, // 0013 GETMBR R3 R0 K1
0x1C0C0700, // 0014 EQ R3 R3 K0
0x780E0001, // 0015 JMPF R3 #0018
0x58080000, // 0016 LDCONST R2 K0
0x7002000E, // 0017 JMP #0027
0x880C0101, // 0018 GETMBR R3 R0 K1
0x240C0704, // 0019 GT R3 R3 K4
0x780E0002, // 001A JMPF R3 #001E
0x90020304, // 001B SETMBR R0 K1 K4
0x540A0063, // 001C LDINT R2 100
0x70020008, // 001D JMP #0027
0xB80E0A00, // 001E GETNGBL R3 K5
0x8C0C0706, // 001F GETMET R3 R3 K6
0x5C140200, // 0020 MOVE R5 R1
0x58180000, // 0021 LDCONST R6 K0
0x581C0004, // 0022 LDCONST R7 K4
0x58200000, // 0023 LDCONST R8 K0
0x54260063, // 0024 LDINT R9 100
0x7C0C0C00, // 0025 CALL R3 6
0x5C080600, // 0026 MOVE R2 R3
0x880C0103, // 0027 GETMBR R3 R0 K3
0x200C0602, // 0028 NE R3 R3 R2
0x780E0004, // 0029 JMPF R3 #002F
0x90020602, // 002A SETMBR R0 K3 R2
0x8C0C0102, // 002B GETMET R3 R0 K2
0x54160201, // 002C LDINT R5 514
0x58180007, // 002D LDCONST R6 K7
0x7C0C0600, // 002E CALL R3 3
0x80000000, // 002F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_virtual
********************************************************************/
be_local_closure(class_Matter_Plugin_Fan_update_virtual, /* name */
be_nested_proto(
13, /* 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_Fan, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
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
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
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
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
0x58240000, // 0017 LDCONST R9 K0
0x542A00FE, // 0018 LDINT R10 255
0x582C0000, // 0019 LDCONST R11 K0
0x54320063, // 001A LDINT R12 100
0x7C180C00, // 001B CALL R6 6
0x7C100400, // 001C CALL R4 2
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
0x8C14010C, // 0023 GETMET R5 R0 K12
0x601C0009, // 0024 GETGBL R7 G9
0x5C200800, // 0025 MOVE R8 R4
0x7C1C0200, // 0026 CALL R7 1
0x7C140400, // 0027 CALL R5 2
0x80000000, // 0028 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_fan_speed_pct
********************************************************************/
be_local_closure(class_Matter_Plugin_Fan_set_fan_speed_pct, /* name */
be_nested_proto(
10, /* 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_Fan, /* shared constants */
be_str_weak(set_fan_speed_pct),
&be_const_str_solidified,
( &(const binstruction[42]) { /* code */
0x60080009, // 0000 GETGBL R2 G9
0x5C0C0200, // 0001 MOVE R3 R1
0x7C080200, // 0002 CALL R2 1
0x5C040400, // 0003 MOVE R1 R2
0x14080300, // 0004 LT R2 R1 K0
0x780A0000, // 0005 JMPF R2 #0007
0x58040000, // 0006 LDCONST R1 K0
0x540A0063, // 0007 LDINT R2 100
0x24080202, // 0008 GT R2 R1 R2
0x780A0000, // 0009 JMPF R2 #000B
0x54060063, // 000A LDINT R1 100
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
0x58140007, // 0010 LDCONST R5 K7
0x7C080600, // 0011 CALL R2 3
0x90020601, // 0012 SETMBR R0 K3 R1
0x88080101, // 0013 GETMBR R2 R0 K1
0x1C0C0300, // 0014 EQ R3 R1 K0
0x780E0001, // 0015 JMPF R3 #0018
0x58080000, // 0016 LDCONST R2 K0
0x70020008, // 0017 JMP #0021
0xB80E0A00, // 0018 GETNGBL R3 K5
0x8C0C0706, // 0019 GETMET R3 R3 K6
0x5C140200, // 001A MOVE R5 R1
0x5818000E, // 001B LDCONST R6 K14
0x541E0063, // 001C LDINT R7 100
0x5820000E, // 001D LDCONST R8 K14
0x58240004, // 001E LDCONST R9 K4
0x7C0C0C00, // 001F CALL R3 6
0x5C080600, // 0020 MOVE R2 R3
0x880C0101, // 0021 GETMBR R3 R0 K1
0x200C0403, // 0022 NE R3 R2 R3
0x780E0004, // 0023 JMPF R3 #0029
0x90020202, // 0024 SETMBR R0 K1 R2
0x8C0C0102, // 0025 GETMET R3 R0 K2
0x54160201, // 0026 LDINT R5 514
0x58180000, // 0027 LDCONST R6 K0
0x7C0C0600, // 0028 CALL R3 3
0x80000000, // 0029 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: write_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Fan_write_attribute, /* name */
be_nested_proto(
21, /* 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_Fan, /* shared constants */
be_str_weak(write_attribute),
&be_const_str_solidified,
( &(const binstruction[78]) { /* code */
0xB8121E00, // 0000 GETNGBL R4 K15
0x88100910, // 0001 GETMBR R4 R4 K16
0x88140511, // 0002 GETMBR R5 R2 K17
0x88180512, // 0003 GETMBR R6 R2 K18
0x541E0201, // 0004 LDINT R7 514
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0044, // 0006 JMPF R7 #004C
0x8C1C0113, // 0007 GETMET R7 R0 K19
0x7C1C0200, // 0008 CALL R7 1
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
0x1C1C0F14, // 000E EQ R7 R7 K20
0x781E0014, // 000F JMPF R7 #0025
0x8C1C010A, // 0010 GETMET R7 R0 K10
0x5C240600, // 0011 MOVE R9 R3
0x7C1C0400, // 0012 CALL R7 2
0x8C1C0115, // 0013 GETMET R7 R0 K21
0x58240009, // 0014 LDCONST R9 K9
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
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
0xB81E1E00, // 0025 GETNGBL R7 K15
0x881C0F17, // 0026 GETMBR R7 R7 K23
0x900A2C07, // 0027 SETMBR R2 K22 R7
0x501C0000, // 0028 LDBOOL R7 0 0
0x80040E00, // 0029 RET 1 R7
0x70020020, // 002A JMP #004C
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
0x1C1C0F14, // 0030 EQ R7 R7 K20
0x781E0014, // 0031 JMPF R7 #0047
0x8C1C010C, // 0032 GETMET R7 R0 K12
0x5C240600, // 0033 MOVE R9 R3
0x7C1C0400, // 0034 CALL R7 2
0x8C1C0115, // 0035 GETMET R7 R0 K21
0x58240009, // 0036 LDCONST R9 K9
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
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
0xB81E1E00, // 0047 GETNGBL R7 K15
0x881C0F17, // 0048 GETMBR R7 R7 K23
0x900A2C07, // 0049 SETMBR R2 K22 R7
0x501C0000, // 004A LDBOOL R7 0 0
0x80040E00, // 004B RET 1 R7
0x4C1C0000, // 004C LDNIL R7
0x80040E00, // 004D RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Plugin_Fan_init, /* name */
be_nested_proto(
9, /* 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_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
0x8C100918, // 0003 GETMET R4 R4 K24
0x5C180200, // 0004 MOVE R6 R1
0x5C1C0400, // 0005 MOVE R7 R2
0x5C200600, // 0006 MOVE R8 R3
0x7C100800, // 0007 CALL R4 4
0x90020300, // 0008 SETMBR R0 K1 K0
0x90020700, // 0009 SETMBR R0 K3 K0
0x80000000, // 000A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Fan_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_Fan, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[49]) { /* code */
0xB8121E00, // 0000 GETNGBL R4 K15
0x88100910, // 0001 GETMBR R4 R4 K16
0x88140511, // 0002 GETMBR R5 R2 K17
0x88180512, // 0003 GETMBR R6 R2 K18
0x541E0201, // 0004 LDINT R7 514
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0020, // 0006 JMPF R7 #0028
0x8C1C0113, // 0007 GETMET R7 R0 K19
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D00, // 0009 EQ R7 R6 K0
0x781E0005, // 000A JMPF R7 #0011
0x8C1C0719, // 000B GETMET R7 R3 K25
0x8824091A, // 000C GETMBR R9 R4 K26
0x88280101, // 000D GETMBR R10 R0 K1
0x7C1C0600, // 000E CALL R7 3
0x80040E00, // 000F RET 1 R7
0x70020016, // 0010 JMP #0028
0x1C1C0D0E, // 0011 EQ R7 R6 K14
0x781E0005, // 0012 JMPF R7 #0019
0x8C1C0719, // 0013 GETMET R7 R3 K25
0x8824091A, // 0014 GETMBR R9 R4 K26
0x58280007, // 0015 LDCONST R10 K7
0x7C1C0600, // 0016 CALL R7 3
0x80040E00, // 0017 RET 1 R7
0x7002000E, // 0018 JMP #0028
0x1C1C0D07, // 0019 EQ R7 R6 K7
0x781E0005, // 001A JMPF R7 #0021
0x8C1C0719, // 001B GETMET R7 R3 K25
0x8824091A, // 001C GETMBR R9 R4 K26
0x88280103, // 001D GETMBR R10 R0 K3
0x7C1C0600, // 001E CALL R7 3
0x80040E00, // 001F RET 1 R7
0x70020006, // 0020 JMP #0028
0x1C1C0D04, // 0021 EQ R7 R6 K4
0x781E0004, // 0022 JMPF R7 #0028
0x8C1C0719, // 0023 GETMET R7 R3 K25
0x8824091A, // 0024 GETMBR R9 R4 K26
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
0x8C1C0F1B, // 002B GETMET R7 R7 K27
0x5C240200, // 002C MOVE R9 R1
0x5C280400, // 002D MOVE R10 R2
0x5C2C0600, // 002E MOVE R11 R3
0x7C1C0800, // 002F CALL R7 4
0x80040E00, // 0030 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Fan
********************************************************************/
extern const bclass be_class_Matter_Plugin_Device;
be_local_class(Matter_Plugin_Fan,
2,
&be_class_Matter_Plugin_Device,
be_nested_map(13,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Fan_update_virtual_closure) },
{ be_const_key_weak(read_attribute, 3), be_const_closure(class_Matter_Plugin_Fan_read_attribute_closure) },
{ be_const_key_weak(TYPE, 0), be_nested_str_weak(fan) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(3,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(FanMode),
be_nested_str_weak(FanSpeed),
be_nested_str_weak(FanSpeed255),
})) ) } )) },
{ be_const_key_weak(shadow_fan_speed_pct, -1), be_const_var(1) },
{ be_const_key_weak(set_fan_speed_pct, -1), be_const_closure(class_Matter_Plugin_Fan_set_fan_speed_pct_closure) },
{ be_const_key_weak(shadow_fan_mode, 8), be_const_var(0) },
{ be_const_key_weak(write_attribute, -1), be_const_closure(class_Matter_Plugin_Fan_write_attribute_closure) },
{ be_const_key_weak(init, 9), be_const_closure(class_Matter_Plugin_Fan_init_closure) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Fan) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(514, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(set_fan_mode, 1), be_const_closure(class_Matter_Plugin_Fan_set_fan_mode_closure) },
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(43, -1), be_const_int(2) },
})) ) } )) },
})),
be_str_weak(Matter_Plugin_Fan)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,757 @@
/* Solidification of Matter_Plugin_2_Light0.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Light0' ktab size: 60, total: 104 (saved 352 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Light0[60] = {
/* K0 */ be_nested_str_weak(math),
/* K1 */ be_nested_str_weak(log),
/* K2 */ be_nested_str_weak(MTR_X3A_X20zigbee_received_X20Ox_X2504X_X20attr_list_X3D_X25s_X20type_X28attr_list_X29_X3D_X25s),
/* K3 */ be_nested_str_weak(zigbee_mapper),
/* K4 */ be_nested_str_weak(shortaddr),
/* K5 */ be_const_int(3),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(key),
/* K8 */ be_nested_str_weak(Power),
/* K9 */ be_nested_str_weak(val),
/* K10 */ be_nested_str_weak(Dimmer),
/* K11 */ be_nested_str_weak(CT),
/* K12 */ be_const_int(1),
/* K13 */ be_nested_str_weak(update_virtual),
/* K14 */ be_nested_str_weak(MTR_X3A_X20_X5B_X2502X_X5D_X20Light2_X20updated_X20_X25s),
/* K15 */ be_nested_str_weak(endpoint),
/* K16 */ be_nested_str_weak(tasmota_relay_index),
/* K17 */ be_nested_str_weak(contains),
/* K18 */ be_nested_str_weak(POWER),
/* K19 */ be_nested_str_weak(find),
/* K20 */ be_nested_str_weak(ON),
/* K21 */ be_nested_str_weak(shadow_onoff),
/* K22 */ be_nested_str_weak(attribute_updated),
/* K23 */ be_nested_str_weak(VIRTUAL),
/* K24 */ be_nested_str_weak(BRIDGE),
/* K25 */ be_nested_str_weak(tasmota),
/* K26 */ be_nested_str_weak(get_power),
/* K27 */ be_nested_str_weak(update_shadow),
/* K28 */ be_nested_str_weak(webserver),
/* K29 */ be_nested_str_weak(web_values_prefix),
/* K30 */ be_nested_str_weak(content_send),
/* K31 */ be_nested_str_weak(_X25s),
/* K32 */ be_nested_str_weak(web_value_onoff),
/* K33 */ be_nested_str_weak(matter),
/* K34 */ be_nested_str_weak(TLV),
/* K35 */ be_nested_str_weak(cluster),
/* K36 */ be_nested_str_weak(command),
/* K37 */ be_nested_str_weak(update_shadow_lazy),
/* K38 */ be_nested_str_weak(set_onoff),
/* K39 */ be_nested_str_weak(publish_command),
/* K40 */ be_const_int(2),
/* K41 */ be_nested_str_weak(attribute),
/* K42 */ be_nested_str_weak(set),
/* K43 */ be_nested_str_weak(BOOL),
/* K44 */ be_nested_str_weak(read_attribute),
/* K45 */ be_nested_str_weak(parse_configuration),
/* K46 */ be_nested_str_weak(ARG),
/* K47 */ be_nested_str_weak(get_name),
/* K48 */ be_nested_str_weak(PREFIX),
/* K49 */ be_nested_str_weak(html_escape),
/* K50 */ be_nested_str_weak(),
/* K51 */ be_nested_str_weak(light_index),
/* K52 */ be_nested_str_weak(init),
/* K53 */ be_nested_str_weak(call_remote_sync),
/* K54 */ be_nested_str_weak(1),
/* K55 */ be_nested_str_weak(0),
/* K56 */ be_nested_str_weak(parse_status),
/* K57 */ be_nested_str_weak(set_power),
/* K58 */ be_nested_str_weak(light),
/* K59 */ be_nested_str_weak(power),
};
extern const bclass be_class_Matter_Plugin_Light0;
/********************************************************************
** Solidified function: zigbee_received
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_zigbee_received, /* 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_Light0, /* shared constants */
be_str_weak(zigbee_received),
&be_const_str_solidified,
( &(const binstruction[62]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x60140018, // 0002 GETGBL R5 G24
0x58180002, // 0003 LDCONST R6 K2
0x881C0103, // 0004 GETMBR R7 R0 K3
0x881C0F04, // 0005 GETMBR R7 R7 K4
0x5C200400, // 0006 MOVE R8 R2
0x60240004, // 0007 GETGBL R9 G4
0x5C280400, // 0008 MOVE R10 R2
0x7C240200, // 0009 CALL R9 1
0x7C140800, // 000A CALL R5 4
0x58180005, // 000B LDCONST R6 K5
0x7C100400, // 000C CALL R4 2
0x58100006, // 000D LDCONST R4 K6
0x60140013, // 000E GETGBL R5 G19
0x7C140000, // 000F CALL R5 0
0x6018000C, // 0010 GETGBL R6 G12
0x5C1C0400, // 0011 MOVE R7 R2
0x7C180200, // 0012 CALL R6 1
0x14180806, // 0013 LT R6 R4 R6
0x781A0017, // 0014 JMPF R6 #002D
0x94180404, // 0015 GETIDX R6 R2 R4
0x881C0D07, // 0016 GETMBR R7 R6 K7
0x1C1C0F08, // 0017 EQ R7 R7 K8
0x781E0003, // 0018 JMPF R7 #001D
0x601C0009, // 0019 GETGBL R7 G9
0x88200D09, // 001A GETMBR R8 R6 K9
0x7C1C0200, // 001B CALL R7 1
0x98161007, // 001C SETIDX R5 K8 R7
0x881C0D07, // 001D GETMBR R7 R6 K7
0x1C1C0F0A, // 001E EQ R7 R7 K10
0x781E0003, // 001F JMPF R7 #0024
0x601C0009, // 0020 GETGBL R7 G9
0x88200D09, // 0021 GETMBR R8 R6 K9
0x7C1C0200, // 0022 CALL R7 1
0x98161407, // 0023 SETIDX R5 K10 R7
0x881C0D07, // 0024 GETMBR R7 R6 K7
0x1C1C0F0B, // 0025 EQ R7 R7 K11
0x781E0003, // 0026 JMPF R7 #002B
0x601C0009, // 0027 GETGBL R7 G9
0x88200D09, // 0028 GETMBR R8 R6 K9
0x7C1C0200, // 0029 CALL R7 1
0x98161607, // 002A SETIDX R5 K11 R7
0x0010090C, // 002B ADD R4 R4 K12
0x7001FFE2, // 002C JMP #0010
0x6018000C, // 002D GETGBL R6 G12
0x5C1C0A00, // 002E MOVE R7 R5
0x7C180200, // 002F CALL R6 1
0x24180D06, // 0030 GT R6 R6 K6
0x781A000A, // 0031 JMPF R6 #003D
0x8C18010D, // 0032 GETMET R6 R0 K13
0x5C200A00, // 0033 MOVE R8 R5
0x7C180400, // 0034 CALL R6 2
0xB81A0200, // 0035 GETNGBL R6 K1
0x601C0018, // 0036 GETGBL R7 G24
0x5820000E, // 0037 LDCONST R8 K14
0x8824010F, // 0038 GETMBR R9 R0 K15
0x5C280A00, // 0039 MOVE R10 R5
0x7C1C0600, // 003A CALL R7 3
0x58200005, // 003B LDCONST R8 K5
0x7C180400, // 003C CALL R6 2
0x80000000, // 003D RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_status
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_parse_status, /* 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_Matter_Plugin_Light0, /* shared constants */
be_str_weak(parse_status),
&be_const_str_solidified,
( &(const binstruction[37]) { /* code */
0x540E000A, // 0000 LDINT R3 11
0x1C0C0403, // 0001 EQ R3 R2 R3
0x780E0020, // 0002 JMPF R3 #0024
0x500C0000, // 0003 LDBOOL R3 0 0
0x88100110, // 0004 GETMBR R4 R0 K16
0x1C10090C, // 0005 EQ R4 R4 K12
0x78120009, // 0006 JMPF R4 #0011
0x8C100311, // 0007 GETMET R4 R1 K17
0x58180012, // 0008 LDCONST R6 K18
0x7C100400, // 0009 CALL R4 2
0x78120005, // 000A JMPF R4 #0011
0x8C100313, // 000B GETMET R4 R1 K19
0x58180012, // 000C LDCONST R6 K18
0x7C100400, // 000D CALL R4 2
0x1C100914, // 000E EQ R4 R4 K20
0x5C0C0800, // 000F MOVE R3 R4
0x70020007, // 0010 JMP #0019
0x8C100313, // 0011 GETMET R4 R1 K19
0x60180008, // 0012 GETGBL R6 G8
0x881C0110, // 0013 GETMBR R7 R0 K16
0x7C180200, // 0014 CALL R6 1
0x001A2406, // 0015 ADD R6 K18 R6
0x7C100400, // 0016 CALL R4 2
0x1C100914, // 0017 EQ R4 R4 K20
0x5C0C0800, // 0018 MOVE R3 R4
0x88100115, // 0019 GETMBR R4 R0 K21
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
0x8C100116, // 001F GETMET R4 R0 K22
0x541A0005, // 0020 LDINT R6 6
0x581C0006, // 0021 LDCONST R7 K6
0x7C100600, // 0022 CALL R4 3
0x90022A03, // 0023 SETMBR R0 K21 R3
0x80000000, // 0024 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_shadow
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_update_shadow, /* 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_Light0, /* shared constants */
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[33]) { /* code */
0x88040117, // 0000 GETMBR R1 R0 K23
0x74060018, // 0001 JMPT R1 #001B
0x88040118, // 0002 GETMBR R1 R0 K24
0x74060016, // 0003 JMPT R1 #001B
0x88040110, // 0004 GETMBR R1 R0 K16
0x4C080000, // 0005 LDNIL R2
0x20040202, // 0006 NE R1 R1 R2
0x78060012, // 0007 JMPF R1 #001B
0xB8063200, // 0008 GETNGBL R1 K25
0x8C04031A, // 0009 GETMET R1 R1 K26
0x880C0110, // 000A GETMBR R3 R0 K16
0x040C070C, // 000B SUB R3 R3 K12
0x7C040400, // 000C CALL R1 2
0x4C080000, // 000D LDNIL R2
0x20080202, // 000E NE R2 R1 R2
0x780A000A, // 000F JMPF R2 #001B
0x88080115, // 0010 GETMBR R2 R0 K21
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
0x8C080116, // 0016 GETMET R2 R0 K22
0x54120005, // 0017 LDINT R4 6
0x58140006, // 0018 LDCONST R5 K6
0x7C080600, // 0019 CALL R2 3
0x90022A01, // 001A SETMBR R0 K21 R1
0x60040003, // 001B GETGBL R1 G3
0x5C080000, // 001C MOVE R2 R0
0x7C040200, // 001D CALL R1 1
0x8C04031B, // 001E GETMET R1 R1 K27
0x7C040200, // 001F CALL R1 1
0x80000000, // 0020 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_web_values, /* name */
be_nested_proto(
9, /* 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_Light0, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0xA4063800, // 0000 IMPORT R1 K28
0x8C08011D, // 0001 GETMET R2 R0 K29
0x7C080200, // 0002 CALL R2 1
0x8C08031E, // 0003 GETMET R2 R1 K30
0x60100018, // 0004 GETGBL R4 G24
0x5814001F, // 0005 LDCONST R5 K31
0x8C180120, // 0006 GETMET R6 R0 K32
0x88200115, // 0007 GETMBR R8 R0 K21
0x7C180400, // 0008 CALL R6 2
0x7C100400, // 0009 CALL R4 2
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: invoke_request
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_invoke_request, /* name */
be_nested_proto(
11, /* 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_Light0, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[52]) { /* code */
0xB8124200, // 0000 GETNGBL R4 K33
0x88100922, // 0001 GETMBR R4 R4 K34
0x88140723, // 0002 GETMBR R5 R3 K35
0x88180724, // 0003 GETMBR R6 R3 K36
0x541E0005, // 0004 LDINT R7 6
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E002B, // 0006 JMPF R7 #0033
0x8C1C0125, // 0007 GETMET R7 R0 K37
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D06, // 0009 EQ R7 R6 K6
0x781E0009, // 000A JMPF R7 #0015
0x8C1C0126, // 000B GETMET R7 R0 K38
0x50240000, // 000C LDBOOL R9 0 0
0x7C1C0400, // 000D CALL R7 2
0x8C1C0127, // 000E GETMET R7 R0 K39
0x58240008, // 000F LDCONST R9 K8
0x58280006, // 0010 LDCONST R10 K6
0x7C1C0600, // 0011 CALL R7 3
0x501C0200, // 0012 LDBOOL R7 1 0
0x80040E00, // 0013 RET 1 R7
0x7002001D, // 0014 JMP #0033
0x1C1C0D0C, // 0015 EQ R7 R6 K12
0x781E0009, // 0016 JMPF R7 #0021
0x8C1C0126, // 0017 GETMET R7 R0 K38
0x50240200, // 0018 LDBOOL R9 1 0
0x7C1C0400, // 0019 CALL R7 2
0x8C1C0127, // 001A GETMET R7 R0 K39
0x58240008, // 001B LDCONST R9 K8
0x5828000C, // 001C LDCONST R10 K12
0x7C1C0600, // 001D CALL R7 3
0x501C0200, // 001E LDBOOL R7 1 0
0x80040E00, // 001F RET 1 R7
0x70020011, // 0020 JMP #0033
0x1C1C0D28, // 0021 EQ R7 R6 K40
0x781E000F, // 0022 JMPF R7 #0033
0x8C1C0126, // 0023 GETMET R7 R0 K38
0x88240115, // 0024 GETMBR R9 R0 K21
0x78260000, // 0025 JMPF R9 #0027
0x50240001, // 0026 LDBOOL R9 0 1
0x50240200, // 0027 LDBOOL R9 1 0
0x7C1C0400, // 0028 CALL R7 2
0x8C1C0127, // 0029 GETMET R7 R0 K39
0x58240008, // 002A LDCONST R9 K8
0x88280115, // 002B GETMBR R10 R0 K21
0x782A0001, // 002C JMPF R10 #002F
0x5828000C, // 002D LDCONST R10 K12
0x70020000, // 002E JMP #0030
0x58280006, // 002F LDCONST R10 K6
0x7C1C0600, // 0030 CALL R7 3
0x501C0200, // 0031 LDBOOL R7 1 0
0x80040E00, // 0032 RET 1 R7
0x80000000, // 0033 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_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_Light0, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
0xB8124200, // 0000 GETNGBL R4 K33
0x88100922, // 0001 GETMBR R4 R4 K34
0x88140523, // 0002 GETMBR R5 R2 K35
0x88180529, // 0003 GETMBR R6 R2 K41
0x541E0005, // 0004 LDINT R7 6
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0008, // 0006 JMPF R7 #0010
0x8C1C0125, // 0007 GETMET R7 R0 K37
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D06, // 0009 EQ R7 R6 K6
0x781E0004, // 000A JMPF R7 #0010
0x8C1C072A, // 000B GETMET R7 R3 K42
0x8824092B, // 000C GETMBR R9 R4 K43
0x88280115, // 000D GETMBR R10 R0 K21
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
0x8C1C0F2C, // 0013 GETMET R7 R7 K44
0x5C240200, // 0014 MOVE R9 R1
0x5C280400, // 0015 MOVE R10 R2
0x5C2C0600, // 0016 MOVE R11 R3
0x7C1C0800, // 0017 CALL R7 4
0x80040E00, // 0018 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_configuration
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_parse_configuration, /* 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(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C08052D, // 0003 GETMET R2 R2 K45
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x60080009, // 0006 GETGBL R2 G9
0x8C0C0313, // 0007 GETMET R3 R1 K19
0x8814012E, // 0008 GETMBR R5 R0 K46
0x4C180000, // 0009 LDNIL R6
0x7C0C0600, // 000A CALL R3 3
0x7C080200, // 000B CALL R2 1
0x90022002, // 000C SETMBR R0 K16 R2
0x88080110, // 000D GETMBR R2 R0 K16
0x4C0C0000, // 000E LDNIL R3
0x20080403, // 000F NE R2 R2 R3
0x780A0003, // 0010 JMPF R2 #0015
0x88080110, // 0011 GETMBR R2 R0 K16
0x18080506, // 0012 LE R2 R2 K6
0x780A0000, // 0013 JMPF R2 #0015
0x9002210C, // 0014 SETMBR R0 K16 K12
0x80000000, // 0015 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values_prefix
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_web_values_prefix, /* name */
be_nested_proto(
10, /* 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_Light0, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xA4063800, // 0000 IMPORT R1 K28
0x8C08012F, // 0001 GETMET R2 R0 K47
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x88100110, // 0006 GETMBR R4 R0 K16
0x7C0C0200, // 0007 CALL R3 1
0x000E1003, // 0008 ADD R3 K8 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C031E, // 000A GETMET R3 R1 K30
0x60140018, // 000B GETGBL R5 G24
0x88180130, // 000C GETMBR R6 R0 K48
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0331, // 000E GETMET R7 R1 K49
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0032, // 0012 LDCONST R7 K50
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_init, /* name */
be_nested_proto(
9, /* 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_Light0, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x50100000, // 0000 LDBOOL R4 0 0
0x90022A04, // 0001 SETMBR R0 K21 R4
0x90026706, // 0002 SETMBR R0 K51 K6
0x60100003, // 0003 GETGBL R4 G3
0x5C140000, // 0004 MOVE R5 R0
0x7C100200, // 0005 CALL R4 1
0x8C100934, // 0006 GETMET R4 R4 K52
0x5C180200, // 0007 MOVE R6 R1
0x5C1C0400, // 0008 MOVE R7 R2
0x5C200600, // 0009 MOVE R8 R3
0x7C100800, // 000A CALL R4 4
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
8, /* 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(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040009, // 0000 GETGBL R1 G9
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** 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 */
0x88080118, // 0000 GETMBR R2 R0 K24
0x780A0011, // 0001 JMPF R2 #0014
0x8C080135, // 0002 GETMET R2 R0 K53
0x60100008, // 0003 GETGBL R4 G8
0x88140110, // 0004 GETMBR R5 R0 K16
0x7C100200, // 0005 CALL R4 1
0x00121004, // 0006 ADD R4 K8 R4
0x78060001, // 0007 JMPF R1 #000A
0x58140036, // 0008 LDCONST R5 K54
0x70020000, // 0009 JMP #000B
0x58140037, // 000A LDCONST R5 K55
0x7C080600, // 000B CALL R2 3
0x4C0C0000, // 000C LDNIL R3
0x200C0403, // 000D NE R3 R2 R3
0x780E0003, // 000E JMPF R3 #0013
0x8C0C0138, // 000F GETMET R3 R0 K56
0x5C140400, // 0010 MOVE R5 R2
0x541A000A, // 0011 LDINT R6 11
0x7C0C0600, // 0012 CALL R3 3
0x70020022, // 0013 JMP #0037
0x88080117, // 0014 GETMBR R2 R0 K23
0x780A0008, // 0015 JMPF R2 #001F
0x88080115, // 0016 GETMBR R2 R0 K21
0x20080202, // 0017 NE R2 R1 R2
0x780A0004, // 0018 JMPF R2 #001E
0x8C080116, // 0019 GETMET R2 R0 K22
0x54120005, // 001A LDINT R4 6
0x58140006, // 001B LDCONST R5 K6
0x7C080600, // 001C CALL R2 3
0x90022A01, // 001D SETMBR R0 K21 R1
0x70020017, // 001E JMP #0037
0x88080110, // 001F GETMBR R2 R0 K16
0x4C0C0000, // 0020 LDNIL R3
0x20080403, // 0021 NE R2 R2 R3
0x780A000A, // 0022 JMPF R2 #002E
0xB80A3200, // 0023 GETNGBL R2 K25
0x8C080539, // 0024 GETMET R2 R2 K57
0x88100110, // 0025 GETMBR R4 R0 K16
0x0410090C, // 0026 SUB R4 R4 K12
0x60140017, // 0027 GETGBL R5 G23
0x5C180200, // 0028 MOVE R6 R1
0x7C140200, // 0029 CALL R5 1
0x7C080600, // 002A CALL R2 3
0x8C08011B, // 002B GETMET R2 R0 K27
0x7C080200, // 002C CALL R2 1
0x70020008, // 002D JMP #0037
0xA40A7400, // 002E IMPORT R2 K58
0x8C0C052A, // 002F GETMET R3 R2 K42
0x60140013, // 0030 GETGBL R5 G19
0x7C140000, // 0031 CALL R5 0
0x98167601, // 0032 SETIDX R5 K59 R1
0x88180133, // 0033 GETMBR R6 R0 K51
0x7C0C0600, // 0034 CALL R3 3
0x8C0C011B, // 0035 GETMET R3 R0 K27
0x7C0C0200, // 0036 CALL R3 1
0x80000000, // 0037 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_virtual
********************************************************************/
be_local_closure(class_Matter_Plugin_Light0_update_virtual, /* 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(update_virtual),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x8C080313, // 0000 GETMET R2 R1 K19
0x58100008, // 0001 LDCONST R4 K8
0x7C080400, // 0002 CALL R2 2
0x4C0C0000, // 0003 LDNIL R3
0x200C0403, // 0004 NE R3 R2 R3
0x780E0004, // 0005 JMPF R3 #000B
0x8C0C0126, // 0006 GETMET R3 R0 K38
0x60140017, // 0007 GETGBL R5 G23
0x5C180400, // 0008 MOVE R6 R2
0x7C140200, // 0009 CALL R5 1
0x7C0C0400, // 000A CALL R3 2
0x600C0003, // 000B GETGBL R3 G3
0x5C100000, // 000C MOVE R4 R0
0x7C0C0200, // 000D CALL R3 1
0x8C0C070D, // 000E GETMET R3 R3 K13
0x5C140200, // 000F MOVE R5 R1
0x7C0C0400, // 0010 CALL R3 2
0x80000000, // 0011 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Light0
********************************************************************/
extern const bclass be_class_Matter_Plugin_Device;
be_local_class(Matter_Plugin_Light0,
3,
&be_class_Matter_Plugin_Device,
be_nested_map(23,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(update_virtual, 13), be_const_closure(class_Matter_Plugin_Light0_update_virtual_closure) },
{ be_const_key_weak(CLUSTERS, 15), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(6, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(zigbee_received, 0), be_const_closure(class_Matter_Plugin_Light0_zigbee_received_closure) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(light0) },
{ be_const_key_weak(parse_status, -1), be_const_closure(class_Matter_Plugin_Light0_parse_status_closure) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Relay_X3Cx_X3E_X20number) },
{ be_const_key_weak(UPDATE_TIME, 11), be_const_int(250) },
{ be_const_key_weak(update_shadow, -1), be_const_closure(class_Matter_Plugin_Light0_update_shadow_closure) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Light0_web_values_closure) },
{ be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Light0_invoke_request_closure) },
{ be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Light0_read_attribute_closure) },
{ be_const_key_weak(tasmota_relay_index, -1), be_const_var(0) },
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Light0_web_values_prefix_closure) },
{ be_const_key_weak(ARG, 18), be_nested_str_weak(relay) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Light0_init_closure) },
{ be_const_key_weak(TYPES, 21), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(256, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X200_X20OnOff) },
{ be_const_key_weak(light_index, 1), be_const_var(1) },
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Light0__X3Clambda_X3E_closure) },
{ be_const_key_weak(set_onoff, -1), be_const_closure(class_Matter_Plugin_Light0_set_onoff_closure) },
{ be_const_key_weak(shadow_onoff, 5), be_const_var(2) },
{ be_const_key_weak(parse_configuration, 22), be_const_closure(class_Matter_Plugin_Light0_parse_configuration_closure) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Power),
})) ) } )) },
})),
be_str_weak(Matter_Plugin_Light0)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,410 @@
/* Solidification of Matter_Plugin_2_Sensor.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor' ktab size: 37, total: 54 (saved 136 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor[37] = {
/* K0 */ be_nested_str_weak(init),
/* K1 */ be_nested_str_weak(add_read_sensors_schedule),
/* K2 */ be_nested_str_weak(UPDATE_TIME),
/* K3 */ be_nested_str_weak(find),
/* K4 */ be_nested_str_weak(JSON_NAME),
/* K5 */ be_nested_str_weak(bool),
/* K6 */ be_nested_str_weak(shadow_value),
/* K7 */ be_nested_str_weak(value_changed),
/* K8 */ be_nested_str_weak(update_virtual),
/* K9 */ be_nested_str_weak(parse_configuration),
/* K10 */ be_nested_str_weak(tasmota_sensor_filter),
/* K11 */ be_nested_str_weak(ARG),
/* K12 */ be_nested_str_weak(tasmota_sensor_matcher),
/* 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_unit),
/* K17 */ be_nested_str_weak(TEMP_C),
/* K18 */ be_nested_str_weak(pressure_unit),
/* K19 */ be_nested_str_weak(PRESSURE_HPA),
/* K20 */ be_nested_str_weak(webserver),
/* K21 */ be_nested_str_weak(get_name),
/* K22 */ be_nested_str_weak(filter_name_html),
/* K23 */ be_nested_str_weak(content_send),
/* K24 */ be_nested_str_weak(PREFIX),
/* K25 */ be_nested_str_weak(html_escape),
/* K26 */ be_nested_str_weak(),
/* K27 */ be_nested_str_weak(VIRTUAL),
/* K28 */ be_nested_str_weak(match),
/* K29 */ be_nested_str_weak(pre_value),
/* K30 */ be_nested_str_weak(string),
/* K31 */ be_nested_str_weak(split),
/* K32 */ be_nested_str_weak(_X23),
/* K33 */ be_const_int(0),
/* K34 */ be_nested_str_weak(contains),
/* K35 */ be_nested_str_weak(TempUnit),
/* K36 */ be_nested_str_weak(PressureUnit),
};
extern const bclass be_class_Matter_Plugin_Sensor;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_init, /* name */
be_nested_proto(
9, /* 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, /* 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
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
0x7C100400, // 000A CALL R4 2
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_virtual
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_update_virtual, /* name */
be_nested_proto(
6, /* 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_Sensor, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[28]) { /* code */
0x8C080303, // 0000 GETMET R2 R1 K3
0x88100104, // 0001 GETMBR R4 R0 K4
0x7C080400, // 0002 CALL R2 2
0x4C0C0000, // 0003 LDNIL R3
0x200C0403, // 0004 NE R3 R2 R3
0x780E000E, // 0005 JMPF R3 #0015
0x600C0004, // 0006 GETGBL R3 G4
0x5C100400, // 0007 MOVE R4 R2
0x7C0C0200, // 0008 CALL R3 1
0x1C0C0705, // 0009 EQ R3 R3 K5
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
0x880C0106, // 000F GETMBR R3 R0 K6
0x200C0602, // 0010 NE R3 R3 R2
0x780E0002, // 0011 JMPF R3 #0015
0x8C0C0107, // 0012 GETMET R3 R0 K7
0x7C0C0200, // 0013 CALL R3 1
0x90020C02, // 0014 SETMBR R0 K6 R2
0x600C0003, // 0015 GETGBL R3 G3
0x5C100000, // 0016 MOVE R4 R0
0x7C0C0200, // 0017 CALL R3 1
0x8C0C0708, // 0018 GETMET R3 R3 K8
0x5C140200, // 0019 MOVE R5 R1
0x7C0C0400, // 001A CALL R3 2
0x80000000, // 001B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_configuration
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_parse_configuration, /* name */
be_nested_proto(
5, /* 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_Sensor, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C080509, // 0003 GETMET R2 R2 K9
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x8C080303, // 0006 GETMET R2 R1 K3
0x8810010B, // 0007 GETMBR R4 R0 K11
0x7C080400, // 0008 CALL R2 2
0x90021402, // 0009 SETMBR R0 K10 R2
0x8808010A, // 000A GETMBR R2 R0 K10
0x780A0005, // 000B JMPF R2 #0012
0xB80A1A00, // 000C GETNGBL R2 K13
0x8808050E, // 000D GETMBR R2 R2 K14
0x8C08050F, // 000E GETMET R2 R2 K15
0x8810010A, // 000F GETMBR R4 R0 K10
0x7C080400, // 0010 CALL R2 2
0x90021802, // 0011 SETMBR R0 K12 R2
0x88080111, // 0012 GETMBR R2 R0 K17
0x90022002, // 0013 SETMBR R0 K16 R2
0x88080113, // 0014 GETMBR R2 R0 K19
0x90022402, // 0015 SETMBR R0 K18 R2
0x80000000, // 0016 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values_prefix
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_web_values_prefix, /* name */
be_nested_proto(
10, /* 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_Sensor, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0xA4062800, // 0000 IMPORT R1 K20
0x8C080115, // 0001 GETMET R2 R0 K21
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0002, // 0004 JMPT R3 #0008
0x8C0C0116, // 0005 GETMET R3 R0 K22
0x7C0C0200, // 0006 CALL R3 1
0x5C080600, // 0007 MOVE R2 R3
0x8C0C0317, // 0008 GETMET R3 R1 K23
0x60140018, // 0009 GETGBL R5 G24
0x88180118, // 000A GETMBR R6 R0 K24
0x780A0003, // 000B JMPF R2 #0010
0x8C1C0319, // 000C GETMET R7 R1 K25
0x5C240400, // 000D MOVE R9 R2
0x7C1C0400, // 000E CALL R7 2
0x70020000, // 000F JMP #0011
0x581C001A, // 0010 LDCONST R7 K26
0x7C140400, // 0011 CALL R5 2
0x7C0C0400, // 0012 CALL R3 2
0x80000000, // 0013 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_sensors
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_parse_sensors, /* 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_Sensor, /* shared constants */
be_str_weak(parse_sensors),
&be_const_str_solidified,
( &(const binstruction[33]) { /* code */
0x8808011B, // 0000 GETMBR R2 R0 K27
0x740A001D, // 0001 JMPT R2 #0020
0x8808010C, // 0002 GETMBR R2 R0 K12
0x780A001B, // 0003 JMPF R2 #0020
0x8808010C, // 0004 GETMBR R2 R0 K12
0x8C08051C, // 0005 GETMET R2 R2 K28
0x5C100200, // 0006 MOVE R4 R1
0x7C080400, // 0007 CALL R2 2
0x600C000F, // 0008 GETGBL R3 G15
0x5C100400, // 0009 MOVE R4 R2
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
0x7C0C0400, // 000F CALL R3 2
0x5C080600, // 0010 MOVE R2 R3
0x8C0C011D, // 0011 GETMET R3 R0 K29
0x6014000A, // 0012 GETGBL R5 G10
0x5C180400, // 0013 MOVE R6 R2
0x7C140200, // 0014 CALL R5 1
0x7C0C0400, // 0015 CALL R3 2
0x5C080600, // 0016 MOVE R2 R3
0x4C0C0000, // 0017 LDNIL R3
0x200C0403, // 0018 NE R3 R2 R3
0x780E0005, // 0019 JMPF R3 #0020
0x880C0106, // 001A GETMBR R3 R0 K6
0x200C0403, // 001B NE R3 R2 R3
0x780E0002, // 001C JMPF R3 #0020
0x8C0C0107, // 001D GETMET R3 R0 K7
0x7C0C0200, // 001E CALL R3 1
0x90020C02, // 001F SETMBR R0 K6 R2
0x80000000, // 0020 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: filter_name_html
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_filter_name_html, /* name */
be_nested_proto(
9, /* 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_Sensor, /* shared constants */
be_str_weak(filter_name_html),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x8804010A, // 0000 GETMBR R1 R0 K10
0x78060009, // 0001 JMPF R1 #000C
0xA4063C00, // 0002 IMPORT R1 K30
0xA40A2800, // 0003 IMPORT R2 K20
0x8C0C0519, // 0004 GETMET R3 R2 K25
0x8C14031F, // 0005 GETMET R5 R1 K31
0x881C010A, // 0006 GETMBR R7 R0 K10
0x58200020, // 0007 LDCONST R8 K32
0x7C140600, // 0008 CALL R5 3
0x94140B21, // 0009 GETIDX R5 R5 K33
0x7C0C0400, // 000A CALL R3 2
0x80040600, // 000B RET 1 R3
0x80063400, // 000C RET 1 K26
})
)
);
/*******************************************************************/
/********************************************************************
** 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 */
0x540E0009, // 0000 LDINT R3 10
0x1C0C0403, // 0001 EQ R3 R2 R3
0x780E001E, // 0002 JMPF R3 #0022
0x8C0C0322, // 0003 GETMET R3 R1 K34
0x58140023, // 0004 LDCONST R5 K35
0x7C0C0400, // 0005 CALL R3 2
0x780E0001, // 0006 JMPF R3 #0009
0x940C0323, // 0007 GETIDX R3 R1 K35
0x90022003, // 0008 SETMBR R0 K16 R3
0x8C0C0322, // 0009 GETMET R3 R1 K34
0x58140024, // 000A LDCONST R5 K36
0x7C0C0400, // 000B CALL R3 2
0x780E0001, // 000C JMPF R3 #000F
0x940C0324, // 000D GETIDX R3 R1 K36
0x90022403, // 000E SETMBR R0 K18 R3
0x880C010C, // 000F GETMBR R3 R0 K12
0x780E0010, // 0010 JMPF R3 #0022
0x8C0C011D, // 0011 GETMET R3 R0 K29
0x6014000A, // 0012 GETGBL R5 G10
0x8818010C, // 0013 GETMBR R6 R0 K12
0x8C180D1C, // 0014 GETMET R6 R6 K28
0x5C200200, // 0015 MOVE R8 R1
0x7C180400, // 0016 CALL R6 2
0x7C140200, // 0017 CALL R5 1
0x7C0C0400, // 0018 CALL R3 2
0x4C100000, // 0019 LDNIL R4
0x20100604, // 001A NE R4 R3 R4
0x78120005, // 001B JMPF R4 #0022
0x88100106, // 001C GETMBR R4 R0 K6
0x20100604, // 001D NE R4 R3 R4
0x78120002, // 001E JMPF R4 #0022
0x8C100107, // 001F GETMET R4 R0 K7
0x7C100200, // 0020 CALL R4 1
0x90020C03, // 0021 SETMBR R0 K6 R3
0x80000000, // 0022 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor
********************************************************************/
extern const bclass be_class_Matter_Plugin_Device;
be_local_class(Matter_Plugin_Sensor,
5,
&be_class_Matter_Plugin_Device,
be_nested_map(22,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(tasmota_sensor_filter, -1), be_const_var(0) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Filter_X20pattern) },
{ be_const_key_weak(parse_status, 4), be_const_closure(class_Matter_Plugin_Sensor_parse_status_closure) },
{ be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Sensor_update_virtual_closure) },
{ be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Sensor_parse_configuration_closure) },
{ be_const_key_weak(pressure_unit, -1), be_const_var(4) },
{ be_const_key_weak(tasmota_sensor_matcher, -1), be_const_var(1) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak(filter) },
{ be_const_key_weak(PRESSURE_MMHG, -1), be_nested_str_weak(mmHg) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Sensor_init_closure) },
{ be_const_key_weak(TEMP_F, -1), be_nested_str_weak(F) },
{ be_const_key_weak(TEMP_C, -1), be_nested_str_weak(C) },
{ be_const_key_weak(temp_unit, 3), be_const_var(3) },
{ be_const_key_weak(UPDATE_CMD, 16), be_nested_str_weak(Status_X2010) },
{ be_const_key_weak(PRESSURE_HPA, 10), be_nested_str_weak(hPa) },
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Sensor_web_values_prefix_closure) },
{ be_const_key_weak(PRESSURE_INHG, -1), be_nested_str_weak(inHg) },
{ be_const_key_weak(JSON_NAME, 13), be_nested_str_weak() },
{ be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_Sensor_parse_sensors_closure) },
{ be_const_key_weak(filter_name_html, -1), be_const_closure(class_Matter_Plugin_Sensor_filter_name_html_closure) },
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
{ be_const_key_weak(shadow_value, 2), be_const_var(2) },
})),
be_str_weak(Matter_Plugin_Sensor)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,840 @@
/* Solidification of Matter_Plugin_2_Sensor_Air_Quality.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Air_Quality' ktab size: 42, total: 88 (saved 368 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Air_Quality[42] = {
/* K0 */ be_nested_str_weak(parse_configuration),
/* K1 */ be_nested_str_weak(prefix),
/* K2 */ be_nested_str_weak(find),
/* K3 */ be_nested_str_weak(ARG),
/* K4 */ be_nested_str_weak(shadow_co2),
/* K5 */ be_nested_str_weak(_parse_update_virtual),
/* K6 */ be_nested_str_weak(CO2),
/* K7 */ be_const_int(0),
/* K8 */ be_nested_str_weak(shadow_pm1),
/* K9 */ be_nested_str_weak(PM1),
/* K10 */ be_nested_str_weak(shadow_pm2_5),
/* K11 */ be_nested_str_weak(PM2_X2E5),
/* K12 */ be_nested_str_weak(shadow_pm10),
/* K13 */ be_nested_str_weak(PM10),
/* K14 */ be_nested_str_weak(shadow_tvoc),
/* K15 */ be_nested_str_weak(TVOC),
/* K16 */ be_nested_str_weak(contains),
/* K17 */ be_nested_str_weak(AirQuality),
/* K18 */ be_nested_str_weak(shadow_air_quality),
/* K19 */ be_nested_str_weak(compute_air_quality),
/* K20 */ be_nested_str_weak(update_virtual),
/* K21 */ be_const_int(1),
/* K22 */ be_const_int(2),
/* K23 */ be_const_int(3),
/* K24 */ be_nested_str_weak(attribute_updated),
/* K25 */ be_nested_str_weak(init),
/* K26 */ be_nested_str_weak(add_read_sensors_schedule),
/* K27 */ be_nested_str_weak(UPDATE_TIME),
/* K28 */ be_nested_str_weak(web_values_prefix),
/* K29 */ be_nested_str_weak(Air),
/* K30 */ be_nested_str_weak(NO2),
/* K31 */ be_nested_str_weak(shadow_no2),
/* 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(matter),
/* K36 */ be_nested_str_weak(TLV),
/* K37 */ be_nested_str_weak(cluster),
/* K38 */ be_nested_str_weak(attribute),
/* K39 */ be_nested_str_weak(set_or_nil),
/* K40 */ be_nested_str_weak(U1),
/* K41 */ be_nested_str_weak(read_attribute),
};
extern const bclass be_class_Matter_Plugin_Sensor_Air_Quality;
/********************************************************************
** Solidified function: parse_configuration
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_configuration, /* name */
be_nested_proto(
6, /* 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_Sensor_Air_Quality, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C080500, // 0003 GETMET R2 R2 K0
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x60080008, // 0006 GETGBL R2 G8
0x8C0C0302, // 0007 GETMET R3 R1 K2
0x88140103, // 0008 GETMBR R5 R0 K3
0x7C0C0400, // 0009 CALL R3 2
0x7C080200, // 000A CALL R2 1
0x90020202, // 000B SETMBR R0 K1 R2
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_virtual
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_update_virtual, /* name */
be_nested_proto(
10, /* 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_Sensor_Air_Quality, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[68]) { /* code */
0x8C080105, // 0000 GETMET R2 R0 K5
0x5C100200, // 0001 MOVE R4 R1
0x58140006, // 0002 LDCONST R5 K6
0x88180104, // 0003 GETMBR R6 R0 K4
0x601C0007, // 0004 GETGBL R7 G7
0x5422040C, // 0005 LDINT R8 1037
0x58240007, // 0006 LDCONST R9 K7
0x7C080E00, // 0007 CALL R2 7
0x90020802, // 0008 SETMBR R0 K4 R2
0x8C080105, // 0009 GETMET R2 R0 K5
0x5C100200, // 000A MOVE R4 R1
0x58140009, // 000B LDCONST R5 K9
0x88180108, // 000C GETMBR R6 R0 K8
0x601C0007, // 000D GETGBL R7 G7
0x5422042B, // 000E LDINT R8 1068
0x58240007, // 000F LDCONST R9 K7
0x7C080E00, // 0010 CALL R2 7
0x90021002, // 0011 SETMBR R0 K8 R2
0x8C080105, // 0012 GETMET R2 R0 K5
0x5C100200, // 0013 MOVE R4 R1
0x5814000B, // 0014 LDCONST R5 K11
0x8818010A, // 0015 GETMBR R6 R0 K10
0x601C0007, // 0016 GETGBL R7 G7
0x54220429, // 0017 LDINT R8 1066
0x58240007, // 0018 LDCONST R9 K7
0x7C080E00, // 0019 CALL R2 7
0x90021402, // 001A SETMBR R0 K10 R2
0x8C080105, // 001B GETMET R2 R0 K5
0x5C100200, // 001C MOVE R4 R1
0x5814000D, // 001D LDCONST R5 K13
0x8818010C, // 001E GETMBR R6 R0 K12
0x601C0007, // 001F GETGBL R7 G7
0x5422042C, // 0020 LDINT R8 1069
0x58240007, // 0021 LDCONST R9 K7
0x7C080E00, // 0022 CALL R2 7
0x90021802, // 0023 SETMBR R0 K12 R2
0x8C080105, // 0024 GETMET R2 R0 K5
0x5C100200, // 0025 MOVE R4 R1
0x5814000F, // 0026 LDCONST R5 K15
0x8818010E, // 0027 GETMBR R6 R0 K14
0x601C0007, // 0028 GETGBL R7 G7
0x5422042D, // 0029 LDINT R8 1070
0x58240007, // 002A LDCONST R9 K7
0x7C080E00, // 002B CALL R2 7
0x90021C02, // 002C SETMBR R0 K14 R2
0x8C080310, // 002D GETMET R2 R1 K16
0x58100011, // 002E LDCONST R4 K17
0x7C080400, // 002F CALL R2 2
0x780A0009, // 0030 JMPF R2 #003B
0x8C080105, // 0031 GETMET R2 R0 K5
0x5C100200, // 0032 MOVE R4 R1
0x58140011, // 0033 LDCONST R5 K17
0x60180007, // 0034 GETGBL R6 G7
0x881C0112, // 0035 GETMBR R7 R0 K18
0x5422005A, // 0036 LDINT R8 91
0x58240007, // 0037 LDCONST R9 K7
0x7C080E00, // 0038 CALL R2 7
0x90022402, // 0039 SETMBR R0 K18 R2
0x70020001, // 003A JMP #003D
0x8C080113, // 003B GETMET R2 R0 K19
0x7C080200, // 003C CALL R2 1
0x60080003, // 003D GETGBL R2 G3
0x5C0C0000, // 003E MOVE R3 R0
0x7C080200, // 003F CALL R2 1
0x8C080514, // 0040 GETMET R2 R2 K20
0x5C100200, // 0041 MOVE R4 R1
0x7C080400, // 0042 CALL R2 2
0x80000000, // 0043 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_status
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_status, /* name */
be_nested_proto(
6, /* 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_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
0x8C0C0302, // 0003 GETMET R3 R1 K2
0x88140101, // 0004 GETMBR R5 R0 K1
0x7C0C0400, // 0005 CALL R3 2
0x80000000, // 0006 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: compute_air_quality
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_compute_air_quality, /* 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_Sensor_Air_Quality, /* shared constants */
be_str_weak(compute_air_quality),
&be_const_str_solidified,
( &(const binstruction[44]) { /* code */
0x4C040000, // 0000 LDNIL R1
0x88080104, // 0001 GETMBR R2 R0 K4
0x4C0C0000, // 0002 LDNIL R3
0x20080403, // 0003 NE R2 R2 R3
0x780A001A, // 0004 JMPF R2 #0020
0x88080104, // 0005 GETMBR R2 R0 K4
0x540E02ED, // 0006 LDINT R3 750
0x180C0403, // 0007 LE R3 R2 R3
0x780E0001, // 0008 JMPF R3 #000B
0x58040015, // 0009 LDCONST R1 K21
0x70020014, // 000A JMP #0020
0x540E03E7, // 000B LDINT R3 1000
0x180C0403, // 000C LE R3 R2 R3
0x780E0001, // 000D JMPF R3 #0010
0x58040016, // 000E LDCONST R1 K22
0x7002000F, // 000F JMP #0020
0x540E04E1, // 0010 LDINT R3 1250
0x180C0403, // 0011 LE R3 R2 R3
0x780E0001, // 0012 JMPF R3 #0015
0x58040017, // 0013 LDCONST R1 K23
0x7002000A, // 0014 JMP #0020
0x540E05DB, // 0015 LDINT R3 1500
0x180C0403, // 0016 LE R3 R2 R3
0x780E0001, // 0017 JMPF R3 #001A
0x54060003, // 0018 LDINT R1 4
0x70020005, // 0019 JMP #0020
0x540E06D5, // 001A LDINT R3 1750
0x180C0403, // 001B LE R3 R2 R3
0x780E0001, // 001C JMPF R3 #001F
0x54060004, // 001D LDINT R1 5
0x70020000, // 001E JMP #0020
0x54060005, // 001F LDINT R1 6
0x4C080000, // 0020 LDNIL R2
0x20080202, // 0021 NE R2 R1 R2
0x780A0007, // 0022 JMPF R2 #002B
0x88080112, // 0023 GETMBR R2 R0 K18
0x20080202, // 0024 NE R2 R1 R2
0x780A0004, // 0025 JMPF R2 #002B
0x90022401, // 0026 SETMBR R0 K18 R1
0x8C080118, // 0027 GETMET R2 R0 K24
0x5412005A, // 0028 LDINT R4 91
0x58140007, // 0029 LDCONST R5 K7
0x7C080600, // 002A CALL R2 3
0x80000000, // 002B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_init, /* name */
be_nested_proto(
9, /* 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_Air_Quality, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x60100003, // 0000 GETGBL R4 G3
0x5C140000, // 0001 MOVE R5 R0
0x7C100200, // 0002 CALL R4 1
0x8C100919, // 0003 GETMET R4 R4 K25
0x5C180200, // 0004 MOVE R6 R1
0x5C1C0400, // 0005 MOVE R7 R2
0x5C200600, // 0006 MOVE R8 R3
0x7C100800, // 0007 CALL R4 4
0x90022507, // 0008 SETMBR R0 K18 K7
0x8C10031A, // 0009 GETMET R4 R1 K26
0x8818011B, // 000A GETMBR R6 R0 K27
0x7C100400, // 000B CALL R4 2
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_web_values, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
be_nested_proto(
9, /* nstack */
2, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(content_send),
/* K2 */ be_nested_str_weak(_X25s_X3A_X25i_X20),
}),
be_str_weak(web_values_single),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x20080202, // 0001 NE R2 R1 R2
0x780A0007, // 0002 JMPF R2 #000B
0xA40A0000, // 0003 IMPORT R2 K0
0x8C0C0501, // 0004 GETMET R3 R2 K1
0x60140018, // 0005 GETGBL R5 G24
0x58180002, // 0006 LDCONST R6 K2
0x5C1C0000, // 0007 MOVE R7 R0
0x5C200200, // 0008 MOVE R8 R1
0x7C140600, // 0009 CALL R5 3
0x7C0C0400, // 000A CALL R3 2
0x80000000, // 000B RET 0
})
),
}),
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[32]) { /* code */
0x84040000, // 0000 CLOSURE R1 P0
0x8C08011C, // 0001 GETMET R2 R0 K28
0x7C080200, // 0002 CALL R2 1
0x5C080200, // 0003 MOVE R2 R1
0x580C001D, // 0004 LDCONST R3 K29
0x88100112, // 0005 GETMBR R4 R0 K18
0x7C080400, // 0006 CALL R2 2
0x5C080200, // 0007 MOVE R2 R1
0x580C0009, // 0008 LDCONST R3 K9
0x88100108, // 0009 GETMBR R4 R0 K8
0x7C080400, // 000A CALL R2 2
0x5C080200, // 000B MOVE R2 R1
0x580C000B, // 000C LDCONST R3 K11
0x8810010A, // 000D GETMBR R4 R0 K10
0x7C080400, // 000E CALL R2 2
0x5C080200, // 000F MOVE R2 R1
0x580C000D, // 0010 LDCONST R3 K13
0x8810010C, // 0011 GETMBR R4 R0 K12
0x7C080400, // 0012 CALL R2 2
0x5C080200, // 0013 MOVE R2 R1
0x580C0006, // 0014 LDCONST R3 K6
0x88100104, // 0015 GETMBR R4 R0 K4
0x7C080400, // 0016 CALL R2 2
0x5C080200, // 0017 MOVE R2 R1
0x580C001E, // 0018 LDCONST R3 K30
0x8810011F, // 0019 GETMBR R4 R0 K31
0x7C080400, // 001A CALL R2 2
0x5C080200, // 001B MOVE R2 R1
0x580C000F, // 001C LDCONST R3 K15
0x8810010E, // 001D GETMBR R4 R0 K14
0x7C080400, // 001E CALL R2 2
0x80000000, // 001F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_sensors
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_sensors, /* name */
be_nested_proto(
11, /* 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_Sensor_Air_Quality, /* shared constants */
be_str_weak(parse_sensors),
&be_const_str_solidified,
( &(const binstruction[83]) { /* code */
0x8C080302, // 0000 GETMET R2 R1 K2
0x88100101, // 0001 GETMBR R4 R0 K1
0x7C080400, // 0002 CALL R2 2
0x4C0C0000, // 0003 LDNIL R3
0x200C0403, // 0004 NE R3 R2 R3
0x780E0045, // 0005 JMPF R3 #004C
0x8C0C0120, // 0006 GETMET R3 R0 K32
0x5C140400, // 0007 MOVE R5 R2
0x58180021, // 0008 LDCONST R6 K33
0x881C0104, // 0009 GETMBR R7 R0 K4
0x60200007, // 000A GETGBL R8 G7
0x5426040C, // 000B LDINT R9 1037
0x58280007, // 000C LDCONST R10 K7
0x7C0C0E00, // 000D CALL R3 7
0x90020803, // 000E SETMBR R0 K4 R3
0x8C0C0120, // 000F GETMET R3 R0 K32
0x5C140400, // 0010 MOVE R5 R2
0x58180009, // 0011 LDCONST R6 K9
0x881C0108, // 0012 GETMBR R7 R0 K8
0x60200007, // 0013 GETGBL R8 G7
0x5426042B, // 0014 LDINT R9 1068
0x58280007, // 0015 LDCONST R10 K7
0x7C0C0E00, // 0016 CALL R3 7
0x90021003, // 0017 SETMBR R0 K8 R3
0x8C0C0120, // 0018 GETMET R3 R0 K32
0x5C140400, // 0019 MOVE R5 R2
0x5818000B, // 001A LDCONST R6 K11
0x881C010A, // 001B GETMBR R7 R0 K10
0x60200007, // 001C GETGBL R8 G7
0x54260429, // 001D LDINT R9 1066
0x58280007, // 001E LDCONST R10 K7
0x7C0C0E00, // 001F CALL R3 7
0x90021403, // 0020 SETMBR R0 K10 R3
0x8C0C0120, // 0021 GETMET R3 R0 K32
0x5C140400, // 0022 MOVE R5 R2
0x5818000D, // 0023 LDCONST R6 K13
0x881C010C, // 0024 GETMBR R7 R0 K12
0x60200007, // 0025 GETGBL R8 G7
0x5426042C, // 0026 LDINT R9 1069
0x58280007, // 0027 LDCONST R10 K7
0x7C0C0E00, // 0028 CALL R3 7
0x90021803, // 0029 SETMBR R0 K12 R3
0x8C0C0120, // 002A GETMET R3 R0 K32
0x5C140400, // 002B MOVE R5 R2
0x5818000F, // 002C LDCONST R6 K15
0x881C010E, // 002D GETMBR R7 R0 K14
0x60200007, // 002E GETGBL R8 G7
0x5426042D, // 002F LDINT R9 1070
0x58280007, // 0030 LDCONST R10 K7
0x7C0C0E00, // 0031 CALL R3 7
0x90021C03, // 0032 SETMBR R0 K14 R3
0x8C0C0120, // 0033 GETMET R3 R0 K32
0x5C140400, // 0034 MOVE R5 R2
0x5818001E, // 0035 LDCONST R6 K30
0x881C011F, // 0036 GETMBR R7 R0 K31
0x60200007, // 0037 GETGBL R8 G7
0x54260412, // 0038 LDINT R9 1043
0x58280007, // 0039 LDCONST R10 K7
0x7C0C0E00, // 003A CALL R3 7
0x90023E03, // 003B SETMBR R0 K31 R3
0x8C0C0510, // 003C GETMET R3 R2 K16
0x58140011, // 003D LDCONST R5 K17
0x7C0C0400, // 003E CALL R3 2
0x780E0009, // 003F JMPF R3 #004A
0x8C0C0120, // 0040 GETMET R3 R0 K32
0x5C140400, // 0041 MOVE R5 R2
0x58180011, // 0042 LDCONST R6 K17
0x881C0112, // 0043 GETMBR R7 R0 K18
0x60200007, // 0044 GETGBL R8 G7
0x5426005A, // 0045 LDINT R9 91
0x58280007, // 0046 LDCONST R10 K7
0x7C0C0E00, // 0047 CALL R3 7
0x90022403, // 0048 SETMBR R0 K18 R3
0x70020001, // 0049 JMP #004C
0x8C0C0113, // 004A GETMET R3 R0 K19
0x7C0C0200, // 004B CALL R3 1
0x600C0003, // 004C GETGBL R3 G3
0x5C100000, // 004D MOVE R4 R0
0x7C0C0200, // 004E CALL R3 1
0x8C0C0722, // 004F GETMET R3 R3 K34
0x5C140200, // 0050 MOVE R5 R1
0x7C0C0400, // 0051 CALL R3 2
0x80000000, // 0052 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: _parse_sensor_entry
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Air_Quality__parse_sensor_entry, /* name */
be_nested_proto(
12, /* nstack */
7, /* 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_Air_Quality, /* shared constants */
be_str_weak(_parse_sensor_entry),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x8C1C0302, // 0000 GETMET R7 R1 K2
0x5C240400, // 0001 MOVE R9 R2
0x7C1C0400, // 0002 CALL R7 2
0x4C200000, // 0003 LDNIL R8
0x20200E08, // 0004 NE R8 R7 R8
0x7822000D, // 0005 JMPF R8 #0014
0x5C200800, // 0006 MOVE R8 R4
0x5C240E00, // 0007 MOVE R9 R7
0x7C200200, // 0008 CALL R8 1
0x5C1C1000, // 0009 MOVE R7 R8
0x4C200000, // 000A LDNIL R8
0x20200E08, // 000B NE R8 R7 R8
0x78220005, // 000C JMPF R8 #0013
0x20200E03, // 000D NE R8 R7 R3
0x78220003, // 000E JMPF R8 #0013
0x8C200118, // 000F GETMET R8 R0 K24
0x5C280A00, // 0010 MOVE R10 R5
0x5C2C0C00, // 0011 MOVE R11 R6
0x7C200600, // 0012 CALL R8 3
0x80040E00, // 0013 RET 1 R7
0x80040600, // 0014 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute, /* name */
be_nested_proto(
14, /* nstack */
4, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
be_nested_proto(
6, /* nstack */
2, /* argc */
0, /* varg */
1, /* has upvals */
( &(const bupvaldesc[ 3]) { /* upvals */
be_local_const_upval(1, 6),
be_local_const_upval(1, 3),
be_local_const_upval(1, 4),
}),
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(set_or_nil),
/* K2 */ be_nested_str_weak(FLOAT),
/* K3 */ be_const_int(1),
/* K4 */ be_nested_str_weak(set),
/* K5 */ be_nested_str_weak(NULL),
/* K6 */ be_const_int(2),
/* K7 */ be_nested_str_weak(U1),
/* K8 */ be_nested_str_weak(U4),
}),
be_str_weak(handle_value),
&be_const_str_solidified,
( &(const binstruction[74]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x1C080202, // 0001 EQ R2 R1 R2
0x780A0000, // 0002 JMPF R2 #0004
0x58040000, // 0003 LDCONST R1 K0
0x68080000, // 0004 GETUPV R2 U0
0x1C080500, // 0005 EQ R2 R2 K0
0x780A0007, // 0006 JMPF R2 #000F
0x68080001, // 0007 GETUPV R2 U1
0x8C080501, // 0008 GETMET R2 R2 K1
0x68100002, // 0009 GETUPV R4 U2
0x88100902, // 000A GETMBR R4 R4 K2
0x5C140000, // 000B MOVE R5 R0
0x7C080600, // 000C CALL R2 3
0x80040400, // 000D RET 1 R2
0x70020038, // 000E JMP #0048
0x68080000, // 000F GETUPV R2 U0
0x1C080503, // 0010 EQ R2 R2 K3
0x780A0007, // 0011 JMPF R2 #001A
0x68080001, // 0012 GETUPV R2 U1
0x8C080504, // 0013 GETMET R2 R2 K4
0x68100002, // 0014 GETUPV R4 U2
0x88100905, // 0015 GETMBR R4 R4 K5
0x4C140000, // 0016 LDNIL R5
0x7C080600, // 0017 CALL R2 3
0x80040400, // 0018 RET 1 R2
0x7002002D, // 0019 JMP #0048
0x68080000, // 001A GETUPV R2 U0
0x1C080506, // 001B EQ R2 R2 K6
0x780A0007, // 001C JMPF R2 #0025
0x68080001, // 001D GETUPV R2 U1
0x8C080504, // 001E GETMET R2 R2 K4
0x68100002, // 001F GETUPV R4 U2
0x88100905, // 0020 GETMBR R4 R4 K5
0x4C140000, // 0021 LDNIL R5
0x7C080600, // 0022 CALL R2 3
0x80040400, // 0023 RET 1 R2
0x70020022, // 0024 JMP #0048
0x68080000, // 0025 GETUPV R2 U0
0x540E0007, // 0026 LDINT R3 8
0x1C080403, // 0027 EQ R2 R2 R3
0x780A0007, // 0028 JMPF R2 #0031
0x68080001, // 0029 GETUPV R2 U1
0x8C080504, // 002A GETMET R2 R2 K4
0x68100002, // 002B GETUPV R4 U2
0x88100907, // 002C GETMBR R4 R4 K7
0x5C140200, // 002D MOVE R5 R1
0x7C080600, // 002E CALL R2 3
0x80040400, // 002F RET 1 R2
0x70020016, // 0030 JMP #0048
0x68080000, // 0031 GETUPV R2 U0
0x540E0008, // 0032 LDINT R3 9
0x1C080403, // 0033 EQ R2 R2 R3
0x780A0007, // 0034 JMPF R2 #003D
0x68080001, // 0035 GETUPV R2 U1
0x8C080504, // 0036 GETMET R2 R2 K4
0x68100002, // 0037 GETUPV R4 U2
0x88100907, // 0038 GETMBR R4 R4 K7
0x58140000, // 0039 LDCONST R5 K0
0x7C080600, // 003A CALL R2 3
0x80040400, // 003B RET 1 R2
0x7002000A, // 003C JMP #0048
0x68080000, // 003D GETUPV R2 U0
0x540EFFFB, // 003E LDINT R3 65532
0x1C080403, // 003F EQ R2 R2 R3
0x780A0006, // 0040 JMPF R2 #0048
0x68080001, // 0041 GETUPV R2 U1
0x8C080504, // 0042 GETMET R2 R2 K4
0x68100002, // 0043 GETUPV R4 U2
0x88100908, // 0044 GETMBR R4 R4 K8
0x58140003, // 0045 LDCONST R5 K3
0x7C080600, // 0046 CALL R2 3
0x80040400, // 0047 RET 1 R2
0x4C080000, // 0048 LDNIL R2
0x80040400, // 0049 RET 1 R2
})
),
}),
1, /* has constants */
&be_ktab_class_Matter_Plugin_Sensor_Air_Quality, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[93]) { /* code */
0xB8124600, // 0000 GETNGBL R4 K35
0x88100924, // 0001 GETMBR R4 R4 K36
0x88140525, // 0002 GETMBR R5 R2 K37
0x88180526, // 0003 GETMBR R6 R2 K38
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
0x1C240D07, // 0009 EQ R9 R6 K7
0x78260005, // 000A JMPF R9 #0011
0x8C240727, // 000B GETMET R9 R3 K39
0x882C0928, // 000C GETMBR R11 R4 K40
0x88300112, // 000D GETMBR R12 R0 K18
0x7C240600, // 000E CALL R9 3
0xA0000000, // 000F CLOSE R0
0x80041200, // 0010 RET 1 R9
0x70020040, // 0011 JMP #0053
0x5426040C, // 0012 LDINT R9 1037
0x1C240A09, // 0013 EQ R9 R5 R9
0x78260007, // 0014 JMPF R9 #001D
0x5C241000, // 0015 MOVE R9 R8
0x88280104, // 0016 GETMBR R10 R0 K4
0x7C240200, // 0017 CALL R9 1
0x5C1C1200, // 0018 MOVE R7 R9
0x78260001, // 0019 JMPF R9 #001C
0xA0000000, // 001A CLOSE R0
0x80040E00, // 001B RET 1 R7
0x70020035, // 001C JMP #0053
0x5426042B, // 001D LDINT R9 1068
0x1C240A09, // 001E EQ R9 R5 R9
0x78260007, // 001F JMPF R9 #0028
0x5C241000, // 0020 MOVE R9 R8
0x88280108, // 0021 GETMBR R10 R0 K8
0x7C240200, // 0022 CALL R9 1
0x5C1C1200, // 0023 MOVE R7 R9
0x78260001, // 0024 JMPF R9 #0027
0xA0000000, // 0025 CLOSE R0
0x80040E00, // 0026 RET 1 R7
0x7002002A, // 0027 JMP #0053
0x54260429, // 0028 LDINT R9 1066
0x1C240A09, // 0029 EQ R9 R5 R9
0x78260007, // 002A JMPF R9 #0033
0x5C241000, // 002B MOVE R9 R8
0x8828010A, // 002C GETMBR R10 R0 K10
0x7C240200, // 002D CALL R9 1
0x5C1C1200, // 002E MOVE R7 R9
0x78260001, // 002F JMPF R9 #0032
0xA0000000, // 0030 CLOSE R0
0x80040E00, // 0031 RET 1 R7
0x7002001F, // 0032 JMP #0053
0x5426042C, // 0033 LDINT R9 1069
0x1C240A09, // 0034 EQ R9 R5 R9
0x78260007, // 0035 JMPF R9 #003E
0x5C241000, // 0036 MOVE R9 R8
0x8828010C, // 0037 GETMBR R10 R0 K12
0x7C240200, // 0038 CALL R9 1
0x5C1C1200, // 0039 MOVE R7 R9
0x78260001, // 003A JMPF R9 #003D
0xA0000000, // 003B CLOSE R0
0x80040E00, // 003C RET 1 R7
0x70020014, // 003D JMP #0053
0x5426042D, // 003E LDINT R9 1070
0x1C240A09, // 003F EQ R9 R5 R9
0x78260007, // 0040 JMPF R9 #0049
0x5C241000, // 0041 MOVE R9 R8
0x8828010E, // 0042 GETMBR R10 R0 K14
0x7C240200, // 0043 CALL R9 1
0x5C1C1200, // 0044 MOVE R7 R9
0x78260001, // 0045 JMPF R9 #0048
0xA0000000, // 0046 CLOSE R0
0x80040E00, // 0047 RET 1 R7
0x70020009, // 0048 JMP #0053
0x54260412, // 0049 LDINT R9 1043
0x1C240A09, // 004A EQ R9 R5 R9
0x78260006, // 004B JMPF R9 #0053
0x5C241000, // 004C MOVE R9 R8
0x8828011F, // 004D GETMBR R10 R0 K31
0x7C240200, // 004E CALL R9 1
0x5C1C1200, // 004F MOVE R7 R9
0x78260001, // 0050 JMPF R9 #0053
0xA0000000, // 0051 CLOSE R0
0x80040E00, // 0052 RET 1 R7
0x60240003, // 0053 GETGBL R9 G3
0x5C280000, // 0054 MOVE R10 R0
0x7C240200, // 0055 CALL R9 1
0x8C241329, // 0056 GETMET R9 R9 K41
0x5C2C0200, // 0057 MOVE R11 R1
0x5C300400, // 0058 MOVE R12 R2
0x5C340600, // 0059 MOVE R13 R3
0x7C240800, // 005A CALL R9 4
0xA0000000, // 005B CLOSE R0
0x80041200, // 005C RET 1 R9
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_Air_Quality
********************************************************************/
extern const bclass be_class_Matter_Plugin_Device;
be_local_class(Matter_Plugin_Sensor_Air_Quality,
8,
&be_class_Matter_Plugin_Device,
be_nested_map(26,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(shadow_pm2_5, -1), be_const_var(3) },
{ be_const_key_weak(prefix, -1), be_const_var(0) },
{ be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_update_virtual_closure) },
{ be_const_key_weak(shadow_no2, 5), be_const_var(6) },
{ be_const_key_weak(read_attribute, 8), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_read_attribute_closure) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Device_X20key_X20_X28ex_X3A_X20SCD40_X29) },
{ be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_sensors_closure) },
{ be_const_key_weak(parse_configuration, 23), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_configuration_closure) },
{ be_const_key_weak(shadow_air_quality, 17), be_const_var(1) },
{ be_const_key_weak(compute_air_quality, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_compute_air_quality_closure) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(12,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(1068, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(1069, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(1070, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(5, 8), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(1037, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(91, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 6), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(1066, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(1043, -1), be_const_bytes_instance(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(7,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(AirQuality),
be_nested_str_weak(CO2),
be_nested_str_weak(PM1),
be_nested_str_weak(PM2_X2E5),
be_nested_str_weak(PM10),
be_nested_str_weak(TVOC),
be_nested_str_weak(NO2),
})) ) } )) },
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(44, -1), be_const_int(1) },
})) ) } )) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak(airquality) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_web_values_closure) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(airquality) },
{ be_const_key_weak(DISPLAY_NAME, 22), be_nested_str_weak(Air_X20Quality) },
{ be_const_key_weak(UPDATE_TIME, 21), be_const_int(10000) },
{ be_const_key_weak(shadow_pm10, 6), be_const_var(4) },
{ be_const_key_weak(JSON_NAME, 16), be_nested_str_weak(AirQuality) },
{ be_const_key_weak(shadow_co2, 14), be_const_var(5) },
{ be_const_key_weak(shadow_tvoc, -1), be_const_var(7) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_init_closure) },
{ be_const_key_weak(parse_status, -1), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality_parse_status_closure) },
{ be_const_key_weak(shadow_pm1, 4), be_const_var(2) },
{ be_const_key_weak(_parse_sensor_entry, 0), be_const_closure(class_Matter_Plugin_Sensor_Air_Quality__parse_sensor_entry_closure) },
})),
be_str_weak(Matter_Plugin_Sensor_Air_Quality)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,339 @@
/* Solidification of Matter_Plugin_2_Sensor_Boolean.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Boolean' ktab size: 21, total: 32 (saved 88 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Boolean[21] = {
/* 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),
/* K13 */ be_nested_str_weak(init),
/* K14 */ be_nested_str_weak(parse_configuration),
/* K15 */ be_nested_str_weak(ARG),
/* K16 */ be_const_int(1),
/* K17 */ be_const_int(0),
/* K18 */ be_nested_str_weak(_parse_update_virtual),
/* K19 */ be_nested_str_weak(JSON_NAME),
/* K20 */ be_nested_str_weak(update_virtual),
};
extern const bclass be_class_Matter_Plugin_Sensor_Boolean;
/********************************************************************
** Solidified function: update_shadow
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Boolean_update_shadow, /* 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_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
0x7C040200, // 0004 CALL R1 1
0x88040101, // 0005 GETMBR R1 R0 K1
0x74060020, // 0006 JMPT R1 #0028
0x60040008, // 0007 GETGBL R1 G8
0x88080103, // 0008 GETMBR R2 R0 K3
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
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
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
0x5C140200, // 001B MOVE R5 R1
0x7C0C0400, // 001C CALL R3 2
0x780E0009, // 001D JMPF R3 #0028
0x8C0C0507, // 001E GETMET R3 R2 K7
0x5C140200, // 001F MOVE R5 R1
0x7C0C0400, // 0020 CALL R3 2
0x1C0C070A, // 0021 EQ R3 R3 K10
0x8810010B, // 0022 GETMBR R4 R0 K11
0x20100803, // 0023 NE R4 R4 R3
0x78120001, // 0024 JMPF R4 #0027
0x8C10010C, // 0025 GETMET R4 R0 K12
0x7C100200, // 0026 CALL R4 1
0x90021603, // 0027 SETMBR R0 K11 R3
0x80000000, // 0028 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: value_updated
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Boolean_value_updated, /* name */
be_nested_proto(
1, /* 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_Sensor_Boolean, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Boolean_init, /* name */
be_nested_proto(
9, /* 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_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
0x8C10090D, // 0003 GETMET R4 R4 K13
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
0x90021604, // 0009 SETMBR R0 K11 R4
0x80000000, // 000A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Boolean__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
8, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
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 */
0x60040009, // 0000 GETGBL R1 G9
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_configuration
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Boolean_parse_configuration, /* 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_Sensor_Boolean, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C08050E, // 0003 GETMET R2 R2 K14
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x60080009, // 0006 GETGBL R2 G9
0x8C0C0307, // 0007 GETMET R3 R1 K7
0x8814010F, // 0008 GETMBR R5 R0 K15
0x58180010, // 0009 LDCONST R6 K16
0x7C0C0600, // 000A CALL R3 3
0x7C080200, // 000B CALL R2 1
0x90020602, // 000C SETMBR R0 K3 R2
0x88080103, // 000D GETMBR R2 R0 K3
0x18080511, // 000E LE R2 R2 K17
0x780A0000, // 000F JMPF R2 #0011
0x90020710, // 0010 SETMBR R0 K3 K16
0x80000000, // 0011 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_virtual
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Boolean_update_virtual, /* name */
be_nested_proto(
10, /* 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_Sensor_Boolean, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x8C080112, // 0000 GETMET R2 R0 K18
0x5C100200, // 0001 MOVE R4 R1
0x88140113, // 0002 GETMBR R5 R0 K19
0x8818010B, // 0003 GETMBR R6 R0 K11
0x601C0017, // 0004 GETGBL R7 G23
0x4C200000, // 0005 LDNIL R8
0x4C240000, // 0006 LDNIL R9
0x7C080E00, // 0007 CALL R2 7
0x90021602, // 0008 SETMBR R0 K11 R2
0x8C08010C, // 0009 GETMET R2 R0 K12
0x7C080200, // 000A CALL R2 1
0x60080003, // 000B GETGBL R2 G3
0x5C0C0000, // 000C MOVE R3 R0
0x7C080200, // 000D CALL R2 1
0x8C080514, // 000E GETMET R2 R2 K20
0x5C100200, // 000F MOVE R4 R1
0x7C080400, // 0010 CALL R2 2
0x80000000, // 0011 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_status
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Boolean_parse_status, /* 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_Matter_Plugin_Sensor_Boolean, /* shared constants */
be_str_weak(parse_status),
&be_const_str_solidified,
( &(const binstruction[26]) { /* code */
0x540E0009, // 0000 LDINT R3 10
0x1C0C0403, // 0001 EQ R3 R2 R3
0x780E0015, // 0002 JMPF R3 #0019
0x500C0000, // 0003 LDBOOL R3 0 0
0x8C100307, // 0004 GETMET R4 R1 K7
0x60180008, // 0005 GETGBL R6 G8
0x881C0103, // 0006 GETMBR R7 R0 K3
0x7C180200, // 0007 CALL R6 1
0x001A0406, // 0008 ADD R6 K2 R6
0x7C100400, // 0009 CALL R4 2
0x1C10090A, // 000A EQ R4 R4 K10
0x5C0C0800, // 000B MOVE R3 R4
0x8810010B, // 000C GETMBR R4 R0 K11
0x4C140000, // 000D LDNIL R5
0x20100805, // 000E NE R4 R4 R5
0x78120007, // 000F JMPF R4 #0018
0x8810010B, // 0010 GETMBR R4 R0 K11
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
0x8C10010C, // 0016 GETMET R4 R0 K12
0x7C100200, // 0017 CALL R4 1
0x90021603, // 0018 SETMBR R0 K11 R3
0x80000000, // 0019 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_Boolean
********************************************************************/
extern const bclass be_class_Matter_Plugin_Device;
be_local_class(Matter_Plugin_Sensor_Boolean,
2,
&be_class_Matter_Plugin_Device,
be_nested_map(12,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(750) },
{ be_const_key_weak(update_shadow, 6), be_const_closure(class_Matter_Plugin_Sensor_Boolean_update_shadow_closure) },
{ be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_Boolean_value_updated_closure) },
{ be_const_key_weak(init, 5), be_const_closure(class_Matter_Plugin_Sensor_Boolean_init_closure) },
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Sensor_Boolean__X3Clambda_X3E_closure) },
{ be_const_key_weak(parse_status, 11), be_const_closure(class_Matter_Plugin_Sensor_Boolean_parse_status_closure) },
{ be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Sensor_Boolean_parse_configuration_closure) },
{ be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Sensor_Boolean_update_virtual_closure) },
{ be_const_key_weak(shadow_bool_value, 7), be_const_var(1) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) },
{ be_const_key_weak(tasmota_switch_index, -1), be_const_var(0) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak(switch) },
})),
be_str_weak(Matter_Plugin_Sensor_Boolean)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,407 @@
/* Solidification of Matter_Plugin_2_Sensor_GenericSwitch_Btn.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_GenericSwitch_Btn' ktab size: 25, total: 36 (saved 88 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_GenericSwitch_Btn[25] = {
/* 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(U1),
/* K7 */ be_const_int(2),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(set_or_nil),
/* 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(parse_configuration),
/* K15 */ be_nested_str_weak(tasmota_switch_index),
/* K16 */ be_nested_str_weak(find),
/* K17 */ be_nested_str_weak(ARG),
/* 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),
};
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 */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140502, // 0002 GETMBR R5 R2 K2
0x88180503, // 0003 GETMBR R6 R2 K3
0x541E003A, // 0004 LDINT R7 59
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E001F, // 0006 JMPF R7 #0027
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x781E0005, // 0008 JMPF R7 #000F
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x58280007, // 000B LDCONST R10 K7
0x7C1C0600, // 000C CALL R7 3
0x80040E00, // 000D RET 1 R7
0x70020017, // 000E JMP #0027
0x1C1C0D08, // 000F EQ R7 R6 K8
0x781E0005, // 0010 JMPF R7 #0017
0x8C1C0709, // 0011 GETMET R7 R3 K9
0x88240906, // 0012 GETMBR R9 R4 K6
0x8828010A, // 0013 GETMBR R10 R0 K10
0x7C1C0600, // 0014 CALL R7 3
0x80040E00, // 0015 RET 1 R7
0x7002000F, // 0016 JMP #0027
0x1C1C0D07, // 0017 EQ R7 R6 K7
0x781E0005, // 0018 JMPF R7 #001F
0x8C1C0705, // 0019 GETMET R7 R3 K5
0x88240906, // 001A GETMBR R9 R4 K6
0x542A0004, // 001B LDINT R10 5
0x7C1C0600, // 001C CALL R7 3
0x80040E00, // 001D RET 1 R7
0x70020007, // 001E JMP #0027
0x541EFFFB, // 001F LDINT R7 65532
0x1C1C0C07, // 0020 EQ R7 R6 R7
0x781E0004, // 0021 JMPF R7 #0027
0x8C1C0705, // 0022 GETMET R7 R3 K5
0x8824090B, // 0023 GETMBR R9 R4 K11
0x542A0015, // 0024 LDINT R10 22
0x7C1C0600, // 0025 CALL R7 3
0x80040E00, // 0026 RET 1 R7
0x601C0003, // 0027 GETGBL R7 G3
0x5C200000, // 0028 MOVE R8 R0
0x7C1C0200, // 0029 CALL R7 1
0x8C1C0F0C, // 002A GETMET R7 R7 K12
0x5C240200, // 002B MOVE R9 R1
0x5C280400, // 002C MOVE R10 R2
0x5C2C0600, // 002D MOVE R11 R3
0x7C1C0800, // 002E CALL R7 4
0x80040E00, // 002F RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
8, /* 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(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040009, // 0000 GETGBL R1 G9
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_position
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_set_position, /* name */
be_nested_proto(
6, /* 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_Sensor_GenericSwitch_Btn, /* shared constants */
be_str_weak(set_position),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x8808010A, // 0000 GETMBR R2 R0 K10
0x20080202, // 0001 NE R2 R1 R2
0x780A0004, // 0002 JMPF R2 #0008
0x8C08010D, // 0003 GETMET R2 R0 K13
0x5412003A, // 0004 LDINT R4 59
0x58140008, // 0005 LDCONST R5 K8
0x7C080600, // 0006 CALL R2 3
0x90021401, // 0007 SETMBR R0 K10 R1
0x80000000, // 0008 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_configuration
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_parse_configuration, /* 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_Sensor_GenericSwitch_Btn, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C08050E, // 0003 GETMET R2 R2 K14
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x60080009, // 0006 GETGBL R2 G9
0x8C0C0310, // 0007 GETMET R3 R1 K16
0x88140111, // 0008 GETMBR R5 R0 K17
0x58180008, // 0009 LDCONST R6 K8
0x7C0C0600, // 000A CALL R3 3
0x7C080200, // 000B CALL R2 1
0x90021E02, // 000C SETMBR R0 K15 R2
0x8808010F, // 000D GETMBR R2 R0 K15
0x18080504, // 000E LE R2 R2 K4
0x780A0000, // 000F JMPF R2 #0011
0x90021F08, // 0010 SETMBR R0 K15 K8
0x80000000, // 0011 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: append_state_json
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_append_state_json, /* 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_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
0x58080012, // 0001 LDCONST R2 K18
0x600C0009, // 0002 GETGBL R3 G9
0x88100113, // 0003 GETMBR R4 R0 K19
0x7C0C0200, // 0004 CALL R3 1
0x7C040400, // 0005 CALL R1 2
0x80040200, // 0006 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: button_handler
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_button_handler, /* name */
be_nested_proto(
15, /* 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_Matter_Plugin_Sensor_GenericSwitch_Btn, /* shared constants */
be_str_weak(button_handler),
&be_const_str_solidified,
( &(const binstruction[105]) { /* code */
0x1C140504, // 0000 EQ R5 R2 K4
0x74160001, // 0001 JMPT R5 #0004
0x1C140508, // 0002 EQ R5 R2 K8
0x78160002, // 0003 JMPF R5 #0007
0x8C140114, // 0004 GETMET R5 R0 K20
0x5C1C0600, // 0005 MOVE R7 R3
0x7C140400, // 0006 CALL R5 2
0x1C140508, // 0007 EQ R5 R2 K8
0x78160040, // 0008 JMPF R5 #004A
0x780E0010, // 0009 JMPF R3 #001B
0x8C140115, // 000A GETMET R5 R0 K21
0x541E003A, // 000B LDINT R7 59
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
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
0x8C140115, // 001B GETMET R5 R0 K21
0x541E003A, // 001C LDINT R7 59
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
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
0x1C140708, // 002B EQ R5 R3 K8
0x7816001B, // 002C JMPF R5 #0049
0x24140904, // 002D GT R5 R4 K4
0x78160019, // 002E JMPF R5 #0049
0x8C140115, // 002F GETMET R5 R0 K21
0x541E003A, // 0030 LDINT R7 59
0x54220004, // 0031 LDINT R8 5
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
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
0xB82E0000, // 003E GETNGBL R11 K0
0x882C1701, // 003F GETMBR R11 R11 K1
0x8C2C1717, // 0040 GETMET R11 R11 K23
0x7C2C0200, // 0041 CALL R11 1
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
0x1C140507, // 004A EQ R5 R2 K7
0x7816001B, // 004B JMPF R5 #0068
0x24140904, // 004C GT R5 R4 K4
0x78160019, // 004D JMPF R5 #0068
0x8C140115, // 004E GETMET R5 R0 K21
0x541E003A, // 004F LDINT R7 59
0x54220005, // 0050 LDINT R8 6
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
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
0xB82E0000, // 005D GETNGBL R11 K0
0x882C1701, // 005E GETMBR R11 R11 K1
0x8C2C1717, // 005F GETMET R11 R11 K23
0x7C2C0200, // 0060 CALL R11 1
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
0x80000000, // 0068 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_GenericSwitch_Btn
********************************************************************/
extern const bclass be_class_Matter_Plugin_Device;
be_local_class(Matter_Plugin_Sensor_GenericSwitch_Btn,
2,
&be_class_Matter_Plugin_Device,
be_nested_map(14,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(read_attribute, 4), be_const_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_read_attribute_closure) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak(button) },
{ be_const_key_weak(ARG_TYPE, 6), be_const_static_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn__X3Clambda_X3E_closure) },
{ be_const_key_weak(TYPE, 9), be_nested_str_weak(gensw_btn) },
{ be_const_key_weak(button_handler, 13), be_const_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_button_handler_closure) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Generic_X20Switch_X2FButton) },
{ be_const_key_weak(append_state_json, 12), be_const_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_append_state_json_closure) },
{ be_const_key_weak(set_position, -1), be_const_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_set_position_closure) },
{ be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Sensor_GenericSwitch_Btn_parse_configuration_closure) },
{ be_const_key_weak(shadow_position, -1), be_const_var(1) },
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(15, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(ARG_HINT, 8), be_nested_str_weak(Button_X3Cx_X3E_X20number) },
{ be_const_key_weak(tasmota_switch_index, -1), be_const_var(0) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(5, 1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, -1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(59, 0), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
})),
be_str_weak(Matter_Plugin_Sensor_GenericSwitch_Btn)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,662 @@
/* Solidification of Matter_Plugin_2_Shutter.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Shutter' ktab size: 49, total: 80 (saved 248 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Shutter[49] = {
/* K0 */ be_nested_str_weak(parse_configuration),
/* K1 */ be_nested_str_weak(tasmota_shutter_index),
/* K2 */ be_nested_str_weak(find),
/* K3 */ be_nested_str_weak(ARG),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_shutter_inverted),
/* K6 */ be_nested_str_weak(light),
/* K7 */ be_nested_str_weak(matter),
/* K8 */ be_nested_str_weak(TLV),
/* K9 */ be_nested_str_weak(cluster),
/* K10 */ be_nested_str_weak(command),
/* K11 */ be_nested_str_weak(update_shadow_lazy),
/* K12 */ be_nested_str_weak(tasmota),
/* K13 */ be_nested_str_weak(cmd),
/* K14 */ be_nested_str_weak(ShutterStopOpen),
/* K15 */ be_const_int(1),
/* K16 */ be_nested_str_weak(update_shadow),
/* K17 */ be_nested_str_weak(ShutterStopClose),
/* K18 */ be_const_int(2),
/* K19 */ be_nested_str_weak(ShutterStop),
/* K20 */ be_nested_str_weak(log),
/* K21 */ be_nested_str_weak(MTR_X3A_X20Tilt_X20_X3D_X20),
/* K22 */ be_nested_str_weak(findsubval),
/* K23 */ be_nested_str_weak(ShutterPosition),
/* K24 */ be_nested_str_weak(_X20),
/* K25 */ be_nested_str_weak(pos_X25_X3A),
/* K26 */ be_nested_str_weak(invoke_request),
/* K27 */ be_nested_str_weak(attribute),
/* K28 */ be_nested_str_weak(update_inverted),
/* K29 */ be_nested_str_weak(set),
/* K30 */ be_nested_str_weak(U1),
/* K31 */ be_nested_str_weak(U2),
/* K32 */ be_nested_str_weak(shadow_shutter_pos),
/* K33 */ be_nested_str_weak(set_or_nil),
/* K34 */ be_nested_str_weak(shadow_shutter_direction),
/* K35 */ be_nested_str_weak(shadow_shutter_target),
/* K36 */ be_nested_str_weak(read_attribute),
/* K37 */ be_nested_str_weak(Shutter),
/* K38 */ be_nested_str_weak(contains),
/* K39 */ be_nested_str_weak(Position),
/* K40 */ be_nested_str_weak(attribute_updated),
/* K41 */ be_nested_str_weak(Direction),
/* K42 */ be_nested_str_weak(Target),
/* K43 */ be_nested_str_weak(Status_X2013),
/* K44 */ be_nested_str_weak(StatusSHT),
/* K45 */ be_nested_str_weak(SHT),
/* K46 */ be_nested_str_weak(Opt),
/* K47 */ be_nested_str_weak(VIRTUAL),
/* K48 */ be_nested_str_weak(parse_sensors),
};
extern const bclass be_class_Matter_Plugin_Shutter;
/********************************************************************
** Solidified function: parse_configuration
********************************************************************/
be_local_closure(class_Matter_Plugin_Shutter_parse_configuration, /* name */
be_nested_proto(
5, /* 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_Shutter, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C080500, // 0003 GETMET R2 R2 K0
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x8C080302, // 0006 GETMET R2 R1 K2
0x88100103, // 0007 GETMBR R4 R0 K3
0x7C080400, // 0008 CALL R2 2
0x90020202, // 0009 SETMBR R0 K1 R2
0x88080101, // 000A GETMBR R2 R0 K1
0x4C0C0000, // 000B LDNIL R3
0x1C080403, // 000C EQ R2 R2 R3
0x780A0000, // 000D JMPF R2 #000F
0x90020304, // 000E SETMBR R0 K1 K4
0x5409FFFE, // 000F LDINT R2 -1
0x90020A02, // 0010 SETMBR R0 K5 R2
0x80000000, // 0011 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: invoke_request
********************************************************************/
be_local_closure(class_Matter_Plugin_Shutter_invoke_request, /* name */
be_nested_proto(
14, /* 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_Shutter, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[115]) { /* code */
0xA4120C00, // 0000 IMPORT R4 K6
0xB8160E00, // 0001 GETNGBL R5 K7
0x88140B08, // 0002 GETMBR R5 R5 K8
0x88180709, // 0003 GETMBR R6 R3 K9
0x881C070A, // 0004 GETMBR R7 R3 K10
0x54220101, // 0005 LDINT R8 258
0x1C200C08, // 0006 EQ R8 R6 R8
0x78220060, // 0007 JMPF R8 #0069
0x8C20010B, // 0008 GETMET R8 R0 K11
0x7C200200, // 0009 CALL R8 1
0x1C200F04, // 000A EQ R8 R7 K4
0x7822000D, // 000B JMPF R8 #001A
0xB8221800, // 000C GETNGBL R8 K12
0x8C20110D, // 000D GETMET R8 R8 K13
0x60280008, // 000E GETGBL R10 G8
0x882C0101, // 000F GETMBR R11 R0 K1
0x002C170F, // 0010 ADD R11 R11 K15
0x7C280200, // 0011 CALL R10 1
0x002A1C0A, // 0012 ADD R10 K14 R10
0x502C0200, // 0013 LDBOOL R11 1 0
0x7C200600, // 0014 CALL R8 3
0x8C200110, // 0015 GETMET R8 R0 K16
0x7C200200, // 0016 CALL R8 1
0x50200200, // 0017 LDBOOL R8 1 0
0x80041000, // 0018 RET 1 R8
0x7002004D, // 0019 JMP #0068
0x1C200F0F, // 001A EQ R8 R7 K15
0x7822000D, // 001B JMPF R8 #002A
0xB8221800, // 001C GETNGBL R8 K12
0x8C20110D, // 001D GETMET R8 R8 K13
0x60280008, // 001E GETGBL R10 G8
0x882C0101, // 001F GETMBR R11 R0 K1
0x002C170F, // 0020 ADD R11 R11 K15
0x7C280200, // 0021 CALL R10 1
0x002A220A, // 0022 ADD R10 K17 R10
0x502C0200, // 0023 LDBOOL R11 1 0
0x7C200600, // 0024 CALL R8 3
0x8C200110, // 0025 GETMET R8 R0 K16
0x7C200200, // 0026 CALL R8 1
0x50200200, // 0027 LDBOOL R8 1 0
0x80041000, // 0028 RET 1 R8
0x7002003D, // 0029 JMP #0068
0x1C200F12, // 002A EQ R8 R7 K18
0x7822000D, // 002B JMPF R8 #003A
0xB8221800, // 002C GETNGBL R8 K12
0x8C20110D, // 002D GETMET R8 R8 K13
0x60280008, // 002E GETGBL R10 G8
0x882C0101, // 002F GETMBR R11 R0 K1
0x002C170F, // 0030 ADD R11 R11 K15
0x7C280200, // 0031 CALL R10 1
0x002A260A, // 0032 ADD R10 K19 R10
0x502C0200, // 0033 LDBOOL R11 1 0
0x7C200600, // 0034 CALL R8 3
0x8C200110, // 0035 GETMET R8 R0 K16
0x7C200200, // 0036 CALL R8 1
0x50200200, // 0037 LDBOOL R8 1 0
0x80041000, // 0038 RET 1 R8
0x7002002D, // 0039 JMP #0068
0x54220004, // 003A LDINT R8 5
0x1C200E08, // 003B EQ R8 R7 R8
0x7822002A, // 003C JMPF R8 #0068
0xB8222800, // 003D GETNGBL R8 K20
0x60240008, // 003E GETGBL R9 G8
0x5C280400, // 003F MOVE R10 R2
0x7C240200, // 0040 CALL R9 1
0x00262A09, // 0041 ADD R9 K21 R9
0x58280012, // 0042 LDCONST R10 K18
0x7C200400, // 0043 CALL R8 2
0x8C200516, // 0044 GETMET R8 R2 K22
0x58280004, // 0045 LDCONST R10 K4
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
0x88240105, // 004C GETMBR R9 R0 K5
0x1C241304, // 004D EQ R9 R9 K4
0x78260001, // 004E JMPF R9 #0051
0x54260063, // 004F LDINT R9 100
0x04201208, // 0050 SUB R8 R9 R8
0xB8261800, // 0051 GETNGBL R9 K12
0x8C24130D, // 0052 GETMET R9 R9 K13
0x602C0008, // 0053 GETGBL R11 G8
0x88300101, // 0054 GETMBR R12 R0 K1
0x0030190F, // 0055 ADD R12 R12 K15
0x7C2C0200, // 0056 CALL R11 1
0x002E2E0B, // 0057 ADD R11 K23 R11
0x002C1718, // 0058 ADD R11 R11 K24
0x60300008, // 0059 GETGBL R12 G8
0x5C341000, // 005A MOVE R13 R8
0x7C300200, // 005B CALL R12 1
0x002C160C, // 005C ADD R11 R11 R12
0x50300200, // 005D LDBOOL R12 1 0
0x7C240600, // 005E CALL R9 3
0x60240008, // 005F GETGBL R9 G8
0x5C281000, // 0060 MOVE R10 R8
0x7C240200, // 0061 CALL R9 1
0x00263209, // 0062 ADD R9 K25 R9
0x900E2809, // 0063 SETMBR R3 K20 R9
0x8C240110, // 0064 GETMET R9 R0 K16
0x7C240200, // 0065 CALL R9 1
0x50240200, // 0066 LDBOOL R9 1 0
0x80041200, // 0067 RET 1 R9
0x70020008, // 0068 JMP #0072
0x60200003, // 0069 GETGBL R8 G3
0x5C240000, // 006A MOVE R9 R0
0x7C200200, // 006B CALL R8 1
0x8C20111A, // 006C GETMET R8 R8 K26
0x5C280200, // 006D MOVE R10 R1
0x5C2C0400, // 006E MOVE R11 R2
0x5C300600, // 006F MOVE R12 R3
0x7C200800, // 0070 CALL R8 4
0x80041000, // 0071 RET 1 R8
0x80000000, // 0072 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Shutter_read_attribute, /* name */
be_nested_proto(
13, /* 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_Shutter, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[145]) { /* code */
0xB8120E00, // 0000 GETNGBL R4 K7
0x88100908, // 0001 GETMBR R4 R4 K8
0x88140509, // 0002 GETMBR R5 R2 K9
0x8818051B, // 0003 GETMBR R6 R2 K27
0x4C1C0000, // 0004 LDNIL R7
0x54220101, // 0005 LDINT R8 258
0x1C200A08, // 0006 EQ R8 R5 R8
0x7822007F, // 0007 JMPF R8 #0088
0x8C20010B, // 0008 GETMET R8 R0 K11
0x7C200200, // 0009 CALL R8 1
0x8C20011C, // 000A GETMET R8 R0 K28
0x7C200200, // 000B CALL R8 1
0x1C200D04, // 000C EQ R8 R6 K4
0x78220005, // 000D JMPF R8 #0014
0x8C20071D, // 000E GETMET R8 R3 K29
0x8828091E, // 000F GETMBR R10 R4 K30
0x542E00FE, // 0010 LDINT R11 255
0x7C200600, // 0011 CALL R8 3
0x80041000, // 0012 RET 1 R8
0x70020073, // 0013 JMP #0088
0x54220004, // 0014 LDINT R8 5
0x1C200C08, // 0015 EQ R8 R6 R8
0x78220005, // 0016 JMPF R8 #001D
0x8C20071D, // 0017 GETMET R8 R3 K29
0x8828091F, // 0018 GETMBR R10 R4 K31
0x582C0004, // 0019 LDCONST R11 K4
0x7C200600, // 001A CALL R8 3
0x80041000, // 001B RET 1 R8
0x7002006A, // 001C JMP #0088
0x54220006, // 001D LDINT R8 7
0x1C200C08, // 001E EQ R8 R6 R8
0x78220006, // 001F JMPF R8 #0027
0x8C20071D, // 0020 GETMET R8 R3 K29
0x8828091E, // 0021 GETMBR R10 R4 K30
0x542E0007, // 0022 LDINT R11 8
0x002E1E0B, // 0023 ADD R11 K15 R11
0x7C200600, // 0024 CALL R8 3
0x80041000, // 0025 RET 1 R8
0x70020060, // 0026 JMP #0088
0x5422000C, // 0027 LDINT R8 13
0x1C200C08, // 0028 EQ R8 R6 R8
0x78220005, // 0029 JMPF R8 #0030
0x8C20071D, // 002A GETMET R8 R3 K29
0x8828091E, // 002B GETMBR R10 R4 K30
0x542E00FE, // 002C LDINT R11 255
0x7C200600, // 002D CALL R8 3
0x80041000, // 002E RET 1 R8
0x70020057, // 002F JMP #0088
0x5422000D, // 0030 LDINT R8 14
0x1C200C08, // 0031 EQ R8 R6 R8
0x78220017, // 0032 JMPF R8 #004B
0x88200120, // 0033 GETMBR R8 R0 K32
0x4C240000, // 0034 LDNIL R9
0x20201009, // 0035 NE R8 R8 R9
0x7822000D, // 0036 JMPF R8 #0045
0x88200105, // 0037 GETMBR R8 R0 K5
0x1C201104, // 0038 EQ R8 R8 K4
0x78220006, // 0039 JMPF R8 #0041
0x54220063, // 003A LDINT R8 100
0x88240120, // 003B GETMBR R9 R0 K32
0x04201009, // 003C SUB R8 R8 R9
0x54260063, // 003D LDINT R9 100
0x08201009, // 003E MUL R8 R8 R9
0x5C1C1000, // 003F MOVE R7 R8
0x70020003, // 0040 JMP #0045
0x88200120, // 0041 GETMBR R8 R0 K32
0x54260063, // 0042 LDINT R9 100
0x08201009, // 0043 MUL R8 R8 R9
0x5C1C1000, // 0044 MOVE R7 R8
0x8C200721, // 0045 GETMET R8 R3 K33
0x8828091F, // 0046 GETMBR R10 R4 K31
0x5C2C0E00, // 0047 MOVE R11 R7
0x7C200600, // 0048 CALL R8 3
0x80041000, // 0049 RET 1 R8
0x7002003C, // 004A JMP #0088
0x54220009, // 004B LDINT R8 10
0x1C200C08, // 004C EQ R8 R6 R8
0x78220016, // 004D JMPF R8 #0065
0x4C200000, // 004E LDNIL R8
0x88240122, // 004F GETMBR R9 R0 K34
0x4C280000, // 0050 LDNIL R10
0x2024120A, // 0051 NE R9 R9 R10
0x7826000B, // 0052 JMPF R9 #005F
0x88240122, // 0053 GETMBR R9 R0 K34
0x1C241304, // 0054 EQ R9 R9 K4
0x78260001, // 0055 JMPF R9 #0058
0x58240004, // 0056 LDCONST R9 K4
0x70020005, // 0057 JMP #005E
0x88240122, // 0058 GETMBR R9 R0 K34
0x24241304, // 0059 GT R9 R9 K4
0x78260001, // 005A JMPF R9 #005D
0x5824000F, // 005B LDCONST R9 K15
0x70020000, // 005C JMP #005E
0x58240012, // 005D LDCONST R9 K18
0x5C201200, // 005E MOVE R8 R9
0x8C240721, // 005F GETMET R9 R3 K33
0x882C091E, // 0060 GETMBR R11 R4 K30
0x5C301000, // 0061 MOVE R12 R8
0x7C240600, // 0062 CALL R9 3
0x80041200, // 0063 RET 1 R9
0x70020022, // 0064 JMP #0088
0x5422000A, // 0065 LDINT R8 11
0x1C200C08, // 0066 EQ R8 R6 R8
0x78220017, // 0067 JMPF R8 #0080
0x88200123, // 0068 GETMBR R8 R0 K35
0x4C240000, // 0069 LDNIL R9
0x20201009, // 006A NE R8 R8 R9
0x7822000D, // 006B JMPF R8 #007A
0x88200105, // 006C GETMBR R8 R0 K5
0x1C201104, // 006D EQ R8 R8 K4
0x78220006, // 006E JMPF R8 #0076
0x54220063, // 006F LDINT R8 100
0x88240123, // 0070 GETMBR R9 R0 K35
0x04201009, // 0071 SUB R8 R8 R9
0x54260063, // 0072 LDINT R9 100
0x08201009, // 0073 MUL R8 R8 R9
0x5C1C1000, // 0074 MOVE R7 R8
0x70020003, // 0075 JMP #007A
0x88200123, // 0076 GETMBR R8 R0 K35
0x54260063, // 0077 LDINT R9 100
0x08201009, // 0078 MUL R8 R8 R9
0x5C1C1000, // 0079 MOVE R7 R8
0x8C200721, // 007A GETMET R8 R3 K33
0x8828091F, // 007B GETMBR R10 R4 K31
0x5C2C0E00, // 007C MOVE R11 R7
0x7C200600, // 007D CALL R8 3
0x80041000, // 007E RET 1 R8
0x70020007, // 007F JMP #0088
0x54220016, // 0080 LDINT R8 23
0x1C200C08, // 0081 EQ R8 R6 R8
0x78220004, // 0082 JMPF R8 #0088
0x8C20071D, // 0083 GETMET R8 R3 K29
0x8828091E, // 0084 GETMBR R10 R4 K30
0x582C0004, // 0085 LDCONST R11 K4
0x7C200600, // 0086 CALL R8 3
0x80041000, // 0087 RET 1 R8
0x60200003, // 0088 GETGBL R8 G3
0x5C240000, // 0089 MOVE R9 R0
0x7C200200, // 008A CALL R8 1
0x8C201124, // 008B GETMET R8 R8 K36
0x5C280200, // 008C MOVE R10 R1
0x5C2C0400, // 008D MOVE R11 R2
0x5C300600, // 008E MOVE R12 R3
0x7C200800, // 008F CALL R8 4
0x80041000, // 0090 RET 1 R8
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Shutter__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
8, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Matter_Plugin_Shutter, /* shared constants */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040009, // 0000 GETGBL R1 G9
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_sensors
********************************************************************/
be_local_closure(class_Matter_Plugin_Shutter_parse_sensors, /* name */
be_nested_proto(
11, /* 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_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
0x000C070F, // 0002 ADD R3 R3 K15
0x7C080200, // 0003 CALL R2 1
0x000A4A02, // 0004 ADD R2 K37 R2
0x8C0C0326, // 0005 GETMET R3 R1 K38
0x5C140400, // 0006 MOVE R5 R2
0x7C0C0400, // 0007 CALL R3 2
0x780E002A, // 0008 JMPF R3 #0034
0x940C0202, // 0009 GETIDX R3 R1 R2
0x8C100702, // 000A GETMET R4 R3 K2
0x58180027, // 000B LDCONST R6 K39
0x7C100400, // 000C CALL R4 2
0x4C140000, // 000D LDNIL R5
0x20140805, // 000E NE R5 R4 R5
0x78160007, // 000F JMPF R5 #0018
0x88140120, // 0010 GETMBR R5 R0 K32
0x20140805, // 0011 NE R5 R4 R5
0x78160003, // 0012 JMPF R5 #0017
0x8C140128, // 0013 GETMET R5 R0 K40
0x541E0101, // 0014 LDINT R7 258
0x5422000D, // 0015 LDINT R8 14
0x7C140600, // 0016 CALL R5 3
0x90024004, // 0017 SETMBR R0 K32 R4
0x8C140702, // 0018 GETMET R5 R3 K2
0x581C0029, // 0019 LDCONST R7 K41
0x7C140400, // 001A CALL R5 2
0x4C180000, // 001B LDNIL R6
0x20180A06, // 001C NE R6 R5 R6
0x781A0007, // 001D JMPF R6 #0026
0x88180122, // 001E GETMBR R6 R0 K34
0x20180A06, // 001F NE R6 R5 R6
0x781A0003, // 0020 JMPF R6 #0025
0x8C180128, // 0021 GETMET R6 R0 K40
0x54220101, // 0022 LDINT R8 258
0x54260009, // 0023 LDINT R9 10
0x7C180600, // 0024 CALL R6 3
0x90024405, // 0025 SETMBR R0 K34 R5
0x8C180702, // 0026 GETMET R6 R3 K2
0x5820002A, // 0027 LDCONST R8 K42
0x7C180400, // 0028 CALL R6 2
0x4C1C0000, // 0029 LDNIL R7
0x201C0C07, // 002A NE R7 R6 R7
0x781E0007, // 002B JMPF R7 #0034
0x881C0123, // 002C GETMBR R7 R0 K35
0x201C0C07, // 002D NE R7 R6 R7
0x781E0003, // 002E JMPF R7 #0033
0x8C1C0128, // 002F GETMET R7 R0 K40
0x54260101, // 0030 LDINT R9 258
0x542A000A, // 0031 LDINT R10 11
0x7C1C0600, // 0032 CALL R7 3
0x90024606, // 0033 SETMBR R0 K35 R6
0x80000000, // 0034 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_inverted
********************************************************************/
be_local_closure(class_Matter_Plugin_Shutter_update_inverted, /* 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_Shutter, /* shared constants */
be_str_weak(update_inverted),
&be_const_str_solidified,
( &(const binstruction[37]) { /* code */
0x88040105, // 0000 GETMBR R1 R0 K5
0x5409FFFE, // 0001 LDINT R2 -1
0x1C040202, // 0002 EQ R1 R1 R2
0x7806001F, // 0003 JMPF R1 #0024
0xB8061800, // 0004 GETNGBL R1 K12
0x8C04030D, // 0005 GETMET R1 R1 K13
0x580C002B, // 0006 LDCONST R3 K43
0x50100200, // 0007 LDBOOL R4 1 0
0x7C040600, // 0008 CALL R1 3
0x8C080326, // 0009 GETMET R2 R1 K38
0x5810002C, // 000A LDCONST R4 K44
0x7C080400, // 000B CALL R2 2
0x780A0016, // 000C JMPF R2 #0024
0x9404032C, // 000D GETIDX R1 R1 K44
0x8C080302, // 000E GETMET R2 R1 K2
0x60100008, // 000F GETGBL R4 G8
0x88140101, // 0010 GETMBR R5 R0 K1
0x7C100200, // 0011 CALL R4 1
0x00125A04, // 0012 ADD R4 K45 R4
0x60140013, // 0013 GETGBL R5 G19
0x7C140000, // 0014 CALL R5 0
0x7C080600, // 0015 CALL R2 3
0x8C080502, // 0016 GETMET R2 R2 K2
0x5810002E, // 0017 LDCONST R4 K46
0x7C080400, // 0018 CALL R2 2
0x4C0C0000, // 0019 LDNIL R3
0x200C0403, // 001A NE R3 R2 R3
0x780E0007, // 001B JMPF R3 #0024
0x600C0009, // 001C GETGBL R3 G9
0x6010000C, // 001D GETGBL R4 G12
0x5C140400, // 001E MOVE R5 R2
0x7C100200, // 001F CALL R4 1
0x0410090F, // 0020 SUB R4 R4 K15
0x94100404, // 0021 GETIDX R4 R2 R4
0x7C0C0200, // 0022 CALL R3 1
0x90020A03, // 0023 SETMBR R0 K5 R3
0x80000000, // 0024 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_shadow
********************************************************************/
be_local_closure(class_Matter_Plugin_Shutter_update_shadow, /* 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_Plugin_Shutter, /* shared constants */
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x8804012F, // 0000 GETMBR R1 R0 K47
0x7406000E, // 0001 JMPT R1 #0011
0x8C04011C, // 0002 GETMET R1 R0 K28
0x7C040200, // 0003 CALL R1 1
0xB8061800, // 0004 GETNGBL R1 K12
0x8C04030D, // 0005 GETMET R1 R1 K13
0x600C0008, // 0006 GETGBL R3 G8
0x88100101, // 0007 GETMBR R4 R0 K1
0x0010090F, // 0008 ADD R4 R4 K15
0x7C0C0200, // 0009 CALL R3 1
0x000E2E03, // 000A ADD R3 K23 R3
0x50100200, // 000B LDBOOL R4 1 0
0x7C040600, // 000C CALL R1 3
0x78060002, // 000D JMPF R1 #0011
0x8C080130, // 000E GETMET R2 R0 K48
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
0x8C040310, // 0014 GETMET R1 R1 K16
0x7C040200, // 0015 CALL R1 1
0x80000000, // 0016 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Shutter
********************************************************************/
extern const bclass be_class_Matter_Plugin_Device;
be_local_class(Matter_Plugin_Shutter,
5,
&be_class_Matter_Plugin_Device,
be_nested_map(18,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(shadow_shutter_inverted, -1), be_const_var(4) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(shutter) },
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(514, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(shadow_shutter_target, -1), be_const_var(2) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(258, -1), be_const_bytes_instance(000000050007000A000B000D000E0017FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(invoke_request, 3), be_const_closure(class_Matter_Plugin_Shutter_invoke_request_closure) },
{ be_const_key_weak(read_attribute, 11), be_const_closure(class_Matter_Plugin_Shutter_read_attribute_closure) },
{ be_const_key_weak(parse_configuration, 14), be_const_closure(class_Matter_Plugin_Shutter_parse_configuration_closure) },
{ be_const_key_weak(shadow_shutter_pos, -1), be_const_var(1) },
{ be_const_key_weak(ARG, 13), be_nested_str_weak(shutter) },
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Shutter__X3Clambda_X3E_closure) },
{ be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_Shutter_parse_sensors_closure) },
{ be_const_key_weak(update_inverted, -1), be_const_closure(class_Matter_Plugin_Shutter_update_inverted_closure) },
{ be_const_key_weak(ARG_HINT, 16), be_nested_str_weak(Relay_X3Cx_X3E_X20number) },
{ be_const_key_weak(update_shadow, 0), be_const_closure(class_Matter_Plugin_Shutter_update_shadow_closure) },
{ be_const_key_weak(tasmota_shutter_index, -1), be_const_var(0) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Shutter) },
{ be_const_key_weak(shadow_shutter_direction, -1), be_const_var(3) },
})),
be_str_weak(Matter_Plugin_Shutter)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,830 @@
/* Solidification of Matter_Plugin_3_Light1.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Light1' ktab size: 55, total: 109 (saved 432 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),
/* K3 */ be_nested_str_weak(scale_uint),
/* K4 */ be_nested_str_weak(call_remote_sync),
/* K5 */ be_nested_str_weak(Dimmer),
/* K6 */ be_nested_str_weak(parse_status),
/* K7 */ be_nested_str_weak(VIRTUAL),
/* K8 */ be_nested_str_weak(shadow_onoff),
/* K9 */ be_nested_str_weak(attribute_updated),
/* K10 */ be_nested_str_weak(shadow_bri),
/* K11 */ be_nested_str_weak(light),
/* K12 */ be_nested_str_weak(set),
/* K13 */ be_nested_str_weak(bri),
/* 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(parse_configuration),
/* K40 */ be_nested_str_weak(tasmota_relay_index),
/* K41 */ be_nested_str_weak(find),
/* K42 */ be_nested_str_weak(ARG),
/* 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 */
0x140C0300, // 0000 LT R3 R1 K0
0x780E0000, // 0001 JMPF R3 #0003
0x58040000, // 0002 LDCONST R1 K0
0x540E00FD, // 0003 LDINT R3 254
0x240C0203, // 0004 GT R3 R1 R3
0x780E0000, // 0005 JMPF R3 #0007
0x540600FD, // 0006 LDINT R1 254
0x4C0C0000, // 0007 LDNIL R3
0x200C0403, // 0008 NE R3 R2 R3
0x780E0003, // 0009 JMPF R3 #000E
0x600C0017, // 000A GETGBL R3 G23
0x5C100400, // 000B MOVE R4 R2
0x7C0C0200, // 000C CALL R3 1
0x70020000, // 000D JMP #000F
0x4C0C0000, // 000E LDNIL R3
0x5C080600, // 000F MOVE R2 R3
0x880C0101, // 0010 GETMBR R3 R0 K1
0x780E0015, // 0011 JMPF R3 #0028
0xB80E0400, // 0012 GETNGBL R3 K2
0x8C0C0703, // 0013 GETMET R3 R3 K3
0x5C140200, // 0014 MOVE R5 R1
0x58180000, // 0015 LDCONST R6 K0
0x541E00FD, // 0016 LDINT R7 254
0x58200000, // 0017 LDCONST R8 K0
0x54260063, // 0018 LDINT R9 100
0x7C0C0C00, // 0019 CALL R3 6
0x8C100104, // 001A GETMET R4 R0 K4
0x58180005, // 001B LDCONST R6 K5
0x601C0008, // 001C GETGBL R7 G8
0x5C200600, // 001D MOVE R8 R3
0x7C1C0200, // 001E CALL R7 1
0x7C100600, // 001F CALL R4 3
0x4C140000, // 0020 LDNIL R5
0x20140805, // 0021 NE R5 R4 R5
0x78160003, // 0022 JMPF R5 #0027
0x8C140106, // 0023 GETMET R5 R0 K6
0x5C1C0800, // 0024 MOVE R7 R4
0x5422000A, // 0025 LDINT R8 11
0x7C140600, // 0026 CALL R5 3
0x70020031, // 0027 JMP #005A
0x880C0107, // 0028 GETMBR R3 R0 K7
0x780E0013, // 0029 JMPF R3 #003E
0x4C0C0000, // 002A LDNIL R3
0x200C0403, // 002B NE R3 R2 R3
0x780E0007, // 002C JMPF R3 #0035
0x880C0108, // 002D GETMBR R3 R0 K8
0x200C0403, // 002E NE R3 R2 R3
0x780E0004, // 002F JMPF R3 #0035
0x8C0C0109, // 0030 GETMET R3 R0 K9
0x54160005, // 0031 LDINT R5 6
0x58180000, // 0032 LDCONST R6 K0
0x7C0C0600, // 0033 CALL R3 3
0x90021002, // 0034 SETMBR R0 K8 R2
0x880C010A, // 0035 GETMBR R3 R0 K10
0x200C0203, // 0036 NE R3 R1 R3
0x780E0004, // 0037 JMPF R3 #003D
0x8C0C0109, // 0038 GETMET R3 R0 K9
0x54160007, // 0039 LDINT R5 8
0x58180000, // 003A LDCONST R6 K0
0x7C0C0600, // 003B CALL R3 3
0x90021401, // 003C SETMBR R0 K10 R1
0x7002001B, // 003D JMP #005A
0xA40E1600, // 003E IMPORT R3 K11
0xB8120400, // 003F GETNGBL R4 K2
0x8C100903, // 0040 GETMET R4 R4 K3
0x5C180200, // 0041 MOVE R6 R1
0x581C0000, // 0042 LDCONST R7 K0
0x542200FD, // 0043 LDINT R8 254
0x58240000, // 0044 LDCONST R9 K0
0x542A00FE, // 0045 LDINT R10 255
0x7C100C00, // 0046 CALL R4 6
0x4C140000, // 0047 LDNIL R5
0x1C140405, // 0048 EQ R5 R2 R5
0x78160006, // 0049 JMPF R5 #0051
0x8C14070C, // 004A GETMET R5 R3 K12
0x601C0013, // 004B GETGBL R7 G19
0x7C1C0000, // 004C CALL R7 0
0x981E1A04, // 004D SETIDX R7 K13 R4
0x8820010E, // 004E GETMBR R8 R0 K14
0x7C140600, // 004F CALL R5 3
0x70020006, // 0050 JMP #0058
0x8C14070C, // 0051 GETMET R5 R3 K12
0x601C0013, // 0052 GETGBL R7 G19
0x7C1C0000, // 0053 CALL R7 0
0x981E1A04, // 0054 SETIDX R7 K13 R4
0x981E1E02, // 0055 SETIDX R7 K15 R2
0x8820010E, // 0056 GETMBR R8 R0 K14
0x7C140600, // 0057 CALL R5 3
0x8C140110, // 0058 GETMET R5 R0 K16
0x7C140200, // 0059 CALL R5 1
0x80000000, // 005A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_value_dimmer
********************************************************************/
be_local_closure(class_Matter_Plugin_Light1_web_value_dimmer, /* name */
be_nested_proto(
9, /* 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_Light1, /* shared constants */
be_str_weak(web_value_dimmer),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
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
0x8810010A, // 0007 GETMBR R4 R0 K10
0x58140000, // 0008 LDCONST R5 K0
0x541A00FD, // 0009 LDINT R6 254
0x581C0000, // 000A LDCONST R7 K0
0x54220063, // 000B LDINT R8 100
0x7C080C00, // 000C CALL R2 6
0x600C0018, // 000D GETGBL R3 G24
0x58100012, // 000E LDCONST R4 K18
0x5C140400, // 000F MOVE R5 R2
0x7C0C0400, // 0010 CALL R3 2
0x5C040600, // 0011 MOVE R1 R3
0x000A2601, // 0012 ADD R2 K19 R1
0x80040400, // 0013 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: invoke_request
********************************************************************/
be_local_closure(class_Matter_Plugin_Light1_invoke_request, /* name */
be_nested_proto(
24, /* 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_Light1, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[119]) { /* code */
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
0x8C200118, // 0008 GETMET R8 R0 K24
0x7C200200, // 0009 CALL R8 1
0x1C200F00, // 000A EQ R8 R7 K0
0x7822001A, // 000B JMPF R8 #0027
0x8C200519, // 000C GETMET R8 R2 K25
0x58280000, // 000D LDCONST R10 K0
0x7C200400, // 000E CALL R8 2
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
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
0x58340005, // 001A LDCONST R13 K5
0xB83A0400, // 001B GETNGBL R14 K2
0x8C381D03, // 001C GETMET R14 R14 K3
0x5C401000, // 001D MOVE R16 R8
0x58440000, // 001E LDCONST R17 K0
0x544A00FD, // 001F LDINT R18 254
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
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
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
0x1C200F21, // 0031 EQ R8 R7 K33
0x78220002, // 0032 JMPF R8 #0036
0x50200200, // 0033 LDBOOL R8 1 0
0x80041000, // 0034 RET 1 R8
0x70020035, // 0035 JMP #006C
0x54220003, // 0036 LDINT R8 4
0x1C200E08, // 0037 EQ R8 R7 R8
0x78220021, // 0038 JMPF R8 #005B
0x8C200519, // 0039 GETMET R8 R2 K25
0x58280000, // 003A LDCONST R10 K0
0x7C200400, // 003B CALL R8 2
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
0x002A380A, // 0044 ADD R10 K28 R10
0x900E360A, // 0045 SETMBR R3 K27 R10
0x8C28011D, // 0046 GETMET R10 R0 K29
0x58300022, // 0047 LDCONST R12 K34
0x78260001, // 0048 JMPF R9 #004B
0x5834001F, // 0049 LDCONST R13 K31
0x70020000, // 004A JMP #004C
0x58340000, // 004B LDCONST R13 K0
0x5838001E, // 004C LDCONST R14 K30
0x5C3C1000, // 004D MOVE R15 R8
0x58400005, // 004E LDCONST R16 K5
0xB8460400, // 004F GETNGBL R17 K2
0x8C442303, // 0050 GETMET R17 R17 K3
0x5C4C1000, // 0051 MOVE R19 R8
0x58500000, // 0052 LDCONST R20 K0
0x545600FD, // 0053 LDINT R21 254
0x58580000, // 0054 LDCONST R22 K0
0x545E0063, // 0055 LDINT R23 100
0x7C440C00, // 0056 CALL R17 6
0x7C280E00, // 0057 CALL R10 7
0x50280200, // 0058 LDBOOL R10 1 0
0x80041400, // 0059 RET 1 R10
0x70020010, // 005A JMP #006C
0x54220004, // 005B LDINT R8 5
0x1C200E08, // 005C EQ R8 R7 R8
0x78220002, // 005D JMPF R8 #0061
0x50200200, // 005E LDBOOL R8 1 0
0x80041000, // 005F RET 1 R8
0x7002000A, // 0060 JMP #006C
0x54220005, // 0061 LDINT R8 6
0x1C200E08, // 0062 EQ R8 R7 R8
0x78220002, // 0063 JMPF R8 #0067
0x50200200, // 0064 LDBOOL R8 1 0
0x80041000, // 0065 RET 1 R8
0x70020004, // 0066 JMP #006C
0x54220006, // 0067 LDINT R8 7
0x1C200E08, // 0068 EQ R8 R7 R8
0x78220001, // 0069 JMPF R8 #006C
0x50200200, // 006A LDBOOL R8 1 0
0x80041000, // 006B RET 1 R8
0x70020008, // 006C JMP #0076
0x60200003, // 006D GETGBL R8 G3
0x5C240000, // 006E MOVE R9 R0
0x7C200200, // 006F CALL R8 1
0x8C201123, // 0070 GETMET R8 R8 K35
0x5C280200, // 0071 MOVE R10 R1
0x5C2C0400, // 0072 MOVE R11 R2
0x5C300600, // 0073 MOVE R12 R3
0x7C200800, // 0074 CALL R8 4
0x80041000, // 0075 RET 1 R8
0x80000000, // 0076 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Light1_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_Light1, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[59]) { /* code */
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
0x8C1C0118, // 0007 GETMET R7 R0 K24
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D00, // 0009 EQ R7 R6 K0
0x781E0005, // 000A JMPF R7 #0011
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
0x1C1C0D20, // 0011 EQ R7 R6 K32
0x781E0005, // 0012 JMPF R7 #0019
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
0x1C1C0D21, // 0019 EQ R7 R6 K33
0x781E0005, // 001A JMPF R7 #0021
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
0x70020010, // 0020 JMP #0032
0x541E000E, // 0021 LDINT R7 15
0x1C1C0C07, // 0022 EQ R7 R6 R7
0x781E0005, // 0023 JMPF R7 #002A
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
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
0x8C1C0F26, // 0035 GETMET R7 R7 K38
0x5C240200, // 0036 MOVE R9 R1
0x5C280400, // 0037 MOVE R10 R2
0x5C2C0600, // 0038 MOVE R11 R3
0x7C1C0800, // 0039 CALL R7 4
0x80040E00, // 003A RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_configuration
********************************************************************/
be_local_closure(class_Matter_Plugin_Light1_parse_configuration, /* 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_Light1, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[58]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C080527, // 0003 GETMET R2 R2 K39
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x88080101, // 0006 GETMBR R2 R0 K1
0x780A000F, // 0007 JMPF R2 #0018
0x60080009, // 0008 GETGBL R2 G9
0x8C0C0329, // 0009 GETMET R3 R1 K41
0x8814012A, // 000A GETMBR R5 R0 K42
0x4C180000, // 000B LDNIL R6
0x7C0C0600, // 000C CALL R3 3
0x7C080200, // 000D CALL R2 1
0x90025002, // 000E SETMBR R0 K40 R2
0x88080128, // 000F GETMBR R2 R0 K40
0x4C0C0000, // 0010 LDNIL R3
0x20080403, // 0011 NE R2 R2 R3
0x780A0003, // 0012 JMPF R2 #0017
0x88080128, // 0013 GETMBR R2 R0 K40
0x18080500, // 0014 LE R2 R2 K0
0x780A0000, // 0015 JMPF R2 #0017
0x9002511F, // 0016 SETMBR R0 K40 K31
0x70020020, // 0017 JMP #0039
0x88080128, // 0018 GETMBR R2 R0 K40
0x4C0C0000, // 0019 LDNIL R3
0x1C080403, // 001A EQ R2 R2 R3
0x780A001C, // 001B JMPF R2 #0039
0x8808012B, // 001C GETMBR R2 R0 K43
0x1C08052C, // 001D EQ R2 R2 K44
0x780A0019, // 001E JMPF R2 #0039
0x8C080329, // 001F GETMET R2 R1 K41
0x8810012A, // 0020 GETMBR R4 R0 K42
0x7C080400, // 0021 CALL R2 2
0x4C0C0000, // 0022 LDNIL R3
0x1C0C0403, // 0023 EQ R3 R2 R3
0x780E000E, // 0024 JMPF R3 #0034
0xB80E0400, // 0025 GETNGBL R3 K2
0x8C0C072D, // 0026 GETMET R3 R3 K45
0x54160043, // 0027 LDINT R5 68
0x7C0C0400, // 0028 CALL R3 2
0x1C0C0700, // 0029 EQ R3 R3 K0
0x780E0007, // 002A JMPF R3 #0033
0xA40E1600, // 002B IMPORT R3 K11
0x8C10072E, // 002C GETMET R4 R3 K46
0x5818001F, // 002D LDCONST R6 K31
0x7C100400, // 002E CALL R4 2
0x4C140000, // 002F LDNIL R5
0x20100805, // 0030 NE R4 R4 R5
0x78120000, // 0031 JMPF R4 #0033
0x90021D1F, // 0032 SETMBR R0 K14 K31
0x70020004, // 0033 JMP #0039
0x600C0009, // 0034 GETGBL R3 G9
0x5C100400, // 0035 MOVE R4 R2
0x7C0C0200, // 0036 CALL R3 1
0x040C071F, // 0037 SUB R3 R3 K31
0x90021C03, // 0038 SETMBR R0 K14 R3
0x80000000, // 0039 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_virtual
********************************************************************/
be_local_closure(class_Matter_Plugin_Light1_update_virtual, /* name */
be_nested_proto(
8, /* 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_Light1, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x8C080329, // 0000 GETMET R2 R1 K41
0x58100022, // 0001 LDCONST R4 K34
0x7C080400, // 0002 CALL R2 2
0x8C0C0329, // 0003 GETMET R3 R1 K41
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
0x8C10011A, // 0009 GETMET R4 R0 K26
0x60180009, // 000A GETGBL R6 G9
0x5C1C0600, // 000B MOVE R7 R3
0x7C180200, // 000C CALL R6 1
0x5C1C0400, // 000D MOVE R7 R2
0x7C100600, // 000E CALL R4 3
0x80000800, // 000F RET 0
0x60100003, // 0010 GETGBL R4 G3
0x5C140000, // 0011 MOVE R5 R0
0x7C100200, // 0012 CALL R4 1
0x8C10092F, // 0013 GETMET R4 R4 K47
0x5C180200, // 0014 MOVE R6 R1
0x7C100400, // 0015 CALL R4 2
0x80000000, // 0016 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Plugin_Light1_init, /* name */
be_nested_proto(
9, /* 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_Light1, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x90021500, // 0000 SETMBR R0 K10 K0
0x60100003, // 0001 GETGBL R4 G3
0x5C140000, // 0002 MOVE R5 R0
0x7C100200, // 0003 CALL R4 1
0x8C100930, // 0004 GETMET R4 R4 K48
0x5C180200, // 0005 MOVE R6 R1
0x5C1C0400, // 0006 MOVE R7 R2
0x5C200600, // 0007 MOVE R8 R3
0x7C100800, // 0008 CALL R4 4
0x80000000, // 0009 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Light1_web_values, /* name */
be_nested_proto(
9, /* 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_Light1, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0xA4066200, // 0000 IMPORT R1 K49
0x8C080132, // 0001 GETMET R2 R0 K50
0x7C080200, // 0002 CALL R2 1
0x8C080333, // 0003 GETMET R2 R1 K51
0x60100018, // 0004 GETGBL R4 G24
0x58140034, // 0005 LDCONST R5 K52
0x8C180135, // 0006 GETMET R6 R0 K53
0x88200108, // 0007 GETMBR R8 R0 K8
0x7C180400, // 0008 CALL R6 2
0x8C1C0136, // 0009 GETMET R7 R0 K54
0x7C1C0200, // 000A CALL R7 1
0x7C100600, // 000B CALL R4 3
0x7C080400, // 000C CALL R2 2
0x80000000, // 000D RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_status
********************************************************************/
be_local_closure(class_Matter_Plugin_Light1_parse_status, /* 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(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
0x8C0C0706, // 0003 GETMET R3 R3 K6
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
0x780E0017, // 0009 JMPF R3 #0022
0x600C0009, // 000A GETGBL R3 G9
0x8C100329, // 000B GETMET R4 R1 K41
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
0xB8120400, // 0012 GETNGBL R4 K2
0x8C100903, // 0013 GETMET R4 R4 K3
0x5C180600, // 0014 MOVE R6 R3
0x581C0000, // 0015 LDCONST R7 K0
0x54220063, // 0016 LDINT R8 100
0x58240000, // 0017 LDCONST R9 K0
0x542A00FD, // 0018 LDINT R10 254
0x7C100C00, // 0019 CALL R4 6
0x8814010A, // 001A GETMBR R5 R0 K10
0x20140805, // 001B NE R5 R4 R5
0x78160004, // 001C JMPF R5 #0022
0x8C140109, // 001D GETMET R5 R0 K9
0x541E0007, // 001E LDINT R7 8
0x58200000, // 001F LDCONST R8 K0
0x7C140600, // 0020 CALL R5 3
0x90021404, // 0021 SETMBR R0 K10 R4
0x80000000, // 0022 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_shadow
********************************************************************/
be_local_closure(class_Matter_Plugin_Light1_update_shadow, /* name */
be_nested_proto(
12, /* 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_Light1, /* shared constants */
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
0x88040107, // 0000 GETMBR R1 R0 K7
0x7406002C, // 0001 JMPT R1 #002F
0x88040101, // 0002 GETMBR R1 R0 K1
0x7406002A, // 0003 JMPT R1 #002F
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
0x8C0C0529, // 000B GETMET R3 R2 K41
0x5814000F, // 000C LDCONST R5 K15
0x4C180000, // 000D LDNIL R6
0x7C0C0600, // 000E CALL R3 3
0x88100108, // 000F GETMBR R4 R0 K8
0x20100604, // 0010 NE R4 R3 R4
0x78120004, // 0011 JMPF R4 #0017
0x8C100109, // 0012 GETMET R4 R0 K9
0x541A0005, // 0013 LDINT R6 6
0x581C0000, // 0014 LDCONST R7 K0
0x7C100600, // 0015 CALL R4 3
0x90021003, // 0016 SETMBR R0 K8 R3
0x8C100529, // 0017 GETMET R4 R2 K41
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
0xB8160400, // 001E GETNGBL R5 K2
0x8C140B03, // 001F GETMET R5 R5 K3
0x5C1C0800, // 0020 MOVE R7 R4
0x58200000, // 0021 LDCONST R8 K0
0x542600FE, // 0022 LDINT R9 255
0x58280000, // 0023 LDCONST R10 K0
0x542E00FD, // 0024 LDINT R11 254
0x7C140C00, // 0025 CALL R5 6
0x5C100A00, // 0026 MOVE R4 R5
0x8814010A, // 0027 GETMBR R5 R0 K10
0x20140805, // 0028 NE R5 R4 R5
0x78160004, // 0029 JMPF R5 #002F
0x8C140109, // 002A GETMET R5 R0 K9
0x541E0007, // 002B LDINT R7 8
0x58200000, // 002C LDCONST R8 K0
0x7C140600, // 002D CALL R5 3
0x90021404, // 002E SETMBR R0 K10 R4
0x60040003, // 002F GETGBL R1 G3
0x5C080000, // 0030 MOVE R2 R0
0x7C040200, // 0031 CALL R1 1
0x8C040310, // 0032 GETMET R1 R1 K16
0x7C040200, // 0033 CALL R1 1
0x80000000, // 0034 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Light1
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light0;
be_local_class(Matter_Plugin_Light1,
1,
&be_class_Matter_Plugin_Light0,
be_nested_map(18,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(ARG_HINT, 16), be_nested_str_weak(_X28opt_X29_X20Light_X20number) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(light1) },
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(257, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(2,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Power),
be_nested_str_weak(Bri),
})) ) } )) },
{ be_const_key_weak(web_value_dimmer, 13), be_const_closure(class_Matter_Plugin_Light1_web_value_dimmer_closure) },
{ be_const_key_weak(set_bri, 17), be_const_closure(class_Matter_Plugin_Light1_set_bri_closure) },
{ be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Light1_read_attribute_closure) },
{ be_const_key_weak(parse_configuration, 10), be_const_closure(class_Matter_Plugin_Light1_parse_configuration_closure) },
{ be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Light1_update_virtual_closure) },
{ be_const_key_weak(DISPLAY_NAME, 0), be_nested_str_weak(Light_X201_X20Dimmer) },
{ be_const_key_weak(update_shadow, 12), be_const_closure(class_Matter_Plugin_Light1_update_shadow_closure) },
{ be_const_key_weak(parse_status, -1), be_const_closure(class_Matter_Plugin_Light1_parse_status_closure) },
{ be_const_key_weak(shadow_bri, -1), be_const_var(0) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(7,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(29, 2), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(8, 0), be_const_bytes_instance(000000020003000F0011FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(6, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Light1_web_values_closure) },
{ be_const_key_weak(init, 11), be_const_closure(class_Matter_Plugin_Light1_init_closure) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak(light) },
{ be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Light1_invoke_request_closure) },
})),
be_str_weak(Matter_Plugin_Light1)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,29 @@
/* Solidification of Matter_Plugin_3_OnOff.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_OnOff;
/********************************************************************
** Solidified class: Matter_Plugin_OnOff
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light0;
be_local_class(Matter_Plugin_OnOff,
0,
&be_class_Matter_Plugin_Light0,
be_nested_map(3,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Relay) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(relay) },
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(266, -1), be_const_int(2) },
})) ) } )) },
})),
be_str_weak(Matter_Plugin_OnOff)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,229 @@
/* Solidification of Matter_Plugin_3_Sensor_Contact.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Contact' ktab size: 21, total: 26 (saved 40 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Contact[21] = {
/* 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),
/* K9 */ be_nested_str_weak(webserver),
/* K10 */ be_nested_str_weak(web_values_prefix),
/* K11 */ be_nested_str_weak(content_send),
/* K12 */ be_nested_str_weak(Contact_X25i_X20_X25s),
/* K13 */ be_nested_str_weak(tasmota_switch_index),
/* K14 */ be_nested_str_weak(web_value_onoff),
/* K15 */ be_nested_str_weak(get_name),
/* K16 */ be_nested_str_weak(Switch),
/* K17 */ be_nested_str_weak(PREFIX),
/* K18 */ be_nested_str_weak(html_escape),
/* K19 */ be_nested_str_weak(),
/* K20 */ be_nested_str_weak(attribute_updated),
};
extern const bclass be_class_Matter_Plugin_Sensor_Contact;
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Contact_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_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
0x541E0044, // 0004 LDINT R7 69
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0006, // 0006 JMPF R7 #000E
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x781E0004, // 0008 JMPF R7 #000E
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x88280107, // 000B GETMBR R10 R0 K7
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
0x5C240200, // 0012 MOVE R9 R1
0x5C280400, // 0013 MOVE R10 R2
0x5C2C0600, // 0014 MOVE R11 R3
0x7C1C0800, // 0015 CALL R7 4
0x80040E00, // 0016 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Contact_web_values, /* name */
be_nested_proto(
10, /* 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_Sensor_Contact, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA4061200, // 0000 IMPORT R1 K9
0x8C08010A, // 0001 GETMET R2 R0 K10
0x7C080200, // 0002 CALL R2 1
0x8C08030B, // 0003 GETMET R2 R1 K11
0x60100018, // 0004 GETGBL R4 G24
0x5814000C, // 0005 LDCONST R5 K12
0x8818010D, // 0006 GETMBR R6 R0 K13
0x8C1C010E, // 0007 GETMET R7 R0 K14
0x88240107, // 0008 GETMBR R9 R0 K7
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values_prefix
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Contact_web_values_prefix, /* name */
be_nested_proto(
10, /* 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_Sensor_Contact, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xA4061200, // 0000 IMPORT R1 K9
0x8C08010F, // 0001 GETMET R2 R0 K15
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x8810010D, // 0006 GETMBR R4 R0 K13
0x7C0C0200, // 0007 CALL R3 1
0x000E2003, // 0008 ADD R3 K16 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C030B, // 000A GETMET R3 R1 K11
0x60140018, // 000B GETGBL R5 G24
0x88180111, // 000C GETMBR R6 R0 K17
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0312, // 000E GETMET R7 R1 K18
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0013, // 0012 LDCONST R7 K19
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: value_updated
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Contact_value_updated, /* 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_Plugin_Sensor_Contact, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040114, // 0000 GETMET R1 R0 K20
0x540E0044, // 0001 LDINT R3 69
0x58100004, // 0002 LDCONST R4 K4
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_Contact
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Boolean;
be_local_class(Matter_Plugin_Sensor_Contact,
0,
&be_class_Matter_Plugin_Sensor_Boolean,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(21, -1), be_const_int(1) },
})) ) } )) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Contact) },
{ be_const_key_weak(read_attribute, 6), be_const_closure(class_Matter_Plugin_Sensor_Contact_read_attribute_closure) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Contact),
})) ) } )) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, 1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(69, 2), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Contact) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Contact_web_values_closure) },
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Sensor_Contact_web_values_prefix_closure) },
{ be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_Contact_value_updated_closure) },
{ be_const_key_weak(TYPE, 3), be_nested_str_weak(contact) },
})),
be_str_weak(Matter_Plugin_Sensor_Contact)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,230 @@
/* Solidification of Matter_Plugin_3_Sensor_Flow.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: value_changed
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Flow_value_changed, /* 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_Plugin_Sensor_Flow, /* shared constants */
be_str_weak(value_changed),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x540E0403, // 0001 LDINT R3 1028
0x58100001, // 0002 LDCONST R4 K1
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Flow_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_Flow, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
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
0x1C1C0D01, // 0007 EQ R7 R6 K1
0x781E0007, // 0008 JMPF R7 #0011
0x8C1C0706, // 0009 GETMET R7 R3 K6
0x88240907, // 000A GETMBR R9 R4 K7
0x60280009, // 000B GETGBL R10 G9
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
0x1C1C0D09, // 0011 EQ R7 R6 K9
0x781E0005, // 0012 JMPF R7 #0019
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
0x1C1C0D0B, // 0019 EQ R7 R6 K11
0x781E0004, // 001A JMPF R7 #0020
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
0x8C1C0F0C, // 0023 GETMET R7 R7 K12
0x5C240200, // 0024 MOVE R9 R1
0x5C280400, // 0025 MOVE R10 R2
0x5C2C0600, // 0026 MOVE R11 R3
0x7C1C0800, // 0027 CALL R7 4
0x80040E00, // 0028 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: pre_value
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Flow_pre_value, /* name */
be_nested_proto(
4, /* 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_Sensor_Flow, /* shared constants */
be_str_weak(pre_value),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x20080202, // 0001 NE R2 R1 R2
0x780A0004, // 0002 JMPF R2 #0008
0x60080009, // 0003 GETGBL R2 G9
0x540E0009, // 0004 LDINT R3 10
0x080C0203, // 0005 MUL R3 R1 R3
0x7C080200, // 0006 CALL R2 1
0x70020000, // 0007 JMP #0009
0x4C080000, // 0008 LDNIL R2
0x80040400, // 0009 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Flow_web_values, /* name */
be_nested_proto(
8, /* 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_Sensor_Flow, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0xA4061A00, // 0000 IMPORT R1 K13
0x8C08010E, // 0001 GETMET R2 R0 K14
0x7C080200, // 0002 CALL R2 1
0x8C08030F, // 0003 GETMET R2 R1 K15
0x60100018, // 0004 GETGBL R4 G24
0x58140010, // 0005 LDCONST R5 K16
0x60180009, // 0006 GETGBL R6 G9
0x881C0108, // 0007 GETMBR R7 R0 K8
0x7C180200, // 0008 CALL R6 1
0x7C100400, // 0009 CALL R4 2
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_Flow
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor;
be_local_class(Matter_Plugin_Sensor_Flow,
0,
&be_class_Matter_Plugin_Sensor,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(774, -1), be_const_int(1) },
})) ) } )) },
{ be_const_key_weak(value_changed, 8), be_const_closure(class_Matter_Plugin_Sensor_Flow_value_changed_closure) },
{ be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Sensor_Flow_read_attribute_closure) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Flow),
})) ) } )) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(1028, -1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Flow) },
{ be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Flow_pre_value_closure) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Flow_web_values_closure) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Flow) },
{ be_const_key_weak(TYPE, 3), be_nested_str_weak(flow) },
})),
be_str_weak(Matter_Plugin_Sensor_Flow)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,238 @@
/* Solidification of Matter_Plugin_3_Sensor_Humidity.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: value_changed
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Humidity_value_changed, /* 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_Plugin_Sensor_Humidity, /* shared constants */
be_str_weak(value_changed),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x540E0404, // 0001 LDINT R3 1029
0x58100001, // 0002 LDCONST R4 K1
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Humidity_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_Humidity, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
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
0x1C1C0D01, // 0007 EQ R7 R6 K1
0x781E0007, // 0008 JMPF R7 #0011
0x8C1C0706, // 0009 GETMET R7 R3 K6
0x88240907, // 000A GETMBR R9 R4 K7
0x60280009, // 000B GETGBL R10 G9
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
0x1C1C0D09, // 0011 EQ R7 R6 K9
0x781E0005, // 0012 JMPF R7 #0019
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
0x1C1C0D0B, // 0019 EQ R7 R6 K11
0x781E0004, // 001A JMPF R7 #0020
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
0x8C1C0F0C, // 0023 GETMET R7 R7 K12
0x5C240200, // 0024 MOVE R9 R1
0x5C280400, // 0025 MOVE R10 R2
0x5C2C0600, // 0026 MOVE R11 R3
0x7C1C0800, // 0027 CALL R7 4
0x80040E00, // 0028 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: pre_value
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Humidity_pre_value, /* name */
be_nested_proto(
4, /* 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_Sensor_Humidity, /* shared constants */
be_str_weak(pre_value),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x20080202, // 0001 NE R2 R1 R2
0x780A0004, // 0002 JMPF R2 #0008
0x60080009, // 0003 GETGBL R2 G9
0x540E0063, // 0004 LDINT R3 100
0x080C0203, // 0005 MUL R3 R1 R3
0x7C080200, // 0006 CALL R2 1
0x70020000, // 0007 JMP #0009
0x4C080000, // 0008 LDNIL R2
0x80040400, // 0009 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Humidity_web_values, /* name */
be_nested_proto(
8, /* 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_Sensor_Humidity, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0xA4061A00, // 0000 IMPORT R1 K13
0x8C08010E, // 0001 GETMET R2 R0 K14
0x7C080200, // 0002 CALL R2 1
0x8C08030F, // 0003 GETMET R2 R1 K15
0x60100018, // 0004 GETGBL R4 G24
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
0x881C0108, // 000B GETMBR R7 R0 K8
0x7C180200, // 000C CALL R6 1
0x541E0063, // 000D LDINT R7 100
0x0C180C07, // 000E DIV R6 R6 R7
0x70020000, // 000F JMP #0011
0x4C180000, // 0010 LDNIL R6
0x7C100400, // 0011 CALL R4 2
0x7C080400, // 0012 CALL R2 2
0x80000000, // 0013 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_Humidity
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor;
be_local_class(Matter_Plugin_Sensor_Humidity,
0,
&be_class_Matter_Plugin_Sensor,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(775, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(value_changed, 8), be_const_closure(class_Matter_Plugin_Sensor_Humidity_value_changed_closure) },
{ be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Sensor_Humidity_read_attribute_closure) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Humidity),
})) ) } )) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, 1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(1029, 2), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Humidity) },
{ be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Humidity_pre_value_closure) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Humidity_web_values_closure) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Humidity) },
{ be_const_key_weak(TYPE, 3), be_nested_str_weak(humidity) },
})),
be_str_weak(Matter_Plugin_Sensor_Humidity)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,239 @@
/* Solidification of Matter_Plugin_3_Sensor_Illuminance.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Illuminance' ktab size: 19, total: 23 (saved 32 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Illuminance[19] = {
/* 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_nested_str_weak(log10),
/* K15 */ be_nested_str_weak(webserver),
/* K16 */ be_nested_str_weak(web_values_prefix),
/* K17 */ be_nested_str_weak(content_send),
/* K18 */ be_nested_str_weak(_X26_X23128261_X3B_X20_X25i_X20lux),
};
extern const bclass be_class_Matter_Plugin_Sensor_Illuminance;
/********************************************************************
** Solidified function: value_changed
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Illuminance_value_changed, /* 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_Plugin_Sensor_Illuminance, /* shared constants */
be_str_weak(value_changed),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x540E03FF, // 0001 LDINT R3 1024
0x58100001, // 0002 LDCONST R4 K1
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Illuminance_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_Illuminance, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
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
0x1C1C0D01, // 0007 EQ R7 R6 K1
0x781E0007, // 0008 JMPF R7 #0011
0x8C1C0706, // 0009 GETMET R7 R3 K6
0x88240907, // 000A GETMBR R9 R4 K7
0x60280009, // 000B GETGBL R10 G9
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
0x1C1C0D09, // 0011 EQ R7 R6 K9
0x781E0005, // 0012 JMPF R7 #0019
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
0x1C1C0D0B, // 0019 EQ R7 R6 K11
0x781E0004, // 001A JMPF R7 #0020
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
0x8C1C0F0C, // 0023 GETMET R7 R7 K12
0x5C240200, // 0024 MOVE R9 R1
0x5C280400, // 0025 MOVE R10 R2
0x5C2C0600, // 0026 MOVE R11 R3
0x7C1C0800, // 0027 CALL R7 4
0x80040E00, // 0028 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: pre_value
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Illuminance_pre_value, /* name */
be_nested_proto(
6, /* 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_Sensor_Illuminance, /* shared constants */
be_str_weak(pre_value),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x1C080202, // 0001 EQ R2 R1 R2
0x780A0001, // 0002 JMPF R2 #0005
0x4C080000, // 0003 LDNIL R2
0x80040400, // 0004 RET 1 R2
0xA40A1A00, // 0005 IMPORT R2 K13
0x140C0301, // 0006 LT R3 R1 K1
0x780E0001, // 0007 JMPF R3 #000A
0x80060200, // 0008 RET 1 K1
0x70020005, // 0009 JMP #0010
0x8C0C050E, // 000A GETMET R3 R2 K14
0x00140309, // 000B ADD R5 R1 K9
0x7C0C0400, // 000C CALL R3 2
0x5412270F, // 000D LDINT R4 10000
0x080C0604, // 000E MUL R3 R3 R4
0x80040600, // 000F RET 1 R3
0x80000000, // 0010 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Illuminance_web_values, /* name */
be_nested_proto(
8, /* 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_Sensor_Illuminance, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0xA4061E00, // 0000 IMPORT R1 K15
0x8C080110, // 0001 GETMET R2 R0 K16
0x7C080200, // 0002 CALL R2 1
0x8C080311, // 0003 GETMET R2 R1 K17
0x60100018, // 0004 GETGBL R4 G24
0x58140012, // 0005 LDCONST R5 K18
0x60180009, // 0006 GETGBL R6 G9
0x881C0108, // 0007 GETMBR R7 R0 K8
0x7C180200, // 0008 CALL R6 1
0x7C100400, // 0009 CALL R4 2
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_Illuminance
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor;
be_local_class(Matter_Plugin_Sensor_Illuminance,
0,
&be_class_Matter_Plugin_Sensor,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(262, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(value_changed, 8), be_const_closure(class_Matter_Plugin_Sensor_Illuminance_value_changed_closure) },
{ be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Sensor_Illuminance_read_attribute_closure) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Illuminance),
})) ) } )) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(1024, 1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Illuminance) },
{ be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Illuminance_pre_value_closure) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Illuminance_web_values_closure) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Illuminance) },
{ be_const_key_weak(TYPE, 3), be_nested_str_weak(illuminance) },
})),
be_str_weak(Matter_Plugin_Sensor_Illuminance)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,249 @@
/* Solidification of Matter_Plugin_3_Sensor_Occupancy.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Occupancy' ktab size: 25, total: 30 (saved 40 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Occupancy[25] = {
/* 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),
/* 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(Occupancy_X25i_X20_X25s),
/* K17 */ be_nested_str_weak(web_value_onoff),
/* K18 */ be_nested_str_weak(shadow_occupancy),
/* K19 */ be_nested_str_weak(get_name),
/* K20 */ be_nested_str_weak(Switch),
/* K21 */ be_nested_str_weak(PREFIX),
/* K22 */ be_nested_str_weak(html_escape),
/* K23 */ be_nested_str_weak(),
/* K24 */ be_nested_str_weak(attribute_updated),
};
extern const bclass be_class_Matter_Plugin_Sensor_Occupancy;
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Occupancy_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_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
0x541E0405, // 0004 LDINT R7 1030
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0016, // 0006 JMPF R7 #001E
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x781E0005, // 0008 JMPF R7 #000F
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x88280107, // 000B GETMBR R10 R0 K7
0x7C1C0600, // 000C CALL R7 3
0x80040E00, // 000D RET 1 R7
0x7002000E, // 000E JMP #001E
0x1C1C0D08, // 000F EQ R7 R6 K8
0x781E0005, // 0010 JMPF R7 #0017
0x8C1C0709, // 0011 GETMET R7 R3 K9
0x88240906, // 0012 GETMBR R9 R4 K6
0x5828000A, // 0013 LDCONST R10 K10
0x7C1C0600, // 0014 CALL R7 3
0x80040E00, // 0015 RET 1 R7
0x70020006, // 0016 JMP #001E
0x1C1C0D0B, // 0017 EQ R7 R6 K11
0x781E0004, // 0018 JMPF R7 #001E
0x8C1C0709, // 0019 GETMET R7 R3 K9
0x88240906, // 001A GETMBR R9 R4 K6
0x58280004, // 001B LDCONST R10 K4
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
0x5C240200, // 0022 MOVE R9 R1
0x5C280400, // 0023 MOVE R10 R2
0x5C2C0600, // 0024 MOVE R11 R3
0x7C1C0800, // 0025 CALL R7 4
0x80040E00, // 0026 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Occupancy_web_values, /* name */
be_nested_proto(
10, /* 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_Sensor_Occupancy, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA4061A00, // 0000 IMPORT R1 K13
0x8C08010E, // 0001 GETMET R2 R0 K14
0x7C080200, // 0002 CALL R2 1
0x8C08030F, // 0003 GETMET R2 R1 K15
0x60100018, // 0004 GETGBL R4 G24
0x58140010, // 0005 LDCONST R5 K16
0x88180107, // 0006 GETMBR R6 R0 K7
0x8C1C0111, // 0007 GETMET R7 R0 K17
0x88240112, // 0008 GETMBR R9 R0 K18
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values_prefix
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Occupancy_web_values_prefix, /* name */
be_nested_proto(
10, /* 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_Sensor_Occupancy, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xA4061A00, // 0000 IMPORT R1 K13
0x8C080113, // 0001 GETMET R2 R0 K19
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x88100107, // 0006 GETMBR R4 R0 K7
0x7C0C0200, // 0007 CALL R3 1
0x000E2803, // 0008 ADD R3 K20 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C030F, // 000A GETMET R3 R1 K15
0x60140018, // 000B GETGBL R5 G24
0x88180115, // 000C GETMBR R6 R0 K21
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0316, // 000E GETMET R7 R1 K22
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0017, // 0012 LDCONST R7 K23
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: value_updated
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Occupancy_value_updated, /* 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_Plugin_Sensor_Occupancy, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040118, // 0000 GETMET R1 R0 K24
0x540E0405, // 0001 LDINT R3 1030
0x58100004, // 0002 LDCONST R4 K4
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_Occupancy
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Boolean;
be_local_class(Matter_Plugin_Sensor_Occupancy,
0,
&be_class_Matter_Plugin_Sensor_Boolean,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(263, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Occupancy) },
{ be_const_key_weak(read_attribute, 6), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_read_attribute_closure) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Occupancy),
})) ) } )) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(1030, 1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Occupancy) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_web_values_closure) },
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_web_values_prefix_closure) },
{ be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_value_updated_closure) },
{ be_const_key_weak(TYPE, 3), be_nested_str_weak(occupancy) },
})),
be_str_weak(Matter_Plugin_Sensor_Occupancy)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,170 @@
/* Solidification of Matter_Plugin_3_Sensor_OnOff.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// 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(_X2C_X22OnOff_X22_X3A_X25s),
/* K1 */ be_nested_str_weak(shadow_bool_value),
/* 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(update_shadow_lazy),
/* K7 */ be_const_int(0),
/* K8 */ be_nested_str_weak(set),
/* K9 */ be_nested_str_weak(BOOL),
/* K10 */ be_nested_str_weak(read_attribute),
/* K11 */ be_nested_str_weak(attribute_updated),
};
extern const bclass be_class_Matter_Plugin_Sensor_OnOff;
/********************************************************************
** Solidified function: append_state_json
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_OnOff_append_state_json, /* 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_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
0x600C0009, // 0002 GETGBL R3 G9
0x88100101, // 0003 GETMBR R4 R0 K1
0x7C0C0200, // 0004 CALL R3 1
0x7C040400, // 0005 CALL R1 2
0x80040200, // 0006 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** 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 */
0xB8120400, // 0000 GETNGBL R4 K2
0x88100903, // 0001 GETMBR R4 R4 K3
0x88140504, // 0002 GETMBR R5 R2 K4
0x88180505, // 0003 GETMBR R6 R2 K5
0x541E0005, // 0004 LDINT R7 6
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0008, // 0006 JMPF R7 #0010
0x8C1C0106, // 0007 GETMET R7 R0 K6
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D07, // 0009 EQ R7 R6 K7
0x781E0004, // 000A JMPF R7 #0010
0x8C1C0708, // 000B GETMET R7 R3 K8
0x88240909, // 000C GETMBR R9 R4 K9
0x88280101, // 000D GETMBR R10 R0 K1
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
0x8C1C0F0A, // 0013 GETMET R7 R7 K10
0x5C240200, // 0014 MOVE R9 R1
0x5C280400, // 0015 MOVE R10 R2
0x5C2C0600, // 0016 MOVE R11 R3
0x7C1C0800, // 0017 CALL R7 4
0x80040E00, // 0018 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: value_updated
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_OnOff_value_updated, /* 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_Plugin_Sensor_OnOff, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C04010B, // 0000 GETMET R1 R0 K11
0x540E0005, // 0001 LDINT R3 6
0x58100007, // 0002 LDCONST R4 K7
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_OnOff
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Boolean;
be_local_class(Matter_Plugin_Sensor_OnOff,
0,
&be_class_Matter_Plugin_Sensor_Boolean,
be_nested_map(9,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(OnOff_X20Sensor) },
{ be_const_key_weak(append_state_json, 7), be_const_closure(class_Matter_Plugin_Sensor_OnOff_append_state_json_closure) },
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(2128, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(OnOff),
})) ) } )) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(6, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(OnOff) },
{ be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Sensor_OnOff_read_attribute_closure) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(onoff) },
{ be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_OnOff_value_updated_closure) },
})),
be_str_weak(Matter_Plugin_Sensor_OnOff)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,229 @@
/* Solidification of Matter_Plugin_3_Sensor_Pressure.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: value_changed
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Pressure_value_changed, /* 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_Plugin_Sensor_Pressure, /* shared constants */
be_str_weak(value_changed),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x540E0402, // 0001 LDINT R3 1027
0x58100001, // 0002 LDCONST R4 K1
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Pressure_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_Pressure, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
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
0x1C1C0D01, // 0007 EQ R7 R6 K1
0x781E0007, // 0008 JMPF R7 #0011
0x8C1C0706, // 0009 GETMET R7 R3 K6
0x88240907, // 000A GETMBR R9 R4 K7
0x60280009, // 000B GETGBL R10 G9
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
0x1C1C0D09, // 0011 EQ R7 R6 K9
0x781E0005, // 0012 JMPF R7 #0019
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
0x1C1C0D0B, // 0019 EQ R7 R6 K11
0x781E0004, // 001A JMPF R7 #0020
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
0x8C1C0F0C, // 0023 GETMET R7 R7 K12
0x5C240200, // 0024 MOVE R9 R1
0x5C280400, // 0025 MOVE R10 R2
0x5C2C0600, // 0026 MOVE R11 R3
0x7C1C0800, // 0027 CALL R7 4
0x80040E00, // 0028 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: pre_value
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Pressure_pre_value, /* name */
be_nested_proto(
4, /* 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_Sensor_Pressure, /* shared constants */
be_str_weak(pre_value),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x20080202, // 0001 NE R2 R1 R2
0x780A0003, // 0002 JMPF R2 #0007
0x60080009, // 0003 GETGBL R2 G9
0x5C0C0200, // 0004 MOVE R3 R1
0x7C080200, // 0005 CALL R2 1
0x70020000, // 0006 JMP #0008
0x4C080000, // 0007 LDNIL R2
0x80040400, // 0008 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Pressure_web_values, /* name */
be_nested_proto(
8, /* 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_Sensor_Pressure, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0xA4061A00, // 0000 IMPORT R1 K13
0x8C08010E, // 0001 GETMET R2 R0 K14
0x7C080200, // 0002 CALL R2 1
0x8C08030F, // 0003 GETMET R2 R1 K15
0x60100018, // 0004 GETGBL R4 G24
0x58140010, // 0005 LDCONST R5 K16
0x60180009, // 0006 GETGBL R6 G9
0x881C0108, // 0007 GETMBR R7 R0 K8
0x7C180200, // 0008 CALL R6 1
0x7C100400, // 0009 CALL R4 2
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_Pressure
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor;
be_local_class(Matter_Plugin_Sensor_Pressure,
0,
&be_class_Matter_Plugin_Sensor,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(773, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(value_changed, 8), be_const_closure(class_Matter_Plugin_Sensor_Pressure_value_changed_closure) },
{ be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Sensor_Pressure_read_attribute_closure) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Pressure),
})) ) } )) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(1027, -1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Pressure) },
{ be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Pressure_pre_value_closure) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Pressure_web_values_closure) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Pressure) },
{ be_const_key_weak(TYPE, 3), be_nested_str_weak(pressure) },
})),
be_str_weak(Matter_Plugin_Sensor_Pressure)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,229 @@
/* Solidification of Matter_Plugin_3_Sensor_Rain.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Rain' ktab size: 21, total: 26 (saved 40 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Rain[21] = {
/* 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),
/* K9 */ be_nested_str_weak(webserver),
/* K10 */ be_nested_str_weak(web_values_prefix),
/* K11 */ be_nested_str_weak(content_send),
/* K12 */ be_nested_str_weak(Rain_X25i_X20_X25s),
/* K13 */ be_nested_str_weak(tasmota_switch_index),
/* K14 */ be_nested_str_weak(web_value_onoff),
/* K15 */ be_nested_str_weak(get_name),
/* K16 */ be_nested_str_weak(Switch),
/* K17 */ be_nested_str_weak(PREFIX),
/* K18 */ be_nested_str_weak(html_escape),
/* K19 */ be_nested_str_weak(),
/* K20 */ be_nested_str_weak(attribute_updated),
};
extern const bclass be_class_Matter_Plugin_Sensor_Rain;
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Rain_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_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
0x541E0044, // 0004 LDINT R7 69
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0006, // 0006 JMPF R7 #000E
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x781E0004, // 0008 JMPF R7 #000E
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x88280107, // 000B GETMBR R10 R0 K7
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
0x5C240200, // 0012 MOVE R9 R1
0x5C280400, // 0013 MOVE R10 R2
0x5C2C0600, // 0014 MOVE R11 R3
0x7C1C0800, // 0015 CALL R7 4
0x80040E00, // 0016 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Rain_web_values, /* name */
be_nested_proto(
10, /* 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_Sensor_Rain, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA4061200, // 0000 IMPORT R1 K9
0x8C08010A, // 0001 GETMET R2 R0 K10
0x7C080200, // 0002 CALL R2 1
0x8C08030B, // 0003 GETMET R2 R1 K11
0x60100018, // 0004 GETGBL R4 G24
0x5814000C, // 0005 LDCONST R5 K12
0x8818010D, // 0006 GETMBR R6 R0 K13
0x8C1C010E, // 0007 GETMET R7 R0 K14
0x88240107, // 0008 GETMBR R9 R0 K7
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values_prefix
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Rain_web_values_prefix, /* name */
be_nested_proto(
10, /* 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_Sensor_Rain, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xA4061200, // 0000 IMPORT R1 K9
0x8C08010F, // 0001 GETMET R2 R0 K15
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x8810010D, // 0006 GETMBR R4 R0 K13
0x7C0C0200, // 0007 CALL R3 1
0x000E2003, // 0008 ADD R3 K16 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C030B, // 000A GETMET R3 R1 K11
0x60140018, // 000B GETGBL R5 G24
0x88180111, // 000C GETMBR R6 R0 K17
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0312, // 000E GETMET R7 R1 K18
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0013, // 0012 LDCONST R7 K19
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: value_updated
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Rain_value_updated, /* 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_Plugin_Sensor_Rain, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040114, // 0000 GETMET R1 R0 K20
0x540E0044, // 0001 LDINT R3 69
0x58100004, // 0002 LDCONST R4 K4
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_Rain
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Boolean;
be_local_class(Matter_Plugin_Sensor_Rain,
0,
&be_class_Matter_Plugin_Sensor_Boolean,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(68, -1), be_const_int(1) },
})) ) } )) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Rain) },
{ be_const_key_weak(read_attribute, 6), be_const_closure(class_Matter_Plugin_Sensor_Rain_read_attribute_closure) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Rain),
})) ) } )) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, 1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(69, 2), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Rain) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Rain_web_values_closure) },
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Sensor_Rain_web_values_prefix_closure) },
{ be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_Rain_value_updated_closure) },
{ be_const_key_weak(TYPE, 3), be_nested_str_weak(rain) },
})),
be_str_weak(Matter_Plugin_Sensor_Rain)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,274 @@
/* Solidification of Matter_Plugin_3_Sensor_Temp.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: value_changed
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Temp_value_changed, /* 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_Plugin_Sensor_Temp, /* shared constants */
be_str_weak(value_changed),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x540E0401, // 0001 LDINT R3 1026
0x58100001, // 0002 LDCONST R4 K1
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Temp_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_Temp, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[39]) { /* code */
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
0x1C1C0D01, // 0007 EQ R7 R6 K1
0x781E0005, // 0008 JMPF R7 #000F
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
0x1C1C0D09, // 000F EQ R7 R6 K9
0x781E0005, // 0010 JMPF R7 #0017
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
0x1C1C0D0B, // 0017 EQ R7 R6 K11
0x781E0004, // 0018 JMPF R7 #001E
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
0x8C1C0F0C, // 0021 GETMET R7 R7 K12
0x5C240200, // 0022 MOVE R9 R1
0x5C280400, // 0023 MOVE R10 R2
0x5C2C0600, // 0024 MOVE R11 R3
0x7C1C0800, // 0025 CALL R7 4
0x80040E00, // 0026 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: pre_value
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Temp_pre_value, /* name */
be_nested_proto(
5, /* 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_Sensor_Temp, /* shared constants */
be_str_weak(pre_value),
&be_const_str_solidified,
( &(const binstruction[42]) { /* code */
0x8808010D, // 0000 GETMBR R2 R0 K13
0x780A0012, // 0001 JMPF R2 #0015
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
0x0C080510, // 0008 DIV R2 R2 K16
0x5C040400, // 0009 MOVE R1 R2
0x4C080000, // 000A LDNIL R2
0x20080202, // 000B NE R2 R1 R2
0x780A0004, // 000C JMPF R2 #0012
0x60080009, // 000D GETGBL R2 G9
0x540E0063, // 000E LDINT R3 100
0x080C0203, // 000F MUL R3 R1 R3
0x7C080200, // 0010 CALL R2 1
0x70020000, // 0011 JMP #0013
0x4C080000, // 0012 LDNIL R2
0x80040400, // 0013 RET 1 R2
0x70020013, // 0014 JMP #0029
0xB80A2200, // 0015 GETNGBL R2 K17
0x8C080512, // 0016 GETMET R2 R2 K18
0x54120007, // 0017 LDINT R4 8
0x7C080400, // 0018 CALL R2 2
0x1C080509, // 0019 EQ R2 R2 K9
0x780A0003, // 001A JMPF R2 #001F
0x540A001F, // 001B LDINT R2 32
0x04080202, // 001C SUB R2 R1 R2
0x0C080510, // 001D DIV R2 R2 K16
0x5C040400, // 001E MOVE R1 R2
0x4C080000, // 001F LDNIL R2
0x20080202, // 0020 NE R2 R1 R2
0x780A0004, // 0021 JMPF R2 #0027
0x60080009, // 0022 GETGBL R2 G9
0x540E0063, // 0023 LDINT R3 100
0x080C0203, // 0024 MUL R3 R1 R3
0x7C080200, // 0025 CALL R2 1
0x70020000, // 0026 JMP #0028
0x4C080000, // 0027 LDNIL R2
0x80040400, // 0028 RET 1 R2
0x80000000, // 0029 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Temp_web_values, /* name */
be_nested_proto(
8, /* 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_Sensor_Temp, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0xA4062600, // 0000 IMPORT R1 K19
0x8C080114, // 0001 GETMET R2 R0 K20
0x7C080200, // 0002 CALL R2 1
0x8C080315, // 0003 GETMET R2 R1 K21
0x60100018, // 0004 GETGBL R4 G24
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
0x881C0108, // 000B GETMBR R7 R0 K8
0x7C180200, // 000C CALL R6 1
0x541E0063, // 000D LDINT R7 100
0x0C180C07, // 000E DIV R6 R6 R7
0x70020000, // 000F JMP #0011
0x4C180000, // 0010 LDNIL R6
0x7C100400, // 0011 CALL R4 2
0x7C080400, // 0012 CALL R2 2
0x80000000, // 0013 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_Temp
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor;
be_local_class(Matter_Plugin_Sensor_Temp,
0,
&be_class_Matter_Plugin_Sensor,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(770, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(value_changed, 8), be_const_closure(class_Matter_Plugin_Sensor_Temp_value_changed_closure) },
{ be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Sensor_Temp_read_attribute_closure) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Temperature),
})) ) } )) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(1026, -1), be_const_bytes_instance(000000010002FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Temperature) },
{ be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Temp_pre_value_closure) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Temp_web_values_closure) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Temperature) },
{ be_const_key_weak(TYPE, 3), be_nested_str_weak(temperature) },
})),
be_str_weak(Matter_Plugin_Sensor_Temp)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,229 @@
/* Solidification of Matter_Plugin_3_Sensor_Waterleak.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Sensor_Waterleak' ktab size: 21, total: 26 (saved 40 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Sensor_Waterleak[21] = {
/* 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),
/* K9 */ be_nested_str_weak(webserver),
/* K10 */ be_nested_str_weak(web_values_prefix),
/* K11 */ be_nested_str_weak(content_send),
/* K12 */ be_nested_str_weak(Waterleak_X25i_X20_X25s),
/* K13 */ be_nested_str_weak(tasmota_switch_index),
/* K14 */ be_nested_str_weak(web_value_onoff),
/* K15 */ be_nested_str_weak(get_name),
/* K16 */ be_nested_str_weak(Switch),
/* K17 */ be_nested_str_weak(PREFIX),
/* K18 */ be_nested_str_weak(html_escape),
/* K19 */ be_nested_str_weak(),
/* K20 */ be_nested_str_weak(attribute_updated),
};
extern const bclass be_class_Matter_Plugin_Sensor_Waterleak;
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Waterleak_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_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
0x541E0044, // 0004 LDINT R7 69
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0006, // 0006 JMPF R7 #000E
0x1C1C0D04, // 0007 EQ R7 R6 K4
0x781E0004, // 0008 JMPF R7 #000E
0x8C1C0705, // 0009 GETMET R7 R3 K5
0x88240906, // 000A GETMBR R9 R4 K6
0x88280107, // 000B GETMBR R10 R0 K7
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
0x5C240200, // 0012 MOVE R9 R1
0x5C280400, // 0013 MOVE R10 R2
0x5C2C0600, // 0014 MOVE R11 R3
0x7C1C0800, // 0015 CALL R7 4
0x80040E00, // 0016 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Waterleak_web_values, /* name */
be_nested_proto(
10, /* 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_Sensor_Waterleak, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA4061200, // 0000 IMPORT R1 K9
0x8C08010A, // 0001 GETMET R2 R0 K10
0x7C080200, // 0002 CALL R2 1
0x8C08030B, // 0003 GETMET R2 R1 K11
0x60100018, // 0004 GETGBL R4 G24
0x5814000C, // 0005 LDCONST R5 K12
0x8818010D, // 0006 GETMBR R6 R0 K13
0x8C1C010E, // 0007 GETMET R7 R0 K14
0x88240107, // 0008 GETMBR R9 R0 K7
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values_prefix
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Waterleak_web_values_prefix, /* name */
be_nested_proto(
10, /* 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_Sensor_Waterleak, /* shared constants */
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0xA4061200, // 0000 IMPORT R1 K9
0x8C08010F, // 0001 GETMET R2 R0 K15
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x8810010D, // 0006 GETMBR R4 R0 K13
0x7C0C0200, // 0007 CALL R3 1
0x000E2003, // 0008 ADD R3 K16 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C030B, // 000A GETMET R3 R1 K11
0x60140018, // 000B GETGBL R5 G24
0x88180111, // 000C GETMBR R6 R0 K17
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0312, // 000E GETMET R7 R1 K18
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0013, // 0012 LDCONST R7 K19
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: value_updated
********************************************************************/
be_local_closure(class_Matter_Plugin_Sensor_Waterleak_value_updated, /* 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_Plugin_Sensor_Waterleak, /* shared constants */
be_str_weak(value_updated),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040114, // 0000 GETMET R1 R0 K20
0x540E0044, // 0001 LDINT R3 69
0x58100004, // 0002 LDCONST R4 K4
0x7C040600, // 0003 CALL R1 3
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Sensor_Waterleak
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Boolean;
be_local_class(Matter_Plugin_Sensor_Waterleak,
0,
&be_class_Matter_Plugin_Sensor_Boolean,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(67, -1), be_const_int(1) },
})) ) } )) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Waterleak) },
{ be_const_key_weak(read_attribute, 6), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_read_attribute_closure) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Waterleak),
})) ) } )) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, 1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(69, 2), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 0), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Waterleak) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_web_values_closure) },
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_web_values_prefix_closure) },
{ be_const_key_weak(value_updated, -1), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_value_updated_closure) },
{ be_const_key_weak(TYPE, 3), be_nested_str_weak(waterleak) },
})),
be_str_weak(Matter_Plugin_Sensor_Waterleak)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,435 @@
/* Solidification of Matter_Plugin_3_ShutterTilt.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_ShutterTilt' ktab size: 42, total: 65 (saved 184 bytes)
static const bvalue be_ktab_class_Matter_Plugin_ShutterTilt[42] = {
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(cmd),
/* K2 */ be_nested_str_weak(Status_X2013),
/* K3 */ be_nested_str_weak(contains),
/* K4 */ be_nested_str_weak(StatusSHT),
/* K5 */ be_nested_str_weak(find),
/* K6 */ be_nested_str_weak(SHT),
/* K7 */ be_nested_str_weak(tasmota_shutter_index),
/* K8 */ be_nested_str_weak(TiltConfig),
/* K9 */ be_nested_str_weak(tilt_min),
/* 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_nested_str_weak(update_tilt_min_max),
/* K21 */ be_nested_str_weak(scale_uint),
/* K22 */ be_nested_str_weak(shadow_shutter_tilt),
/* K23 */ be_nested_str_weak(U2),
/* K24 */ be_nested_str_weak(NULL),
/* K25 */ be_nested_str_weak(U4),
/* K26 */ be_const_int(3),
/* K27 */ be_nested_str_weak(read_attribute),
/* K28 */ be_nested_str_weak(Shutter),
/* K29 */ be_nested_str_weak(Tilt),
/* K30 */ be_nested_str_weak(attribute_updated),
/* K31 */ be_nested_str_weak(parse_sensors),
/* K32 */ be_nested_str_weak(light),
/* K33 */ be_nested_str_weak(command),
/* K34 */ be_nested_str_weak(findsubval),
/* K35 */ be_nested_str_weak(ShutterTilt),
/* K36 */ be_nested_str_weak(_X20),
/* K37 */ be_nested_str_weak(update_shadow),
/* K38 */ be_nested_str_weak(log),
/* K39 */ be_nested_str_weak(tilt_X25_X3A),
/* K40 */ be_nested_str_weak(tilt_X25_X28no_tilt_support_X29_X3A),
/* K41 */ 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 */
0xB8060000, // 0000 GETNGBL R1 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x580C0002, // 0002 LDCONST R3 K2
0x50100200, // 0003 LDBOOL R4 1 0
0x7C040600, // 0004 CALL R1 3
0x8C080303, // 0005 GETMET R2 R1 K3
0x58100004, // 0006 LDCONST R4 K4
0x7C080400, // 0007 CALL R2 2
0x780A0016, // 0008 JMPF R2 #0020
0x94040304, // 0009 GETIDX R1 R1 K4
0x8C080305, // 000A GETMET R2 R1 K5
0x60100008, // 000B GETGBL R4 G8
0x88140107, // 000C GETMBR R5 R0 K7
0x7C100200, // 000D CALL R4 1
0x00120C04, // 000E ADD R4 K6 R4
0x60140013, // 000F GETGBL R5 G19
0x7C140000, // 0010 CALL R5 0
0x7C080600, // 0011 CALL R2 3
0x8C080505, // 0012 GETMET R2 R2 K5
0x58100008, // 0013 LDCONST R4 K8
0x7C080400, // 0014 CALL R2 2
0x4C0C0000, // 0015 LDNIL R3
0x200C0403, // 0016 NE R3 R2 R3
0x780E0007, // 0017 JMPF R3 #0020
0x600C0009, // 0018 GETGBL R3 G9
0x9410050A, // 0019 GETIDX R4 R2 K10
0x7C0C0200, // 001A CALL R3 1
0x90021203, // 001B SETMBR R0 K9 R3
0x600C0009, // 001C GETGBL R3 G9
0x9410050C, // 001D GETIDX R4 R2 K12
0x7C0C0200, // 001E CALL R3 1
0x90021603, // 001F SETMBR R0 K11 R3
0x80000000, // 0020 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_ShutterTilt_read_attribute, /* name */
be_nested_proto(
14, /* 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_ShutterTilt, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[113]) { /* code */
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
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
0x8C1C0712, // 000C GETMET R7 R3 K18
0x88240913, // 000D GETMBR R9 R4 K19
0x542A0007, // 000E LDINT R10 8
0x002A180A, // 000F ADD R10 K12 R10
0x542E000F, // 0010 LDINT R11 16
0x0028140B, // 0011 ADD R10 R10 R11
0x7C1C0600, // 0012 CALL R7 3
0x80040E00, // 0013 RET 1 R7
0x70020052, // 0014 JMP #0068
0x541E000E, // 0015 LDINT R7 15
0x1C1C0C07, // 0016 EQ R7 R6 R7
0x781E0021, // 0017 JMPF R7 #003A
0x8C1C0114, // 0018 GETMET R7 R0 K20
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
0x881C010B, // 001E GETMBR R7 R0 K11
0x4C200000, // 001F LDNIL R8
0x201C0E08, // 0020 NE R7 R7 R8
0x781E0011, // 0021 JMPF R7 #0034
0xB81E0000, // 0022 GETNGBL R7 K0
0x8C1C0F15, // 0023 GETMET R7 R7 K21
0x88240116, // 0024 GETMBR R9 R0 K22
0x88280109, // 0025 GETMBR R10 R0 K9
0x0424120A, // 0026 SUB R9 R9 R10
0x5828000A, // 0027 LDCONST R10 K10
0x882C010B, // 0028 GETMBR R11 R0 K11
0x88300109, // 0029 GETMBR R12 R0 K9
0x042C160C, // 002A SUB R11 R11 R12
0x5830000A, // 002B LDCONST R12 K10
0x5436270F, // 002C LDINT R13 10000
0x7C1C0C00, // 002D CALL R7 6
0x8C200712, // 002E GETMET R8 R3 K18
0x88280917, // 002F GETMBR R10 R4 K23
0x5C2C0E00, // 0030 MOVE R11 R7
0x7C200600, // 0031 CALL R8 3
0x80041000, // 0032 RET 1 R8
0x70020004, // 0033 JMP #0039
0x8C1C0712, // 0034 GETMET R7 R3 K18
0x88240918, // 0035 GETMBR R9 R4 K24
0x4C280000, // 0036 LDNIL R10
0x7C1C0600, // 0037 CALL R7 3
0x80040E00, // 0038 RET 1 R7
0x7002002D, // 0039 JMP #0068
0x541E000B, // 003A LDINT R7 12
0x1C1C0C07, // 003B EQ R7 R6 R7
0x781E001F, // 003C JMPF R7 #005D
0x881C0109, // 003D GETMBR R7 R0 K9
0x4C200000, // 003E LDNIL R8
0x201C0E08, // 003F NE R7 R7 R8
0x781E0015, // 0040 JMPF R7 #0057
0x881C010B, // 0041 GETMBR R7 R0 K11
0x4C200000, // 0042 LDNIL R8
0x201C0E08, // 0043 NE R7 R7 R8
0x781E0011, // 0044 JMPF R7 #0057
0xB81E0000, // 0045 GETNGBL R7 K0
0x8C1C0F15, // 0046 GETMET R7 R7 K21
0x88240116, // 0047 GETMBR R9 R0 K22
0x88280109, // 0048 GETMBR R10 R0 K9
0x0424120A, // 0049 SUB R9 R9 R10
0x5828000A, // 004A LDCONST R10 K10
0x882C010B, // 004B GETMBR R11 R0 K11
0x88300109, // 004C GETMBR R12 R0 K9
0x042C160C, // 004D SUB R11 R11 R12
0x5830000A, // 004E LDCONST R12 K10
0x5436270F, // 004F LDINT R13 10000
0x7C1C0C00, // 0050 CALL R7 6
0x8C200712, // 0051 GETMET R8 R3 K18
0x88280917, // 0052 GETMBR R10 R4 K23
0x5C2C0E00, // 0053 MOVE R11 R7
0x7C200600, // 0054 CALL R8 3
0x80041000, // 0055 RET 1 R8
0x70020004, // 0056 JMP #005C
0x8C1C0712, // 0057 GETMET R7 R3 K18
0x88240918, // 0058 GETMBR R9 R4 K24
0x4C280000, // 0059 LDNIL R10
0x7C1C0600, // 005A CALL R7 3
0x80040E00, // 005B RET 1 R7
0x7002000A, // 005C JMP #0068
0x541EFFFB, // 005D LDINT R7 65532
0x1C1C0C07, // 005E EQ R7 R6 R7
0x781E0007, // 005F JMPF R7 #0068
0x8C1C0712, // 0060 GETMET R7 R3 K18
0x88240919, // 0061 GETMBR R9 R4 K25
0x542A0003, // 0062 LDINT R10 4
0x002A340A, // 0063 ADD R10 K26 R10
0x542E000F, // 0064 LDINT R11 16
0x0028140B, // 0065 ADD R10 R10 R11
0x7C1C0600, // 0066 CALL R7 3
0x80040E00, // 0067 RET 1 R7
0x601C0003, // 0068 GETGBL R7 G3
0x5C200000, // 0069 MOVE R8 R0
0x7C1C0200, // 006A CALL R7 1
0x8C1C0F1B, // 006B GETMET R7 R7 K27
0x5C240200, // 006C MOVE R9 R1
0x5C280400, // 006D MOVE R10 R2
0x5C2C0600, // 006E MOVE R11 R3
0x7C1C0800, // 006F CALL R7 4
0x80040E00, // 0070 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_sensors
********************************************************************/
be_local_closure(class_Matter_Plugin_ShutterTilt_parse_sensors, /* name */
be_nested_proto(
9, /* 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_ShutterTilt, /* shared constants */
be_str_weak(parse_sensors),
&be_const_str_solidified,
( &(const binstruction[31]) { /* code */
0x60080008, // 0000 GETGBL R2 G8
0x880C0107, // 0001 GETMBR R3 R0 K7
0x000C070C, // 0002 ADD R3 R3 K12
0x7C080200, // 0003 CALL R2 1
0x000A3802, // 0004 ADD R2 K28 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
0x8C100705, // 000A GETMET R4 R3 K5
0x5818001D, // 000B LDCONST R6 K29
0x7C100400, // 000C CALL R4 2
0x4C140000, // 000D LDNIL R5
0x20140805, // 000E NE R5 R4 R5
0x78160007, // 000F JMPF R5 #0018
0x88140116, // 0010 GETMBR R5 R0 K22
0x20140805, // 0011 NE R5 R4 R5
0x78160003, // 0012 JMPF R5 #0017
0x8C14011E, // 0013 GETMET R5 R0 K30
0x541E0101, // 0014 LDINT R7 258
0x5422000E, // 0015 LDINT R8 15
0x7C140600, // 0016 CALL R5 3
0x90022C04, // 0017 SETMBR R0 K22 R4
0x600C0003, // 0018 GETGBL R3 G3
0x5C100000, // 0019 MOVE R4 R0
0x7C0C0200, // 001A CALL R3 1
0x8C0C071F, // 001B GETMET R3 R3 K31
0x5C140200, // 001C MOVE R5 R1
0x7C0C0400, // 001D CALL R3 2
0x80000000, // 001E RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: invoke_request
********************************************************************/
be_local_closure(class_Matter_Plugin_ShutterTilt_invoke_request, /* name */
be_nested_proto(
18, /* 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_ShutterTilt, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[79]) { /* code */
0xA4124000, // 0000 IMPORT R4 K32
0xB8161A00, // 0001 GETNGBL R5 K13
0x88140B0E, // 0002 GETMBR R5 R5 K14
0x8818070F, // 0003 GETMBR R6 R3 K15
0x881C0721, // 0004 GETMBR R7 R3 K33
0x54220101, // 0005 LDINT R8 258
0x1C200C08, // 0006 EQ R8 R6 R8
0x7822003D, // 0007 JMPF R8 #0046
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
0x8C200522, // 000D GETMET R8 R2 K34
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
0x8C240114, // 0013 GETMET R9 R0 K20
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
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
0xB82A0000, // 001E GETNGBL R10 K0
0x8C281515, // 001F GETMET R10 R10 K21
0x5C301000, // 0020 MOVE R12 R8
0x5834000A, // 0021 LDCONST R13 K10
0x543A270F, // 0022 LDINT R14 10000
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
0xB82A0000, // 0029 GETNGBL R10 K0
0x8C281501, // 002A GETMET R10 R10 K1
0x60300008, // 002B GETGBL R12 G8
0x88340107, // 002C GETMBR R13 R0 K7
0x00341B0C, // 002D ADD R13 R13 K12
0x7C300200, // 002E CALL R12 1
0x0032460C, // 002F ADD R12 K35 R12
0x00301924, // 0030 ADD R12 R12 K36
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
0x8C280125, // 0037 GETMET R10 R0 K37
0x7C280200, // 0038 CALL R10 1
0x60280008, // 0039 GETGBL R10 G8
0x5C2C1000, // 003A MOVE R11 R8
0x7C280200, // 003B CALL R10 1
0x002A4E0A, // 003C ADD R10 K39 R10
0x900E4C0A, // 003D SETMBR R3 K38 R10
0x70020004, // 003E JMP #0044
0x60240008, // 003F GETGBL R9 G8
0x5C281000, // 0040 MOVE R10 R8
0x7C240200, // 0041 CALL R9 1
0x00265009, // 0042 ADD R9 K40 R9
0x900E4C09, // 0043 SETMBR R3 K38 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
0x8C201129, // 0049 GETMET R8 R8 K41
0x5C280200, // 004A MOVE R10 R1
0x5C2C0400, // 004B MOVE R11 R2
0x5C300600, // 004C MOVE R12 R3
0x7C200800, // 004D CALL R8 4
0x80041000, // 004E RET 1 R8
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_ShutterTilt
********************************************************************/
extern const bclass be_class_Matter_Plugin_Shutter;
be_local_class(Matter_Plugin_ShutterTilt,
3,
&be_class_Matter_Plugin_Shutter,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(update_tilt_min_max, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_update_tilt_min_max_closure) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Shutter_X20_X2B_X20Tilt) },
{ be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_read_attribute_closure) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(shutter_X2Btilt) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(258, -1), be_const_bytes_instance(000000050007000A000B000C000D000E000F0017FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(5, -1), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, 2), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, 1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(tilt_min, 8), be_const_var(1) },
{ be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_parse_sensors_closure) },
{ be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_invoke_request_closure) },
{ be_const_key_weak(shadow_shutter_tilt, -1), be_const_var(0) },
{ be_const_key_weak(tilt_max, 3), be_const_var(2) },
})),
be_str_weak(Matter_Plugin_ShutterTilt)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,699 @@
/* Solidification of Matter_Plugin_4_Light2.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: update_virtual
********************************************************************/
be_local_closure(class_Matter_Plugin_Light2_update_virtual, /* name */
be_nested_proto(
6, /* 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_Light2, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x60080009, // 0000 GETGBL R2 G9
0x8C0C0300, // 0001 GETMET R3 R1 K0
0x58140001, // 0002 LDCONST R5 K1
0x7C0C0400, // 0003 CALL R3 2
0x7C080200, // 0004 CALL R2 1
0x4C0C0000, // 0005 LDNIL R3
0x200C0403, // 0006 NE R3 R2 R3
0x780E0002, // 0007 JMPF R3 #000B
0x8C0C0102, // 0008 GETMET R3 R0 K2
0x5C140400, // 0009 MOVE R5 R2
0x7C0C0400, // 000A CALL R3 2
0x600C0003, // 000B GETGBL R3 G3
0x5C100000, // 000C MOVE R4 R0
0x7C0C0200, // 000D CALL R3 1
0x8C0C0703, // 000E GETMET R3 R3 K3
0x5C140200, // 000F MOVE R5 R1
0x7C0C0400, // 0010 CALL R3 2
0x80000000, // 0011 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Light2_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_Light2, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[71]) { /* code */
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
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
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
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
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
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
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
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
0x8C1C0F12, // 0041 GETMET R7 R7 K18
0x5C240200, // 0042 MOVE R9 R1
0x5C280400, // 0043 MOVE R10 R2
0x5C2C0600, // 0044 MOVE R11 R3
0x7C1C0800, // 0045 CALL R7 4
0x80040E00, // 0046 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_shadow
********************************************************************/
be_local_closure(class_Matter_Plugin_Light2_update_shadow, /* name */
be_nested_proto(
8, /* 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_Light2, /* shared constants */
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0x88040113, // 0000 GETMBR R1 R0 K19
0x74060020, // 0001 JMPT R1 #0023
0x88040114, // 0002 GETMBR R1 R0 K20
0x7406001E, // 0003 JMPT R1 #0023
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
0x8C080517, // 000A GETMET R2 R2 K23
0x7C080200, // 000B CALL R2 1
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
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
0x880C010B, // 0019 GETMBR R3 R0 K11
0x8810010B, // 001A GETMBR R4 R0 K11
0x20100604, // 001B NE R4 R3 R4
0x78120004, // 001C JMPF R4 #0022
0x8C10011B, // 001D GETMET R4 R0 K27
0x541A02FF, // 001E LDINT R6 768
0x541E0006, // 001F LDINT R7 7
0x7C100600, // 0020 CALL R4 3
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
0x8C040317, // 0026 GETMET R1 R1 K23
0x7C040200, // 0027 CALL R1 1
0x80000000, // 0028 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_ct
********************************************************************/
be_local_closure(class_Matter_Plugin_Light2_set_ct, /* 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_Light2, /* shared constants */
be_str_weak(set_ct),
&be_const_str_solidified,
( &(const binstruction[45]) { /* code */
0x8808010F, // 0000 GETMBR R2 R0 K15
0x14080202, // 0001 LT R2 R1 R2
0x780A0000, // 0002 JMPF R2 #0004
0x8804010F, // 0003 GETMBR R1 R0 K15
0x88080110, // 0004 GETMBR R2 R0 K16
0x24080202, // 0005 GT R2 R1 R2
0x780A0000, // 0006 JMPF R2 #0008
0x88040110, // 0007 GETMBR R1 R0 K16
0x88080114, // 0008 GETMBR R2 R0 K20
0x780A000D, // 0009 JMPF R2 #0018
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
0x7C080600, // 000F CALL R2 3
0x4C0C0000, // 0010 LDNIL R3
0x200C0403, // 0011 NE R3 R2 R3
0x780E0003, // 0012 JMPF R3 #0017
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
0x88080113, // 0018 GETMBR R2 R0 K19
0x780A0008, // 0019 JMPF R2 #0023
0x8808010B, // 001A GETMBR R2 R0 K11
0x20080202, // 001B NE R2 R1 R2
0x780A0004, // 001C JMPF R2 #0022
0x8C08011B, // 001D GETMET R2 R0 K27
0x541202FF, // 001E LDINT R4 768
0x54160006, // 001F LDINT R5 7
0x7C080600, // 0020 CALL R2 3
0x90021601, // 0021 SETMBR R0 K11 R1
0x70020008, // 0022 JMP #002C
0xA40A2A00, // 0023 IMPORT R2 K21
0x8C0C050C, // 0024 GETMET R3 R2 K12
0x60140013, // 0025 GETGBL R5 G19
0x7C140000, // 0026 CALL R5 0
0x98163401, // 0027 SETIDX R5 K26 R1
0x88180119, // 0028 GETMBR R6 R0 K25
0x7C0C0600, // 0029 CALL R3 3
0x8C0C0117, // 002A GETMET R3 R0 K23
0x7C0C0200, // 002B CALL R3 1
0x80000000, // 002C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_status
********************************************************************/
be_local_closure(class_Matter_Plugin_Light2_parse_status, /* 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_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
0x8C0C071D, // 0003 GETMET R3 R3 K29
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
0x780E0017, // 0009 JMPF R3 #0022
0x600C0009, // 000A GETGBL R3 G9
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
0x8810010B, // 0012 GETMBR R4 R0 K11
0x20100604, // 0013 NE R4 R3 R4
0x7812000C, // 0014 JMPF R4 #0022
0x8810010F, // 0015 GETMBR R4 R0 K15
0x14100604, // 0016 LT R4 R3 R4
0x78120000, // 0017 JMPF R4 #0019
0x880C010F, // 0018 GETMBR R3 R0 K15
0x88100110, // 0019 GETMBR R4 R0 K16
0x24100604, // 001A GT R4 R3 R4
0x78120000, // 001B JMPF R4 #001D
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
0x90021603, // 0021 SETMBR R0 K11 R3
0x80000000, // 0022 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_value_ct
********************************************************************/
be_local_closure(class_Matter_Plugin_Light2_web_value_ct, /* 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_Light2, /* shared constants */
be_str_weak(web_value_ct),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
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
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
0x0C080403, // 000A DIV R2 R2 R3
0x540E0031, // 000B LDINT R3 50
0x08080403, // 000C MUL R2 R2 R3
0x600C0018, // 000D GETGBL R3 G24
0x58100020, // 000E LDCONST R4 K32
0x5C140400, // 000F MOVE R5 R2
0x7C0C0400, // 0010 CALL R3 2
0x5C040600, // 0011 MOVE R1 R3
0x000A4201, // 0012 ADD R2 K33 R1
0x80040400, // 0013 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Light2_web_values, /* name */
be_nested_proto(
10, /* 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_Light2, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0xA4064400, // 0000 IMPORT R1 K34
0x8C080123, // 0001 GETMET R2 R0 K35
0x7C080200, // 0002 CALL R2 1
0x8C080324, // 0003 GETMET R2 R1 K36
0x60100018, // 0004 GETGBL R4 G24
0x58140025, // 0005 LDCONST R5 K37
0x8C180126, // 0006 GETMET R6 R0 K38
0x88200127, // 0007 GETMBR R8 R0 K39
0x7C180400, // 0008 CALL R6 2
0x8C1C0128, // 0009 GETMET R7 R0 K40
0x7C1C0200, // 000A CALL R7 1
0x8C200129, // 000B GETMET R8 R0 K41
0x7C200200, // 000C CALL R8 1
0x7C100800, // 000D CALL R4 4
0x7C080400, // 000E CALL R2 2
0x80000000, // 000F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Plugin_Light2_init, /* name */
be_nested_proto(
9, /* 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_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
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
0x88100114, // 0008 GETMBR R4 R0 K20
0x74120009, // 0009 JMPT R4 #0014
0x54120144, // 000A LDINT R4 325
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
0x9002332B, // 0013 SETMBR R0 K25 K43
0x8C100116, // 0014 GETMET R4 R0 K22
0x7C100200, // 0015 CALL R4 1
0x80000000, // 0016 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: invoke_request
********************************************************************/
be_local_closure(class_Matter_Plugin_Light2_invoke_request, /* 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_Light2, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
( &(const binstruction[66]) { /* code */
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
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
0x8C1C052D, // 000C GETMET R7 R2 K45
0x5824000E, // 000D LDCONST R9 K14
0x7C1C0400, // 000E CALL R7 2
0x8820010F, // 000F GETMBR R8 R0 K15
0x14200E08, // 0010 LT R8 R7 R8
0x78220000, // 0011 JMPF R8 #0013
0x881C010F, // 0012 GETMBR R7 R0 K15
0x88200110, // 0013 GETMBR R8 R0 K16
0x24200E08, // 0014 GT R8 R7 R8
0x78220000, // 0015 JMPF R8 #0017
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
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
0x80041000, // 0024 RET 1 R8
0x70020010, // 0025 JMP #0037
0x541E0046, // 0026 LDINT R7 71
0x1C1C0C07, // 0027 EQ R7 R6 R7
0x781E0002, // 0028 JMPF R7 #002C
0x501C0200, // 0029 LDBOOL R7 1 0
0x80040E00, // 002A RET 1 R7
0x7002000A, // 002B JMP #0037
0x541E004A, // 002C LDINT R7 75
0x1C1C0C07, // 002D EQ R7 R6 R7
0x781E0002, // 002E JMPF R7 #0032
0x501C0200, // 002F LDBOOL R7 1 0
0x80040E00, // 0030 RET 1 R7
0x70020004, // 0031 JMP #0037
0x541E004B, // 0032 LDINT R7 76
0x1C1C0C07, // 0033 EQ R7 R6 R7
0x781E0001, // 0034 JMPF R7 #0037
0x501C0200, // 0035 LDBOOL R7 1 0
0x80040E00, // 0036 RET 1 R7
0x70020008, // 0037 JMP #0041
0x601C0003, // 0038 GETGBL R7 G3
0x5C200000, // 0039 MOVE R8 R0
0x7C1C0200, // 003A CALL R7 1
0x8C1C0F31, // 003B GETMET R7 R7 K49
0x5C240200, // 003C MOVE R9 R1
0x5C280400, // 003D MOVE R10 R2
0x5C2C0600, // 003E MOVE R11 R3
0x7C1C0800, // 003F CALL R7 4
0x80040E00, // 0040 RET 1 R7
0x80000000, // 0041 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_ct_minmax
********************************************************************/
be_local_closure(class_Matter_Plugin_Light2_update_ct_minmax, /* 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_Matter_Plugin_Light2, /* shared constants */
be_str_weak(update_ct_minmax),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
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
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
0x90022002, // 000D SETMBR R0 K16 R2
0x80000000, // 000E RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Light2
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light1;
be_local_class(Matter_Plugin_Light2,
3,
&be_class_Matter_Plugin_Light1,
be_nested_map(20,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Light2_update_virtual_closure) },
{ be_const_key_weak(DISPLAY_NAME, 6), be_nested_str_weak(Light_X202_X20CT) },
{ be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Light2_read_attribute_closure) },
{ be_const_key_weak(ct_max, 18), be_const_var(2) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak() },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(shadow_ct, -1), be_const_var(0) },
{ be_const_key_weak(set_ct, 16), be_const_closure(class_Matter_Plugin_Light2_set_ct_closure) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(light2) },
{ be_const_key_weak(update_shadow, 8), be_const_closure(class_Matter_Plugin_Light2_update_shadow_closure) },
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(268, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(web_value_ct, -1), be_const_closure(class_Matter_Plugin_Light2_web_value_ct_closure) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Light2_web_values_closure) },
{ be_const_key_weak(ct_min, -1), be_const_var(1) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(8,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(8, 7), be_const_bytes_instance(000000020003000F0011FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, -1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(5, 2), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(6, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(768, -1), be_const_bytes_instance(00070008000F400B400CFFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Light2_init_closure) },
{ be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Light2_invoke_request_closure) },
{ be_const_key_weak(update_ct_minmax, -1), be_const_closure(class_Matter_Plugin_Light2_update_ct_minmax_closure) },
{ be_const_key_weak(parse_status, -1), be_const_closure(class_Matter_Plugin_Light2_parse_status_closure) },
{ be_const_key_weak(UPDATE_COMMANDS, 4), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(3,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Power),
be_nested_str_weak(Bri),
be_nested_str_weak(CT),
})) ) } )) },
})),
be_str_weak(Matter_Plugin_Light2)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,954 @@
/* Solidification of Matter_Plugin_4_Light3.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Plugin_Light3' ktab size: 66, total: 113 (saved 376 bytes)
static const bvalue be_ktab_class_Matter_Plugin_Light3[66] = {
/* 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(findsubval),
/* K7 */ be_nested_str_weak(set_hue_sat),
/* K8 */ be_nested_str_weak(log),
/* K9 */ be_nested_str_weak(hue_X3A),
/* K10 */ be_nested_str_weak(publish_command),
/* K11 */ be_nested_str_weak(Hue),
/* K12 */ be_const_int(1),
/* K13 */ be_const_int(2),
/* K14 */ be_const_int(3),
/* K15 */ be_nested_str_weak(sat_X3A),
/* 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_nested_str_weak(light_state),
/* K58 */ be_nested_str_weak(set_bri),
/* K59 */ be_nested_str_weak(set_huesat),
/* K60 */ be_nested_str_weak(_X23_X2502X_X2502X_X2502X),
/* K61 */ be_nested_str_weak(r),
/* K62 */ be_nested_str_weak(g),
/* K63 */ be_nested_str_weak(b),
/* K64 */ be_nested_str_weak(_X3Ci_X20class_X3D_X22bxm_X22_X20style_X3D_X22_X2D_X2Dcl_X3A_X25s_X22_X3E_X3C_X2Fi_X3E_X25s),
/* K65 */ 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 */
0xB8120000, // 0000 GETNGBL R4 K0
0x88100901, // 0001 GETMBR R4 R4 K1
0x88140702, // 0002 GETMBR R5 R3 K2
0x88180703, // 0003 GETMBR R6 R3 K3
0x541E02FF, // 0004 LDINT R7 768
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E0067, // 0006 JMPF R7 #006F
0x8C1C0104, // 0007 GETMET R7 R0 K4
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D05, // 0009 EQ R7 R6 K5
0x781E0012, // 000A JMPF R7 #001E
0x8C1C0506, // 000B GETMET R7 R2 K6
0x58240005, // 000C LDCONST R9 K5
0x7C1C0400, // 000D CALL R7 2
0x8C200107, // 000E GETMET R8 R0 K7
0x5C280E00, // 000F MOVE R10 R7
0x4C2C0000, // 0010 LDNIL R11
0x7C200600, // 0011 CALL R8 3
0x60200008, // 0012 GETGBL R8 G8
0x5C240E00, // 0013 MOVE R9 R7
0x7C200200, // 0014 CALL R8 1
0x00221208, // 0015 ADD R8 K9 R8
0x900E1008, // 0016 SETMBR R3 K8 R8
0x8C20010A, // 0017 GETMET R8 R0 K10
0x5828000B, // 0018 LDCONST R10 K11
0x5C2C0E00, // 0019 MOVE R11 R7
0x7C200600, // 001A CALL R8 3
0x50200200, // 001B LDBOOL R8 1 0
0x80041000, // 001C RET 1 R8
0x7002004F, // 001D JMP #006E
0x1C1C0D0C, // 001E EQ R7 R6 K12
0x781E0002, // 001F JMPF R7 #0023
0x501C0200, // 0020 LDBOOL R7 1 0
0x80040E00, // 0021 RET 1 R7
0x7002004A, // 0022 JMP #006E
0x1C1C0D0D, // 0023 EQ R7 R6 K13
0x781E0002, // 0024 JMPF R7 #0028
0x501C0200, // 0025 LDBOOL R7 1 0
0x80040E00, // 0026 RET 1 R7
0x70020045, // 0027 JMP #006E
0x1C1C0D0E, // 0028 EQ R7 R6 K14
0x781E0012, // 0029 JMPF R7 #003D
0x8C1C0506, // 002A GETMET R7 R2 K6
0x58240005, // 002B LDCONST R9 K5
0x7C1C0400, // 002C CALL R7 2
0x8C200107, // 002D GETMET R8 R0 K7
0x4C280000, // 002E LDNIL R10
0x5C2C0E00, // 002F MOVE R11 R7
0x7C200600, // 0030 CALL R8 3
0x60200008, // 0031 GETGBL R8 G8
0x5C240E00, // 0032 MOVE R9 R7
0x7C200200, // 0033 CALL R8 1
0x00221E08, // 0034 ADD R8 K15 R8
0x900E1008, // 0035 SETMBR R3 K8 R8
0x8C20010A, // 0036 GETMET R8 R0 K10
0x58280010, // 0037 LDCONST R10 K16
0x5C2C0E00, // 0038 MOVE R11 R7
0x7C200600, // 0039 CALL R8 3
0x50200200, // 003A LDBOOL R8 1 0
0x80041000, // 003B RET 1 R8
0x70020030, // 003C JMP #006E
0x541E0003, // 003D LDINT R7 4
0x1C1C0C07, // 003E EQ R7 R6 R7
0x781E0002, // 003F JMPF R7 #0043
0x501C0200, // 0040 LDBOOL R7 1 0
0x80040E00, // 0041 RET 1 R7
0x7002002A, // 0042 JMP #006E
0x541E0004, // 0043 LDINT R7 5
0x1C1C0C07, // 0044 EQ R7 R6 R7
0x781E0002, // 0045 JMPF R7 #0049
0x501C0200, // 0046 LDBOOL R7 1 0
0x80040E00, // 0047 RET 1 R7
0x70020024, // 0048 JMP #006E
0x541E0005, // 0049 LDINT R7 6
0x1C1C0C07, // 004A EQ R7 R6 R7
0x781E001C, // 004B JMPF R7 #0069
0x8C1C0506, // 004C GETMET R7 R2 K6
0x58240005, // 004D LDCONST R9 K5
0x7C1C0400, // 004E CALL R7 2
0x8C200506, // 004F GETMET R8 R2 K6
0x5828000C, // 0050 LDCONST R10 K12
0x7C200400, // 0051 CALL R8 2
0x8C240107, // 0052 GETMET R9 R0 K7
0x5C2C0E00, // 0053 MOVE R11 R7
0x5C301000, // 0054 MOVE R12 R8
0x7C240600, // 0055 CALL R9 3
0x60240008, // 0056 GETGBL R9 G8
0x5C280E00, // 0057 MOVE R10 R7
0x7C240200, // 0058 CALL R9 1
0x00261209, // 0059 ADD R9 K9 R9
0x00241311, // 005A ADD R9 R9 K17
0x60280008, // 005B GETGBL R10 G8
0x5C2C1000, // 005C MOVE R11 R8
0x7C280200, // 005D CALL R10 1
0x0024120A, // 005E ADD R9 R9 R10
0x900E1009, // 005F SETMBR R3 K8 R9
0x8C24010A, // 0060 GETMET R9 R0 K10
0x582C000B, // 0061 LDCONST R11 K11
0x5C300E00, // 0062 MOVE R12 R7
0x58340010, // 0063 LDCONST R13 K16
0x5C381000, // 0064 MOVE R14 R8
0x7C240A00, // 0065 CALL R9 5
0x50240200, // 0066 LDBOOL R9 1 0
0x80041200, // 0067 RET 1 R9
0x70020004, // 0068 JMP #006E
0x541E0046, // 0069 LDINT R7 71
0x1C1C0C07, // 006A EQ R7 R6 R7
0x781E0001, // 006B JMPF R7 #006E
0x501C0200, // 006C LDBOOL R7 1 0
0x80040E00, // 006D RET 1 R7
0x70020008, // 006E JMP #0078
0x601C0003, // 006F GETGBL R7 G3
0x5C200000, // 0070 MOVE R8 R0
0x7C1C0200, // 0071 CALL R7 1
0x8C1C0F12, // 0072 GETMET R7 R7 K18
0x5C240200, // 0073 MOVE R9 R1
0x5C280400, // 0074 MOVE R10 R2
0x5C2C0600, // 0075 MOVE R11 R3
0x7C1C0800, // 0076 CALL R7 4
0x80040E00, // 0077 RET 1 R7
0x80000000, // 0078 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(class_Matter_Plugin_Light3_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_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
0x88180513, // 0003 GETMBR R6 R2 K19
0x541E02FF, // 0004 LDINT R7 768
0x1C1C0A07, // 0005 EQ R7 R5 R7
0x781E004F, // 0006 JMPF R7 #0057
0x8C1C0104, // 0007 GETMET R7 R0 K4
0x7C1C0200, // 0008 CALL R7 1
0x1C1C0D05, // 0009 EQ R7 R6 K5
0x781E0005, // 000A JMPF R7 #0011
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
0x1C1C0D0C, // 0011 EQ R7 R6 K12
0x781E0005, // 0012 JMPF R7 #0019
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
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
0x70020034, // 0021 JMP #0057
0x541E0007, // 0022 LDINT R7 8
0x1C1C0C07, // 0023 EQ R7 R6 R7
0x781E0005, // 0024 JMPF R7 #002B
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
0x7002002B, // 002A JMP #0057
0x541E000E, // 002B LDINT R7 15
0x1C1C0C07, // 002C EQ R7 R6 R7
0x781E0005, // 002D JMPF R7 #0034
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
0x70020022, // 0033 JMP #0057
0x541E4000, // 0034 LDINT R7 16385
0x1C1C0C07, // 0035 EQ R7 R6 R7
0x781E0005, // 0036 JMPF R7 #003D
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
0x70020019, // 003C JMP #0057
0x541E4009, // 003D LDINT R7 16394
0x1C1C0C07, // 003E EQ R7 R6 R7
0x781E0005, // 003F JMPF R7 #0046
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
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
0x70020007, // 004E JMP #0057
0x541EFFFB, // 004F LDINT R7 65532
0x1C1C0C07, // 0050 EQ R7 R6 R7
0x781E0004, // 0051 JMPF R7 #0057
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
0x8C1C0F1A, // 005A GETMET R7 R7 K26
0x5C240200, // 005B MOVE R9 R1
0x5C280400, // 005C MOVE R10 R2
0x5C2C0600, // 005D MOVE R11 R3
0x7C1C0800, // 005E CALL R7 4
0x80040E00, // 005F RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_shadow
********************************************************************/
be_local_closure(class_Matter_Plugin_Light3_update_shadow, /* name */
be_nested_proto(
12, /* 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_Light3, /* shared constants */
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[75]) { /* code */
0x8804011B, // 0000 GETMBR R1 R0 K27
0x74060042, // 0001 JMPT R1 #0045
0x8804011C, // 0002 GETMBR R1 R0 K28
0x74060040, // 0003 JMPT R1 #0045
0xA4063A00, // 0004 IMPORT R1 K29
0x60080003, // 0005 GETGBL R2 G3
0x5C0C0000, // 0006 MOVE R3 R0
0x7C080200, // 0007 CALL R2 1
0x8C08051E, // 0008 GETMET R2 R2 K30
0x7C080200, // 0009 CALL R2 1
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
0x8C0C0521, // 0010 GETMET R3 R2 K33
0x58140022, // 0011 LDCONST R5 K34
0x4C180000, // 0012 LDNIL R6
0x7C0C0600, // 0013 CALL R3 3
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
0xB8164800, // 001B GETNGBL R5 K36
0x8C140B25, // 001C GETMET R5 R5 K37
0x5C1C0600, // 001D MOVE R7 R3
0x58200005, // 001E LDCONST R8 K5
0x54260167, // 001F LDINT R9 360
0x58280005, // 0020 LDCONST R10 K5
0x542E00FD, // 0021 LDINT R11 254
0x7C140C00, // 0022 CALL R5 6
0x5C0C0A00, // 0023 MOVE R3 R5
0x70020000, // 0024 JMP #0026
0x880C0116, // 0025 GETMBR R3 R0 K22
0x4C140000, // 0026 LDNIL R5
0x20140805, // 0027 NE R5 R4 R5
0x78160009, // 0028 JMPF R5 #0033
0xB8164800, // 0029 GETNGBL R5 K36
0x8C140B25, // 002A GETMET R5 R5 K37
0x5C1C0800, // 002B MOVE R7 R4
0x58200005, // 002C LDCONST R8 K5
0x542600FE, // 002D LDINT R9 255
0x58280005, // 002E LDCONST R10 K5
0x542E00FD, // 002F LDINT R11 254
0x7C140C00, // 0030 CALL R5 6
0x5C100A00, // 0031 MOVE R4 R5
0x70020000, // 0032 JMP #0034
0x88100117, // 0033 GETMBR R4 R0 K23
0x88140116, // 0034 GETMBR R5 R0 K22
0x20140605, // 0035 NE R5 R3 R5
0x78160004, // 0036 JMPF R5 #003C
0x8C140126, // 0037 GETMET R5 R0 K38
0x541E02FF, // 0038 LDINT R7 768
0x58200005, // 0039 LDCONST R8 K5
0x7C140600, // 003A CALL R5 3
0x90022C03, // 003B SETMBR R0 K22 R3
0x88140117, // 003C GETMBR R5 R0 K23
0x20140805, // 003D NE R5 R4 R5
0x78160004, // 003E JMPF R5 #0044
0x8C140126, // 003F GETMET R5 R0 K38
0x541E02FF, // 0040 LDINT R7 768
0x5820000C, // 0041 LDCONST R8 K12
0x7C140600, // 0042 CALL R5 3
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
0x8C04031E, // 0048 GETMET R1 R1 K30
0x7C040200, // 0049 CALL R1 1
0x80000000, // 004A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_virtual
********************************************************************/
be_local_closure(class_Matter_Plugin_Light3_update_virtual, /* name */
be_nested_proto(
8, /* 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_Light3, /* shared constants */
be_str_weak(update_virtual),
&be_const_str_solidified,
( &(const binstruction[27]) { /* code */
0x60080009, // 0000 GETGBL R2 G9
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
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
0x20100404, // 000B NE R4 R2 R4
0x74120002, // 000C JMPT R4 #0010
0x4C100000, // 000D LDNIL R4
0x20100604, // 000E NE R4 R3 R4
0x78120003, // 000F JMPF R4 #0014
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
0x8C100927, // 0017 GETMET R4 R4 K39
0x5C180200, // 0018 MOVE R6 R1
0x7C100400, // 0019 CALL R4 2
0x80000000, // 001A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_hue_sat
********************************************************************/
be_local_closure(class_Matter_Plugin_Light3_set_hue_sat, /* 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_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
0x140C0305, // 0003 LT R3 R1 K5
0x780E0000, // 0004 JMPF R3 #0006
0x58040005, // 0005 LDCONST R1 K5
0x540E00FD, // 0006 LDINT R3 254
0x240C0203, // 0007 GT R3 R1 R3
0x780E0000, // 0008 JMPF R3 #000A
0x540600FD, // 0009 LDINT R1 254
0x4C0C0000, // 000A LDNIL R3
0x200C0403, // 000B NE R3 R2 R3
0x780E0006, // 000C JMPF R3 #0014
0x140C0505, // 000D LT R3 R2 K5
0x780E0000, // 000E JMPF R3 #0010
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
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
0xB80E4800, // 0019 GETNGBL R3 K36
0x8C0C0725, // 001A GETMET R3 R3 K37
0x5C140200, // 001B MOVE R5 R1
0x58180005, // 001C LDCONST R6 K5
0x541E00FD, // 001D LDINT R7 254
0x58200005, // 001E LDCONST R8 K5
0x54260167, // 001F LDINT R9 360
0x7C0C0C00, // 0020 CALL R3 6
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
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
0xB80E4800, // 002F GETNGBL R3 K36
0x8C0C0725, // 0030 GETMET R3 R3 K37
0x5C140400, // 0031 MOVE R5 R2
0x58180005, // 0032 LDCONST R6 K5
0x541E00FD, // 0033 LDINT R7 254
0x58200005, // 0034 LDCONST R8 K5
0x54260063, // 0035 LDINT R9 100
0x7C0C0C00, // 0036 CALL R3 6
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
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
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
0x880C0116, // 0048 GETMBR R3 R0 K22
0x200C0203, // 0049 NE R3 R1 R3
0x780E0004, // 004A JMPF R3 #0050
0x8C0C0126, // 004B GETMET R3 R0 K38
0x541602FF, // 004C LDINT R5 768
0x58180005, // 004D LDCONST R6 K5
0x7C0C0600, // 004E CALL R3 3
0x90022C01, // 004F SETMBR R0 K22 R1
0x4C0C0000, // 0050 LDNIL R3
0x200C0403, // 0051 NE R3 R2 R3
0x780E0007, // 0052 JMPF R3 #005B
0x880C0117, // 0053 GETMBR R3 R0 K23
0x200C0403, // 0054 NE R3 R2 R3
0x780E0004, // 0055 JMPF R3 #005B
0x8C0C0126, // 0056 GETMET R3 R0 K38
0x541602FF, // 0057 LDINT R5 768
0x5818000C, // 0058 LDCONST R6 K12
0x7C0C0600, // 0059 CALL R3 3
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
0xB80E4800, // 005F GETNGBL R3 K36
0x8C0C0725, // 0060 GETMET R3 R3 K37
0x5C140200, // 0061 MOVE R5 R1
0x58180005, // 0062 LDCONST R6 K5
0x541E00FD, // 0063 LDINT R7 254
0x58200005, // 0064 LDCONST R8 K5
0x54260167, // 0065 LDINT R9 360
0x7C0C0C00, // 0066 CALL R3 6
0x70020000, // 0067 JMP #0069
0x4C0C0000, // 0068 LDNIL R3
0x4C100000, // 0069 LDNIL R4
0x20100404, // 006A NE R4 R2 R4
0x78120008, // 006B JMPF R4 #0075
0xB8124800, // 006C GETNGBL R4 K36
0x8C100925, // 006D GETMET R4 R4 K37
0x5C180400, // 006E MOVE R6 R2
0x581C0005, // 006F LDCONST R7 K5
0x542200FD, // 0070 LDINT R8 254
0x58240005, // 0071 LDCONST R9 K5
0x542A00FE, // 0072 LDINT R10 255
0x7C100C00, // 0073 CALL R4 6
0x70020000, // 0074 JMP #0076
0x4C100000, // 0075 LDNIL R4
0x4C140000, // 0076 LDNIL R5
0x20140605, // 0077 NE R5 R3 R5
0x7816000B, // 0078 JMPF R5 #0085
0x4C140000, // 0079 LDNIL R5
0x20140805, // 007A NE R5 R4 R5
0x78160008, // 007B JMPF R5 #0085
0xB8163A00, // 007C GETNGBL R5 K29
0x8C140B18, // 007D GETMET R5 R5 K24
0x601C0013, // 007E GETGBL R7 G19
0x7C1C0000, // 007F CALL R7 0
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
0xB8163A00, // 0088 GETNGBL R5 K29
0x8C140B18, // 0089 GETMET R5 R5 K24
0x601C0013, // 008A GETGBL R7 G19
0x7C1C0000, // 008B CALL R7 0
0x981E4403, // 008C SETIDX R7 K34 R3
0x88200120, // 008D GETMBR R8 R0 K32
0x7C140600, // 008E CALL R5 3
0x70020006, // 008F JMP #0097
0xB8163A00, // 0090 GETNGBL R5 K29
0x8C140B18, // 0091 GETMET R5 R5 K24
0x601C0013, // 0092 GETGBL R7 G19
0x7C1C0000, // 0093 CALL R7 0
0x981E4604, // 0094 SETIDX R7 K35 R4
0x88200120, // 0095 GETMBR R8 R0 K32
0x7C140600, // 0096 CALL R5 3
0x8C14011E, // 0097 GETMET R5 R0 K30
0x7C140200, // 0098 CALL R5 1
0x80000000, // 0099 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Plugin_Light3_init, /* name */
be_nested_proto(
9, /* 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(init),
&be_const_str_solidified,
( &(const binstruction[11]) { /* code */
0x60100003, // 0000 GETGBL R4 G3
0x5C140000, // 0001 MOVE R5 R0
0x7C100200, // 0002 CALL R4 1
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
0x90022D05, // 0008 SETMBR R0 K22 K5
0x90022F05, // 0009 SETMBR R0 K23 K5
0x80000000, // 000A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Light3_web_values, /* name */
be_nested_proto(
10, /* 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_Light3, /* shared constants */
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0xA4065A00, // 0000 IMPORT R1 K45
0x8C08012E, // 0001 GETMET R2 R0 K46
0x7C080200, // 0002 CALL R2 1
0x8C08032F, // 0003 GETMET R2 R1 K47
0x60100018, // 0004 GETGBL R4 G24
0x58140030, // 0005 LDCONST R5 K48
0x8C180131, // 0006 GETMET R6 R0 K49
0x88200132, // 0007 GETMBR R8 R0 K50
0x7C180400, // 0008 CALL R6 2
0x8C1C0133, // 0009 GETMET R7 R0 K51
0x7C1C0200, // 000A CALL R7 1
0x8C200134, // 000B GETMET R8 R0 K52
0x7C200200, // 000C CALL R8 1
0x7C100800, // 000D CALL R4 4
0x7C080400, // 000E CALL R2 2
0x80000000, // 000F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_status
********************************************************************/
be_local_closure(class_Matter_Plugin_Light3_parse_status, /* name */
be_nested_proto(
15, /* 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_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
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
0x8C0C0321, // 000A GETMET R3 R1 K33
0x58140035, // 000B LDCONST R5 K53
0x7C0C0400, // 000C CALL R3 2
0x780E0036, // 000D JMPF R3 #0045
0xA4126C00, // 000E IMPORT R4 K54
0x8C140937, // 000F GETMET R5 R4 K55
0x5C1C0600, // 0010 MOVE R7 R3
0x58200038, // 0011 LDCONST R8 K56
0x7C140600, // 0012 CALL R5 3
0x60180009, // 0013 GETGBL R6 G9
0x941C0B05, // 0014 GETIDX R7 R5 K5
0x7C180200, // 0015 CALL R6 1
0x601C0009, // 0016 GETGBL R7 G9
0x94200B0C, // 0017 GETIDX R8 R5 K12
0x7C1C0200, // 0018 CALL R7 1
0x4C200000, // 0019 LDNIL R8
0x20200C08, // 001A NE R8 R6 R8
0x78220009, // 001B JMPF R8 #0026
0xB8224800, // 001C GETNGBL R8 K36
0x8C201125, // 001D GETMET R8 R8 K37
0x5C280C00, // 001E MOVE R10 R6
0x582C0005, // 001F LDCONST R11 K5
0x54320167, // 0020 LDINT R12 360
0x58340005, // 0021 LDCONST R13 K5
0x543A00FD, // 0022 LDINT R14 254
0x7C200C00, // 0023 CALL R8 6
0x5C181000, // 0024 MOVE R6 R8
0x70020000, // 0025 JMP #0027
0x88180116, // 0026 GETMBR R6 R0 K22
0x4C200000, // 0027 LDNIL R8
0x20200E08, // 0028 NE R8 R7 R8
0x78220009, // 0029 JMPF R8 #0034
0xB8224800, // 002A GETNGBL R8 K36
0x8C201125, // 002B GETMET R8 R8 K37
0x5C280E00, // 002C MOVE R10 R7
0x582C0005, // 002D LDCONST R11 K5
0x54320063, // 002E LDINT R12 100
0x58340005, // 002F LDCONST R13 K5
0x543A00FD, // 0030 LDINT R14 254
0x7C200C00, // 0031 CALL R8 6
0x5C1C1000, // 0032 MOVE R7 R8
0x70020000, // 0033 JMP #0035
0x881C0117, // 0034 GETMBR R7 R0 K23
0x88200116, // 0035 GETMBR R8 R0 K22
0x20200C08, // 0036 NE R8 R6 R8
0x78220004, // 0037 JMPF R8 #003D
0x8C200126, // 0038 GETMET R8 R0 K38
0x542A02FF, // 0039 LDINT R10 768
0x582C0005, // 003A LDCONST R11 K5
0x7C200600, // 003B CALL R8 3
0x90022C06, // 003C SETMBR R0 K22 R6
0x88200117, // 003D GETMBR R8 R0 K23
0x20200E08, // 003E NE R8 R7 R8
0x78220004, // 003F JMPF R8 #0045
0x8C200126, // 0040 GETMET R8 R0 K38
0x542A02FF, // 0041 LDINT R10 768
0x582C000C, // 0042 LDCONST R11 K12
0x7C200600, // 0043 CALL R8 3
0x90022E07, // 0044 SETMBR R0 K23 R7
0x80000000, // 0045 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_value_RGB
********************************************************************/
be_local_closure(class_Matter_Plugin_Light3_web_value_RGB, /* name */
be_nested_proto(
12, /* 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_Light3, /* shared constants */
be_str_weak(web_value_RGB),
&be_const_str_solidified,
( &(const binstruction[45]) { /* code */
0x88040116, // 0000 GETMBR R1 R0 K22
0x4C080000, // 0001 LDNIL R2
0x20040202, // 0002 NE R1 R1 R2
0x78060027, // 0003 JMPF R1 #002C
0x88040117, // 0004 GETMBR R1 R0 K23
0x4C080000, // 0005 LDNIL R2
0x20040202, // 0006 NE R1 R1 R2
0x78060023, // 0007 JMPF R1 #002C
0xB8067200, // 0008 GETNGBL R1 K57
0x5808000E, // 0009 LDCONST R2 K14
0x7C040200, // 000A CALL R1 1
0x8C08033A, // 000B GETMET R2 R1 K58
0x541200FE, // 000C LDINT R4 255
0x7C080400, // 000D CALL R2 2
0x8C08033B, // 000E GETMET R2 R1 K59
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
0x58240005, // 0014 LDCONST R9 K5
0x542A0167, // 0015 LDINT R10 360
0x7C100C00, // 0016 CALL R4 6
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
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
0x580C003C, // 0021 LDCONST R3 K60
0x8810033D, // 0022 GETMBR R4 R1 K61
0x8814033E, // 0023 GETMBR R5 R1 K62
0x8818033F, // 0024 GETMBR R6 R1 K63
0x7C080800, // 0025 CALL R2 4
0x600C0018, // 0026 GETGBL R3 G24
0x58100040, // 0027 LDCONST R4 K64
0x5C140400, // 0028 MOVE R5 R2
0x5C180400, // 0029 MOVE R6 R2
0x7C0C0600, // 002A CALL R3 3
0x80040600, // 002B RET 1 R3
0x80068200, // 002C RET 1 K65
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Light3
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light1;
be_local_class(Matter_Plugin_Light3,
2,
&be_class_Matter_Plugin_Light1,
be_nested_map(18,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(ARG_HINT, 17), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(light3) },
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(269, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(4,
( (struct bvalue*) &(const bvalue[]) {
be_nested_str_weak(Power),
be_nested_str_weak(Bri),
be_nested_str_weak(Hue),
be_nested_str_weak(Sat),
})) ) } )) },
{ be_const_key_weak(shadow_hue, 13), be_const_var(0) },
{ be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Light3_invoke_request_closure) },
{ be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Light3_read_attribute_closure) },
{ be_const_key_weak(update_shadow, 11), be_const_closure(class_Matter_Plugin_Light3_update_shadow_closure) },
{ be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Light3_update_virtual_closure) },
{ be_const_key_weak(ARG, 0), be_nested_str_weak() },
{ be_const_key_weak(shadow_sat, -1), be_const_var(1) },
{ be_const_key_weak(web_value_RGB, -1), be_const_closure(class_Matter_Plugin_Light3_web_value_RGB_closure) },
{ be_const_key_weak(parse_status, 16), be_const_closure(class_Matter_Plugin_Light3_parse_status_closure) },
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(8,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(8, 7), be_const_bytes_instance(000000020003000F0011FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(57, -1), be_const_bytes_instance(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(29, -1), be_const_bytes_instance(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(3, -1), be_const_bytes_instance(00000001FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(4, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(5, 2), be_const_bytes_instance(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(6, -1), be_const_bytes_instance(0000FFF8FFF9FFFAFFFBFFFCFFFD) },
{ be_const_key_int(768, -1), be_const_bytes_instance(0000000100070008000F4001400AFFF8FFF9FFFAFFFBFFFCFFFD) },
})) ) } )) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Light3_web_values_closure) },
{ be_const_key_weak(set_hue_sat, 12), be_const_closure(class_Matter_Plugin_Light3_set_hue_sat_closure) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Light3_init_closure) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X203_X20RGB) },
})),
be_str_weak(Matter_Plugin_Light3)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,25 @@
/* Solidification of Matter_Plugin_8_Bridge_Light0.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Light0;
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Light0
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light0;
be_local_class(Matter_Plugin_Bridge_Light0,
0,
&be_class_Matter_Plugin_Light0,
be_nested_map(3,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light0) },
{ be_const_key_weak(BRIDGE, -1), be_const_bool(1) },
})),
be_str_weak(Matter_Plugin_Bridge_Light0)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,55 @@
/* Solidification of Matter_Plugin_8_Bridge_Light1.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Light1;
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Bridge_Light1__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040009, // 0000 GETGBL R1 G9
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Light1
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light1;
be_local_class(Matter_Plugin_Bridge_Light1,
0,
&be_class_Matter_Plugin_Light1,
be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light1) },
{ be_const_key_weak(BRIDGE, -1), be_const_bool(1) },
{ be_const_key_weak(ARG_HINT, 5), be_nested_str_weak(Relay_X3Cx_X3E_X20number) },
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Bridge_Light1__X3Clambda_X3E_closure) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak(relay) },
})),
be_str_weak(Matter_Plugin_Bridge_Light1)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,55 @@
/* Solidification of Matter_Plugin_8_Bridge_Light2.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Light2;
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Bridge_Light2__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040009, // 0000 GETGBL R1 G9
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Light2
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light2;
be_local_class(Matter_Plugin_Bridge_Light2,
0,
&be_class_Matter_Plugin_Light2,
be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light2) },
{ be_const_key_weak(BRIDGE, -1), be_const_bool(1) },
{ be_const_key_weak(ARG_HINT, 5), be_nested_str_weak(Relay_X3Cx_X3E_X20number) },
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Bridge_Light2__X3Clambda_X3E_closure) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak(relay) },
})),
be_str_weak(Matter_Plugin_Bridge_Light2)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,55 @@
/* Solidification of Matter_Plugin_8_Bridge_Light3.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Light3;
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Bridge_Light3__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040009, // 0000 GETGBL R1 G9
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Light3
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light3;
be_local_class(Matter_Plugin_Bridge_Light3,
0,
&be_class_Matter_Plugin_Light3,
be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light3) },
{ be_const_key_weak(BRIDGE, -1), be_const_bool(1) },
{ be_const_key_weak(ARG_HINT, 5), be_nested_str_weak(Relay_X3Cx_X3E_X20number) },
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Bridge_Light3__X3Clambda_X3E_closure) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak(relay) },
})),
be_str_weak(Matter_Plugin_Bridge_Light3)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,75 @@
/* Solidification of Matter_Plugin_8_Bridge_OnOff.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_OnOff;
/********************************************************************
** Solidified function: web_values
********************************************************************/
be_local_closure(class_Matter_Plugin_Bridge_OnOff_web_values, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(Relay_X20_X25i_X20_X25s),
/* K4 */ be_nested_str_weak(tasmota_relay_index),
/* K5 */ be_nested_str_weak(web_value_onoff),
/* K6 */ be_nested_str_weak(shadow_onoff),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
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
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_OnOff
********************************************************************/
extern const bclass be_class_Matter_Plugin_Bridge_Light0;
be_local_class(Matter_Plugin_Bridge_OnOff,
0,
&be_class_Matter_Plugin_Bridge_Light0,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_int(266, -1), be_const_int(2) },
})) ) } )) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Relay) },
{ be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_OnOff_web_values_closure) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Relay_X3Cx_X3E_X20number) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_relay) },
})),
be_str_weak(Matter_Plugin_Bridge_OnOff)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,26 @@
/* Solidification of Matter_Plugin_8_Bridge_Sensor_Air_Quality.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Air_Quality;
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Sensor_Air_Quality
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Air_Quality;
be_local_class(Matter_Plugin_Bridge_Sensor_Air_Quality,
0,
&be_class_Matter_Plugin_Sensor_Air_Quality,
be_nested_map(4,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(BRIDGE, 2), be_const_bool(1) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_airquality) },
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
{ be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2010) },
})),
be_str_weak(Matter_Plugin_Bridge_Sensor_Air_Quality)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,26 @@
/* Solidification of Matter_Plugin_8_Bridge_Sensor_Contact.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Contact;
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Sensor_Contact
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Contact;
be_local_class(Matter_Plugin_Bridge_Sensor_Contact,
0,
&be_class_Matter_Plugin_Sensor_Contact,
be_nested_map(4,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(BRIDGE, 2), be_const_bool(1) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_contact) },
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
{ be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2010) },
})),
be_str_weak(Matter_Plugin_Bridge_Sensor_Contact)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,24 @@
/* Solidification of Matter_Plugin_8_Bridge_Sensor_Flow.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Flow;
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Sensor_Flow
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Flow;
be_local_class(Matter_Plugin_Bridge_Sensor_Flow,
0,
&be_class_Matter_Plugin_Sensor_Flow,
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(BRIDGE, -1), be_const_bool(1) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_flow) },
})),
be_str_weak(Matter_Plugin_Bridge_Sensor_Flow)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,24 @@
/* Solidification of Matter_Plugin_8_Bridge_Sensor_Humidity.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Humidity;
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Sensor_Humidity
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Humidity;
be_local_class(Matter_Plugin_Bridge_Sensor_Humidity,
0,
&be_class_Matter_Plugin_Sensor_Humidity,
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(BRIDGE, -1), be_const_bool(1) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_humidity) },
})),
be_str_weak(Matter_Plugin_Bridge_Sensor_Humidity)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,24 @@
/* Solidification of Matter_Plugin_8_Bridge_Sensor_Illuminance.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Illuminance;
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Sensor_Illuminance
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Illuminance;
be_local_class(Matter_Plugin_Bridge_Sensor_Illuminance,
0,
&be_class_Matter_Plugin_Sensor_Illuminance,
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(BRIDGE, -1), be_const_bool(1) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_illuminance) },
})),
be_str_weak(Matter_Plugin_Bridge_Sensor_Illuminance)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,26 @@
/* Solidification of Matter_Plugin_8_Bridge_Sensor_Occupancy.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Occupancy;
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Sensor_Occupancy
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Occupancy;
be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy,
0,
&be_class_Matter_Plugin_Sensor_Occupancy,
be_nested_map(4,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(BRIDGE, 2), be_const_bool(1) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_occupancy) },
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
{ be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2010) },
})),
be_str_weak(Matter_Plugin_Bridge_Sensor_Occupancy)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,24 @@
/* Solidification of Matter_Plugin_8_Bridge_Sensor_Pressure.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Pressure;
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Sensor_Pressure
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Pressure;
be_local_class(Matter_Plugin_Bridge_Sensor_Pressure,
0,
&be_class_Matter_Plugin_Sensor_Pressure,
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(BRIDGE, -1), be_const_bool(1) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_pressure) },
})),
be_str_weak(Matter_Plugin_Bridge_Sensor_Pressure)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,26 @@
/* Solidification of Matter_Plugin_8_Bridge_Sensor_Rain.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Rain;
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Sensor_Rain
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Rain;
be_local_class(Matter_Plugin_Bridge_Sensor_Rain,
0,
&be_class_Matter_Plugin_Sensor_Rain,
be_nested_map(4,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(BRIDGE, 2), be_const_bool(1) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_rain) },
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
{ be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2010) },
})),
be_str_weak(Matter_Plugin_Bridge_Sensor_Rain)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,24 @@
/* Solidification of Matter_Plugin_8_Bridge_Sensor_Temp.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Temp;
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Sensor_Temp
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Temp;
be_local_class(Matter_Plugin_Bridge_Sensor_Temp,
0,
&be_class_Matter_Plugin_Sensor_Temp,
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(BRIDGE, -1), be_const_bool(1) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_temperature) },
})),
be_str_weak(Matter_Plugin_Bridge_Sensor_Temp)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,26 @@
/* Solidification of Matter_Plugin_8_Bridge_Sensor_Waterleak.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Waterleak;
/********************************************************************
** Solidified class: Matter_Plugin_Bridge_Sensor_Waterleak
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Waterleak;
be_local_class(Matter_Plugin_Bridge_Sensor_Waterleak,
0,
&be_class_Matter_Plugin_Sensor_Waterleak,
be_nested_map(4,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(BRIDGE, 2), be_const_bool(1) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_waterleak) },
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
{ be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2010) },
})),
be_str_weak(Matter_Plugin_Bridge_Sensor_Waterleak)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Fan.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Fan;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Fan
********************************************************************/
extern const bclass be_class_Matter_Plugin_Fan;
be_local_class(Matter_Plugin_Virt_Fan,
0,
&be_class_Matter_Plugin_Fan,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EFan) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_fan) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Fan)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Light0.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Light0;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Light0
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light0;
be_local_class(Matter_Plugin_Virt_Light0,
0,
&be_class_Matter_Plugin_Light0,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X200_X20OnOff) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light0) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Light0)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Light1.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Light1;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Light1
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light1;
be_local_class(Matter_Plugin_Virt_Light1,
0,
&be_class_Matter_Plugin_Light1,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X201_X20Dimmer) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light1) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Light1)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Light2.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Light2;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Light2
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light2;
be_local_class(Matter_Plugin_Virt_Light2,
0,
&be_class_Matter_Plugin_Light2,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X202_X20CT) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light2) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Light2)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Light3.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Light3;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Light3
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light3;
be_local_class(Matter_Plugin_Virt_Light3,
0,
&be_class_Matter_Plugin_Light3,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ELight_X203_X20RGB) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_light3) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Light3)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_OnOff.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_OnOff;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_OnOff
********************************************************************/
extern const bclass be_class_Matter_Plugin_OnOff;
be_local_class(Matter_Plugin_Virt_OnOff,
0,
&be_class_Matter_Plugin_OnOff,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ERelay) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_relay) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_OnOff)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Sensor_Air_Quality.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Air_Quality;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Sensor_Air_Quality
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Air_Quality;
be_local_class(Matter_Plugin_Virt_Sensor_Air_Quality,
0,
&be_class_Matter_Plugin_Sensor_Air_Quality,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EAir_X20Quality) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_airquality) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Sensor_Air_Quality)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Sensor_Contact.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Contact;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Sensor_Contact
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Contact;
be_local_class(Matter_Plugin_Virt_Sensor_Contact,
0,
&be_class_Matter_Plugin_Sensor_Contact,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EContact) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_contact) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Sensor_Contact)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Sensor_Flow.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Flow;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Sensor_Flow
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Flow;
be_local_class(Matter_Plugin_Virt_Sensor_Flow,
0,
&be_class_Matter_Plugin_Sensor_Flow,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EFlow) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_flow) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Sensor_Flow)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Sensor_Humidity.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Humidity;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Sensor_Humidity
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Humidity;
be_local_class(Matter_Plugin_Virt_Sensor_Humidity,
0,
&be_class_Matter_Plugin_Sensor_Humidity,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EHumidity) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_humidity) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Sensor_Humidity)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Sensor_Illuminance.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Illuminance;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Sensor_Illuminance
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Illuminance;
be_local_class(Matter_Plugin_Virt_Sensor_Illuminance,
0,
&be_class_Matter_Plugin_Sensor_Illuminance,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EIlluminance) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_illuminance) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Sensor_Illuminance)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Sensor_Occupancy.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Occupancy;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Sensor_Occupancy
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Occupancy;
be_local_class(Matter_Plugin_Virt_Sensor_Occupancy,
0,
&be_class_Matter_Plugin_Sensor_Occupancy,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EOccupancy) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_occupancy) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Sensor_Occupancy)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Sensor_Pressure.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Pressure;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Sensor_Pressure
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Pressure;
be_local_class(Matter_Plugin_Virt_Sensor_Pressure,
0,
&be_class_Matter_Plugin_Sensor_Pressure,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EPressure) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_pressure) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Sensor_Pressure)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Sensor_Rain.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Rain;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Sensor_Rain
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Rain;
be_local_class(Matter_Plugin_Virt_Sensor_Rain,
0,
&be_class_Matter_Plugin_Sensor_Rain,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ERain) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_rain) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Sensor_Rain)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Sensor_Temp.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Temp;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Sensor_Temp
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Temp;
be_local_class(Matter_Plugin_Virt_Sensor_Temp,
0,
&be_class_Matter_Plugin_Sensor_Temp,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2ETemperature) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_temp) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Sensor_Temp)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,27 @@
/* Solidification of Matter_Plugin_9_Virt_Sensor_Waterleak.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Virt_Sensor_Waterleak;
/********************************************************************
** Solidified class: Matter_Plugin_Virt_Sensor_Waterleak
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Waterleak;
be_local_class(Matter_Plugin_Virt_Sensor_Waterleak,
0,
&be_class_Matter_Plugin_Sensor_Waterleak,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(VIRTUAL, 3), be_const_bool(1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(v_X2EWaterleak) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(v_waterleak) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(ARG, 2), be_nested_str_weak() },
})),
be_str_weak(Matter_Plugin_Virt_Sensor_Waterleak)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,58 @@
/* Solidification of Matter_Plugin_9_Zigbee_Humidity.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Zigbee_Humidity;
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Zigbee_Humidity__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040008, // 0000 GETGBL R1 G8
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Zigbee_Humidity
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Humidity;
be_local_class(Matter_Plugin_Zigbee_Humidity,
1,
&be_class_Matter_Plugin_Sensor_Humidity,
be_nested_map(9,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(ARG, 2), be_nested_str_weak(zigbee_device) },
{ be_const_key_weak(ARG_TYPE, 8), be_const_static_closure(class_Matter_Plugin_Zigbee_Humidity__X3Clambda_X3E_closure) },
{ be_const_key_weak(ARG_HINT, 7), be_nested_str_weak(Device) },
{ be_const_key_weak(ZIGBEE, 6), be_const_bool(1) },
{ be_const_key_weak(ZIGBEE_NAME, -1), be_nested_str_weak(Humidity) },
{ be_const_key_weak(VIRTUAL, -1), be_const_bool(1) },
{ be_const_key_weak(zigbee_mapper, -1), be_const_var(0) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Humidity) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(z_humidity) },
})),
be_str_weak(Matter_Plugin_Zigbee_Humidity)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,58 @@
/* Solidification of Matter_Plugin_9_Zigbee_Light0.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Zigbee_Light0;
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Zigbee_Light0__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040008, // 0000 GETGBL R1 G8
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Zigbee_Light0
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light0;
be_local_class(Matter_Plugin_Zigbee_Light0,
1,
&be_class_Matter_Plugin_Light0,
be_nested_map(9,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(ARG, 2), be_nested_str_weak(zigbee_device) },
{ be_const_key_weak(ARG_TYPE, 8), be_const_static_closure(class_Matter_Plugin_Zigbee_Light0__X3Clambda_X3E_closure) },
{ be_const_key_weak(ARG_HINT, 7), be_nested_str_weak(Device) },
{ be_const_key_weak(ZIGBEE, 6), be_const_bool(1) },
{ be_const_key_weak(ZIGBEE_NAME, -1), be_nested_str_weak(Power) },
{ be_const_key_weak(VIRTUAL, -1), be_const_bool(1) },
{ be_const_key_weak(zigbee_mapper, -1), be_const_var(0) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Light_X200_X20OnOff) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(z_light0) },
})),
be_str_weak(Matter_Plugin_Zigbee_Light0)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,57 @@
/* Solidification of Matter_Plugin_9_Zigbee_Light1.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Zigbee_Light1;
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Zigbee_Light1__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040008, // 0000 GETGBL R1 G8
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Zigbee_Light1
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light1;
be_local_class(Matter_Plugin_Zigbee_Light1,
1,
&be_class_Matter_Plugin_Light1,
be_nested_map(8,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Zigbee_Light1__X3Clambda_X3E_closure) },
{ be_const_key_weak(ARG_HINT, 2), be_nested_str_weak(Device) },
{ be_const_key_weak(zigbee_mapper, -1), be_const_var(0) },
{ be_const_key_weak(ZIGBEE, -1), be_const_bool(1) },
{ be_const_key_weak(VIRTUAL, -1), be_const_bool(1) },
{ be_const_key_weak(TYPE, 6), be_nested_str_weak(z_light1) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Light_X201_X20Dimmer) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak(zigbee_device) },
})),
be_str_weak(Matter_Plugin_Zigbee_Light1)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,57 @@
/* Solidification of Matter_Plugin_9_Zigbee_Light2.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Zigbee_Light2;
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Zigbee_Light2__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040008, // 0000 GETGBL R1 G8
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Zigbee_Light2
********************************************************************/
extern const bclass be_class_Matter_Plugin_Light2;
be_local_class(Matter_Plugin_Zigbee_Light2,
1,
&be_class_Matter_Plugin_Light2,
be_nested_map(8,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Zigbee_Light2__X3Clambda_X3E_closure) },
{ be_const_key_weak(ARG_HINT, 2), be_nested_str_weak(Device) },
{ be_const_key_weak(zigbee_mapper, -1), be_const_var(0) },
{ be_const_key_weak(ZIGBEE, -1), be_const_bool(1) },
{ be_const_key_weak(VIRTUAL, -1), be_const_bool(1) },
{ be_const_key_weak(TYPE, 6), be_nested_str_weak(z_light2) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Light_X202_X20CT) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak(zigbee_device) },
})),
be_str_weak(Matter_Plugin_Zigbee_Light2)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,58 @@
/* Solidification of Matter_Plugin_9_Zigbee_Occupancy.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Zigbee_Occupancy;
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Zigbee_Occupancy__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040008, // 0000 GETGBL R1 G8
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Zigbee_Occupancy
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Occupancy;
be_local_class(Matter_Plugin_Zigbee_Occupancy,
1,
&be_class_Matter_Plugin_Sensor_Occupancy,
be_nested_map(9,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(ARG, 2), be_nested_str_weak(zigbee_device) },
{ be_const_key_weak(ARG_TYPE, 8), be_const_static_closure(class_Matter_Plugin_Zigbee_Occupancy__X3Clambda_X3E_closure) },
{ be_const_key_weak(ARG_HINT, 7), be_nested_str_weak(Device) },
{ be_const_key_weak(ZIGBEE, 6), be_const_bool(1) },
{ be_const_key_weak(ZIGBEE_NAME, -1), be_nested_str_weak(Occupancy) },
{ be_const_key_weak(VIRTUAL, -1), be_const_bool(1) },
{ be_const_key_weak(zigbee_mapper, -1), be_const_var(0) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Occupancy) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(z_occupancy) },
})),
be_str_weak(Matter_Plugin_Zigbee_Occupancy)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,58 @@
/* Solidification of Matter_Plugin_9_Zigbee_Pressure.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Zigbee_Pressure;
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Zigbee_Pressure__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040008, // 0000 GETGBL R1 G8
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Zigbee_Pressure
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Pressure;
be_local_class(Matter_Plugin_Zigbee_Pressure,
1,
&be_class_Matter_Plugin_Sensor_Pressure,
be_nested_map(9,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(ARG, 2), be_nested_str_weak(zigbee_device) },
{ be_const_key_weak(ARG_TYPE, 8), be_const_static_closure(class_Matter_Plugin_Zigbee_Pressure__X3Clambda_X3E_closure) },
{ be_const_key_weak(ARG_HINT, 7), be_nested_str_weak(Device) },
{ be_const_key_weak(ZIGBEE, 6), be_const_bool(1) },
{ be_const_key_weak(ZIGBEE_NAME, -1), be_nested_str_weak(Pressure) },
{ be_const_key_weak(VIRTUAL, -1), be_const_bool(1) },
{ be_const_key_weak(zigbee_mapper, -1), be_const_var(0) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Pressure) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(z_pressure) },
})),
be_str_weak(Matter_Plugin_Zigbee_Pressure)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,58 @@
/* Solidification of Matter_Plugin_9_Zigbee_Temperature.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin_Zigbee_Temperature;
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(class_Matter_Plugin_Zigbee_Temperature__X3Clambda_X3E, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040008, // 0000 GETGBL R1 G8
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin_Zigbee_Temperature
********************************************************************/
extern const bclass be_class_Matter_Plugin_Sensor_Temp;
be_local_class(Matter_Plugin_Zigbee_Temperature,
1,
&be_class_Matter_Plugin_Sensor_Temp,
be_nested_map(9,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(ARG, 2), be_nested_str_weak(zigbee_device) },
{ be_const_key_weak(ARG_TYPE, 8), be_const_static_closure(class_Matter_Plugin_Zigbee_Temperature__X3Clambda_X3E_closure) },
{ be_const_key_weak(ARG_HINT, 7), be_nested_str_weak(Device) },
{ be_const_key_weak(ZIGBEE, 6), be_const_bool(1) },
{ be_const_key_weak(ZIGBEE_NAME, -1), be_nested_str_weak(Temperature) },
{ be_const_key_weak(VIRTUAL, -1), be_const_bool(1) },
{ be_const_key_weak(zigbee_mapper, -1), be_const_var(0) },
{ be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Zig_X20Temperature) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(z_temp) },
})),
be_str_weak(Matter_Plugin_Zigbee_Temperature)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,7 @@
/* Solidification of Matter_Plugin_z_All.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,295 @@
/* Solidification of Matter_Profiler.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Profiler' ktab size: 18, total: 43 (saved 200 bytes)
static const bvalue be_ktab_class_Matter_Profiler[18] = {
/* K0 */ be_nested_str_weak(active),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(PREALLOCATED),
/* K3 */ be_nested_str_weak(millis),
/* K4 */ be_nested_str_weak(names),
/* K5 */ be_const_int(1),
/* K6 */ be_nested_str_weak(len),
/* K7 */ be_nested_str_weak(tasmota),
/* 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_nested_str_weak(_X3C_X2D_X2Dend_X2D_X2D_X3E),
/* K16 */ be_nested_str_weak(MTR_X3A_X20Profiler_X20dump_X3A),
/* K17 */ 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 */
0x88040100, // 0000 GETMBR R1 R0 K0
0x74060000, // 0001 JMPT R1 #0003
0x80000200, // 0002 RET 0
0x58040001, // 0003 LDCONST R1 K1
0x88080102, // 0004 GETMBR R2 R0 K2
0x14080202, // 0005 LT R2 R1 R2
0x780A0007, // 0006 JMPF R2 #000F
0x88080103, // 0007 GETMBR R2 R0 K3
0x4C0C0000, // 0008 LDNIL R3
0x98080203, // 0009 SETIDX R2 R1 R3
0x88080104, // 000A GETMBR R2 R0 K4
0x4C0C0000, // 000B LDNIL R3
0x98080203, // 000C SETIDX R2 R1 R3
0x00040305, // 000D ADD R1 R1 K5
0x7001FFF4, // 000E JMP #0004
0x90020D01, // 000F SETMBR R0 K6 K1
0xB80A0E00, // 0010 GETNGBL R2 K7
0x8C080508, // 0011 GETMET R2 R2 K8
0x7C080200, // 0012 CALL R2 1
0x8C080109, // 0013 GETMET R2 R0 K9
0x5810000A, // 0014 LDCONST R4 K10
0x7C080400, // 0015 CALL R2 2
0x80000000, // 0016 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Profiler_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_Matter_Profiler, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[32]) { /* code */
0x50040000, // 0000 LDBOOL R1 0 0
0x90020001, // 0001 SETMBR R0 K0 R1
0x60040012, // 0002 GETGBL R1 G18
0x7C040000, // 0003 CALL R1 0
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
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
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
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
0x90020D01, // 001E SETMBR R0 K6 K1
0x80000000, // 001F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_active
********************************************************************/
be_local_closure(class_Matter_Profiler_set_active, /* name */
be_nested_proto(
4, /* 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_Profiler, /* shared constants */
be_str_weak(set_active),
&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
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: log
********************************************************************/
be_local_closure(class_Matter_Profiler_log, /* 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_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
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
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
0x88100104, // 000E GETMBR R4 R0 K4
0x98100601, // 000F SETIDX R4 R3 R1
0x8810010C, // 0010 GETMBR R4 R0 K12
0x8C14050C, // 0011 GETMET R5 R2 K12
0x7C140200, // 0012 CALL R5 1
0x98100605, // 0013 SETIDX R4 R3 R5
0x8810010D, // 0014 GETMBR R4 R0 K13
0x8C14050D, // 0015 GETMET R5 R2 K13
0x7C140200, // 0016 CALL R5 1
0x98100605, // 0017 SETIDX R4 R3 R5
0x88100106, // 0018 GETMBR R4 R0 K6
0x00100905, // 0019 ADD R4 R4 K5
0x90020C04, // 001A SETMBR R0 K6 R4
0x80000000, // 001B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: dump
********************************************************************/
be_local_closure(class_Matter_Profiler_dump, /* name */
be_nested_proto(
12, /* 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_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
0x8C080109, // 0003 GETMET R2 R0 K9
0x5810000F, // 0004 LDCONST R4 K15
0x7C080400, // 0005 CALL R2 2
0xB80A1200, // 0006 GETNGBL R2 K9
0x580C0010, // 0007 LDCONST R3 K16
0x5C100200, // 0008 MOVE R4 R1
0x7C080400, // 0009 CALL R2 2
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
0x58140005, // 0010 LDCONST R5 K5
0x88180106, // 0011 GETMBR R6 R0 K6
0x14180A06, // 0012 LT R6 R5 R6
0x781A000F, // 0013 JMPF R6 #0024
0xB81A1200, // 0014 GETNGBL R6 K9
0x601C0018, // 0015 GETGBL R7 G24
0x58200011, // 0016 LDCONST R8 K17
0x88240103, // 0017 GETMBR R9 R0 K3
0x94241205, // 0018 GETIDX R9 R9 R5
0x04241202, // 0019 SUB R9 R9 R2
0x8828010C, // 001A GETMBR R10 R0 K12
0x94281405, // 001B GETIDX R10 R10 R5
0x04281403, // 001C SUB R10 R10 R3
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
0x00140B05, // 0022 ADD R5 R5 K5
0x7001FFEC, // 0023 JMP #0011
0x80000000, // 0024 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Profiler
********************************************************************/
be_local_class(Matter_Profiler,
6,
NULL,
be_nested_map(12,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(dump, 8), be_const_closure(class_Matter_Profiler_dump_closure) },
{ be_const_key_weak(millis, 5), be_const_var(0) },
{ be_const_key_weak(reallocs, -1), be_const_var(4) },
{ be_const_key_weak(init, 1), be_const_closure(class_Matter_Profiler_init_closure) },
{ be_const_key_weak(len, -1), be_const_var(5) },
{ be_const_key_weak(active, -1), be_const_var(2) },
{ be_const_key_weak(set_active, -1), be_const_closure(class_Matter_Profiler_set_active_closure) },
{ be_const_key_weak(names, -1), be_const_var(1) },
{ be_const_key_weak(allocs, 10), be_const_var(3) },
{ be_const_key_weak(log, -1), be_const_closure(class_Matter_Profiler_log_closure) },
{ be_const_key_weak(PREALLOCATED, -1), be_const_int(50) },
{ be_const_key_weak(start, 0), be_const_closure(class_Matter_Profiler_start_closure) },
})),
be_str_weak(Matter_Profiler)
);
/********************************************************************/
/* End of solidification */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,841 @@
/* Solidification of Matter_TCP_async.h */
/********************************************************************\
* 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;
/********************************************************************
** Solidified function: read
********************************************************************/
be_local_closure(class_Matter_TCP_async_read, /* 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_Matter_TCP_async, /* shared constants */
be_str_weak(read),
&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
0x7C040200, // 0004 CALL R1 1
0x80040200, // 0005 RET 1 R1
0x4C040000, // 0006 LDNIL R1
0x80040200, // 0007 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: begin
********************************************************************/
be_local_closure(class_Matter_TCP_async_begin, /* 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_TCP_async, /* shared constants */
be_str_weak(begin),
&be_const_str_solidified,
( &(const binstruction[62]) { /* code */
0x8C040103, // 0000 GETMET R1 R0 K3
0x7C040200, // 0001 CALL R1 1
0xB8060800, // 0002 GETNGBL R1 K4
0x8C040305, // 0003 GETMET R1 R1 K5
0x7C040200, // 0004 CALL R1 1
0x94040306, // 0005 GETIDX R1 R1 K6
0x74060006, // 0006 JMPT R1 #000E
0xB8060800, // 0007 GETNGBL R1 K4
0x8C040307, // 0008 GETMET R1 R1 K7
0x7C040200, // 0009 CALL R1 1
0x94040306, // 000A GETIDX R1 R1 K6
0x74060001, // 000B JMPT R1 #000E
0x4C040000, // 000C LDNIL R1
0x80040200, // 000D RET 1 R1
0xB8060800, // 000E GETNGBL R1 K4
0x8C040309, // 000F GETMET R1 R1 K9
0x7C040200, // 0010 CALL R1 1
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
0x8804010F, // 0019 GETMBR R1 R0 K15
0x78060008, // 001A JMPF R1 #0024
0xB8060800, // 001B GETNGBL R1 K4
0x8C040310, // 001C GETMET R1 R1 K16
0x880C010F, // 001D GETMBR R3 R0 K15
0x7C040400, // 001E CALL R1 2
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
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
0xB8062600, // 002B GETNGBL R1 K19
0x60080018, // 002C GETGBL R2 G24
0x580C0014, // 002D LDCONST R3 K20
0x8810010D, // 002E GETMBR R4 R0 K13
0x8814010E, // 002F GETMBR R5 R0 K14
0x7C080600, // 0030 CALL R2 3
0x580C0015, // 0031 LDCONST R3 K21
0x7C040400, // 0032 CALL R1 2
0x8C040116, // 0033 GETMET R1 R0 K22
0x7C040200, // 0034 CALL R1 1
0x5405FFFE, // 0035 LDINT R1 -1
0x90021401, // 0036 SETMBR R0 K10 R1
0x50040000, // 0037 LDBOOL R1 0 0
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
0x80000000, // 003D RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: readbytes
********************************************************************/
be_local_closure(class_Matter_TCP_async_readbytes, /* 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_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
0x8C040318, // 0003 GETMET R1 R1 K24
0x7C040200, // 0004 CALL R1 1
0x80040200, // 0005 RET 1 R1
0x4C040000, // 0006 LDNIL R1
0x80040200, // 0007 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: event_closed
********************************************************************/
be_local_closure(class_Matter_TCP_async_event_closed, /* name */
be_nested_proto(
1, /* 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_TCP_async, /* shared constants */
be_str_weak(event_closed),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: available
********************************************************************/
be_local_closure(class_Matter_TCP_async_available, /* 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_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
0x8C040319, // 0003 GETMET R1 R1 K25
0x7C040200, // 0004 CALL R1 1
0x80040200, // 0005 RET 1 R1
0x80061600, // 0006 RET 1 K11
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: event_listening
********************************************************************/
be_local_closure(class_Matter_TCP_async_event_listening, /* name */
be_nested_proto(
1, /* 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_TCP_async, /* shared constants */
be_str_weak(event_listening),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_timeout
********************************************************************/
be_local_closure(class_Matter_TCP_async_get_timeout, /* name */
be_nested_proto(
2, /* 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_TCP_async, /* shared constants */
be_str_weak(get_timeout),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x8804011A, // 0000 GETMBR R1 R0 K26
0x80040200, // 0001 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_TCP_async_init, /* name */
be_nested_proto(
7, /* nstack */
5, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
be_nested_proto(
2, /* nstack */
0, /* argc */
0, /* varg */
1, /* has upvals */
( &(const bupvaldesc[ 1]) { /* upvals */
be_local_const_upval(1, 0),
}),
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(loop),
}),
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x68000000, // 0000 GETUPV R0 U0
0x8C000100, // 0001 GETMET R0 R0 K0
0x7C000200, // 0002 CALL R0 1
0x80040000, // 0003 RET 1 R0
})
),
}),
1, /* has constants */
&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
0x880C011B, // 0003 GETMBR R3 R0 K27
0x4C140000, // 0004 LDNIL R5
0x1C140405, // 0005 EQ R5 R2 R5
0x78160000, // 0006 JMPF R5 #0008
0x540A004F, // 0007 LDINT R2 80
0x60140008, // 0008 GETGBL R5 G8
0x5C180200, // 0009 MOVE R6 R1
0x7C140200, // 000A CALL R5 1
0x90021A05, // 000B SETMBR R0 K13 R5
0x60140009, // 000C GETGBL R5 G9
0x5C180400, // 000D MOVE R6 R2
0x7C140200, // 000E CALL R5 1
0x90021C05, // 000F SETMBR R0 K14 R5
0x90023403, // 0010 SETMBR R0 K26 R3
0xB8163800, // 0011 GETNGBL R5 K28
0x7C140000, // 0012 CALL R5 0
0x90020205, // 0013 SETMBR R0 K1 R5
0x78120001, // 0014 JMPF R4 #0017
0x84140000, // 0015 CLOSURE R5 P0
0x90021E05, // 0016 SETMBR R0 K15 R5
0xA0000000, // 0017 CLOSE R0
0x80000000, // 0018 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: every_50ms
********************************************************************/
be_local_closure(class_Matter_TCP_async_every_50ms, /* 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_Matter_TCP_async, /* shared constants */
be_str_weak(every_50ms),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x8C04011D, // 0000 GETMET R1 R0 K29
0x7C040200, // 0001 CALL R1 1
0x80000000, // 0002 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: event_timeout
********************************************************************/
be_local_closure(class_Matter_TCP_async_event_timeout, /* name */
be_nested_proto(
1, /* 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_TCP_async, /* shared constants */
be_str_weak(event_timeout),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: event_available
********************************************************************/
be_local_closure(class_Matter_TCP_async_event_available, /* name */
be_nested_proto(
1, /* 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_TCP_async, /* shared constants */
be_str_weak(event_available),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: write
********************************************************************/
be_local_closure(class_Matter_TCP_async_write, /* name */
be_nested_proto(
5, /* 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_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
0x8C08051E, // 0003 GETMET R2 R2 K30
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x80040400, // 0006 RET 1 R2
0x80061600, // 0007 RET 1 K11
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: event_established
********************************************************************/
be_local_closure(class_Matter_TCP_async_event_established, /* name */
be_nested_proto(
1, /* 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_TCP_async, /* shared constants */
be_str_weak(event_established),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: reset
********************************************************************/
be_local_closure(class_Matter_TCP_async_reset, /* 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_Matter_TCP_async, /* shared constants */
be_str_weak(reset),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x88040101, // 0000 GETMBR R1 R0 K1
0x8C040316, // 0001 GETMET R1 R1 K22
0x7C040200, // 0002 CALL R1 1
0x4C040000, // 0003 LDNIL R1
0x90020001, // 0004 SETMBR R0 K0 R1
0x80000000, // 0005 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: loop
********************************************************************/
be_local_closure(class_Matter_TCP_async_loop, /* 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_Matter_TCP_async, /* shared constants */
be_str_weak(loop),
&be_const_str_solidified,
( &(const binstruction[89]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8808010A, // 0001 GETMBR R2 R0 K10
0x4C0C0000, // 0002 LDNIL R3
0x1C080403, // 0003 EQ R2 R2 R3
0x780A0002, // 0004 JMPF R2 #0008
0x8C080116, // 0005 GETMET R2 R0 K22
0x7C080200, // 0006 CALL R2 1
0x80000400, // 0007 RET 0
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
0x1C080202, // 000D EQ R2 R1 R2
0x780A0021, // 000E JMPF R2 #0031
0x88080100, // 000F GETMBR R2 R0 K0
0x500C0200, // 0010 LDBOOL R3 1 0
0x1C080403, // 0011 EQ R2 R2 R3
0x780A0003, // 0012 JMPF R2 #0017
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
0x500C0000, // 0018 LDBOOL R3 0 0
0x1C080403, // 0019 EQ R2 R2 R3
0x780A0007, // 001A JMPF R2 #0023
0x5409FFFD, // 001B LDINT R2 -2
0x90021402, // 001C SETMBR R0 K10 R2
0x8C080122, // 001D GETMET R2 R0 K34
0x7C080200, // 001E CALL R2 1
0x8C080116, // 001F GETMET R2 R0 K22
0x7C080200, // 0020 CALL R2 1
0x80000400, // 0021 RET 0
0x7002000D, // 0022 JMP #0031
0xB80A0800, // 0023 GETNGBL R2 K4
0x8C080509, // 0024 GETMET R2 R2 K9
0x7C080200, // 0025 CALL R2 1
0x880C0108, // 0026 GETMBR R3 R0 K8
0x04080403, // 0027 SUB R2 R2 R3
0x880C011A, // 0028 GETMBR R3 R0 K26
0x24080403, // 0029 GT R2 R2 R3
0x780A0005, // 002A JMPF R2 #0031
0x5409FFFC, // 002B LDINT R2 -3
0x90021402, // 002C SETMBR R0 K10 R2
0x50080000, // 002D LDBOOL R2 0 0
0x90020002, // 002E SETMBR R0 K0 R2
0x8C080123, // 002F GETMET R2 R0 K35
0x7C080200, // 0030 CALL R2 1
0xB80A0800, // 0031 GETNGBL R2 K4
0x8C080509, // 0032 GETMET R2 R2 K9
0x7C080200, // 0033 CALL R2 1
0x880C0108, // 0034 GETMBR R3 R0 K8
0x04080403, // 0035 SUB R2 R2 R3
0x880C011A, // 0036 GETMBR R3 R0 K26
0x24080403, // 0037 GT R2 R2 R3
0x780A0006, // 0038 JMPF R2 #0040
0x8C080116, // 0039 GETMET R2 R0 K22
0x7C080200, // 003A CALL R2 1
0x5409FFFC, // 003B LDINT R2 -3
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
0x500C0000, // 0041 LDBOOL R3 0 0
0x1C080403, // 0042 EQ R2 R2 R3
0x780A0007, // 0043 JMPF R2 #004C
0x50080200, // 0044 LDBOOL R2 1 0
0x1C080202, // 0045 EQ R2 R1 R2
0x780A0001, // 0046 JMPF R2 #0049
0x8C080124, // 0047 GETMET R2 R0 K36
0x7C080200, // 0048 CALL R2 1
0x8C080116, // 0049 GETMET R2 R0 K22
0x7C080200, // 004A CALL R2 1
0x80000400, // 004B RET 0
0x88080101, // 004C GETMBR R2 R0 K1
0x8C080519, // 004D GETMET R2 R2 K25
0x7C080200, // 004E CALL R2 1
0x780A0001, // 004F JMPF R2 #0052
0x8C080125, // 0050 GETMET R2 R0 K37
0x7C080200, // 0051 CALL R2 1
0x88080101, // 0052 GETMBR R2 R0 K1
0x8C080526, // 0053 GETMET R2 R2 K38
0x7C080200, // 0054 CALL R2 1
0x780A0001, // 0055 JMPF R2 #0058
0x8C080127, // 0056 GETMET R2 R0 K39
0x7C080200, // 0057 CALL R2 1
0x80000000, // 0058 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: listening
********************************************************************/
be_local_closure(class_Matter_TCP_async_listening, /* 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_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
0x8C040326, // 0003 GETMET R1 R1 K38
0x7C040200, // 0004 CALL R1 1
0x80040200, // 0005 RET 1 R1
0x50040000, // 0006 LDBOOL R1 0 0
0x80040200, // 0007 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_timeout
********************************************************************/
be_local_closure(class_Matter_TCP_async_set_timeout, /* name */
be_nested_proto(
3, /* 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_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
0x8804011B, // 0003 GETMBR R1 R0 K27
0x90023401, // 0004 SETMBR R0 K26 R1
0x80000000, // 0005 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: event_dnsfailed
********************************************************************/
be_local_closure(class_Matter_TCP_async_event_dnsfailed, /* name */
be_nested_proto(
1, /* 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_TCP_async, /* shared constants */
be_str_weak(event_dnsfailed),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: close
********************************************************************/
be_local_closure(class_Matter_TCP_async_close, /* 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_Matter_TCP_async, /* shared constants */
be_str_weak(close),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x88040101, // 0000 GETMBR R1 R0 K1
0x8C040316, // 0001 GETMET R1 R1 K22
0x7C040200, // 0002 CALL R1 1
0x8804010F, // 0003 GETMBR R1 R0 K15
0x78060004, // 0004 JMPF R1 #000A
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
0xB8060800, // 000A GETNGBL R1 K4
0x8C040328, // 000B GETMET R1 R1 K40
0x5C0C0000, // 000C MOVE R3 R0
0x7C040400, // 000D CALL R1 2
0x88040100, // 000E GETMBR R1 R0 K0
0x50080200, // 000F LDBOOL R2 1 0
0x1C040202, // 0010 EQ R1 R1 R2
0x78060001, // 0011 JMPF R1 #0014
0x8C040124, // 0012 GETMET R1 R0 K36
0x7C040200, // 0013 CALL R1 1
0x50040000, // 0014 LDBOOL R1 0 0
0x90020001, // 0015 SETMBR R0 K0 R1
0x80000000, // 0016 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: event_refused
********************************************************************/
be_local_closure(class_Matter_TCP_async_event_refused, /* name */
be_nested_proto(
1, /* 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_TCP_async, /* shared constants */
be_str_weak(event_refused),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_TCP_async
********************************************************************/
be_local_class(Matter_TCP_async,
8,
NULL,
be_nested_map(29,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(read, 13), be_const_closure(class_Matter_TCP_async_read_closure) },
{ be_const_key_weak(addr, -1), be_const_var(0) },
{ be_const_key_weak(event_refused, -1), be_const_closure(class_Matter_TCP_async_event_refused_closure) },
{ be_const_key_weak(begin, -1), be_const_closure(class_Matter_TCP_async_begin_closure) },
{ be_const_key_weak(readbytes, -1), be_const_closure(class_Matter_TCP_async_readbytes_closure) },
{ be_const_key_weak(event_closed, 11), be_const_closure(class_Matter_TCP_async_event_closed_closure) },
{ be_const_key_weak(event_listening, -1), be_const_closure(class_Matter_TCP_async_event_listening_closure) },
{ be_const_key_weak(tcp_connected, -1), be_const_var(5) },
{ be_const_key_weak(get_timeout, -1), be_const_closure(class_Matter_TCP_async_get_timeout_closure) },
{ be_const_key_weak(timeout, 18), be_const_var(2) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_TCP_async_init_closure) },
{ be_const_key_weak(event_timeout, 6), be_const_closure(class_Matter_TCP_async_event_timeout_closure) },
{ be_const_key_weak(set_timeout, -1), be_const_closure(class_Matter_TCP_async_set_timeout_closure) },
{ be_const_key_weak(listening, 23), be_const_closure(class_Matter_TCP_async_listening_closure) },
{ be_const_key_weak(tcp, -1), be_const_var(3) },
{ be_const_key_weak(event_available, -1), be_const_closure(class_Matter_TCP_async_event_available_closure) },
{ be_const_key_weak(write, -1), be_const_closure(class_Matter_TCP_async_write_closure) },
{ be_const_key_weak(event_established, -1), be_const_closure(class_Matter_TCP_async_event_established_closure) },
{ be_const_key_weak(TIMEOUT, 7), be_const_int(1000) },
{ be_const_key_weak(time_start, 22), be_const_var(4) },
{ be_const_key_weak(reset, -1), be_const_closure(class_Matter_TCP_async_reset_closure) },
{ be_const_key_weak(loop, -1), be_const_closure(class_Matter_TCP_async_loop_closure) },
{ be_const_key_weak(status, -1), be_const_var(6) },
{ be_const_key_weak(port, -1), be_const_var(1) },
{ be_const_key_weak(every_50ms, 12), be_const_closure(class_Matter_TCP_async_every_50ms_closure) },
{ be_const_key_weak(fast_loop, -1), be_const_var(7) },
{ be_const_key_weak(event_dnsfailed, -1), be_const_closure(class_Matter_TCP_async_event_dnsfailed_closure) },
{ be_const_key_weak(close, -1), be_const_closure(class_Matter_TCP_async_close_closure) },
{ be_const_key_weak(available, 2), be_const_closure(class_Matter_TCP_async_available_closure) },
})),
be_str_weak(Matter_TCP_async)
);
/********************************************************************/
/* End of solidification */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,820 @@
/* Solidification of Matter_UDPServer.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_UDPPacket_sent;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_UDPPacket_sent_init, /* name */
be_nested_proto(
6, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[19]) { /* constants */
/* K0 */ be_nested_str_weak(raw),
/* K1 */ be_nested_str_weak(addr),
/* K2 */ be_nested_str_weak(remote_ip),
/* K3 */ be_nested_str_weak(port),
/* K4 */ be_nested_str_weak(remote_port),
/* K5 */ be_nested_str_weak(msg_id),
/* K6 */ be_nested_str_weak(x_flag_r),
/* K7 */ be_nested_str_weak(message_counter),
/* K8 */ be_nested_str_weak(exchange_id),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str_weak(session_id),
/* K11 */ be_nested_str_weak(local_session_id),
/* K12 */ be_nested_str_weak(retries),
/* K13 */ be_nested_str_weak(next_try),
/* K14 */ be_nested_str_weak(tasmota),
/* K15 */ be_nested_str_weak(millis),
/* K16 */ be_nested_str_weak(matter),
/* K17 */ be_nested_str_weak(UDPServer),
/* K18 */ be_nested_str_weak(_backoff_time),
}),
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[40]) { /* code */
0x88080300, // 0000 GETMBR R2 R1 K0
0x90020002, // 0001 SETMBR R0 K0 R2
0x88080302, // 0002 GETMBR R2 R1 K2
0x90020202, // 0003 SETMBR R0 K1 R2
0x88080304, // 0004 GETMBR R2 R1 K4
0x90020602, // 0005 SETMBR R0 K3 R2
0x88080306, // 0006 GETMBR R2 R1 K6
0x780A0001, // 0007 JMPF R2 #000A
0x88080307, // 0008 GETMBR R2 R1 K7
0x70020000, // 0009 JMP #000B
0x4C080000, // 000A LDNIL R2
0x90020A02, // 000B SETMBR R0 K5 R2
0x88080308, // 000C GETMBR R2 R1 K8
0x4C0C0000, // 000D LDNIL R3
0x20080403, // 000E NE R2 R2 R3
0x780A0001, // 000F JMPF R2 #0012
0x88080308, // 0010 GETMBR R2 R1 K8
0x70020000, // 0011 JMP #0013
0x58080009, // 0012 LDCONST R2 K9
0x90021002, // 0013 SETMBR R0 K8 R2
0x8808030B, // 0014 GETMBR R2 R1 K11
0x4C0C0000, // 0015 LDNIL R3
0x20080403, // 0016 NE R2 R2 R3
0x780A0001, // 0017 JMPF R2 #001A
0x8808030B, // 0018 GETMBR R2 R1 K11
0x70020000, // 0019 JMP #001B
0x58080009, // 001A LDCONST R2 K9
0x90021402, // 001B SETMBR R0 K10 R2
0x90021909, // 001C SETMBR R0 K12 K9
0xB80A1C00, // 001D GETNGBL R2 K14
0x8C08050F, // 001E GETMET R2 R2 K15
0x7C080200, // 001F CALL R2 1
0xB80E2000, // 0020 GETNGBL R3 K16
0x880C0711, // 0021 GETMBR R3 R3 K17
0x8C0C0712, // 0022 GETMET R3 R3 K18
0x8814010C, // 0023 GETMBR R5 R0 K12
0x7C0C0400, // 0024 CALL R3 2
0x00080403, // 0025 ADD R2 R2 R3
0x90021A02, // 0026 SETMBR R0 K13 R2
0x80000000, // 0027 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_UDPPacket_sent
********************************************************************/
be_local_class(Matter_UDPPacket_sent,
8,
NULL,
be_nested_map(9,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(next_try, -1), be_const_var(7) },
{ be_const_key_weak(session_id, 8), be_const_var(5) },
{ be_const_key_weak(retries, 3), be_const_var(6) },
{ be_const_key_weak(addr, -1), be_const_var(1) },
{ be_const_key_weak(port, 0), be_const_var(2) },
{ be_const_key_weak(raw, -1), be_const_var(0) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_UDPPacket_sent_init_closure) },
{ be_const_key_weak(exchange_id, -1), be_const_var(4) },
{ be_const_key_weak(msg_id, -1), be_const_var(3) },
})),
be_str_weak(Matter_UDPPacket_sent)
);
extern const bclass be_class_Matter_UDPServer;
// compact class 'Matter_UDPServer' ktab size: 61, total: 103 (saved 336 bytes)
static const bvalue be_ktab_class_Matter_UDPServer[61] = {
/* 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_nested_str_weak(time_reached),
/* K38 */ be_nested_str_weak(next_try),
/* K39 */ be_nested_str_weak(retries),
/* K40 */ be_nested_str_weak(RETRIES),
/* K41 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Resending_X20packet_X20id_X3D),
/* K42 */ be_nested_str_weak(millis),
/* K43 */ be_nested_str_weak(_backoff_time),
/* K44 */ 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),
/* K45 */ be_nested_str_weak(session_id),
/* K46 */ be_const_class(be_class_Matter_UDPServer),
/* K47 */ be_nested_str_weak(math),
/* K48 */ be_nested_str_weak(rand),
/* K49 */ be_const_real_hex(0x3FCCCCCD),
/* K50 */ be_const_real_hex(0x3F800000),
/* K51 */ be_const_real_hex(0x3E800000),
/* K52 */ be_nested_str_weak(profiler),
/* K53 */ be_nested_str_weak(read),
/* K54 */ be_nested_str_weak(packet),
/* K55 */ be_nested_str_weak(start),
/* K56 */ be_nested_str_weak(MTR_X3A_X20UDP_X20received_X20from_X20_X5B_X25s_X5D_X3A_X25i),
/* K57 */ be_nested_str_weak(dump),
/* K58 */ be_const_int(2),
/* K59 */ be_nested_str_weak(MAX_PACKETS_READ),
/* K60 */ be_nested_str_weak(_resend_packets),
};
extern const bclass be_class_Matter_UDPServer;
/********************************************************************
** Solidified function: every_50ms
********************************************************************/
be_local_closure(class_Matter_UDPServer_every_50ms, /* 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_Matter_UDPServer, /* shared constants */
be_str_weak(every_50ms),
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x7C040200, // 0001 CALL R1 1
0x80000000, // 0002 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: send_UDP
********************************************************************/
be_local_closure(class_Matter_UDPServer_send_UDP, /* name */
be_nested_proto(
6, /* 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_UDPServer, /* shared constants */
be_str_weak(send_UDP),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0xB80A0200, // 0000 GETNGBL R2 K1
0x8C080502, // 0001 GETMET R2 R2 K2
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x8C0C0103, // 0004 GETMET R3 R0 K3
0x5C140400, // 0005 MOVE R5 R2
0x7C0C0400, // 0006 CALL R3 2
0x880C0504, // 0007 GETMBR R3 R2 K4
0x780E0003, // 0008 JMPF R3 #000D
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
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: received_ack
********************************************************************/
be_local_closure(class_Matter_UDPServer_received_ack, /* name */
be_nested_proto(
9, /* 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_UDPServer, /* shared constants */
be_str_weak(received_ack),
&be_const_str_solidified,
( &(const binstruction[40]) { /* code */
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
0x58100009, // 0006 LDCONST R4 K9
0x6014000C, // 0007 GETGBL R5 G12
0x88180105, // 0008 GETMBR R6 R0 K5
0x7C140200, // 0009 CALL R5 1
0x14140805, // 000A LT R5 R4 R5
0x7816001A, // 000B JMPF R5 #0027
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
0x88180B08, // 0011 GETMBR R6 R5 K8
0x1C180C03, // 0012 EQ R6 R6 R3
0x781A0010, // 0013 JMPF R6 #0025
0x88180105, // 0014 GETMBR R6 R0 K5
0x8C180D0A, // 0015 GETMET R6 R6 K10
0x5C200800, // 0016 MOVE R8 R4
0x7C180400, // 0017 CALL R6 2
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
0xB81A1A00, // 001D GETNGBL R6 K13
0x601C0008, // 001E GETGBL R7 G8
0x5C200400, // 001F MOVE R8 R2
0x7C1C0200, // 0020 CALL R7 1
0x001E1C07, // 0021 ADD R7 K14 R7
0x54220003, // 0022 LDINT R8 4
0x7C180400, // 0023 CALL R6 2
0x70020000, // 0024 JMP #0026
0x0010090F, // 0025 ADD R4 R4 K15
0x7001FFDF, // 0026 JMP #0007
0x80000000, // 0027 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_Matter_UDPServer_start, /* name */
be_nested_proto(
6, /* 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_UDPServer, /* shared constants */
be_str_weak(start),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x88080110, // 0000 GETMBR R2 R0 K16
0x740A0011, // 0001 JMPT R2 #0014
0xB80A2400, // 0002 GETNGBL R2 K18
0x7C080000, // 0003 CALL R2 0
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
0xB0062D17, // 000C RAISE 1 K22 K23
0x500C0200, // 000D LDBOOL R3 1 0
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
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: send
********************************************************************/
be_local_closure(class_Matter_UDPServer_send, /* name */
be_nested_proto(
8, /* 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_UDPServer, /* shared constants */
be_str_weak(send),
&be_const_str_solidified,
( &(const binstruction[45]) { /* code */
0x88080111, // 0000 GETMBR R2 R0 K17
0x8C080503, // 0001 GETMET R2 R2 K3
0x88100314, // 0002 GETMBR R4 R1 K20
0x78120001, // 0003 JMPF R4 #0006
0x88100314, // 0004 GETMBR R4 R1 K20
0x70020001, // 0005 JMP #0008
0x88100111, // 0006 GETMBR R4 R0 K17
0x8810091B, // 0007 GETMBR R4 R4 K27
0x88140315, // 0008 GETMBR R5 R1 K21
0x78160001, // 0009 JMPF R5 #000C
0x88140315, // 000A GETMBR R5 R1 K21
0x70020001, // 000B JMP #000E
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
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
0xB80E1A00, // 0016 GETNGBL R3 K13
0x60100018, // 0017 GETGBL R4 G24
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
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
0xB80E1A00, // 0024 GETNGBL R3 K13
0x60100018, // 0025 GETGBL R4 G24
0x58140020, // 0026 LDCONST R5 K32
0x88180314, // 0027 GETMBR R6 R1 K20
0x881C0315, // 0028 GETMBR R7 R1 K21
0x7C100600, // 0029 CALL R4 3
0x5814001F, // 002A LDCONST R5 K31
0x7C0C0400, // 002B CALL R3 2
0x80040400, // 002C RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: stop
********************************************************************/
be_local_closure(class_Matter_UDPServer_stop, /* 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_Matter_UDPServer, /* shared constants */
be_str_weak(stop),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88040110, // 0000 GETMBR R1 R0 K16
0x78060008, // 0001 JMPF R1 #000B
0x88040111, // 0002 GETMBR R1 R0 K17
0x8C040321, // 0003 GETMET R1 R1 K33
0x7C040200, // 0004 CALL R1 1
0x50040000, // 0005 LDBOOL R1 0 0
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
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_UDPServer_init, /* name */
be_nested_proto(
5, /* nstack */
4, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
be_nested_proto(
2, /* nstack */
0, /* argc */
0, /* varg */
1, /* has upvals */
( &(const bupvaldesc[ 1]) { /* upvals */
be_local_const_upval(1, 0),
}),
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(loop),
}),
be_str_weak(_anonymous_),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x68000000, // 0000 GETUPV R0 U0
0x8C000100, // 0001 GETMET R0 R0 K0
0x7C000200, // 0002 CALL R0 1
0x80000000, // 0003 RET 0
})
),
}),
1, /* has constants */
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0x90024601, // 0000 SETMBR R0 K35 R1
0x780A0001, // 0001 JMPF R2 #0004
0x5C100400, // 0002 MOVE R4 R2
0x70020000, // 0003 JMP #0005
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
0x90022A04, // 000A SETMBR R0 K21 R4
0x50100000, // 000B LDBOOL R4 0 0
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
0x90023404, // 0011 SETMBR R0 K26 R4
0xA0000000, // 0012 CLOSE R0
0x80000000, // 0013 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: _resend_packets
********************************************************************/
be_local_closure(class_Matter_UDPServer__resend_packets, /* name */
be_nested_proto(
10, /* 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_UDPServer, /* shared constants */
be_str_weak(_resend_packets),
&be_const_str_solidified,
( &(const binstruction[58]) { /* code */
0x58040009, // 0000 LDCONST R1 K9
0x6008000C, // 0001 GETGBL R2 G12
0x880C0105, // 0002 GETMBR R3 R0 K5
0x7C080200, // 0003 CALL R2 1
0x14080202, // 0004 LT R2 R1 R2
0x780A0032, // 0005 JMPF R2 #0039
0x88080105, // 0006 GETMBR R2 R0 K5
0x94080401, // 0007 GETIDX R2 R2 R1
0xB80E1600, // 0008 GETNGBL R3 K11
0x8C0C0725, // 0009 GETMET R3 R3 K37
0x88140526, // 000A GETMBR R5 R2 K38
0x7C0C0400, // 000B CALL R3 2
0x780E0029, // 000C JMPF R3 #0037
0x880C0527, // 000D GETMBR R3 R2 K39
0x88100128, // 000E GETMBR R4 R0 K40
0x180C0604, // 000F LE R3 R3 R4
0x780E0016, // 0010 JMPF R3 #0028
0xB80E1A00, // 0011 GETNGBL R3 K13
0x60100008, // 0012 GETGBL R4 G8
0x88140504, // 0013 GETMBR R5 R2 K4
0x7C100200, // 0014 CALL R4 1
0x00125204, // 0015 ADD R4 K41 R4
0x54160003, // 0016 LDINT R5 4
0x7C0C0400, // 0017 CALL R3 2
0x8C0C0103, // 0018 GETMET R3 R0 K3
0x5C140400, // 0019 MOVE R5 R2
0x7C0C0400, // 001A CALL R3 2
0xB80E1600, // 001B GETNGBL R3 K11
0x8C0C072A, // 001C GETMET R3 R3 K42
0x7C0C0200, // 001D CALL R3 1
0x8C10012B, // 001E GETMET R4 R0 K43
0x88180527, // 001F GETMBR R6 R2 K39
0x7C100400, // 0020 CALL R4 2
0x000C0604, // 0021 ADD R3 R3 R4
0x900A4C03, // 0022 SETMBR R2 K38 R3
0x880C0527, // 0023 GETMBR R3 R2 K39
0x000C070F, // 0024 ADD R3 R3 K15
0x900A4E03, // 0025 SETMBR R2 K39 R3
0x0004030F, // 0026 ADD R1 R1 K15
0x7002000D, // 0027 JMP #0036
0x880C0105, // 0028 GETMBR R3 R0 K5
0x8C0C070A, // 0029 GETMET R3 R3 K10
0x5C140200, // 002A MOVE R5 R1
0x7C0C0400, // 002B CALL R3 2
0xB80E1A00, // 002C GETNGBL R3 K13
0x60100018, // 002D GETGBL R4 G24
0x5814002C, // 002E LDCONST R5 K44
0x8818052D, // 002F GETMBR R6 R2 K45
0x881C0514, // 0030 GETMBR R7 R2 K20
0x88200515, // 0031 GETMBR R8 R2 K21
0x88240504, // 0032 GETMBR R9 R2 K4
0x7C100A00, // 0033 CALL R4 5
0x5814001F, // 0034 LDCONST R5 K31
0x7C0C0400, // 0035 CALL R3 2
0x70020000, // 0036 JMP #0038
0x0004030F, // 0037 ADD R1 R1 K15
0x7001FFC7, // 0038 JMP #0001
0x80000000, // 0039 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: _backoff_time
********************************************************************/
be_local_closure(class_Matter_UDPServer__backoff_time, /* name */
be_nested_proto(
10, /* nstack */
1, /* argc */
12, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
be_nested_proto(
4, /* nstack */
2, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_const_int(1),
/* K1 */ be_const_int(0),
}),
be_str_weak(power_int),
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x58080000, // 0000 LDCONST R2 K0
0x240C0301, // 0001 GT R3 R1 K1
0x780E0002, // 0002 JMPF R3 #0006
0x08080400, // 0003 MUL R2 R2 R0
0x04040300, // 0004 SUB R1 R1 K0
0x7001FFFA, // 0005 JMP #0001
0x80040400, // 0006 RET 1 R2
})
),
}),
1, /* has constants */
&be_ktab_class_Matter_UDPServer, /* shared constants */
be_str_weak(_backoff_time),
&be_const_str_solidified,
( &(const binstruction[29]) { /* code */
0x5804002E, // 0000 LDCONST R1 K46
0x84080000, // 0001 CLOSURE R2 P0
0xA40E5E00, // 0002 IMPORT R3 K47
0x5412012B, // 0003 LDINT R4 300
0x6014000A, // 0004 GETGBL R5 G10
0x8C180730, // 0005 GETMET R6 R3 K48
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
0x24180109, // 000C GT R6 R0 K9
0x781A0001, // 000D JMPF R6 #0010
0x0418010F, // 000E SUB R6 R0 K15
0x70020000, // 000F JMP #0011
0x58180009, // 0010 LDCONST R6 K9
0x5C1C0400, // 0011 MOVE R7 R2
0x58200031, // 0012 LDCONST R8 K49
0x5C240C00, // 0013 MOVE R9 R6
0x7C1C0400, // 0014 CALL R7 2
0x081C0807, // 0015 MUL R7 R4 R7
0x08200B33, // 0016 MUL R8 R5 K51
0x00226408, // 0017 ADD R8 K50 R8
0x081C0E08, // 0018 MUL R7 R7 R8
0x60200009, // 0019 GETGBL R8 G9
0x5C240E00, // 001A MOVE R9 R7
0x7C200200, // 001B CALL R8 1
0x80041000, // 001C RET 1 R8
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: loop
********************************************************************/
be_local_closure(class_Matter_UDPServer_loop, /* name */
be_nested_proto(
11, /* 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_UDPServer, /* shared constants */
be_str_weak(loop),
&be_const_str_solidified,
( &(const binstruction[59]) { /* code */
0xB8060200, // 0000 GETNGBL R1 K1
0x88040334, // 0001 GETMBR R1 R1 K52
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
0x880C0111, // 0008 GETMBR R3 R0 K17
0x8C0C0735, // 0009 GETMET R3 R3 K53
0x88140136, // 000A GETMBR R5 R0 K54
0x7C0C0400, // 000B CALL R3 2
0x4C100000, // 000C LDNIL R4
0x20100604, // 000D NE R4 R3 R4
0x78120028, // 000E JMPF R4 #0038
0x8C100337, // 000F GETMET R4 R1 K55
0x7C100200, // 0010 CALL R4 1
0x90026C03, // 0011 SETMBR R0 K54 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
0xB81A1A00, // 001C GETNGBL R6 K13
0x601C0018, // 001D GETGBL R7 G24
0x58200038, // 001E LDCONST R8 K56
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
0x88180118, // 0024 GETMBR R6 R0 K24
0x781A0004, // 0025 JMPF R6 #002B
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
0x8C180339, // 002B GETMET R6 R1 K57
0x5820003A, // 002C LDCONST R8 K58
0x7C180400, // 002D CALL R6 2
0x8818013B, // 002E GETMBR R6 R0 K59
0x14180406, // 002F LT R6 R2 R6
0x781A0004, // 0030 JMPF R6 #0036
0x88180111, // 0031 GETMBR R6 R0 K17
0x8C180D35, // 0032 GETMET R6 R6 K53
0x7C180200, // 0033 CALL R6 1
0x5C0C0C00, // 0034 MOVE R3 R6
0x70020000, // 0035 JMP #0037
0x4C0C0000, // 0036 LDNIL R3
0x7001FFD3, // 0037 JMP #000C
0x8C10013C, // 0038 GETMET R4 R0 K60
0x7C100200, // 0039 CALL R4 1
0x80000000, // 003A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: every_second
********************************************************************/
be_local_closure(class_Matter_UDPServer_every_second, /* name */
be_nested_proto(
1, /* 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_UDPServer, /* shared constants */
be_str_weak(every_second),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_UDPServer
********************************************************************/
be_local_class(Matter_UDPServer,
9,
NULL,
be_nested_map(22,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(every_50ms, -1), be_const_closure(class_Matter_UDPServer_every_50ms_closure) },
{ be_const_key_weak(send_UDP, -1), be_const_closure(class_Matter_UDPServer_send_UDP_closure) },
{ be_const_key_weak(received_ack, -1), be_const_closure(class_Matter_UDPServer_received_ack_closure) },
{ be_const_key_weak(every_second, -1), be_const_closure(class_Matter_UDPServer_every_second_closure) },
{ be_const_key_weak(stop, 18), be_const_closure(class_Matter_UDPServer_stop_closure) },
{ be_const_key_weak(start, 4), be_const_closure(class_Matter_UDPServer_start_closure) },
{ be_const_key_weak(listening, -1), be_const_var(3) },
{ be_const_key_weak(send, -1), be_const_closure(class_Matter_UDPServer_send_closure) },
{ be_const_key_weak(loop, -1), be_const_closure(class_Matter_UDPServer_loop_closure) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_UDPServer_init_closure) },
{ be_const_key_weak(udp_socket, 6), be_const_var(4) },
{ be_const_key_weak(packet, -1), be_const_var(8) },
{ be_const_key_weak(_backoff_time, -1), be_const_static_closure(class_Matter_UDPServer__backoff_time_closure) },
{ be_const_key_weak(_resend_packets, -1), be_const_closure(class_Matter_UDPServer__resend_packets_closure) },
{ be_const_key_weak(addr, -1), be_const_var(0) },
{ be_const_key_weak(dispatch_cb, 8), be_const_var(5) },
{ be_const_key_weak(port, 12), be_const_var(1) },
{ be_const_key_weak(packets_sent, -1), be_const_var(6) },
{ be_const_key_weak(device, -1), be_const_var(2) },
{ be_const_key_weak(loop_cb, -1), be_const_var(7) },
{ be_const_key_weak(MAX_PACKETS_READ, -1), be_const_int(4) },
{ be_const_key_weak(RETRIES, 3), be_const_int(5) },
})),
be_str_weak(Matter_UDPServer)
);
/********************************************************************/
/* End of solidification */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,728 @@
/* Solidification of Matter_z_Autoconf.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Autoconf' ktab size: 73, total: 90 (saved 136 bytes)
static const bvalue be_ktab_class_Matter_Autoconf[73] = {
/* K0 */ be_nested_str_weak(device),
/* K1 */ be_nested_str_weak(k2l_num),
/* K2 */ be_nested_str_weak(plugins),
/* K3 */ be_nested_str_weak(push),
/* K4 */ be_nested_str_weak(matter),
/* K5 */ be_nested_str_weak(Plugin_Root),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(log),
/* K8 */ be_nested_str_weak(MTR_X3A_X20Configuring_X20endpoints),
/* K9 */ be_const_int(2),
/* K10 */ be_nested_str_weak(MTR_X3A_X20_X20_X20endpoint_X20_X3D_X20_X255i_X20type_X3A_X25s_X25s),
/* K11 */ be_nested_str_weak(root),
/* K12 */ be_nested_str_weak(),
/* K13 */ be_nested_str_weak(Plugin_Aggregator),
/* K14 */ be_nested_str_weak(AGGREGATOR_ENDPOINT),
/* K15 */ be_nested_str_weak(aggregator),
/* K16 */ be_nested_str_weak(find),
/* K17 */ be_nested_str_weak(type),
/* K18 */ be_nested_str_weak(MTR_X3A_X20no_X20class_X20name_X2C_X20skipping),
/* K19 */ be_const_int(3),
/* K20 */ be_nested_str_weak(MTR_X3A_X20only_X20one_X20root_X20node_X20allowed),
/* K21 */ be_nested_str_weak(plugins_classes),
/* K22 */ be_nested_str_weak(MTR_X3A_X20unknown_X20class_X20name_X20_X27),
/* K23 */ be_nested_str_weak(_X27_X20skipping),
/* K24 */ be_nested_str_weak(conf_to_log),
/* K25 */ be_nested_str_weak(MTR_X3A_X20Exception),
/* K26 */ be_nested_str_weak(_X7C),
/* K27 */ be_nested_str_weak(stop_iteration),
/* K28 */ be_nested_str_weak(tasmota),
/* K29 */ be_nested_str_weak(publish_result),
/* K30 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Initialized_X22_X3A1_X7D_X7D),
/* K31 */ be_nested_str_weak(Matter),
/* K32 */ be_nested_str_weak(json),
/* K33 */ be_nested_str_weak(START_ENDPOINT),
/* K34 */ be_nested_str_weak(light),
/* K35 */ be_nested_str_weak(get),
/* K36 */ be_nested_str_weak(channels),
/* K37 */ be_const_int(1),
/* K38 */ be_nested_str_weak(light1),
/* K39 */ be_nested_str_weak(light2),
/* K40 */ be_nested_str_weak(light3),
/* K41 */ be_nested_str_weak(cmd),
/* K42 */ be_nested_str_weak(Status_X2013),
/* K43 */ be_nested_str_weak(MTR_X3A_X20Status_X2013_X20_X3D_X20),
/* K44 */ be_nested_str_weak(contains),
/* K45 */ be_nested_str_weak(StatusSHT),
/* K46 */ be_nested_str_weak(SHT),
/* K47 */ be_nested_str_weak(MTR_X3A_X20_X27_X25s_X27_X20_X3D_X20_X25s),
/* K48 */ be_nested_str_weak(Relay1),
/* K49 */ be_nested_str_weak(Relay2),
/* K50 */ be_nested_str_weak(MTR_X3A_X20relay1_X3D_X25s_X20relay2_X3D_X25s),
/* K51 */ be_nested_str_weak(TiltConfig),
/* K52 */ be_nested_str_weak(shutter_X2Btilt),
/* K53 */ be_nested_str_weak(shutter),
/* K54 */ be_nested_str_weak(get_power),
/* K55 */ be_nested_str_weak(relay),
/* K56 */ be_nested_str_weak(load),
/* K57 */ be_nested_str_weak(read_sensors),
/* K58 */ be_nested_str_weak(autoconf_sensors_list),
/* K59 */ be_nested_str_weak(k2l),
/* K60 */ be_nested_str_weak(Temperature),
/* K61 */ be_nested_str_weak(_X23Temperature),
/* K62 */ be_nested_str_weak(temperature),
/* K63 */ be_nested_str_weak(filter),
/* K64 */ be_nested_str_weak(Pressure),
/* K65 */ be_nested_str_weak(_X23Pressure),
/* K66 */ be_nested_str_weak(pressure),
/* K67 */ be_nested_str_weak(Illuminance),
/* K68 */ be_nested_str_weak(_X23Illuminance),
/* K69 */ be_nested_str_weak(illuminance),
/* K70 */ be_nested_str_weak(Humidity),
/* K71 */ be_nested_str_weak(_X23Humidity),
/* K72 */ be_nested_str_weak(humidity),
};
extern const bclass be_class_Matter_Autoconf;
/********************************************************************
** Solidified function: instantiate_plugins_from_config
********************************************************************/
be_local_closure(class_Matter_Autoconf_instantiate_plugins_from_config, /* name */
be_nested_proto(
18, /* 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_Autoconf, /* shared constants */
be_str_weak(instantiate_plugins_from_config),
&be_const_str_solidified,
( &(const binstruction[148]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x880C0100, // 0004 GETMBR R3 R0 K0
0x880C0702, // 0005 GETMBR R3 R3 K2
0x8C100703, // 0006 GETMET R4 R3 K3
0xB81A0800, // 0007 GETNGBL R6 K4
0x8C180D05, // 0008 GETMET R6 R6 K5
0x88200100, // 0009 GETMBR R8 R0 K0
0x58240006, // 000A LDCONST R9 K6
0x60280013, // 000B GETGBL R10 G19
0x7C280000, // 000C CALL R10 0
0x7C180800, // 000D CALL R6 4
0x7C100400, // 000E CALL R4 2
0xB8120E00, // 000F GETNGBL R4 K7
0x58140008, // 0010 LDCONST R5 K8
0x58180009, // 0011 LDCONST R6 K9
0x7C100400, // 0012 CALL R4 2
0xB8120E00, // 0013 GETNGBL R4 K7
0x60140018, // 0014 GETGBL R5 G24
0x5818000A, // 0015 LDCONST R6 K10
0x581C0006, // 0016 LDCONST R7 K6
0x5820000B, // 0017 LDCONST R8 K11
0x5824000C, // 0018 LDCONST R9 K12
0x7C140800, // 0019 CALL R5 4
0x58180009, // 001A LDCONST R6 K9
0x7C100400, // 001B CALL R4 2
0x8C100703, // 001C GETMET R4 R3 K3
0xB81A0800, // 001D GETNGBL R6 K4
0x8C180D0D, // 001E GETMET R6 R6 K13
0x88200100, // 001F GETMBR R8 R0 K0
0xB8260800, // 0020 GETNGBL R9 K4
0x8824130E, // 0021 GETMBR R9 R9 K14
0x60280013, // 0022 GETGBL R10 G19
0x7C280000, // 0023 CALL R10 0
0x7C180800, // 0024 CALL R6 4
0x7C100400, // 0025 CALL R4 2
0xB8120E00, // 0026 GETNGBL R4 K7
0x60140018, // 0027 GETGBL R5 G24
0x5818000A, // 0028 LDCONST R6 K10
0xB81E0800, // 0029 GETNGBL R7 K4
0x881C0F0E, // 002A GETMBR R7 R7 K14
0x5820000F, // 002B LDCONST R8 K15
0x5824000C, // 002C LDCONST R9 K12
0x7C140800, // 002D CALL R5 4
0x58180009, // 002E LDCONST R6 K9
0x7C100400, // 002F CALL R4 2
0x60100010, // 0030 GETGBL R4 G16
0x5C140400, // 0031 MOVE R5 R2
0x7C100200, // 0032 CALL R4 1
0xA8020056, // 0033 EXBLK 0 #008B
0x5C140800, // 0034 MOVE R5 R4
0x7C140000, // 0035 CALL R5 0
0x1C180B06, // 0036 EQ R6 R5 K6
0x781A0000, // 0037 JMPF R6 #0039
0x7001FFFA, // 0038 JMP #0034
0xA802003F, // 0039 EXBLK 0 #007A
0x60180008, // 003A GETGBL R6 G8
0x5C1C0A00, // 003B MOVE R7 R5
0x7C180200, // 003C CALL R6 1
0x94180206, // 003D GETIDX R6 R1 R6
0x8C1C0D10, // 003E GETMET R7 R6 K16
0x58240011, // 003F LDCONST R9 K17
0x7C1C0400, // 0040 CALL R7 2
0x4C200000, // 0041 LDNIL R8
0x1C200E08, // 0042 EQ R8 R7 R8
0x78220005, // 0043 JMPF R8 #004A
0xB8220E00, // 0044 GETNGBL R8 K7
0x58240012, // 0045 LDCONST R9 K18
0x58280013, // 0046 LDCONST R10 K19
0x7C200400, // 0047 CALL R8 2
0xA8040001, // 0048 EXBLK 1 1
0x7001FFE9, // 0049 JMP #0034
0x1C200F0B, // 004A EQ R8 R7 K11
0x78220005, // 004B JMPF R8 #0052
0xB8220E00, // 004C GETNGBL R8 K7
0x58240014, // 004D LDCONST R9 K20
0x58280013, // 004E LDCONST R10 K19
0x7C200400, // 004F CALL R8 2
0xA8040001, // 0050 EXBLK 1 1
0x7001FFE1, // 0051 JMP #0034
0x88200100, // 0052 GETMBR R8 R0 K0
0x88201115, // 0053 GETMBR R8 R8 K21
0x8C201110, // 0054 GETMET R8 R8 K16
0x5C280E00, // 0055 MOVE R10 R7
0x7C200400, // 0056 CALL R8 2
0x4C240000, // 0057 LDNIL R9
0x1C241009, // 0058 EQ R9 R8 R9
0x78260009, // 0059 JMPF R9 #0064
0xB8260E00, // 005A GETNGBL R9 K7
0x60280008, // 005B GETGBL R10 G8
0x5C2C0E00, // 005C MOVE R11 R7
0x7C280200, // 005D CALL R10 1
0x002A2C0A, // 005E ADD R10 K22 R10
0x00281517, // 005F ADD R10 R10 K23
0x582C0009, // 0060 LDCONST R11 K9
0x7C240400, // 0061 CALL R9 2
0xA8040001, // 0062 EXBLK 1 1
0x7001FFCF, // 0063 JMP #0034
0x5C241000, // 0064 MOVE R9 R8
0x88280100, // 0065 GETMBR R10 R0 K0
0x5C2C0A00, // 0066 MOVE R11 R5
0x5C300C00, // 0067 MOVE R12 R6
0x7C240600, // 0068 CALL R9 3
0x8C280703, // 0069 GETMET R10 R3 K3
0x5C301200, // 006A MOVE R12 R9
0x7C280400, // 006B CALL R10 2
0xB82A0E00, // 006C GETNGBL R10 K7
0x602C0018, // 006D GETGBL R11 G24
0x5830000A, // 006E LDCONST R12 K10
0x5C340A00, // 006F MOVE R13 R5
0x5C380E00, // 0070 MOVE R14 R7
0x883C0100, // 0071 GETMBR R15 R0 K0
0x8C3C1F18, // 0072 GETMET R15 R15 K24
0x5C440C00, // 0073 MOVE R17 R6
0x7C3C0400, // 0074 CALL R15 2
0x7C2C0800, // 0075 CALL R11 4
0x58300009, // 0076 LDCONST R12 K9
0x7C280400, // 0077 CALL R10 2
0xA8040001, // 0078 EXBLK 1 1
0x7002000F, // 0079 JMP #008A
0xAC180002, // 007A CATCH R6 0 2
0x7002000C, // 007B JMP #0089
0xB8220E00, // 007C GETNGBL R8 K7
0x60240008, // 007D GETGBL R9 G8
0x5C280C00, // 007E MOVE R10 R6
0x7C240200, // 007F CALL R9 1
0x00263209, // 0080 ADD R9 K25 R9
0x0024131A, // 0081 ADD R9 R9 K26
0x60280008, // 0082 GETGBL R10 G8
0x5C2C0E00, // 0083 MOVE R11 R7
0x7C280200, // 0084 CALL R10 1
0x0024120A, // 0085 ADD R9 R9 R10
0x58280009, // 0086 LDCONST R10 K9
0x7C200400, // 0087 CALL R8 2
0x70020000, // 0088 JMP #008A
0xB0080000, // 0089 RAISE 2 R0 R0
0x7001FFA8, // 008A JMP #0034
0x5810001B, // 008B LDCONST R4 K27
0xAC100200, // 008C CATCH R4 1 0
0xB0080000, // 008D RAISE 2 R0 R0
0xB8123800, // 008E GETNGBL R4 K28
0x8C10091D, // 008F GETMET R4 R4 K29
0x5818001E, // 0090 LDCONST R6 K30
0x581C001F, // 0091 LDCONST R7 K31
0x7C100600, // 0092 CALL R4 3
0x80000000, // 0093 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: autoconf_device_map
********************************************************************/
be_local_closure(class_Matter_Autoconf_autoconf_device_map, /* name */
be_nested_proto(
19, /* 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_Autoconf, /* shared constants */
be_str_weak(autoconf_device_map),
&be_const_str_solidified,
( &(const binstruction[262]) { /* code */
0xA4064000, // 0000 IMPORT R1 K32
0x60080013, // 0001 GETGBL R2 G19
0x7C080000, // 0002 CALL R2 0
0xB80E0800, // 0003 GETNGBL R3 K4
0x880C0721, // 0004 GETMBR R3 R3 K33
0x58100006, // 0005 LDCONST R4 K6
0xA4164400, // 0006 IMPORT R5 K34
0x8C180B23, // 0007 GETMET R6 R5 K35
0x58200006, // 0008 LDCONST R8 K6
0x7C180400, // 0009 CALL R6 2
0x4C1C0000, // 000A LDNIL R7
0x201C0C07, // 000B NE R7 R6 R7
0x781E0066, // 000C JMPF R7 #0074
0x601C000C, // 000D GETGBL R7 G12
0x8C200D10, // 000E GETMET R8 R6 K16
0x58280024, // 000F LDCONST R10 K36
0x582C000C, // 0010 LDCONST R11 K12
0x7C200600, // 0011 CALL R8 3
0x7C1C0200, // 0012 CALL R7 1
0x58100025, // 0013 LDCONST R4 K37
0x24200F06, // 0014 GT R8 R7 K6
0x7822005D, // 0015 JMPF R8 #0074
0x1C200F25, // 0016 EQ R8 R7 K37
0x7822001E, // 0017 JMPF R8 #0037
0x60200008, // 0018 GETGBL R8 G8
0x5C240600, // 0019 MOVE R9 R3
0x7C200200, // 001A CALL R8 1
0x60240013, // 001B GETGBL R9 G19
0x7C240000, // 001C CALL R9 0
0x98262326, // 001D SETIDX R9 K17 K38
0x98081009, // 001E SETIDX R2 R8 R9
0x000C0725, // 001F ADD R3 R3 K37
0x58200025, // 0020 LDCONST R8 K37
0x4C240000, // 0021 LDNIL R9
0x8C280B23, // 0022 GETMET R10 R5 K35
0x5C301000, // 0023 MOVE R12 R8
0x7C280400, // 0024 CALL R10 2
0x5C241400, // 0025 MOVE R9 R10
0x4C2C0000, // 0026 LDNIL R11
0x2028140B, // 0027 NE R10 R10 R11
0x782A000C, // 0028 JMPF R10 #0036
0x60280008, // 0029 GETGBL R10 G8
0x5C2C0600, // 002A MOVE R11 R3
0x7C280200, // 002B CALL R10 1
0x602C0013, // 002C GETGBL R11 G19
0x7C2C0000, // 002D CALL R11 0
0x982E2326, // 002E SETIDX R11 K17 K38
0x00301125, // 002F ADD R12 R8 K37
0x982E440C, // 0030 SETIDX R11 K34 R12
0x9808140B, // 0031 SETIDX R2 R10 R11
0x000C0725, // 0032 ADD R3 R3 K37
0x00100925, // 0033 ADD R4 R4 K37
0x00201125, // 0034 ADD R8 R8 K37
0x7001FFEB, // 0035 JMP #0022
0x7002003C, // 0036 JMP #0074
0x1C200F09, // 0037 EQ R8 R7 K9
0x78220008, // 0038 JMPF R8 #0042
0x60200008, // 0039 GETGBL R8 G8
0x5C240600, // 003A MOVE R9 R3
0x7C200200, // 003B CALL R8 1
0x60240013, // 003C GETGBL R9 G19
0x7C240000, // 003D CALL R9 0
0x98262327, // 003E SETIDX R9 K17 K39
0x98081009, // 003F SETIDX R2 R8 R9
0x000C0725, // 0040 ADD R3 R3 K37
0x70020031, // 0041 JMP #0074
0x1C200F13, // 0042 EQ R8 R7 K19
0x7822002B, // 0043 JMPF R8 #0070
0x60200008, // 0044 GETGBL R8 G8
0x5C240600, // 0045 MOVE R9 R3
0x7C200200, // 0046 CALL R8 1
0x60240013, // 0047 GETGBL R9 G19
0x7C240000, // 0048 CALL R9 0
0x98262328, // 0049 SETIDX R9 K17 K40
0x98081009, // 004A SETIDX R2 R8 R9
0x000C0725, // 004B ADD R3 R3 K37
0x8C200B23, // 004C GETMET R8 R5 K35
0x58280025, // 004D LDCONST R10 K37
0x7C200400, // 004E CALL R8 2
0x4C240000, // 004F LDNIL R9
0x20241009, // 0050 NE R9 R8 R9
0x7826001C, // 0051 JMPF R9 #006F
0x6024000C, // 0052 GETGBL R9 G12
0x8C281110, // 0053 GETMET R10 R8 K16
0x58300024, // 0054 LDCONST R12 K36
0x5834000C, // 0055 LDCONST R13 K12
0x7C280600, // 0056 CALL R10 3
0x7C240200, // 0057 CALL R9 1
0x1C281325, // 0058 EQ R10 R9 K37
0x782A0009, // 0059 JMPF R10 #0064
0x60280008, // 005A GETGBL R10 G8
0x5C2C0600, // 005B MOVE R11 R3
0x7C280200, // 005C CALL R10 1
0x602C0013, // 005D GETGBL R11 G19
0x7C2C0000, // 005E CALL R11 0
0x982E2326, // 005F SETIDX R11 K17 K38
0x9808140B, // 0060 SETIDX R2 R10 R11
0x000C0725, // 0061 ADD R3 R3 K37
0x00100925, // 0062 ADD R4 R4 K37
0x7002000A, // 0063 JMP #006F
0x1C281309, // 0064 EQ R10 R9 K9
0x782A0008, // 0065 JMPF R10 #006F
0x60280008, // 0066 GETGBL R10 G8
0x5C2C0600, // 0067 MOVE R11 R3
0x7C280200, // 0068 CALL R10 1
0x602C0013, // 0069 GETGBL R11 G19
0x7C2C0000, // 006A CALL R11 0
0x982E2327, // 006B SETIDX R11 K17 K39
0x9808140B, // 006C SETIDX R2 R10 R11
0x000C0725, // 006D ADD R3 R3 K37
0x00100925, // 006E ADD R4 R4 K37
0x70020003, // 006F JMP #0074
0x54220003, // 0070 LDINT R8 4
0x1C200E08, // 0071 EQ R8 R7 R8
0x78220000, // 0072 JMPF R8 #0074
0x7001FFFF, // 0073 JMP #0074
0xB81E3800, // 0074 GETNGBL R7 K28
0x8C1C0F29, // 0075 GETMET R7 R7 K41
0x5824002A, // 0076 LDCONST R9 K42
0x50280200, // 0077 LDBOOL R10 1 0
0x7C1C0600, // 0078 CALL R7 3
0x60200012, // 0079 GETGBL R8 G18
0x7C200000, // 007A CALL R8 0
0xB8260E00, // 007B GETNGBL R9 K7
0x60280008, // 007C GETGBL R10 G8
0x5C2C0E00, // 007D MOVE R11 R7
0x7C280200, // 007E CALL R10 1
0x002A560A, // 007F ADD R10 K43 R10
0x582C0013, // 0080 LDCONST R11 K19
0x7C240400, // 0081 CALL R9 2
0x4C240000, // 0082 LDNIL R9
0x20240E09, // 0083 NE R9 R7 R9
0x7826004D, // 0084 JMPF R9 #00D3
0x8C240F2C, // 0085 GETMET R9 R7 K44
0x582C002D, // 0086 LDCONST R11 K45
0x7C240400, // 0087 CALL R9 2
0x78260049, // 0088 JMPF R9 #00D3
0x941C0F2D, // 0089 GETIDX R7 R7 K45
0x58240006, // 008A LDCONST R9 K6
0x50280200, // 008B LDBOOL R10 1 0
0x782A0045, // 008C JMPF R10 #00D3
0x60280008, // 008D GETGBL R10 G8
0x5C2C1200, // 008E MOVE R11 R9
0x7C280200, // 008F CALL R10 1
0x002A5C0A, // 0090 ADD R10 K46 R10
0x8C2C0F2C, // 0091 GETMET R11 R7 K44
0x5C341400, // 0092 MOVE R13 R10
0x7C2C0400, // 0093 CALL R11 2
0x742E0000, // 0094 JMPT R11 #0096
0x7002003C, // 0095 JMP #00D3
0x942C0E0A, // 0096 GETIDX R11 R7 R10
0xB8320E00, // 0097 GETNGBL R12 K7
0x60340018, // 0098 GETGBL R13 G24
0x5838002F, // 0099 LDCONST R14 K47
0x5C3C1400, // 009A MOVE R15 R10
0x60400008, // 009B GETGBL R16 G8
0x5C441600, // 009C MOVE R17 R11
0x7C400200, // 009D CALL R16 1
0x7C340600, // 009E CALL R13 3
0x58380013, // 009F LDCONST R14 K19
0x7C300400, // 00A0 CALL R12 2
0x8C301710, // 00A1 GETMET R12 R11 K16
0x58380030, // 00A2 LDCONST R14 K48
0x543DFFFE, // 00A3 LDINT R15 -1
0x7C300600, // 00A4 CALL R12 3
0x8C341710, // 00A5 GETMET R13 R11 K16
0x583C0031, // 00A6 LDCONST R15 K49
0x5441FFFE, // 00A7 LDINT R16 -1
0x7C340600, // 00A8 CALL R13 3
0x24381906, // 00A9 GT R14 R12 K6
0x783A0002, // 00AA JMPF R14 #00AE
0x8C381103, // 00AB GETMET R14 R8 K3
0x04401925, // 00AC SUB R16 R12 K37
0x7C380400, // 00AD CALL R14 2
0x24381B06, // 00AE GT R14 R13 K6
0x783A0002, // 00AF JMPF R14 #00B3
0x8C381103, // 00B0 GETMET R14 R8 K3
0x04401B25, // 00B1 SUB R16 R13 K37
0x7C380400, // 00B2 CALL R14 2
0xB83A0E00, // 00B3 GETNGBL R14 K7
0x603C0018, // 00B4 GETGBL R15 G24
0x58400032, // 00B5 LDCONST R16 K50
0x5C441800, // 00B6 MOVE R17 R12
0x5C481A00, // 00B7 MOVE R18 R13
0x7C3C0600, // 00B8 CALL R15 3
0x58400013, // 00B9 LDCONST R16 K19
0x7C380400, // 00BA CALL R14 2
0x8C381710, // 00BB GETMET R14 R11 K16
0x58400033, // 00BC LDCONST R16 K51
0x7C380400, // 00BD CALL R14 2
0x783A0002, // 00BE JMPF R14 #00C2
0x943C1D09, // 00BF GETIDX R15 R14 K9
0x243C1F06, // 00C0 GT R15 R15 K6
0x743E0000, // 00C1 JMPT R15 #00C3
0x503C0001, // 00C2 LDBOOL R15 0 1
0x503C0200, // 00C3 LDBOOL R15 1 0
0x60400008, // 00C4 GETGBL R16 G8
0x5C440600, // 00C5 MOVE R17 R3
0x7C400200, // 00C6 CALL R16 1
0x60440013, // 00C7 GETGBL R17 G19
0x7C440000, // 00C8 CALL R17 0
0x783E0001, // 00C9 JMPF R15 #00CC
0x58480034, // 00CA LDCONST R18 K52
0x70020000, // 00CB JMP #00CD
0x58480035, // 00CC LDCONST R18 K53
0x98462212, // 00CD SETIDX R17 K17 R18
0x98466A09, // 00CE SETIDX R17 K53 R9
0x98082011, // 00CF SETIDX R2 R16 R17
0x000C0725, // 00D0 ADD R3 R3 K37
0x00241325, // 00D1 ADD R9 R9 K37
0x7001FFB7, // 00D2 JMP #008B
0x6024000C, // 00D3 GETGBL R9 G12
0xB82A3800, // 00D4 GETNGBL R10 K28
0x8C281536, // 00D5 GETMET R10 R10 K54
0x7C280200, // 00D6 CALL R10 1
0x7C240200, // 00D7 CALL R9 1
0x58280006, // 00D8 LDCONST R10 K6
0x04241204, // 00D9 SUB R9 R9 R4
0x142C1409, // 00DA LT R11 R10 R9
0x782E0011, // 00DB JMPF R11 #00EE
0x8C2C1110, // 00DC GETMET R11 R8 K16
0x5C341400, // 00DD MOVE R13 R10
0x7C2C0400, // 00DE CALL R11 2
0x4C300000, // 00DF LDNIL R12
0x1C2C160C, // 00E0 EQ R11 R11 R12
0x782E0009, // 00E1 JMPF R11 #00EC
0x602C0008, // 00E2 GETGBL R11 G8
0x5C300600, // 00E3 MOVE R12 R3
0x7C2C0200, // 00E4 CALL R11 1
0x60300013, // 00E5 GETGBL R12 G19
0x7C300000, // 00E6 CALL R12 0
0x98322337, // 00E7 SETIDX R12 K17 K55
0x00341525, // 00E8 ADD R13 R10 K37
0x98326E0D, // 00E9 SETIDX R12 K55 R13
0x9808160C, // 00EA SETIDX R2 R11 R12
0x000C0725, // 00EB ADD R3 R3 K37
0x00281525, // 00EC ADD R10 R10 K37
0x7001FFEB, // 00ED JMP #00DA
0x8C2C0338, // 00EE GETMET R11 R1 K56
0xB8363800, // 00EF GETNGBL R13 K28
0x8C341B39, // 00F0 GETMET R13 R13 K57
0x7C340200, // 00F1 CALL R13 1
0x7C2C0400, // 00F2 CALL R11 2
0x8C30013A, // 00F3 GETMET R12 R0 K58
0x5C381600, // 00F4 MOVE R14 R11
0x7C300400, // 00F5 CALL R12 2
0x60340010, // 00F6 GETGBL R13 G16
0x5C381800, // 00F7 MOVE R14 R12
0x7C340200, // 00F8 CALL R13 1
0xA8020007, // 00F9 EXBLK 0 #0102
0x5C381A00, // 00FA MOVE R14 R13
0x7C380000, // 00FB CALL R14 0
0x603C0008, // 00FC GETGBL R15 G8
0x5C400600, // 00FD MOVE R16 R3
0x7C3C0200, // 00FE CALL R15 1
0x98081E0E, // 00FF SETIDX R2 R15 R14
0x000C0725, // 0100 ADD R3 R3 K37
0x7001FFF7, // 0101 JMP #00FA
0x5834001B, // 0102 LDCONST R13 K27
0xAC340200, // 0103 CATCH R13 1 0
0xB0080000, // 0104 RAISE 2 R0 R0
0x80040400, // 0105 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Autoconf_init, /* name */
be_nested_proto(
2, /* 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_Autoconf, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: autoconf_sensors_list
********************************************************************/
be_local_closure(class_Matter_Autoconf_autoconf_sensors_list, /* name */
be_nested_proto(
11, /* 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_Autoconf, /* shared constants */
be_str_weak(autoconf_sensors_list),
&be_const_str_solidified,
( &(const binstruction[121]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8808053B, // 0001 GETMBR R2 R2 K59
0x600C0012, // 0002 GETGBL R3 G18
0x7C0C0000, // 0003 CALL R3 0
0x60100010, // 0004 GETGBL R4 G16
0x5C140400, // 0005 MOVE R5 R2
0x5C180200, // 0006 MOVE R6 R1
0x7C140200, // 0007 CALL R5 1
0x7C100200, // 0008 CALL R4 1
0xA8020013, // 0009 EXBLK 0 #001E
0x5C140800, // 000A MOVE R5 R4
0x7C140000, // 000B CALL R5 0
0x94180205, // 000C GETIDX R6 R1 R5
0x601C000F, // 000D GETGBL R7 G15
0x5C200C00, // 000E MOVE R8 R6
0x60240013, // 000F GETGBL R9 G19
0x7C1C0400, // 0010 CALL R7 2
0x781E000A, // 0011 JMPF R7 #001D
0x8C1C0D2C, // 0012 GETMET R7 R6 K44
0x5824003C, // 0013 LDCONST R9 K60
0x7C1C0400, // 0014 CALL R7 2
0x781E0006, // 0015 JMPF R7 #001D
0x001C0B3D, // 0016 ADD R7 R5 K61
0x8C200703, // 0017 GETMET R8 R3 K3
0x60280013, // 0018 GETGBL R10 G19
0x7C280000, // 0019 CALL R10 0
0x982A233E, // 001A SETIDX R10 K17 K62
0x982A7E07, // 001B SETIDX R10 K63 R7
0x7C200400, // 001C CALL R8 2
0x7001FFEB, // 001D JMP #000A
0x5810001B, // 001E LDCONST R4 K27
0xAC100200, // 001F CATCH R4 1 0
0xB0080000, // 0020 RAISE 2 R0 R0
0x60100010, // 0021 GETGBL R4 G16
0x5C140400, // 0022 MOVE R5 R2
0x5C180200, // 0023 MOVE R6 R1
0x7C140200, // 0024 CALL R5 1
0x7C100200, // 0025 CALL R4 1
0xA8020013, // 0026 EXBLK 0 #003B
0x5C140800, // 0027 MOVE R5 R4
0x7C140000, // 0028 CALL R5 0
0x94180205, // 0029 GETIDX R6 R1 R5
0x601C000F, // 002A GETGBL R7 G15
0x5C200C00, // 002B MOVE R8 R6
0x60240013, // 002C GETGBL R9 G19
0x7C1C0400, // 002D CALL R7 2
0x781E000A, // 002E JMPF R7 #003A
0x8C1C0D2C, // 002F GETMET R7 R6 K44
0x58240040, // 0030 LDCONST R9 K64
0x7C1C0400, // 0031 CALL R7 2
0x781E0006, // 0032 JMPF R7 #003A
0x001C0B41, // 0033 ADD R7 R5 K65
0x8C200703, // 0034 GETMET R8 R3 K3
0x60280013, // 0035 GETGBL R10 G19
0x7C280000, // 0036 CALL R10 0
0x982A2342, // 0037 SETIDX R10 K17 K66
0x982A7E07, // 0038 SETIDX R10 K63 R7
0x7C200400, // 0039 CALL R8 2
0x7001FFEB, // 003A JMP #0027
0x5810001B, // 003B LDCONST R4 K27
0xAC100200, // 003C CATCH R4 1 0
0xB0080000, // 003D RAISE 2 R0 R0
0x60100010, // 003E GETGBL R4 G16
0x5C140400, // 003F MOVE R5 R2
0x5C180200, // 0040 MOVE R6 R1
0x7C140200, // 0041 CALL R5 1
0x7C100200, // 0042 CALL R4 1
0xA8020013, // 0043 EXBLK 0 #0058
0x5C140800, // 0044 MOVE R5 R4
0x7C140000, // 0045 CALL R5 0
0x94180205, // 0046 GETIDX R6 R1 R5
0x601C000F, // 0047 GETGBL R7 G15
0x5C200C00, // 0048 MOVE R8 R6
0x60240013, // 0049 GETGBL R9 G19
0x7C1C0400, // 004A CALL R7 2
0x781E000A, // 004B JMPF R7 #0057
0x8C1C0D2C, // 004C GETMET R7 R6 K44
0x58240043, // 004D LDCONST R9 K67
0x7C1C0400, // 004E CALL R7 2
0x781E0006, // 004F JMPF R7 #0057
0x001C0B44, // 0050 ADD R7 R5 K68
0x8C200703, // 0051 GETMET R8 R3 K3
0x60280013, // 0052 GETGBL R10 G19
0x7C280000, // 0053 CALL R10 0
0x982A2345, // 0054 SETIDX R10 K17 K69
0x982A7E07, // 0055 SETIDX R10 K63 R7
0x7C200400, // 0056 CALL R8 2
0x7001FFEB, // 0057 JMP #0044
0x5810001B, // 0058 LDCONST R4 K27
0xAC100200, // 0059 CATCH R4 1 0
0xB0080000, // 005A RAISE 2 R0 R0
0x60100010, // 005B GETGBL R4 G16
0x5C140400, // 005C MOVE R5 R2
0x5C180200, // 005D MOVE R6 R1
0x7C140200, // 005E CALL R5 1
0x7C100200, // 005F CALL R4 1
0xA8020013, // 0060 EXBLK 0 #0075
0x5C140800, // 0061 MOVE R5 R4
0x7C140000, // 0062 CALL R5 0
0x94180205, // 0063 GETIDX R6 R1 R5
0x601C000F, // 0064 GETGBL R7 G15
0x5C200C00, // 0065 MOVE R8 R6
0x60240013, // 0066 GETGBL R9 G19
0x7C1C0400, // 0067 CALL R7 2
0x781E000A, // 0068 JMPF R7 #0074
0x8C1C0D2C, // 0069 GETMET R7 R6 K44
0x58240046, // 006A LDCONST R9 K70
0x7C1C0400, // 006B CALL R7 2
0x781E0006, // 006C JMPF R7 #0074
0x001C0B47, // 006D ADD R7 R5 K71
0x8C200703, // 006E GETMET R8 R3 K3
0x60280013, // 006F GETGBL R10 G19
0x7C280000, // 0070 CALL R10 0
0x982A2348, // 0071 SETIDX R10 K17 K72
0x982A7E07, // 0072 SETIDX R10 K63 R7
0x7C200400, // 0073 CALL R8 2
0x7001FFEB, // 0074 JMP #0061
0x5810001B, // 0075 LDCONST R4 K27
0xAC100200, // 0076 CATCH R4 1 0
0xB0080000, // 0077 RAISE 2 R0 R0
0x80040600, // 0078 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Autoconf
********************************************************************/
be_local_class(Matter_Autoconf,
1,
NULL,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(instantiate_plugins_from_config, 3), be_const_closure(class_Matter_Autoconf_instantiate_plugins_from_config_closure) },
{ be_const_key_weak(device, -1), be_const_var(0) },
{ be_const_key_weak(autoconf_device_map, -1), be_const_closure(class_Matter_Autoconf_autoconf_device_map_closure) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_Autoconf_init_closure) },
{ be_const_key_weak(autoconf_sensors_list, -1), be_const_closure(class_Matter_Autoconf_autoconf_sensors_list_closure) },
})),
be_str_weak(Matter_Autoconf)
);
/********************************************************************/
/* End of solidification */

View File

@ -0,0 +1,537 @@
/* Solidification of Matter_z_Zigbee.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Matter_Zigbee_Mapper' ktab size: 30, total: 45 (saved 120 bytes)
static const bvalue be_ktab_class_Matter_Zigbee_Mapper[30] = {
/* K0 */ be_nested_str_weak(resolve_zb_device),
/* K1 */ be_nested_str_weak(zigbee),
/* K2 */ be_nested_str_weak(find),
/* K3 */ be_nested_str_weak(shortaddr),
/* K4 */ be_nested_str_weak(info),
/* K5 */ be_nested_str_weak(Power),
/* K6 */ be_nested_str_weak(ZbSend_X20_X7B_X22Device_X22_X3A_X220x_X2504X_X22_X2C_X22Send_X22_X3A_X7B_X22Power_X22_X3A_X25i_X7D_X7D),
/* K7 */ be_nested_str_weak(Bri),
/* K8 */ be_nested_str_weak(ZbSend_X20_X7B_X22Device_X22_X3A_X220x_X2504X_X22_X2C_X22Send_X22_X3A_X7B_X22Dimmer_X22_X3A_X25i_X7D_X7D),
/* K9 */ be_nested_str_weak(CT),
/* K10 */ be_nested_str_weak(ZbSend_X20_X7B_X22Device_X22_X3A_X220x_X2504X_X22_X2C_X22Send_X22_X3A_X7B_X22CT_X22_X3A_X25i_X7D_X7D),
/* K11 */ be_nested_str_weak(tasmota),
/* K12 */ be_nested_str_weak(loglevel),
/* K13 */ be_const_int(3),
/* K14 */ be_nested_str_weak(log),
/* K15 */ be_nested_str_weak(MTR_X3A_X20_X27_X25s_X27),
/* K16 */ be_nested_str_weak(cmd),
/* K17 */ be_nested_str_weak(read_zb_info),
/* K18 */ be_nested_str_weak(MTR_X3A_X20Read_X20information_X20for_X20zigbee_X20device_X200x_X2504X),
/* K19 */ be_nested_str_weak(pi),
/* K20 */ be_nested_str_weak(zigbee_received),
/* K21 */ be_nested_str_weak(device_arg),
/* K22 */ be_nested_str_weak(zigbee_device),
/* K23 */ be_nested_str_weak(MTR_X3A_X20cannot_X20find_X20zigbee_X20device_X20_X27_X25s_X27),
/* K24 */ be_nested_str_weak(string),
/* K25 */ be_nested_str_weak(ARG),
/* K26 */ be_nested_str_weak(startswith),
/* K27 */ be_nested_str_weak(0x),
/* K28 */ be_nested_str_weak(0X),
/* K29 */ be_nested_str_weak(set_timer),
};
extern const bclass be_class_Matter_Zigbee_Mapper;
/********************************************************************
** Solidified function: read_zb_info
********************************************************************/
be_local_closure(class_Matter_Zigbee_Mapper_read_zb_info, /* 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_Zigbee_Mapper, /* shared constants */
be_str_weak(read_zb_info),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x7C040200, // 0001 CALL R1 1
0x78060009, // 0002 JMPF R1 #000D
0xA4060200, // 0003 IMPORT R1 K1
0x8C080302, // 0004 GETMET R2 R1 K2
0x88100103, // 0005 GETMBR R4 R0 K3
0x7C080400, // 0006 CALL R2 2
0x4C0C0000, // 0007 LDNIL R3
0x200C0403, // 0008 NE R3 R2 R3
0x780E0002, // 0009 JMPF R3 #000D
0x8C0C0504, // 000A GETMET R3 R2 K4
0x7C0C0200, // 000B CALL R3 1
0x80040600, // 000C RET 1 R3
0x80000000, // 000D RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: zb_single_command
********************************************************************/
be_local_closure(class_Matter_Zigbee_Mapper_zb_single_command, /* 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_Matter_Zigbee_Mapper, /* shared constants */
be_str_weak(zb_single_command),
&be_const_str_solidified,
( &(const binstruction[48]) { /* code */
0x4C0C0000, // 0000 LDNIL R3
0x1C100305, // 0001 EQ R4 R1 K5
0x78120006, // 0002 JMPF R4 #000A
0x60100018, // 0003 GETGBL R4 G24
0x58140006, // 0004 LDCONST R5 K6
0x88180103, // 0005 GETMBR R6 R0 K3
0x5C1C0400, // 0006 MOVE R7 R2
0x7C100600, // 0007 CALL R4 3
0x5C0C0800, // 0008 MOVE R3 R4
0x70020010, // 0009 JMP #001B
0x1C100307, // 000A EQ R4 R1 K7
0x78120006, // 000B JMPF R4 #0013
0x60100018, // 000C GETGBL R4 G24
0x58140008, // 000D LDCONST R5 K8
0x88180103, // 000E GETMBR R6 R0 K3
0x5C1C0400, // 000F MOVE R7 R2
0x7C100600, // 0010 CALL R4 3
0x5C0C0800, // 0011 MOVE R3 R4
0x70020007, // 0012 JMP #001B
0x1C100309, // 0013 EQ R4 R1 K9
0x78120005, // 0014 JMPF R4 #001B
0x60100018, // 0015 GETGBL R4 G24
0x5814000A, // 0016 LDCONST R5 K10
0x88180103, // 0017 GETMBR R6 R0 K3
0x5C1C0400, // 0018 MOVE R7 R2
0x7C100600, // 0019 CALL R4 3
0x5C0C0800, // 001A MOVE R3 R4
0x4C100000, // 001B LDNIL R4
0x20100604, // 001C NE R4 R3 R4
0x78120010, // 001D JMPF R4 #002F
0xB8121600, // 001E GETNGBL R4 K11
0x8C10090C, // 001F GETMET R4 R4 K12
0x5818000D, // 0020 LDCONST R6 K13
0x7C100400, // 0021 CALL R4 2
0x78120006, // 0022 JMPF R4 #002A
0xB8121C00, // 0023 GETNGBL R4 K14
0x60140018, // 0024 GETGBL R5 G24
0x5818000F, // 0025 LDCONST R6 K15
0x5C1C0600, // 0026 MOVE R7 R3
0x7C140400, // 0027 CALL R5 2
0x5818000D, // 0028 LDCONST R6 K13
0x7C100400, // 0029 CALL R4 2
0xB8121600, // 002A GETNGBL R4 K11
0x8C100910, // 002B GETMET R4 R4 K16
0x5C180600, // 002C MOVE R6 R3
0x501C0200, // 002D LDBOOL R7 1 0
0x7C100600, // 002E CALL R4 3
0x80000000, // 002F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: probe_zb_values
********************************************************************/
be_local_closure(class_Matter_Zigbee_Mapper_probe_zb_values, /* 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_Zigbee_Mapper, /* shared constants */
be_str_weak(probe_zb_values),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x8C040111, // 0000 GETMET R1 R0 K17
0x7C040200, // 0001 CALL R1 1
0x4C080000, // 0002 LDNIL R2
0x20080202, // 0003 NE R2 R1 R2
0x780A000B, // 0004 JMPF R2 #0011
0xB80A1C00, // 0005 GETNGBL R2 K14
0x600C0018, // 0006 GETGBL R3 G24
0x58100012, // 0007 LDCONST R4 K18
0x88140103, // 0008 GETMBR R5 R0 K3
0x7C0C0400, // 0009 CALL R3 2
0x5810000D, // 000A LDCONST R4 K13
0x7C080400, // 000B CALL R2 2
0x88080113, // 000C GETMBR R2 R0 K19
0x8C080514, // 000D GETMET R2 R2 K20
0x4C100000, // 000E LDNIL R4
0x5C140200, // 000F MOVE R5 R1
0x7C080600, // 0010 CALL R2 3
0x80000000, // 0011 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Zigbee_Mapper_init, /* name */
be_nested_proto(
2, /* 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_Zigbee_Mapper, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90022601, // 0000 SETMBR R0 K19 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: resolve_zb_device
********************************************************************/
be_local_closure(class_Matter_Zigbee_Mapper_resolve_zb_device, /* 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_Zigbee_Mapper, /* shared constants */
be_str_weak(resolve_zb_device),
&be_const_str_solidified,
( &(const binstruction[35]) { /* code */
0xA4060200, // 0000 IMPORT R1 K1
0x88080115, // 0001 GETMBR R2 R0 K21
0x4C0C0000, // 0002 LDNIL R3
0x1C080403, // 0003 EQ R2 R2 R3
0x780A0001, // 0004 JMPF R2 #0007
0x50080000, // 0005 LDBOOL R2 0 0
0x80040400, // 0006 RET 1 R2
0x88080103, // 0007 GETMBR R2 R0 K3
0x4C0C0000, // 0008 LDNIL R3
0x20080403, // 0009 NE R2 R2 R3
0x780A0001, // 000A JMPF R2 #000D
0x50080200, // 000B LDBOOL R2 1 0
0x80040400, // 000C RET 1 R2
0x8C080302, // 000D GETMET R2 R1 K2
0x88100115, // 000E GETMBR R4 R0 K21
0x7C080400, // 000F CALL R2 2
0x90022C02, // 0010 SETMBR R0 K22 R2
0x88080116, // 0011 GETMBR R2 R0 K22
0x780A0005, // 0012 JMPF R2 #0019
0x88080116, // 0013 GETMBR R2 R0 K22
0x88080503, // 0014 GETMBR R2 R2 K3
0x90020602, // 0015 SETMBR R0 K3 R2
0x50080200, // 0016 LDBOOL R2 1 0
0x80040400, // 0017 RET 1 R2
0x70020008, // 0018 JMP #0022
0xB80A1C00, // 0019 GETNGBL R2 K14
0x600C0018, // 001A GETGBL R3 G24
0x58100017, // 001B LDCONST R4 K23
0x88140115, // 001C GETMBR R5 R0 K21
0x7C0C0400, // 001D CALL R3 2
0x5810000D, // 001E LDCONST R4 K13
0x7C080400, // 001F CALL R2 2
0x50080000, // 0020 LDBOOL R2 0 0
0x80040400, // 0021 RET 1 R2
0x80000000, // 0022 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_configuration
********************************************************************/
be_local_closure(class_Matter_Zigbee_Mapper_parse_configuration, /* name */
be_nested_proto(
8, /* nstack */
2, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
be_nested_proto(
2, /* nstack */
0, /* argc */
0, /* varg */
1, /* has upvals */
( &(const bupvaldesc[ 1]) { /* upvals */
be_local_const_upval(1, 0),
}),
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(probe_zb_values),
}),
be_str_weak(_X3Clambda_X3E),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x68000000, // 0000 GETUPV R0 U0
0x8C000100, // 0001 GETMET R0 R0 K0
0x7C000200, // 0002 CALL R0 1
0x80040000, // 0003 RET 1 R0
})
),
}),
1, /* has constants */
&be_ktab_class_Matter_Zigbee_Mapper, /* shared constants */
be_str_weak(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[38]) { /* code */
0xA40A0200, // 0000 IMPORT R2 K1
0xA40E3000, // 0001 IMPORT R3 K24
0x8C100302, // 0002 GETMET R4 R1 K2
0x88180113, // 0003 GETMBR R6 R0 K19
0x88180D19, // 0004 GETMBR R6 R6 K25
0x4C1C0000, // 0005 LDNIL R7
0x7C100600, // 0006 CALL R4 3
0x90022A04, // 0007 SETMBR R0 K21 R4
0x60100004, // 0008 GETGBL R4 G4
0x88140115, // 0009 GETMBR R5 R0 K21
0x7C100200, // 000A CALL R4 1
0x1C100918, // 000B EQ R4 R4 K24
0x7812000D, // 000C JMPF R4 #001B
0x8C10071A, // 000D GETMET R4 R3 K26
0x88180115, // 000E GETMBR R6 R0 K21
0x581C001B, // 000F LDCONST R7 K27
0x7C100600, // 0010 CALL R4 3
0x74120004, // 0011 JMPT R4 #0017
0x8C10071A, // 0012 GETMET R4 R3 K26
0x88180115, // 0013 GETMBR R6 R0 K21
0x581C001C, // 0014 LDCONST R7 K28
0x7C100600, // 0015 CALL R4 3
0x78120003, // 0016 JMPF R4 #001B
0x60100009, // 0017 GETGBL R4 G9
0x88140115, // 0018 GETMBR R5 R0 K21
0x7C100200, // 0019 CALL R4 1
0x90022A04, // 001A SETMBR R0 K21 R4
0x88100115, // 001B GETMBR R4 R0 K21
0x4C140000, // 001C LDNIL R5
0x20100805, // 001D NE R4 R4 R5
0x78120004, // 001E JMPF R4 #0024
0xB8121600, // 001F GETNGBL R4 K11
0x8C10091D, // 0020 GETMET R4 R4 K29
0x541A0063, // 0021 LDINT R6 100
0x841C0000, // 0022 CLOSURE R7 P0
0x7C100600, // 0023 CALL R4 3
0xA0000000, // 0024 CLOSE R0
0x80000000, // 0025 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Zigbee_Mapper
********************************************************************/
be_local_class(Matter_Zigbee_Mapper,
4,
NULL,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(shortaddr, -1), be_const_var(3) },
{ be_const_key_weak(zb_single_command, 0), be_const_closure(class_Matter_Zigbee_Mapper_zb_single_command_closure) },
{ be_const_key_weak(pi, -1), be_const_var(0) },
{ be_const_key_weak(resolve_zb_device, -1), be_const_closure(class_Matter_Zigbee_Mapper_resolve_zb_device_closure) },
{ be_const_key_weak(zigbee_device, 1), be_const_var(2) },
{ be_const_key_weak(probe_zb_values, 6), be_const_closure(class_Matter_Zigbee_Mapper_probe_zb_values_closure) },
{ be_const_key_weak(init, -1), be_const_closure(class_Matter_Zigbee_Mapper_init_closure) },
{ be_const_key_weak(read_zb_info, 3), be_const_closure(class_Matter_Zigbee_Mapper_read_zb_info_closure) },
{ be_const_key_weak(device_arg, -1), be_const_var(1) },
{ be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Zigbee_Mapper_parse_configuration_closure) },
})),
be_str_weak(Matter_Zigbee_Mapper)
);
/********************************************************************
** Solidified function: matter_zigbee_init
********************************************************************/
be_local_closure(matter_zigbee_init, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(Matter_Zigbee),
}),
be_str_weak(matter_zigbee_init),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x80040200, // 0001 RET 1 R1
})
)
);
/*******************************************************************/
// compact class 'Matter_Zigbee' ktab size: 11, total: 12 (saved 8 bytes)
static const bvalue be_ktab_class_Matter_Zigbee[11] = {
/* K0 */ be_nested_str_weak(zigbee),
/* K1 */ be_nested_str_weak(device),
/* K2 */ be_nested_str_weak(add_handler),
/* K3 */ be_nested_str_weak(plugins),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(ZIGBEE),
/* K6 */ be_nested_str_weak(zigbee_mapper),
/* K7 */ be_nested_str_weak(resolve_zb_device),
/* K8 */ be_nested_str_weak(shortaddr),
/* K9 */ be_nested_str_weak(zigbee_received),
/* K10 */ be_const_int(1),
};
extern const bclass be_class_Matter_Zigbee;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Matter_Zigbee_init, /* name */
be_nested_proto(
6, /* 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_Zigbee, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x90020201, // 0001 SETMBR R0 K1 R1
0x8C0C0502, // 0002 GETMET R3 R2 K2
0x5C140000, // 0003 MOVE R5 R0
0x7C0C0400, // 0004 CALL R3 2
0x80000000, // 0005 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: attributes_final
********************************************************************/
be_local_closure(class_Matter_Zigbee_attributes_final, /* name */
be_nested_proto(
12, /* 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_Matter_Zigbee, /* shared constants */
be_str_weak(attributes_final),
&be_const_str_solidified,
( &(const binstruction[28]) { /* code */
0x88140101, // 0000 GETMBR R5 R0 K1
0x88140B03, // 0001 GETMBR R5 R5 K3
0x58180004, // 0002 LDCONST R6 K4
0x601C000C, // 0003 GETGBL R7 G12
0x5C200A00, // 0004 MOVE R8 R5
0x7C1C0200, // 0005 CALL R7 1
0x141C0C07, // 0006 LT R7 R6 R7
0x781E0012, // 0007 JMPF R7 #001B
0x941C0A06, // 0008 GETIDX R7 R5 R6
0x88200F05, // 0009 GETMBR R8 R7 K5
0x7822000D, // 000A JMPF R8 #0019
0x88200F06, // 000B GETMBR R8 R7 K6
0x7822000B, // 000C JMPF R8 #0019
0x88200F06, // 000D GETMBR R8 R7 K6
0x8C201107, // 000E GETMET R8 R8 K7
0x7C200200, // 000F CALL R8 1
0x78220007, // 0010 JMPF R8 #0019
0x88200F06, // 0011 GETMBR R8 R7 K6
0x88201108, // 0012 GETMBR R8 R8 K8
0x1C201004, // 0013 EQ R8 R8 R4
0x78220003, // 0014 JMPF R8 #0019
0x8C200F09, // 0015 GETMET R8 R7 K9
0x5C280400, // 0016 MOVE R10 R2
0x5C2C0600, // 0017 MOVE R11 R3
0x7C200600, // 0018 CALL R8 3
0x00180D0A, // 0019 ADD R6 R6 K10
0x7001FFE7, // 001A JMP #0003
0x80000000, // 001B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Zigbee
********************************************************************/
be_local_class(Matter_Zigbee,
1,
NULL,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(init, 3), be_const_closure(class_Matter_Zigbee_init_closure) },
{ be_const_key_weak(Matter_Zigbee_Mapper, 4), be_const_class(be_class_Matter_Zigbee_Mapper) },
{ be_const_key_weak(attributes_final, -1), be_const_closure(class_Matter_Zigbee_attributes_final_closure) },
{ be_const_key_weak(_CLASSES_TYPES, -1), be_nested_str_weak(_X2Dzigbee_X7Cz_light0_X7Cz_light1_X7Cz_light2_X7Cz_temp_X7Cz_pressure_X7Cz_humidity_X7Cz_occupancy) },
{ be_const_key_weak(device, -1), be_const_var(0) },
})),
be_str_weak(Matter_Zigbee)
);
/********************************************************************
** Solidified module: matter_zigbee
********************************************************************/
be_local_module(matter_zigbee,
"matter_zigbee",
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(Matter_Zigbee, -1), be_const_class(be_class_Matter_Zigbee) },
{ be_const_key_weak(init, 0), be_const_closure(matter_zigbee_init_closure) },
}))
);
BE_EXPORT_VARIABLE be_define_const_native_module(matter_zigbee);
/********************************************************************/
/********************************************************************/
/* End of solidification */

Some files were not shown because too many files have changed in this diff Show More