mirror of https://github.com/arendst/Tasmota.git
Matter add copy to Path (#21674)
This commit is contained in:
parent
40fb8fa7df
commit
5decd01299
|
@ -36,6 +36,14 @@ class Matter_Path
|
||||||
var log # any string that needs to be logged (used to show significant parameters for commands)
|
var log # any string that needs to be logged (used to show significant parameters for commands)
|
||||||
var msg # reference of the original message
|
var msg # reference of the original message
|
||||||
|
|
||||||
|
# copy from an aobject that has also endpoint/cluster/attribute variables
|
||||||
|
def copy(c)
|
||||||
|
self.reset()
|
||||||
|
self.endpoint = c.endpoint
|
||||||
|
self.cluster = c.cluster
|
||||||
|
self.attribute = c.attribute
|
||||||
|
end
|
||||||
|
|
||||||
# reset the object, allows reuse of the same object
|
# reset the object, allows reuse of the same object
|
||||||
def reset()
|
def reset()
|
||||||
var n = nil # it's actually more compact code to load `nil` into a register and assign all members
|
var n = nil # it's actually more compact code to load `nil` into a register and assign all members
|
||||||
|
|
|
@ -123,6 +123,44 @@ be_local_closure(class_Matter_Path_tostring, /* name */
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/********************************************************************
|
||||||
|
** Solidified function: copy
|
||||||
|
********************************************************************/
|
||||||
|
extern const bclass be_class_Matter_Path;
|
||||||
|
be_local_closure(class_Matter_Path_copy, /* name */
|
||||||
|
be_nested_proto(
|
||||||
|
4, /* nstack */
|
||||||
|
2, /* argc */
|
||||||
|
2, /* varg */
|
||||||
|
0, /* has upvals */
|
||||||
|
NULL, /* no upvals */
|
||||||
|
0, /* has sup protos */
|
||||||
|
&be_class_Matter_Path,
|
||||||
|
1, /* has constants */
|
||||||
|
( &(const bvalue[ 4]) { /* constants */
|
||||||
|
/* K0 */ be_nested_str_weak(reset),
|
||||||
|
/* K1 */ be_nested_str_weak(endpoint),
|
||||||
|
/* K2 */ be_nested_str_weak(cluster),
|
||||||
|
/* K3 */ be_nested_str_weak(attribute),
|
||||||
|
}),
|
||||||
|
be_str_weak(copy),
|
||||||
|
&be_const_str_solidified,
|
||||||
|
( &(const binstruction[ 9]) { /* code */
|
||||||
|
0x8C080100, // 0000 GETMET R2 R0 K0
|
||||||
|
0x7C080200, // 0001 CALL R2 1
|
||||||
|
0x88080301, // 0002 GETMBR R2 R1 K1
|
||||||
|
0x90020202, // 0003 SETMBR R0 K1 R2
|
||||||
|
0x88080302, // 0004 GETMBR R2 R1 K2
|
||||||
|
0x90020402, // 0005 SETMBR R0 K2 R2
|
||||||
|
0x88080303, // 0006 GETMBR R2 R1 K3
|
||||||
|
0x90020602, // 0007 SETMBR R0 K3 R2
|
||||||
|
0x80000000, // 0008 RET 0
|
||||||
|
})
|
||||||
|
)
|
||||||
|
);
|
||||||
|
/*******************************************************************/
|
||||||
|
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Solidified function: reset
|
** Solidified function: reset
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
@ -172,18 +210,19 @@ be_local_closure(class_Matter_Path_reset, /* name */
|
||||||
be_local_class(Matter_Path,
|
be_local_class(Matter_Path,
|
||||||
8,
|
8,
|
||||||
NULL,
|
NULL,
|
||||||
be_nested_map(10,
|
be_nested_map(11,
|
||||||
( (struct bmapnode*) &(const bmapnode[]) {
|
( (struct bmapnode*) &(const bmapnode[]) {
|
||||||
{ be_const_key_weak(attribute, -1), be_const_var(2) },
|
|
||||||
{ be_const_key_weak(log, 0), be_const_var(6) },
|
|
||||||
{ be_const_key_weak(fabric_filtered, 6), be_const_var(3) },
|
|
||||||
{ be_const_key_weak(command, -1), be_const_var(4) },
|
{ be_const_key_weak(command, -1), be_const_var(4) },
|
||||||
{ be_const_key_weak(msg, -1), be_const_var(7) },
|
{ be_const_key_weak(cluster, 5), be_const_var(1) },
|
||||||
{ be_const_key_weak(tostring, -1), be_const_closure(class_Matter_Path_tostring_closure) },
|
{ be_const_key_weak(attribute, -1), be_const_var(2) },
|
||||||
|
{ be_const_key_weak(tostring, 9), be_const_closure(class_Matter_Path_tostring_closure) },
|
||||||
|
{ be_const_key_weak(log, -1), be_const_var(6) },
|
||||||
|
{ be_const_key_weak(status, 2), be_const_var(5) },
|
||||||
|
{ be_const_key_weak(endpoint, -1), be_const_var(0) },
|
||||||
|
{ be_const_key_weak(msg, 6), be_const_var(7) },
|
||||||
|
{ be_const_key_weak(fabric_filtered, -1), be_const_var(3) },
|
||||||
|
{ be_const_key_weak(copy, -1), be_const_closure(class_Matter_Path_copy_closure) },
|
||||||
{ be_const_key_weak(reset, -1), be_const_closure(class_Matter_Path_reset_closure) },
|
{ be_const_key_weak(reset, -1), be_const_closure(class_Matter_Path_reset_closure) },
|
||||||
{ be_const_key_weak(cluster, -1), be_const_var(1) },
|
|
||||||
{ be_const_key_weak(endpoint, 3), be_const_var(0) },
|
|
||||||
{ be_const_key_weak(status, -1), be_const_var(5) },
|
|
||||||
})),
|
})),
|
||||||
be_str_weak(Matter_Path)
|
be_str_weak(Matter_Path)
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue