Tasmota/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin.h
2023-06-12 19:45:18 +02:00

1010 lines
41 KiB
C

/* Solidification of Matter_Plugin.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Matter_Plugin;
/********************************************************************
** Solidified function: every_250ms
********************************************************************/
be_local_closure(Matter_Plugin_every_250ms, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(update_next),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(jitter),
/* K3 */ be_nested_str_weak(UPDATE_TIME),
/* K4 */ be_nested_str_weak(tasmota),
/* K5 */ be_nested_str_weak(time_reached),
/* K6 */ be_nested_str_weak(tick),
/* K7 */ be_nested_str_weak(device),
/* K8 */ be_nested_str_weak(update_shadow),
/* K9 */ be_nested_str_weak(millis),
}),
be_str_weak(every_250ms),
&be_const_str_solidified,
( &(const binstruction[28]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x4C080000, // 0001 LDNIL R2
0x1C040202, // 0002 EQ R1 R1 R2
0x78060005, // 0003 JMPF R1 #000A
0xB8060200, // 0004 GETNGBL R1 K1
0x8C040302, // 0005 GETMET R1 R1 K2
0x880C0103, // 0006 GETMBR R3 R0 K3
0x7C040400, // 0007 CALL R1 2
0x90020001, // 0008 SETMBR R0 K0 R1
0x70020010, // 0009 JMP #001B
0xB8060800, // 000A GETNGBL R1 K4
0x8C040305, // 000B GETMET R1 R1 K5
0x880C0100, // 000C GETMBR R3 R0 K0
0x7C040400, // 000D CALL R1 2
0x7806000B, // 000E JMPF R1 #001B
0x88040106, // 000F GETMBR R1 R0 K6
0x88080107, // 0010 GETMBR R2 R0 K7
0x88080506, // 0011 GETMBR R2 R2 K6
0x20040202, // 0012 NE R1 R1 R2
0x78060001, // 0013 JMPF R1 #0016
0x8C040108, // 0014 GETMET R1 R0 K8
0x7C040200, // 0015 CALL R1 1
0xB8060800, // 0016 GETNGBL R1 K4
0x8C040309, // 0017 GETMET R1 R1 K9
0x880C0103, // 0018 GETMBR R3 R0 K3
0x7C040400, // 0019 CALL R1 2
0x90020001, // 001A SETMBR R0 K0 R1
0x80000000, // 001B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_cluster_list
********************************************************************/
be_local_closure(Matter_Plugin_get_cluster_list, /* name */
be_nested_proto(
8, /* nstack */
2, /* argc */
2, /* 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(clusters),
/* K1 */ be_nested_str_weak(keys),
/* K2 */ be_nested_str_weak(push),
/* K3 */ be_nested_str_weak(stop_iteration),
}),
be_str_weak(get_cluster_list),
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x60080012, // 0000 GETGBL R2 G18
0x7C080000, // 0001 CALL R2 0
0x600C0010, // 0002 GETGBL R3 G16
0x88100100, // 0003 GETMBR R4 R0 K0
0x8C100901, // 0004 GETMET R4 R4 K1
0x7C100200, // 0005 CALL R4 1
0x7C0C0200, // 0006 CALL R3 1
0xA8020005, // 0007 EXBLK 0 #000E
0x5C100600, // 0008 MOVE R4 R3
0x7C100000, // 0009 CALL R4 0
0x8C140502, // 000A GETMET R5 R2 K2
0x5C1C0800, // 000B MOVE R7 R4
0x7C140400, // 000C CALL R5 2
0x7001FFF9, // 000D JMP #0008
0x580C0003, // 000E LDCONST R3 K3
0xAC0C0200, // 000F CATCH R3 1 0
0xB0080000, // 0010 RAISE 2 R0 R0
0x80040400, // 0011 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: <lambda>
********************************************************************/
be_local_closure(Matter_Plugin__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 function: is_local_device
********************************************************************/
be_local_closure(Matter_Plugin_is_local_device, /* name */
be_nested_proto(
2, /* nstack */
1, /* 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(is_local_device),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x50040200, // 0000 LDBOOL R1 1 0
0x80040200, // 0001 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: write_attribute
********************************************************************/
be_local_closure(Matter_Plugin_write_attribute, /* name */
be_nested_proto(
5, /* nstack */
4, /* 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(write_attribute),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x4C100000, // 0000 LDNIL R4
0x80040800, // 0001 RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: invoke_request
********************************************************************/
be_local_closure(Matter_Plugin_invoke_request, /* name */
be_nested_proto(
5, /* nstack */
4, /* 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(invoke_request),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x4C100000, // 0000 LDNIL R4
0x80040800, // 0001 RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: consolidate_clusters
********************************************************************/
be_local_closure(Matter_Plugin_consolidate_clusters, /* name */
be_nested_proto(
12, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
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(real_super),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040003, // 0000 GETGBL R1 G3
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
),
}),
1, /* has constants */
( &(const bvalue[ 6]) { /* constants */
/* K0 */ be_nested_str_weak(CLUSTERS),
/* K1 */ be_nested_str_weak(keys),
/* K2 */ be_nested_str_weak(contains),
/* K3 */ be_nested_str_weak(find),
/* K4 */ be_nested_str_weak(push),
/* K5 */ be_nested_str_weak(stop_iteration),
}),
be_str_weak(consolidate_clusters),
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
0x84040000, // 0000 CLOSURE R1 P0
0x60080013, // 0001 GETGBL R2 G19
0x7C080000, // 0002 CALL R2 0
0x5C0C0000, // 0003 MOVE R3 R0
0x4C100000, // 0004 LDNIL R4
0x20100604, // 0005 NE R4 R3 R4
0x7812002C, // 0006 JMPF R4 #0034
0x88100700, // 0007 GETMBR R4 R3 K0
0x60140010, // 0008 GETGBL R5 G16
0x8C180901, // 0009 GETMET R6 R4 K1
0x7C180200, // 000A CALL R6 1
0x7C140200, // 000B CALL R5 1
0xA802001E, // 000C EXBLK 0 #002C
0x5C180A00, // 000D MOVE R6 R5
0x7C180000, // 000E CALL R6 0
0x8C1C0502, // 000F GETMET R7 R2 K2
0x5C240C00, // 0010 MOVE R9 R6
0x7C1C0400, // 0011 CALL R7 2
0x741E0002, // 0012 JMPT R7 #0016
0x601C0012, // 0013 GETGBL R7 G18
0x7C1C0000, // 0014 CALL R7 0
0x98080C07, // 0015 SETIDX R2 R6 R7
0x601C0010, // 0016 GETGBL R7 G16
0x94200806, // 0017 GETIDX R8 R4 R6
0x7C1C0200, // 0018 CALL R7 1
0xA802000D, // 0019 EXBLK 0 #0028
0x5C200E00, // 001A MOVE R8 R7
0x7C200000, // 001B CALL R8 0
0x94240406, // 001C GETIDX R9 R2 R6
0x8C241303, // 001D GETMET R9 R9 K3
0x5C2C1000, // 001E MOVE R11 R8
0x7C240400, // 001F CALL R9 2
0x4C280000, // 0020 LDNIL R10
0x1C24120A, // 0021 EQ R9 R9 R10
0x78260003, // 0022 JMPF R9 #0027
0x94240406, // 0023 GETIDX R9 R2 R6
0x8C241304, // 0024 GETMET R9 R9 K4
0x5C2C1000, // 0025 MOVE R11 R8
0x7C240400, // 0026 CALL R9 2
0x7001FFF1, // 0027 JMP #001A
0x581C0005, // 0028 LDCONST R7 K5
0xAC1C0200, // 0029 CATCH R7 1 0
0xB0080000, // 002A RAISE 2 R0 R0
0x7001FFE0, // 002B JMP #000D
0x58140005, // 002C LDCONST R5 K5
0xAC140200, // 002D CATCH R5 1 0
0xB0080000, // 002E RAISE 2 R0 R0
0x5C140200, // 002F MOVE R5 R1
0x5C180600, // 0030 MOVE R6 R3
0x7C140200, // 0031 CALL R5 1
0x5C0C0A00, // 0032 MOVE R3 R5
0x7001FFCF, // 0033 JMP #0004
0x80040400, // 0034 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: attribute_updated
********************************************************************/
be_local_closure(Matter_Plugin_attribute_updated, /* name */
be_nested_proto(
10, /* nstack */
4, /* 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(device),
/* K1 */ be_nested_str_weak(attribute_updated),
/* K2 */ be_nested_str_weak(endpoint),
}),
be_str_weak(attribute_updated),
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x88100100, // 0000 GETMBR R4 R0 K0
0x8C100901, // 0001 GETMET R4 R4 K1
0x88180102, // 0002 GETMBR R6 R0 K2
0x5C1C0200, // 0003 MOVE R7 R1
0x5C200400, // 0004 MOVE R8 R2
0x5C240600, // 0005 MOVE R9 R3
0x7C100A00, // 0006 CALL R4 5
0x80000000, // 0007 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_sensors
********************************************************************/
be_local_closure(Matter_Plugin_parse_sensors, /* 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(parse_sensors),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: has
********************************************************************/
be_local_closure(Matter_Plugin_has, /* name */
be_nested_proto(
6, /* nstack */
3, /* argc */
2, /* 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(clusters),
/* K1 */ be_nested_str_weak(contains),
/* K2 */ be_nested_str_weak(endpoints),
/* K3 */ be_nested_str_weak(find),
}),
be_str_weak(has),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x880C0100, // 0000 GETMBR R3 R0 K0
0x8C0C0701, // 0001 GETMET R3 R3 K1
0x5C140200, // 0002 MOVE R5 R1
0x7C0C0400, // 0003 CALL R3 2
0x780E0006, // 0004 JMPF R3 #000C
0x880C0102, // 0005 GETMBR R3 R0 K2
0x8C0C0703, // 0006 GETMET R3 R3 K3
0x5C140400, // 0007 MOVE R5 R2
0x7C0C0400, // 0008 CALL R3 2
0x4C100000, // 0009 LDNIL R4
0x200C0604, // 000A NE R3 R3 R4
0x740E0000, // 000B JMPT R3 #000D
0x500C0001, // 000C LDBOOL R3 0 1
0x500C0200, // 000D LDBOOL R3 1 0
0x80040600, // 000E RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_shadow_lazy
********************************************************************/
be_local_closure(Matter_Plugin_update_shadow_lazy, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(tick),
/* K1 */ be_nested_str_weak(device),
/* K2 */ be_nested_str_weak(update_shadow),
}),
be_str_weak(update_shadow_lazy),
&be_const_str_solidified,
( &(const binstruction[11]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x88080500, // 0002 GETMBR R2 R2 K0
0x20040202, // 0003 NE R1 R1 R2
0x78060004, // 0004 JMPF R1 #000A
0x8C040102, // 0005 GETMET R1 R0 K2
0x7C040200, // 0006 CALL R1 1
0x88040101, // 0007 GETMBR R1 R0 K1
0x88040300, // 0008 GETMBR R1 R1 K0
0x90020001, // 0009 SETMBR R0 K0 R1
0x80000000, // 000A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_endpoint
********************************************************************/
be_local_closure(Matter_Plugin_get_endpoint, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* 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(endpoint),
}),
be_str_weak(get_endpoint),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x80040200, // 0001 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(Matter_Plugin_init, /* name */
be_nested_proto(
7, /* nstack */
4, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(device),
/* K1 */ be_nested_str_weak(endpoint),
/* K2 */ be_nested_str_weak(clusters),
/* K3 */ be_nested_str_weak(consolidate_clusters),
/* K4 */ be_nested_str_weak(parse_configuration),
}),
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x90020202, // 0001 SETMBR R0 K1 R2
0x8C100103, // 0002 GETMET R4 R0 K3
0x7C100200, // 0003 CALL R4 1
0x90020404, // 0004 SETMBR R0 K2 R4
0x8C100104, // 0005 GETMET R4 R0 K4
0x5C180600, // 0006 MOVE R6 R3
0x7C100400, // 0007 CALL R4 2
0x80000000, // 0008 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_event
********************************************************************/
be_local_closure(Matter_Plugin_read_event, /* name */
be_nested_proto(
6, /* nstack */
5, /* 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(read_event),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x4C140000, // 0000 LDNIL R5
0x80040A00, // 0001 RET 1 R5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: subscribe_attribute
********************************************************************/
be_local_closure(Matter_Plugin_subscribe_attribute, /* name */
be_nested_proto(
6, /* nstack */
5, /* 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(subscribe_attribute),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x4C140000, // 0000 LDNIL R5
0x80040A00, // 0001 RET 1 R5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: parse_configuration
********************************************************************/
be_local_closure(Matter_Plugin_parse_configuration, /* 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(parse_configuration),
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80000000, // 0000 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: subscribe_event
********************************************************************/
be_local_closure(Matter_Plugin_subscribe_event, /* name */
be_nested_proto(
6, /* nstack */
5, /* 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(subscribe_event),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x4C140000, // 0000 LDNIL R5
0x80040A00, // 0001 RET 1 R5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_attribute_list
********************************************************************/
be_local_closure(Matter_Plugin_get_attribute_list, /* 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[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(clusters),
/* K1 */ be_nested_str_weak(find),
}),
be_str_weak(get_attribute_list),
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x880C0100, // 0000 GETMBR R3 R0 K0
0x8C0C0701, // 0001 GETMET R3 R3 K1
0x5C140400, // 0002 MOVE R5 R2
0x60180012, // 0003 GETGBL R6 G18
0x7C180000, // 0004 CALL R6 0
0x7C0C0600, // 0005 CALL R3 3
0x80040600, // 0006 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: timed_request
********************************************************************/
be_local_closure(Matter_Plugin_timed_request, /* name */
be_nested_proto(
5, /* nstack */
4, /* 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(timed_request),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x4C100000, // 0000 LDNIL R4
0x80040800, // 0001 RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: update_shadow
********************************************************************/
be_local_closure(Matter_Plugin_update_shadow, /* name */
be_nested_proto(
2, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(tick),
/* K1 */ be_nested_str_weak(device),
}),
be_str_weak(update_shadow),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x88040101, // 0000 GETMBR R1 R0 K1
0x88040300, // 0001 GETMBR R1 R1 K0
0x90020001, // 0002 SETMBR R0 K0 R1
0x80000000, // 0003 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read_attribute
********************************************************************/
be_local_closure(Matter_Plugin_read_attribute, /* name */
be_nested_proto(
16, /* nstack */
3, /* 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(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(Matter_TLV_array),
/* K6 */ be_nested_str_weak(TYPES),
/* K7 */ be_nested_str_weak(keys),
/* K8 */ be_nested_str_weak(add_struct),
/* K9 */ be_nested_str_weak(add_TLV),
/* K10 */ be_nested_str_weak(U2),
/* K11 */ be_const_int(1),
/* K12 */ be_nested_str_weak(stop_iteration),
/* K13 */ be_nested_str_weak(get_cluster_list),
/* K14 */ be_nested_str_weak(U4),
/* K15 */ be_const_int(2),
/* K16 */ be_const_int(3),
/* K17 */ be_nested_str_weak(create_TLV),
/* K18 */ be_nested_str_weak(BOOL),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[104]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x541A001C, // 0004 LDINT R6 29
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0051, // 0006 JMPF R6 #0059
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A001B, // 0008 JMPF R6 #0025
0x8C180705, // 0009 GETMET R6 R3 K5
0x7C180200, // 000A CALL R6 1
0x881C0106, // 000B GETMBR R7 R0 K6
0x60200010, // 000C GETGBL R8 G16
0x8C240F07, // 000D GETMET R9 R7 K7
0x7C240200, // 000E CALL R9 1
0x7C200200, // 000F CALL R8 1
0xA802000E, // 0010 EXBLK 0 #0020
0x5C241000, // 0011 MOVE R9 R8
0x7C240000, // 0012 CALL R9 0
0x8C280D08, // 0013 GETMET R10 R6 K8
0x7C280200, // 0014 CALL R10 1
0x8C2C1509, // 0015 GETMET R11 R10 K9
0x58340004, // 0016 LDCONST R13 K4
0x8838070A, // 0017 GETMBR R14 R3 K10
0x5C3C1200, // 0018 MOVE R15 R9
0x7C2C0800, // 0019 CALL R11 4
0x8C2C1509, // 001A GETMET R11 R10 K9
0x5834000B, // 001B LDCONST R13 K11
0x8838070A, // 001C GETMBR R14 R3 K10
0x943C0E09, // 001D GETIDX R15 R7 R9
0x7C2C0800, // 001E CALL R11 4
0x7001FFF0, // 001F JMP #0011
0x5820000C, // 0020 LDCONST R8 K12
0xAC200200, // 0021 CATCH R8 1 0
0xB0080000, // 0022 RAISE 2 R0 R0
0x80040C00, // 0023 RET 1 R6
0x70020032, // 0024 JMP #0058
0x1C180B0B, // 0025 EQ R6 R5 K11
0x781A0013, // 0026 JMPF R6 #003B
0x8C180705, // 0027 GETMET R6 R3 K5
0x7C180200, // 0028 CALL R6 1
0x601C0010, // 0029 GETGBL R7 G16
0x8C20010D, // 002A GETMET R8 R0 K13
0x7C200200, // 002B CALL R8 1
0x7C1C0200, // 002C CALL R7 1
0xA8020007, // 002D EXBLK 0 #0036
0x5C200E00, // 002E MOVE R8 R7
0x7C200000, // 002F CALL R8 0
0x8C240D09, // 0030 GETMET R9 R6 K9
0x4C2C0000, // 0031 LDNIL R11
0x8830070E, // 0032 GETMBR R12 R3 K14
0x5C341000, // 0033 MOVE R13 R8
0x7C240800, // 0034 CALL R9 4
0x7001FFF7, // 0035 JMP #002E
0x581C000C, // 0036 LDCONST R7 K12
0xAC1C0200, // 0037 CATCH R7 1 0
0xB0080000, // 0038 RAISE 2 R0 R0
0x80040C00, // 0039 RET 1 R6
0x7002001C, // 003A JMP #0058
0x1C180B0F, // 003B EQ R6 R5 K15
0x781A0003, // 003C JMPF R6 #0041
0x8C180705, // 003D GETMET R6 R3 K5
0x7C180200, // 003E CALL R6 1
0x80040C00, // 003F RET 1 R6
0x70020016, // 0040 JMP #0058
0x1C180B10, // 0041 EQ R6 R5 K16
0x781A0003, // 0042 JMPF R6 #0047
0x8C180705, // 0043 GETMET R6 R3 K5
0x7C180200, // 0044 CALL R6 1
0x80040C00, // 0045 RET 1 R6
0x70020010, // 0046 JMP #0058
0x541AFFFB, // 0047 LDINT R6 65532
0x1C180A06, // 0048 EQ R6 R5 R6
0x781A0005, // 0049 JMPF R6 #0050
0x8C180711, // 004A GETMET R6 R3 K17
0x8820070E, // 004B GETMBR R8 R3 K14
0x58240004, // 004C LDCONST R9 K4
0x7C180600, // 004D CALL R6 3
0x80040C00, // 004E RET 1 R6
0x70020007, // 004F JMP #0058
0x541AFFFC, // 0050 LDINT R6 65533
0x1C180A06, // 0051 EQ R6 R5 R6
0x781A0004, // 0052 JMPF R6 #0058
0x8C180711, // 0053 GETMET R6 R3 K17
0x8820070E, // 0054 GETMBR R8 R3 K14
0x5824000B, // 0055 LDCONST R9 K11
0x7C180600, // 0056 CALL R6 3
0x80040C00, // 0057 RET 1 R6
0x7002000D, // 0058 JMP #0067
0x541A0038, // 0059 LDINT R6 57
0x1C180806, // 005A EQ R6 R4 R6
0x781A0008, // 005B JMPF R6 #0065
0x541A0010, // 005C LDINT R6 17
0x1C180A06, // 005D EQ R6 R5 R6
0x781A0004, // 005E JMPF R6 #0064
0x8C180711, // 005F GETMET R6 R3 K17
0x88200712, // 0060 GETMBR R8 R3 K18
0x5824000B, // 0061 LDCONST R9 K11
0x7C180600, // 0062 CALL R6 3
0x80040C00, // 0063 RET 1 R6
0x70020001, // 0064 JMP #0067
0x4C180000, // 0065 LDNIL R6
0x80040C00, // 0066 RET 1 R6
0x80000000, // 0067 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: ui_string_to_conf
********************************************************************/
be_local_closure(Matter_Plugin_ui_string_to_conf, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
4, /* 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_class(be_class_Matter_Plugin),
/* K1 */ be_nested_str_weak(ARG),
/* K2 */ be_nested_str_weak(ARG_TYPE),
}),
be_str_weak(ui_string_to_conf),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x580C0000, // 0000 LDCONST R3 K0
0x88100101, // 0001 GETMBR R4 R0 K1
0x88140102, // 0002 GETMBR R5 R0 K2
0x780A0004, // 0003 JMPF R2 #0009
0x78120003, // 0004 JMPF R4 #0009
0x5C180A00, // 0005 MOVE R6 R5
0x5C1C0400, // 0006 MOVE R7 R2
0x7C180200, // 0007 CALL R6 1
0x98040806, // 0008 SETIDX R1 R4 R6
0x80040200, // 0009 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: ui_conf_to_string
********************************************************************/
be_local_closure(Matter_Plugin_ui_conf_to_string, /* name */
be_nested_proto(
9, /* nstack */
2, /* argc */
4, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 4]) { /* constants */
/* K0 */ be_const_class(be_class_Matter_Plugin),
/* K1 */ be_nested_str_weak(ARG),
/* K2 */ be_nested_str_weak(find),
/* K3 */ be_nested_str_weak(),
}),
be_str_weak(ui_conf_to_string),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x58080000, // 0000 LDCONST R2 K0
0x880C0101, // 0001 GETMBR R3 R0 K1
0x780E0006, // 0002 JMPF R3 #000A
0x60100008, // 0003 GETGBL R4 G8
0x8C140302, // 0004 GETMET R5 R1 K2
0x5C1C0600, // 0005 MOVE R7 R3
0x58200003, // 0006 LDCONST R8 K3
0x7C140600, // 0007 CALL R5 3
0x7C100200, // 0008 CALL R4 1
0x70020000, // 0009 JMP #000B
0x58100003, // 000A LDCONST R4 K3
0x80040800, // 000B RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Matter_Plugin
********************************************************************/
be_local_class(Matter_Plugin,
5,
NULL,
be_nested_map(34,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(every_250ms, 18), be_const_closure(Matter_Plugin_every_250ms_closure) },
{ be_const_key_weak(get_cluster_list, 3), be_const_closure(Matter_Plugin_get_cluster_list_closure) },
{ be_const_key_weak(NAME, -1), be_nested_str_weak() },
{ be_const_key_weak(device, -1), be_const_var(1) },
{ be_const_key_weak(tick, -1), be_const_var(4) },
{ be_const_key_weak(write_attribute, 27), be_const_closure(Matter_Plugin_write_attribute_closure) },
{ be_const_key_weak(has, -1), be_const_closure(Matter_Plugin_has_closure) },
{ be_const_key_weak(invoke_request, 6), be_const_closure(Matter_Plugin_invoke_request_closure) },
{ be_const_key_weak(consolidate_clusters, 29), be_const_closure(Matter_Plugin_consolidate_clusters_closure) },
{ be_const_key_weak(attribute_updated, -1), be_const_closure(Matter_Plugin_attribute_updated_closure) },
{ be_const_key_weak(update_shadow_lazy, -1), be_const_closure(Matter_Plugin_update_shadow_lazy_closure) },
{ be_const_key_weak(ui_string_to_conf, -1), be_const_static_closure(Matter_Plugin_ui_string_to_conf_closure) },
{ be_const_key_weak(is_local_device, 10), be_const_closure(Matter_Plugin_is_local_device_closure) },
{ be_const_key_weak(get_endpoint, -1), be_const_closure(Matter_Plugin_get_endpoint_closure) },
{ be_const_key_weak(clusters, -1), be_const_var(3) },
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_init_closure) },
{ be_const_key_weak(read_event, 11), be_const_closure(Matter_Plugin_read_event_closure) },
{ be_const_key_weak(read_attribute, 24), be_const_closure(Matter_Plugin_read_attribute_closure) },
{ be_const_key_weak(update_next, -1), be_const_var(0) },
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) },
{ be_const_key_weak(subscribe_event, -1), be_const_closure(Matter_Plugin_subscribe_event_closure) },
{ be_const_key_weak(get_attribute_list, -1), be_const_closure(Matter_Plugin_get_attribute_list_closure) },
{ be_const_key_weak(timed_request, -1), be_const_closure(Matter_Plugin_timed_request_closure) },
{ be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_update_shadow_closure) },
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
{ be_const_key_weak(ARG, -1), be_nested_str_weak() },
{ 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_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(6,
( (struct bvalue*) &(const bvalue[]) {
be_const_int(0),
be_const_int(1),
be_const_int(2),
be_const_int(3),
be_const_int(65532),
be_const_int(65533),
})) ) } )) },
{ be_const_key_int(57, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(1,
( (struct bvalue*) &(const bvalue[]) {
be_const_int(17),
})) ) } )) },
})) ) } )) },
{ be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_parse_configuration_closure) },
{ be_const_key_weak(ARG_TYPE, 17), be_const_static_closure(Matter_Plugin__X3Clambda_X3E_closure) },
{ be_const_key_weak(subscribe_attribute, 33), be_const_closure(Matter_Plugin_subscribe_attribute_closure) },
{ be_const_key_weak(ui_conf_to_string, -1), be_const_static_closure(Matter_Plugin_ui_conf_to_string_closure) },
{ be_const_key_weak(TYPE, -1), be_nested_str_weak() },
{ be_const_key_weak(endpoint, 4), be_const_var(2) },
{ be_const_key_weak(parse_sensors, -1), be_const_closure(Matter_Plugin_parse_sensors_closure) },
})),
be_str_weak(Matter_Plugin)
);
/*******************************************************************/
void be_load_Matter_Plugin_class(bvm *vm) {
be_pushntvclass(vm, &be_class_Matter_Plugin);
be_setglobal(vm, "Matter_Plugin");
be_pop(vm, 1);
}
/********************************************************************/
/* End of solidification */