Delete lib/libesp32/berry_tasmota/src/solidify/berry_tasmota directory

This commit is contained in:
Jason2866 2025-02-04 20:03:15 +01:00 committed by GitHub
parent f1e5b576ba
commit af4ec3e0d0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
32 changed files with 0 additions and 23460 deletions

View File

@ -1,923 +0,0 @@
/* Solidification of AXP192.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'AXP192' ktab size: 37, total: 82 (saved 360 bytes)
static const bvalue be_ktab_class_AXP192[37] = {
/* K0 */ be_const_int(1),
/* K1 */ be_nested_str(write_bit),
/* K2 */ be_const_int(0),
/* K3 */ be_const_int(2),
/* K4 */ be_const_int(3),
/* K5 */ be_nested_str(read24),
/* K6 */ be_const_real_hex(0x3A102DE0),
/* K7 */ be_nested_str(read12),
/* K8 */ be_const_real_hex(0x3A902DE0),
/* K9 */ be_const_real_hex(0x3EC00000),
/* K10 */ be_nested_str(wire),
/* K11 */ be_nested_str(read),
/* K12 */ be_nested_str(addr),
/* K13 */ be_const_real_hex(0x3AB78035),
/* K14 */ be_const_real_hex(0x3ADED28A),
/* K15 */ be_nested_str(write8),
/* K16 */ be_nested_str(read8),
/* K17 */ be_nested_str(_X2C_X22AXP192_X22_X3A_X7B_X22VBusVoltage_X22_X3A_X25_X2E3f_X2C_X22VBusCurrent_X22_X3A_X25_X2E1f_X2C_X22BattVoltage_X22_X3A_X25_X2E3f_X2C_X22BattCurrent_X22_X3A_X25_X2E1f_X2C_X22Temperature_X22_X3A_X25_X2E1f_X7D),
/* K18 */ be_nested_str(get_vbus_voltage),
/* K19 */ be_nested_str(get_bat_voltage),
/* K20 */ be_nested_str(get_bat_current),
/* K21 */ be_nested_str(get_temp),
/* K22 */ be_nested_str(tasmota),
/* K23 */ be_nested_str(response_append),
/* K24 */ be_nested_str(I2C_Driver),
/* K25 */ be_nested_str(init),
/* K26 */ be_nested_str(AXP192),
/* K27 */ be_nested_str(read13),
/* K28 */ be_const_real_hex(0x3F000000),
/* K29 */ be_nested_str(_X7Bs_X7DVBus_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D),
/* K30 */ be_nested_str(_X7Bs_X7DVBus_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D),
/* K31 */ be_nested_str(_X7Bs_X7DBatt_X20Voltage_X7Bm_X7D_X25_X2E3f_X20V_X7Be_X7D),
/* K32 */ be_nested_str(_X7Bs_X7DBatt_X20Current_X7Bm_X7D_X25_X2E1f_X20mA_X7Be_X7D),
/* K33 */ be_nested_str(_X7Bs_X7DAXP_X20Temperature_X7Bm_X7D_X25_X2E1f_X20_X26deg_X3BC_X7Be_X7D),
/* K34 */ be_nested_str(web_send_decimal),
/* K35 */ be_const_real_hex(0x3DCCCCCD),
/* K36 */ be_const_real_hex(0x4310B333),
};
extern const bclass be_class_AXP192;
/********************************************************************
** Solidified function: set_dcdc_enable
********************************************************************/
be_local_closure(class_AXP192_set_dcdc_enable, /* 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_AXP192, /* shared constants */
&be_const_str_set_dcdc_enable,
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0x1C0C0300, // 0000 EQ R3 R1 K0
0x780E0004, // 0001 JMPF R3 #0007
0x8C0C0101, // 0002 GETMET R3 R0 K1
0x54160011, // 0003 LDINT R5 18
0x58180002, // 0004 LDCONST R6 K2
0x5C1C0400, // 0005 MOVE R7 R2
0x7C0C0800, // 0006 CALL R3 4
0x1C0C0303, // 0007 EQ R3 R1 K3
0x780E0004, // 0008 JMPF R3 #000E
0x8C0C0101, // 0009 GETMET R3 R0 K1
0x54160011, // 000A LDINT R5 18
0x541A0003, // 000B LDINT R6 4
0x5C1C0400, // 000C MOVE R7 R2
0x7C0C0800, // 000D CALL R3 4
0x1C0C0304, // 000E EQ R3 R1 K4
0x780E0004, // 000F JMPF R3 #0015
0x8C0C0101, // 0010 GETMET R3 R0 K1
0x54160011, // 0011 LDINT R5 18
0x58180000, // 0012 LDCONST R6 K0
0x5C1C0400, // 0013 MOVE R7 R2
0x7C0C0800, // 0014 CALL R3 4
0x80000000, // 0015 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_power
********************************************************************/
be_local_closure(class_AXP192_get_bat_power, /* 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_AXP192, /* shared constants */
&be_const_str_get_bat_power,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040105, // 0000 GETMET R1 R0 K5
0x540E006F, // 0001 LDINT R3 112
0x7C040400, // 0002 CALL R1 2
0x08040306, // 0003 MUL R1 R1 K6
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_voltage
********************************************************************/
be_local_closure(class_AXP192_get_bat_voltage, /* 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_AXP192, /* shared constants */
&be_const_str_get_bat_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E0077, // 0001 LDINT R3 120
0x7C040400, // 0002 CALL R1 2
0x08040308, // 0003 MUL R1 R1 K8
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_vbus_current
********************************************************************/
be_local_closure(class_AXP192_get_vbus_current, /* 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_AXP192, /* shared constants */
&be_const_str_get_vbus_current,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E005B, // 0001 LDINT R3 92
0x7C040400, // 0002 CALL R1 2
0x08040309, // 0003 MUL R1 R1 K9
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_warning_level
********************************************************************/
be_local_closure(class_AXP192_get_warning_level, /* 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_AXP192, /* shared constants */
&be_const_str_get_warning_level,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E0046, // 0001 LDINT R3 71
0x7C040400, // 0002 CALL R1 2
0x2C040300, // 0003 AND R1 R1 K0
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_ldo_enable
********************************************************************/
be_local_closure(class_AXP192_set_ldo_enable, /* 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_AXP192, /* shared constants */
&be_const_str_set_ldo_enable,
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x1C0C0303, // 0000 EQ R3 R1 K3
0x780E0004, // 0001 JMPF R3 #0007
0x8C0C0101, // 0002 GETMET R3 R0 K1
0x54160011, // 0003 LDINT R5 18
0x58180003, // 0004 LDCONST R6 K3
0x5C1C0400, // 0005 MOVE R7 R2
0x7C0C0800, // 0006 CALL R3 4
0x1C0C0304, // 0007 EQ R3 R1 K4
0x780E0004, // 0008 JMPF R3 #000E
0x8C0C0101, // 0009 GETMET R3 R0 K1
0x54160011, // 000A LDINT R5 18
0x58180004, // 000B LDCONST R6 K4
0x5C1C0400, // 000C MOVE R7 R2
0x7C0C0800, // 000D CALL R3 4
0x80000000, // 000E RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_input_power_status
********************************************************************/
be_local_closure(class_AXP192_get_input_power_status, /* 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_AXP192, /* shared constants */
&be_const_str_get_input_power_status,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x8804010A, // 0000 GETMBR R1 R0 K10
0x8C04030B, // 0001 GETMET R1 R1 K11
0x880C010C, // 0002 GETMBR R3 R0 K12
0x58100002, // 0003 LDCONST R4 K2
0x58140000, // 0004 LDCONST R5 K0
0x7C040800, // 0005 CALL R1 4
0x80040200, // 0006 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_aps_voltage
********************************************************************/
be_local_closure(class_AXP192_get_aps_voltage, /* 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_AXP192, /* shared constants */
&be_const_str_get_aps_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E007D, // 0001 LDINT R3 126
0x7C040400, // 0002 CALL R1 2
0x0804030D, // 0003 MUL R1 R1 K13
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_exten
********************************************************************/
be_local_closure(class_AXP192_set_exten, /* 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_AXP192, /* shared constants */
&be_const_str_set_exten,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C080101, // 0000 GETMET R2 R0 K1
0x54120011, // 0001 LDINT R4 18
0x54160005, // 0002 LDINT R5 6
0x5C180200, // 0003 MOVE R6 R1
0x7C080800, // 0004 CALL R2 4
0x80000000, // 0005 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: battery_present
********************************************************************/
be_local_closure(class_AXP192_battery_present, /* 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_AXP192, /* shared constants */
&be_const_str_battery_present,
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x8804010A, // 0000 GETMBR R1 R0 K10
0x8C04030B, // 0001 GETMET R1 R1 K11
0x880C010C, // 0002 GETMBR R3 R0 K12
0x58100000, // 0003 LDCONST R4 K0
0x58140000, // 0004 LDCONST R5 K0
0x7C040800, // 0005 CALL R1 4
0x540A001F, // 0006 LDINT R2 32
0x2C040202, // 0007 AND R1 R1 R2
0x78060002, // 0008 JMPF R1 #000C
0x50040200, // 0009 LDBOOL R1 1 0
0x80040200, // 000A RET 1 R1
0x70020001, // 000B JMP #000E
0x50040000, // 000C LDBOOL R1 0 0
0x80040200, // 000D RET 1 R1
0x80000000, // 000E RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_vbus_voltage
********************************************************************/
be_local_closure(class_AXP192_get_vbus_voltage, /* 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_AXP192, /* shared constants */
&be_const_str_get_vbus_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E0059, // 0001 LDINT R3 90
0x7C040400, // 0002 CALL R1 2
0x0804030E, // 0003 MUL R1 R1 K14
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: write_gpio
********************************************************************/
be_local_closure(class_AXP192_write_gpio, /* 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_AXP192, /* shared constants */
&be_const_str_write_gpio,
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x280C0302, // 0000 GE R3 R1 K2
0x780E0007, // 0001 JMPF R3 #000A
0x180C0303, // 0002 LE R3 R1 K3
0x780E0005, // 0003 JMPF R3 #000A
0x8C0C0101, // 0004 GETMET R3 R0 K1
0x54160093, // 0005 LDINT R5 148
0x5C180200, // 0006 MOVE R6 R1
0x5C1C0400, // 0007 MOVE R7 R2
0x7C0C0800, // 0008 CALL R3 4
0x70020009, // 0009 JMP #0014
0x280C0304, // 000A GE R3 R1 K4
0x780E0007, // 000B JMPF R3 #0014
0x540E0003, // 000C LDINT R3 4
0x180C0203, // 000D LE R3 R1 R3
0x780E0004, // 000E JMPF R3 #0014
0x8C0C0101, // 000F GETMET R3 R0 K1
0x54160095, // 0010 LDINT R5 150
0x04180304, // 0011 SUB R6 R1 K4
0x5C1C0400, // 0012 MOVE R7 R2
0x7C0C0800, // 0013 CALL R3 4
0x80000000, // 0014 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_ldo_voltage
********************************************************************/
be_local_closure(class_AXP192_set_ldo_voltage, /* 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_AXP192, /* shared constants */
&be_const_str_set_ldo_voltage,
&be_const_str_solidified,
( &(const binstruction[39]) { /* code */
0x540E0CE3, // 0000 LDINT R3 3300
0x240C0403, // 0001 GT R3 R2 R3
0x780E0001, // 0002 JMPF R3 #0005
0x540A000E, // 0003 LDINT R2 15
0x70020004, // 0004 JMP #000A
0x540E0063, // 0005 LDINT R3 100
0x0C0C0403, // 0006 DIV R3 R2 R3
0x54120011, // 0007 LDINT R4 18
0x040C0604, // 0008 SUB R3 R3 R4
0x5C080600, // 0009 MOVE R2 R3
0x1C0C0303, // 000A EQ R3 R1 K3
0x780E000C, // 000B JMPF R3 #0019
0x8C0C010F, // 000C GETMET R3 R0 K15
0x54160027, // 000D LDINT R5 40
0x8C180110, // 000E GETMET R6 R0 K16
0x54220027, // 000F LDINT R8 40
0x7C180400, // 0010 CALL R6 2
0x541E000E, // 0011 LDINT R7 15
0x2C180C07, // 0012 AND R6 R6 R7
0x541E000E, // 0013 LDINT R7 15
0x2C1C0407, // 0014 AND R7 R2 R7
0x54220003, // 0015 LDINT R8 4
0x381C0E08, // 0016 SHL R7 R7 R8
0x30180C07, // 0017 OR R6 R6 R7
0x7C0C0600, // 0018 CALL R3 3
0x1C0C0304, // 0019 EQ R3 R1 K4
0x780E000A, // 001A JMPF R3 #0026
0x8C0C010F, // 001B GETMET R3 R0 K15
0x54160027, // 001C LDINT R5 40
0x8C180110, // 001D GETMET R6 R0 K16
0x54220027, // 001E LDINT R8 40
0x7C180400, // 001F CALL R6 2
0x541E00EF, // 0020 LDINT R7 240
0x2C180C07, // 0021 AND R6 R6 R7
0x541E000E, // 0022 LDINT R7 15
0x2C1C0407, // 0023 AND R7 R2 R7
0x30180C07, // 0024 OR R6 R6 R7
0x7C0C0600, // 0025 CALL R3 3
0x80000000, // 0026 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: json_append
********************************************************************/
be_local_closure(class_AXP192_json_append, /* 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_AXP192, /* shared constants */
&be_const_str_json_append,
&be_const_str_solidified,
( &(const binstruction[22]) { /* code */
0x8804010A, // 0000 GETMBR R1 R0 K10
0x74060001, // 0001 JMPT R1 #0004
0x4C040000, // 0002 LDNIL R1
0x80040200, // 0003 RET 1 R1
0x60040018, // 0004 GETGBL R1 G24
0x58080011, // 0005 LDCONST R2 K17
0x8C0C0112, // 0006 GETMET R3 R0 K18
0x7C0C0200, // 0007 CALL R3 1
0x8C100112, // 0008 GETMET R4 R0 K18
0x7C100200, // 0009 CALL R4 1
0x8C140113, // 000A GETMET R5 R0 K19
0x7C140200, // 000B CALL R5 1
0x8C180114, // 000C GETMET R6 R0 K20
0x7C180200, // 000D CALL R6 1
0x8C1C0115, // 000E GETMET R7 R0 K21
0x7C1C0200, // 000F CALL R7 1
0x7C040C00, // 0010 CALL R1 6
0xB80A2C00, // 0011 GETNGBL R2 K22
0x8C080517, // 0012 GETMET R2 R2 K23
0x5C100200, // 0013 MOVE R4 R1
0x7C080400, // 0014 CALL R2 2
0x80000000, // 0015 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_AXP192_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_AXP192, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x1C080202, // 0001 EQ R2 R1 R2
0x780A0000, // 0002 JMPF R2 #0004
0x54060033, // 0003 LDINT R1 52
0x60080003, // 0004 GETGBL R2 G3
0x5C0C0000, // 0005 MOVE R3 R0
0xB8123000, // 0006 GETNGBL R4 K24
0x7C080400, // 0007 CALL R2 2
0x8C080519, // 0008 GETMET R2 R2 K25
0x5810001A, // 0009 LDCONST R4 K26
0x54160033, // 000A LDINT R5 52
0x7C080600, // 000B CALL R2 3
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_current
********************************************************************/
be_local_closure(class_AXP192_get_bat_current, /* 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_AXP192, /* shared constants */
&be_const_str_get_bat_current,
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x8C04011B, // 0000 GETMET R1 R0 K27
0x540E0079, // 0001 LDINT R3 122
0x7C040400, // 0002 CALL R1 2
0x8C08011B, // 0003 GETMET R2 R0 K27
0x5412007B, // 0004 LDINT R4 124
0x7C080400, // 0005 CALL R2 2
0x04040202, // 0006 SUB R1 R1 R2
0x0804031C, // 0007 MUL R1 R1 K28
0x80040200, // 0008 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: web_sensor
********************************************************************/
be_local_closure(class_AXP192_web_sensor, /* 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_AXP192, /* shared constants */
&be_const_str_web_sensor,
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
0x8804010A, // 0000 GETMBR R1 R0 K10
0x74060001, // 0001 JMPT R1 #0004
0x4C040000, // 0002 LDNIL R1
0x80040200, // 0003 RET 1 R1
0x60040018, // 0004 GETGBL R1 G24
0x400A3B1E, // 0005 CONNECT R2 K29 K30
0x4008051F, // 0006 CONNECT R2 R2 K31
0x40080520, // 0007 CONNECT R2 R2 K32
0x40080521, // 0008 CONNECT R2 R2 K33
0x8C0C0112, // 0009 GETMET R3 R0 K18
0x7C0C0200, // 000A CALL R3 1
0x8C100112, // 000B GETMET R4 R0 K18
0x7C100200, // 000C CALL R4 1
0x8C140113, // 000D GETMET R5 R0 K19
0x7C140200, // 000E CALL R5 1
0x8C180114, // 000F GETMET R6 R0 K20
0x7C180200, // 0010 CALL R6 1
0x8C1C0115, // 0011 GETMET R7 R0 K21
0x7C1C0200, // 0012 CALL R7 1
0x7C040C00, // 0013 CALL R1 6
0xB80A2C00, // 0014 GETNGBL R2 K22
0x8C080522, // 0015 GETMET R2 R2 K34
0x5C100200, // 0016 MOVE R4 R1
0x7C080400, // 0017 CALL R2 2
0x80000000, // 0018 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_battery_charging_status
********************************************************************/
be_local_closure(class_AXP192_get_battery_charging_status, /* 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_AXP192, /* shared constants */
&be_const_str_get_battery_charging_status,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x8804010A, // 0000 GETMBR R1 R0 K10
0x8C04030B, // 0001 GETMET R1 R1 K11
0x880C010C, // 0002 GETMBR R3 R0 K12
0x58100000, // 0003 LDCONST R4 K0
0x58140000, // 0004 LDCONST R5 K0
0x7C040800, // 0005 CALL R1 4
0x80040200, // 0006 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_temp
********************************************************************/
be_local_closure(class_AXP192_get_temp, /* 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_AXP192, /* shared constants */
&be_const_str_get_temp,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040107, // 0000 GETMET R1 R0 K7
0x540E005D, // 0001 LDINT R3 94
0x7C040400, // 0002 CALL R1 2
0x08040323, // 0003 MUL R1 R1 K35
0x04040324, // 0004 SUB R1 R1 K36
0x80040200, // 0005 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_dc_voltage
********************************************************************/
be_local_closure(class_AXP192_set_dc_voltage, /* 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_AXP192, /* shared constants */
&be_const_str_set_dc_voltage,
&be_const_str_solidified,
( &(const binstruction[48]) { /* code */
0x140C0300, // 0000 LT R3 R1 K0
0x740E0001, // 0001 JMPT R3 #0004
0x240C0304, // 0002 GT R3 R1 K4
0x780E0000, // 0003 JMPF R3 #0005
0x80000600, // 0004 RET 0
0x4C0C0000, // 0005 LDNIL R3
0x541202BB, // 0006 LDINT R4 700
0x14100404, // 0007 LT R4 R2 R4
0x78120001, // 0008 JMPF R4 #000B
0x580C0002, // 0009 LDCONST R3 K2
0x70020010, // 000A JMP #001C
0x54120DAB, // 000B LDINT R4 3500
0x24100404, // 000C GT R4 R2 R4
0x78120001, // 000D JMPF R4 #0010
0x540E006F, // 000E LDINT R3 112
0x7002000B, // 000F JMP #001C
0x1C100303, // 0010 EQ R4 R1 K3
0x78120004, // 0011 JMPF R4 #0017
0x541208E2, // 0012 LDINT R4 2275
0x24100404, // 0013 GT R4 R2 R4
0x78120001, // 0014 JMPF R4 #0017
0x540E003E, // 0015 LDINT R3 63
0x70020004, // 0016 JMP #001C
0x541202BB, // 0017 LDINT R4 700
0x04100404, // 0018 SUB R4 R2 R4
0x54160018, // 0019 LDINT R5 25
0x0C100805, // 001A DIV R4 R4 R5
0x5C0C0800, // 001B MOVE R3 R4
0x54120025, // 001C LDINT R4 38
0x1C140304, // 001D EQ R5 R1 K4
0x78160001, // 001E JMPF R5 #0021
0x54120026, // 001F LDINT R4 39
0x70020002, // 0020 JMP #0024
0x1C140303, // 0021 EQ R5 R1 K3
0x78160000, // 0022 JMPF R5 #0024
0x54120022, // 0023 LDINT R4 35
0x8C14010F, // 0024 GETMET R5 R0 K15
0x5C1C0800, // 0025 MOVE R7 R4
0x8C200110, // 0026 GETMET R8 R0 K16
0x5C280800, // 0027 MOVE R10 R4
0x7C200400, // 0028 CALL R8 2
0x5426007F, // 0029 LDINT R9 128
0x2C201009, // 002A AND R8 R8 R9
0x5426007E, // 002B LDINT R9 127
0x2C240609, // 002C AND R9 R3 R9
0x30201009, // 002D OR R8 R8 R9
0x7C140600, // 002E CALL R5 3
0x80000000, // 002F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: power_off
********************************************************************/
be_local_closure(class_AXP192_power_off, /* 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_AXP192, /* shared constants */
&be_const_str_power_off,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040101, // 0000 GETMET R1 R0 K1
0x540E0031, // 0001 LDINT R3 50
0x54120006, // 0002 LDINT R4 7
0x58140000, // 0003 LDCONST R5 K0
0x7C040800, // 0004 CALL R1 4
0x80000000, // 0005 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_chg_current
********************************************************************/
be_local_closure(class_AXP192_set_chg_current, /* 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_AXP192, /* shared constants */
&be_const_str_set_chg_current,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x8C08010F, // 0000 GETMET R2 R0 K15
0x54120032, // 0001 LDINT R4 51
0x8C140110, // 0002 GETMET R5 R0 K16
0x541E0032, // 0003 LDINT R7 51
0x7C140400, // 0004 CALL R5 2
0x541A00EF, // 0005 LDINT R6 240
0x2C140A06, // 0006 AND R5 R5 R6
0x541A000E, // 0007 LDINT R6 15
0x2C180206, // 0008 AND R6 R1 R6
0x30140A06, // 0009 OR R5 R5 R6
0x7C080600, // 000A CALL R2 3
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_charge_current
********************************************************************/
be_local_closure(class_AXP192_get_bat_charge_current, /* 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_AXP192, /* shared constants */
&be_const_str_get_bat_charge_current,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C04011B, // 0000 GETMET R1 R0 K27
0x540E0079, // 0001 LDINT R3 122
0x7C040400, // 0002 CALL R1 2
0x0804031C, // 0003 MUL R1 R1 K28
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: AXP192
********************************************************************/
extern const bclass be_class_I2C_Driver;
be_local_class(AXP192,
0,
&be_class_I2C_Driver,
be_nested_map(23,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(set_dcdc_enable, -1), be_const_closure(class_AXP192_set_dcdc_enable_closure) },
{ be_const_key(get_bat_power, -1), be_const_closure(class_AXP192_get_bat_power_closure) },
{ be_const_key(get_bat_charge_current, -1), be_const_closure(class_AXP192_get_bat_charge_current_closure) },
{ be_const_key(set_chg_current, -1), be_const_closure(class_AXP192_set_chg_current_closure) },
{ be_const_key(get_warning_level, -1), be_const_closure(class_AXP192_get_warning_level_closure) },
{ be_const_key(power_off, -1), be_const_closure(class_AXP192_power_off_closure) },
{ be_const_key(get_vbus_current, 22), be_const_closure(class_AXP192_get_vbus_current_closure) },
{ be_const_key(get_aps_voltage, 17), be_const_closure(class_AXP192_get_aps_voltage_closure) },
{ be_const_key(set_exten, -1), be_const_closure(class_AXP192_set_exten_closure) },
{ be_const_key(battery_present, -1), be_const_closure(class_AXP192_battery_present_closure) },
{ be_const_key(get_vbus_voltage, -1), be_const_closure(class_AXP192_get_vbus_voltage_closure) },
{ be_const_key(write_gpio, -1), be_const_closure(class_AXP192_write_gpio_closure) },
{ be_const_key(set_ldo_voltage, -1), be_const_closure(class_AXP192_set_ldo_voltage_closure) },
{ be_const_key(set_ldo_enable, 21), be_const_closure(class_AXP192_set_ldo_enable_closure) },
{ be_const_key(init, 2), be_const_closure(class_AXP192_init_closure) },
{ be_const_key(get_bat_current, -1), be_const_closure(class_AXP192_get_bat_current_closure) },
{ be_const_key(web_sensor, -1), be_const_closure(class_AXP192_web_sensor_closure) },
{ be_const_key(get_battery_charging_status, -1), be_const_closure(class_AXP192_get_battery_charging_status_closure) },
{ be_const_key(get_temp, -1), be_const_closure(class_AXP192_get_temp_closure) },
{ be_const_key(set_dc_voltage, 3), be_const_closure(class_AXP192_set_dc_voltage_closure) },
{ be_const_key(get_bat_voltage, 5), be_const_closure(class_AXP192_get_bat_voltage_closure) },
{ be_const_key(json_append, -1), be_const_closure(class_AXP192_json_append_closure) },
{ be_const_key(get_input_power_status, -1), be_const_closure(class_AXP192_get_input_power_status_closure) },
})),
(bstring*) &be_const_str_AXP192
);
/********************************************************************/
/* End of solidification */

View File

@ -1,853 +0,0 @@
/* Solidification of AXP202.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'AXP202' ktab size: 24, total: 64 (saved 320 bytes)
static const bvalue be_ktab_class_AXP202[24] = {
/* K0 */ be_const_int(0),
/* K1 */ be_const_int(1),
/* K2 */ be_const_int(2),
/* K3 */ be_const_int(3),
/* K4 */ be_nested_str(write8),
/* K5 */ be_nested_str(read8),
/* K6 */ be_nested_str(read12),
/* K7 */ be_const_real_hex(0x3EC00000),
/* K8 */ be_nested_str(read13),
/* K9 */ be_const_real_hex(0x3F000000),
/* K10 */ be_nested_str(read24),
/* K11 */ be_const_real_hex(0x3A102DE0),
/* K12 */ be_nested_str(wire),
/* K13 */ be_nested_str(read),
/* K14 */ be_nested_str(addr),
/* K15 */ be_const_real_hex(0x3ADED28A),
/* K16 */ be_const_real_hex(0x3AB78035),
/* K17 */ be_nested_str(write_bit),
/* K18 */ be_nested_str(I2C_Driver),
/* K19 */ be_nested_str(init),
/* K20 */ be_nested_str(AXP202),
/* K21 */ be_const_real_hex(0x3A902DE0),
/* K22 */ be_const_real_hex(0x3DCCCCCD),
/* K23 */ be_const_real_hex(0x4310B333),
};
extern const bclass be_class_AXP202;
/********************************************************************
** Solidified function: set_shutdown_time
********************************************************************/
be_local_closure(class_AXP202_set_shutdown_time, /* 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_AXP202, /* shared constants */
&be_const_str_set_shutdown_time,
&be_const_str_solidified,
( &(const binstruction[24]) { /* code */
0x58080000, // 0000 LDCONST R2 K0
0x540E0005, // 0001 LDINT R3 6
0x1C0C0203, // 0002 EQ R3 R1 R3
0x780E0000, // 0003 JMPF R3 #0005
0x58080001, // 0004 LDCONST R2 K1
0x540E0007, // 0005 LDINT R3 8
0x1C0C0203, // 0006 EQ R3 R1 R3
0x780E0000, // 0007 JMPF R3 #0009
0x58080002, // 0008 LDCONST R2 K2
0x540E0009, // 0009 LDINT R3 10
0x1C0C0203, // 000A EQ R3 R1 R3
0x780E0000, // 000B JMPF R3 #000D
0x58080003, // 000C LDCONST R2 K3
0x8C0C0104, // 000D GETMET R3 R0 K4
0x54160035, // 000E LDINT R5 54
0x8C180105, // 000F GETMET R6 R0 K5
0x54220035, // 0010 LDINT R8 54
0x7C180400, // 0011 CALL R6 2
0x541E00FB, // 0012 LDINT R7 252
0x2C180C07, // 0013 AND R6 R6 R7
0x2C1C0503, // 0014 AND R7 R2 K3
0x30180C07, // 0015 OR R6 R6 R7
0x7C0C0600, // 0016 CALL R3 3
0x80000000, // 0017 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_vbus_current
********************************************************************/
be_local_closure(class_AXP202_get_vbus_current, /* 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_AXP202, /* shared constants */
&be_const_str_get_vbus_current,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040106, // 0000 GETMET R1 R0 K6
0x540E005B, // 0001 LDINT R3 92
0x7C040400, // 0002 CALL R1 2
0x08040307, // 0003 MUL R1 R1 K7
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_charge_current
********************************************************************/
be_local_closure(class_AXP202_get_bat_charge_current, /* 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_AXP202, /* shared constants */
&be_const_str_get_bat_charge_current,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040108, // 0000 GETMET R1 R0 K8
0x540E0079, // 0001 LDINT R3 122
0x7C040400, // 0002 CALL R1 2
0x08040309, // 0003 MUL R1 R1 K9
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_current
********************************************************************/
be_local_closure(class_AXP202_get_bat_current, /* 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_AXP202, /* shared constants */
&be_const_str_get_bat_current,
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0x8C040108, // 0000 GETMET R1 R0 K8
0x540E0079, // 0001 LDINT R3 122
0x7C040400, // 0002 CALL R1 2
0x8C080108, // 0003 GETMET R2 R0 K8
0x5412007B, // 0004 LDINT R4 124
0x7C080400, // 0005 CALL R2 2
0x04040202, // 0006 SUB R1 R1 R2
0x08040309, // 0007 MUL R1 R1 K9
0x80040200, // 0008 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_power
********************************************************************/
be_local_closure(class_AXP202_get_bat_power, /* 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_AXP202, /* shared constants */
&be_const_str_get_bat_power,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C04010A, // 0000 GETMET R1 R0 K10
0x540E006F, // 0001 LDINT R3 112
0x7C040400, // 0002 CALL R1 2
0x0804030B, // 0003 MUL R1 R1 K11
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_battery_charging_status
********************************************************************/
be_local_closure(class_AXP202_get_battery_charging_status, /* 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_AXP202, /* shared constants */
&be_const_str_get_battery_charging_status,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x8804010C, // 0000 GETMBR R1 R0 K12
0x8C04030D, // 0001 GETMET R1 R1 K13
0x880C010E, // 0002 GETMBR R3 R0 K14
0x58100001, // 0003 LDCONST R4 K1
0x58140001, // 0004 LDCONST R5 K1
0x7C040800, // 0005 CALL R1 4
0x80040200, // 0006 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_vbus_voltage
********************************************************************/
be_local_closure(class_AXP202_get_vbus_voltage, /* 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_AXP202, /* shared constants */
&be_const_str_get_vbus_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040106, // 0000 GETMET R1 R0 K6
0x540E0059, // 0001 LDINT R3 90
0x7C040400, // 0002 CALL R1 2
0x0804030F, // 0003 MUL R1 R1 K15
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_aps_voltage
********************************************************************/
be_local_closure(class_AXP202_get_aps_voltage, /* 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_AXP202, /* shared constants */
&be_const_str_get_aps_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040106, // 0000 GETMET R1 R0 K6
0x540E007D, // 0001 LDINT R3 126
0x7C040400, // 0002 CALL R1 2
0x08040310, // 0003 MUL R1 R1 K16
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: battery_present
********************************************************************/
be_local_closure(class_AXP202_battery_present, /* 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_AXP202, /* shared constants */
&be_const_str_battery_present,
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x8804010C, // 0000 GETMBR R1 R0 K12
0x8C04030D, // 0001 GETMET R1 R1 K13
0x880C010E, // 0002 GETMBR R3 R0 K14
0x58100001, // 0003 LDCONST R4 K1
0x58140001, // 0004 LDCONST R5 K1
0x7C040800, // 0005 CALL R1 4
0x540A001F, // 0006 LDINT R2 32
0x2C040202, // 0007 AND R1 R1 R2
0x78060002, // 0008 JMPF R1 #000C
0x50040200, // 0009 LDBOOL R1 1 0
0x80040200, // 000A RET 1 R1
0x70020001, // 000B JMP #000E
0x50040000, // 000C LDBOOL R1 0 0
0x80040200, // 000D RET 1 R1
0x80000000, // 000E RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_chg_current_ma
********************************************************************/
be_local_closure(class_AXP202_set_chg_current_ma, /* 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_AXP202, /* shared constants */
&be_const_str_set_chg_current_ma,
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0x540A012B, // 0000 LDINT R2 300
0x04080202, // 0001 SUB R2 R1 R2
0x540E0063, // 0002 LDINT R3 100
0x0C080403, // 0003 DIV R2 R2 R3
0x8C0C0104, // 0004 GETMET R3 R0 K4
0x54160032, // 0005 LDINT R5 51
0x8C180105, // 0006 GETMET R6 R0 K5
0x54220032, // 0007 LDINT R8 51
0x7C180400, // 0008 CALL R6 2
0x541E00EF, // 0009 LDINT R7 240
0x2C180C07, // 000A AND R6 R6 R7
0x541E000E, // 000B LDINT R7 15
0x2C1C0407, // 000C AND R7 R2 R7
0x30180C07, // 000D OR R6 R6 R7
0x7C0C0600, // 000E CALL R3 3
0x80000000, // 000F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_dcdc_enable
********************************************************************/
be_local_closure(class_AXP202_set_dcdc_enable, /* 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_AXP202, /* shared constants */
&be_const_str_set_dcdc_enable,
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x1C0C0302, // 0000 EQ R3 R1 K2
0x780E0004, // 0001 JMPF R3 #0007
0x8C0C0111, // 0002 GETMET R3 R0 K17
0x54160011, // 0003 LDINT R5 18
0x541A0003, // 0004 LDINT R6 4
0x5C1C0400, // 0005 MOVE R7 R2
0x7C0C0800, // 0006 CALL R3 4
0x1C0C0303, // 0007 EQ R3 R1 K3
0x780E0004, // 0008 JMPF R3 #000E
0x8C0C0111, // 0009 GETMET R3 R0 K17
0x54160011, // 000A LDINT R5 18
0x58180001, // 000B LDCONST R6 K1
0x5C1C0400, // 000C MOVE R7 R2
0x7C0C0800, // 000D CALL R3 4
0x80000000, // 000E RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_chg_led_mode
********************************************************************/
be_local_closure(class_AXP202_set_chg_led_mode, /* 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_AXP202, /* shared constants */
&be_const_str_set_chg_led_mode,
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0x8C080105, // 0000 GETMET R2 R0 K5
0x54120031, // 0001 LDINT R4 50
0x7C080400, // 0002 CALL R2 2
0x540E00CE, // 0003 LDINT R3 207
0x2C0C0403, // 0004 AND R3 R2 R3
0x54120007, // 0005 LDINT R4 8
0x300C0604, // 0006 OR R3 R3 R4
0x5C080600, // 0007 MOVE R2 R3
0x2C0C0303, // 0008 AND R3 R1 K3
0x54120003, // 0009 LDINT R4 4
0x380C0604, // 000A SHL R3 R3 R4
0x30080403, // 000B OR R2 R2 R3
0x8C0C0104, // 000C GETMET R3 R0 K4
0x54160031, // 000D LDINT R5 50
0x5C180400, // 000E MOVE R6 R2
0x7C0C0600, // 000F CALL R3 3
0x80000000, // 0010 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_AXP202_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_AXP202, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x1C080202, // 0001 EQ R2 R1 R2
0x780A0000, // 0002 JMPF R2 #0004
0x54060034, // 0003 LDINT R1 53
0x60080003, // 0004 GETGBL R2 G3
0x5C0C0000, // 0005 MOVE R3 R0
0xB8122400, // 0006 GETNGBL R4 K18
0x7C080400, // 0007 CALL R2 2
0x8C080513, // 0008 GETMET R2 R2 K19
0x58100014, // 0009 LDCONST R4 K20
0x54160034, // 000A LDINT R5 53
0x7C080600, // 000B CALL R2 3
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_exten
********************************************************************/
be_local_closure(class_AXP202_set_exten, /* 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_AXP202, /* shared constants */
&be_const_str_set_exten,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C080111, // 0000 GETMET R2 R0 K17
0x54120011, // 0001 LDINT R4 18
0x58140000, // 0002 LDCONST R5 K0
0x5C180200, // 0003 MOVE R6 R1
0x7C080800, // 0004 CALL R2 4
0x80000000, // 0005 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_ldo_voltage
********************************************************************/
be_local_closure(class_AXP202_set_ldo_voltage, /* 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_AXP202, /* shared constants */
&be_const_str_set_ldo_voltage,
&be_const_str_solidified,
( &(const binstruction[59]) { /* code */
0x540E0CE3, // 0000 LDINT R3 3300
0x240C0403, // 0001 GT R3 R2 R3
0x780E0000, // 0002 JMPF R3 #0004
0x540A000E, // 0003 LDINT R2 15
0x1C0C0302, // 0004 EQ R3 R1 K2
0x740E0002, // 0005 JMPT R3 #0009
0x540E0003, // 0006 LDINT R3 4
0x1C0C0203, // 0007 EQ R3 R1 R3
0x780E0020, // 0008 JMPF R3 #002A
0x540E0063, // 0009 LDINT R3 100
0x0C0C0403, // 000A DIV R3 R2 R3
0x54120011, // 000B LDINT R4 18
0x040C0604, // 000C SUB R3 R3 R4
0x5C080600, // 000D MOVE R2 R3
0x1C0C0302, // 000E EQ R3 R1 K2
0x780E000D, // 000F JMPF R3 #001E
0x8C0C0104, // 0010 GETMET R3 R0 K4
0x54160027, // 0011 LDINT R5 40
0x8C180105, // 0012 GETMET R6 R0 K5
0x54220027, // 0013 LDINT R8 40
0x7C180400, // 0014 CALL R6 2
0x541E000E, // 0015 LDINT R7 15
0x2C180C07, // 0016 AND R6 R6 R7
0x541E000E, // 0017 LDINT R7 15
0x2C1C0407, // 0018 AND R7 R2 R7
0x54220003, // 0019 LDINT R8 4
0x381C0E08, // 001A SHL R7 R7 R8
0x30180C07, // 001B OR R6 R6 R7
0x7C0C0600, // 001C CALL R3 3
0x7002000A, // 001D JMP #0029
0x8C0C0104, // 001E GETMET R3 R0 K4
0x54160027, // 001F LDINT R5 40
0x8C180105, // 0020 GETMET R6 R0 K5
0x54220027, // 0021 LDINT R8 40
0x7C180400, // 0022 CALL R6 2
0x541E00EF, // 0023 LDINT R7 240
0x2C180C07, // 0024 AND R6 R6 R7
0x541E000E, // 0025 LDINT R7 15
0x2C1C0407, // 0026 AND R7 R2 R7
0x30180C07, // 0027 OR R6 R6 R7
0x7C0C0600, // 0028 CALL R3 3
0x7002000F, // 0029 JMP #003A
0x540E0018, // 002A LDINT R3 25
0x0C0C0403, // 002B DIV R3 R2 R3
0x5412001B, // 002C LDINT R4 28
0x040C0604, // 002D SUB R3 R3 R4
0x5C080600, // 002E MOVE R2 R3
0x8C0C0104, // 002F GETMET R3 R0 K4
0x54160027, // 0030 LDINT R5 40
0x8C180105, // 0031 GETMET R6 R0 K5
0x54220028, // 0032 LDINT R8 41
0x7C180400, // 0033 CALL R6 2
0x541E007F, // 0034 LDINT R7 128
0x2C180C07, // 0035 AND R6 R6 R7
0x541E007E, // 0036 LDINT R7 127
0x2C1C0407, // 0037 AND R7 R2 R7
0x30180C07, // 0038 OR R6 R6 R7
0x7C0C0600, // 0039 CALL R3 3
0x80000000, // 003A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_dc_voltage
********************************************************************/
be_local_closure(class_AXP202_set_dc_voltage, /* 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_AXP202, /* shared constants */
&be_const_str_set_dc_voltage,
&be_const_str_solidified,
( &(const binstruction[44]) { /* code */
0x140C0302, // 0000 LT R3 R1 K2
0x740E0001, // 0001 JMPT R3 #0004
0x240C0303, // 0002 GT R3 R1 K3
0x780E0000, // 0003 JMPF R3 #0005
0x80000600, // 0004 RET 0
0x4C0C0000, // 0005 LDNIL R3
0x541202BB, // 0006 LDINT R4 700
0x14100404, // 0007 LT R4 R2 R4
0x78120001, // 0008 JMPF R4 #000B
0x580C0000, // 0009 LDCONST R3 K0
0x70020010, // 000A JMP #001C
0x54120DAB, // 000B LDINT R4 3500
0x24100404, // 000C GT R4 R2 R4
0x78120001, // 000D JMPF R4 #0010
0x540E006F, // 000E LDINT R3 112
0x7002000B, // 000F JMP #001C
0x1C100302, // 0010 EQ R4 R1 K2
0x78120004, // 0011 JMPF R4 #0017
0x541208E2, // 0012 LDINT R4 2275
0x24100404, // 0013 GT R4 R2 R4
0x78120001, // 0014 JMPF R4 #0017
0x540E003E, // 0015 LDINT R3 63
0x70020004, // 0016 JMP #001C
0x541202BB, // 0017 LDINT R4 700
0x04100404, // 0018 SUB R4 R2 R4
0x54160018, // 0019 LDINT R5 25
0x0C100805, // 001A DIV R4 R4 R5
0x5C0C0800, // 001B MOVE R3 R4
0x54120022, // 001C LDINT R4 35
0x1C140303, // 001D EQ R5 R1 K3
0x78160000, // 001E JMPF R5 #0020
0x54120026, // 001F LDINT R4 39
0x8C140104, // 0020 GETMET R5 R0 K4
0x5C1C0800, // 0021 MOVE R7 R4
0x8C200105, // 0022 GETMET R8 R0 K5
0x5C280800, // 0023 MOVE R10 R4
0x7C200400, // 0024 CALL R8 2
0x5426007F, // 0025 LDINT R9 128
0x2C201009, // 0026 AND R8 R8 R9
0x5426007E, // 0027 LDINT R9 127
0x2C240609, // 0028 AND R9 R3 R9
0x30201009, // 0029 OR R8 R8 R9
0x7C140600, // 002A CALL R5 3
0x80000000, // 002B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_voltage
********************************************************************/
be_local_closure(class_AXP202_get_bat_voltage, /* 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_AXP202, /* shared constants */
&be_const_str_get_bat_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C040106, // 0000 GETMET R1 R0 K6
0x540E0077, // 0001 LDINT R3 120
0x7C040400, // 0002 CALL R1 2
0x08040315, // 0003 MUL R1 R1 K21
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_temp
********************************************************************/
be_local_closure(class_AXP202_get_temp, /* 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_AXP202, /* shared constants */
&be_const_str_get_temp,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040106, // 0000 GETMET R1 R0 K6
0x540E005D, // 0001 LDINT R3 94
0x7C040400, // 0002 CALL R1 2
0x08040316, // 0003 MUL R1 R1 K22
0x04040317, // 0004 SUB R1 R1 K23
0x80040200, // 0005 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_ldo_enable
********************************************************************/
be_local_closure(class_AXP202_set_ldo_enable, /* 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_AXP202, /* shared constants */
&be_const_str_set_ldo_enable,
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
0x1C0C0302, // 0000 EQ R3 R1 K2
0x780E0004, // 0001 JMPF R3 #0007
0x8C0C0111, // 0002 GETMET R3 R0 K17
0x54160011, // 0003 LDINT R5 18
0x58180002, // 0004 LDCONST R6 K2
0x5C1C0400, // 0005 MOVE R7 R2
0x7C0C0800, // 0006 CALL R3 4
0x1C0C0303, // 0007 EQ R3 R1 K3
0x780E0004, // 0008 JMPF R3 #000E
0x8C0C0111, // 0009 GETMET R3 R0 K17
0x54160011, // 000A LDINT R5 18
0x541A0005, // 000B LDINT R6 6
0x5C1C0400, // 000C MOVE R7 R2
0x7C0C0800, // 000D CALL R3 4
0x540E0003, // 000E LDINT R3 4
0x1C0C0203, // 000F EQ R3 R1 R3
0x780E0004, // 0010 JMPF R3 #0016
0x8C0C0111, // 0011 GETMET R3 R0 K17
0x54160011, // 0012 LDINT R5 18
0x58180003, // 0013 LDCONST R6 K3
0x5C1C0400, // 0014 MOVE R7 R2
0x7C0C0800, // 0015 CALL R3 4
0x80000000, // 0016 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_limiting_off
********************************************************************/
be_local_closure(class_AXP202_set_limiting_off, /* 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_AXP202, /* shared constants */
&be_const_str_set_limiting_off,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x8C040104, // 0000 GETMET R1 R0 K4
0x540E002F, // 0001 LDINT R3 48
0x8C100105, // 0002 GETMET R4 R0 K5
0x541A002F, // 0003 LDINT R6 48
0x7C100400, // 0004 CALL R4 2
0x30100903, // 0005 OR R4 R4 K3
0x7C040600, // 0006 CALL R1 3
0x80000000, // 0007 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_input_power_status
********************************************************************/
be_local_closure(class_AXP202_get_input_power_status, /* 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_AXP202, /* shared constants */
&be_const_str_get_input_power_status,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x8804010C, // 0000 GETMBR R1 R0 K12
0x8C04030D, // 0001 GETMET R1 R1 K13
0x880C010E, // 0002 GETMBR R3 R0 K14
0x58100000, // 0003 LDCONST R4 K0
0x58140001, // 0004 LDCONST R5 K1
0x7C040800, // 0005 CALL R1 4
0x80040200, // 0006 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: AXP202
********************************************************************/
extern const bclass be_class_I2C_Driver;
be_local_class(AXP202,
0,
&be_class_I2C_Driver,
be_nested_map(21,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(set_shutdown_time, -1), be_const_closure(class_AXP202_set_shutdown_time_closure) },
{ be_const_key(get_vbus_current, -1), be_const_closure(class_AXP202_get_vbus_current_closure) },
{ be_const_key(get_aps_voltage, -1), be_const_closure(class_AXP202_get_aps_voltage_closure) },
{ be_const_key(get_bat_current, -1), be_const_closure(class_AXP202_get_bat_current_closure) },
{ be_const_key(get_bat_power, 2), be_const_closure(class_AXP202_get_bat_power_closure) },
{ be_const_key(get_battery_charging_status, -1), be_const_closure(class_AXP202_get_battery_charging_status_closure) },
{ be_const_key(get_vbus_voltage, -1), be_const_closure(class_AXP202_get_vbus_voltage_closure) },
{ be_const_key(set_ldo_voltage, -1), be_const_closure(class_AXP202_set_ldo_voltage_closure) },
{ be_const_key(battery_present, -1), be_const_closure(class_AXP202_battery_present_closure) },
{ be_const_key(set_chg_current_ma, -1), be_const_closure(class_AXP202_set_chg_current_ma_closure) },
{ be_const_key(set_dcdc_enable, -1), be_const_closure(class_AXP202_set_dcdc_enable_closure) },
{ be_const_key(set_chg_led_mode, 16), be_const_closure(class_AXP202_set_chg_led_mode_closure) },
{ be_const_key(init, 14), be_const_closure(class_AXP202_init_closure) },
{ be_const_key(set_exten, -1), be_const_closure(class_AXP202_set_exten_closure) },
{ be_const_key(set_ldo_enable, -1), be_const_closure(class_AXP202_set_ldo_enable_closure) },
{ be_const_key(get_bat_charge_current, 17), be_const_closure(class_AXP202_get_bat_charge_current_closure) },
{ be_const_key(get_temp, 7), be_const_closure(class_AXP202_get_temp_closure) },
{ be_const_key(get_bat_voltage, 18), be_const_closure(class_AXP202_get_bat_voltage_closure) },
{ be_const_key(set_dc_voltage, -1), be_const_closure(class_AXP202_set_dc_voltage_closure) },
{ be_const_key(set_limiting_off, -1), be_const_closure(class_AXP202_set_limiting_off_closure) },
{ be_const_key(get_input_power_status, -1), be_const_closure(class_AXP202_get_input_power_status_closure) },
})),
(bstring*) &be_const_str_AXP202
);
/********************************************************************/
/* End of solidification */

View File

@ -1,878 +0,0 @@
/* Solidification of AXP2102.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'AXP2102' ktab size: 18, total: 58 (saved 320 bytes)
static const bvalue be_ktab_class_AXP2102[18] = {
/* K0 */ be_nested_str(read8),
/* K1 */ be_const_int(1),
/* K2 */ be_nested_str(wire),
/* K3 */ be_nested_str(read),
/* K4 */ be_nested_str(addr),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str(init),
/* K7 */ be_nested_str(AXP2102),
/* K8 */ be_nested_str(write8),
/* K9 */ be_nested_str(read16),
/* K10 */ be_const_int(3),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str(_charge),
/* K13 */ be_nested_str(_pre_charge),
/* K14 */ be_nested_str(read14),
/* K15 */ be_const_real_hex(0x447A0000),
/* K16 */ be_nested_str(_charge_voltage),
/* K17 */ be_nested_str(get_vbus_good),
};
extern const bclass be_class_AXP2102;
/********************************************************************
** Solidified function: is_charging
********************************************************************/
be_local_closure(class_AXP2102_is_charging, /* 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_AXP2102, /* shared constants */
&be_const_str_is_charging,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x580C0001, // 0001 LDCONST R3 K1
0x7C040400, // 0002 CALL R1 2
0x540A005F, // 0003 LDINT R2 96
0x2C040202, // 0004 AND R1 R1 R2
0x540A001F, // 0005 LDINT R2 32
0x1C040202, // 0006 EQ R1 R1 R2
0x80040200, // 0007 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: battery_present
********************************************************************/
be_local_closure(class_AXP2102_battery_present, /* 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_AXP2102, /* shared constants */
&be_const_str_battery_present,
&be_const_str_solidified,
( &(const binstruction[11]) { /* code */
0x60040017, // 0000 GETGBL R1 G23
0x88080102, // 0001 GETMBR R2 R0 K2
0x8C080503, // 0002 GETMET R2 R2 K3
0x88100104, // 0003 GETMBR R4 R0 K4
0x58140005, // 0004 LDCONST R5 K5
0x58180001, // 0005 LDCONST R6 K1
0x7C080800, // 0006 CALL R2 4
0x540E0007, // 0007 LDINT R3 8
0x2C080403, // 0008 AND R2 R2 R3
0x7C040200, // 0009 CALL R1 1
0x80040200, // 000A RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_AXP2102_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_AXP2102, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x4C080000, // 0000 LDNIL R2
0x1C080202, // 0001 EQ R2 R1 R2
0x780A0000, // 0002 JMPF R2 #0004
0x54060033, // 0003 LDINT R1 52
0x60080003, // 0004 GETGBL R2 G3
0x5C0C0000, // 0005 MOVE R3 R0
0x7C080200, // 0006 CALL R2 1
0x8C080506, // 0007 GETMET R2 R2 K6
0x58100007, // 0008 LDCONST R4 K7
0x5C140200, // 0009 MOVE R5 R1
0x7C080600, // 000A CALL R2 3
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_dldo_voltage
********************************************************************/
be_local_closure(class_AXP2102_set_dldo_voltage, /* name */
be_nested_proto(
13, /* nstack */
3, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_AXP2102, /* shared constants */
&be_const_str_set_dldo_voltage,
&be_const_str_solidified,
( &(const binstruction[58]) { /* code */
0x140C0305, // 0000 LT R3 R1 K5
0x740E0001, // 0001 JMPT R3 #0004
0x240C0301, // 0002 GT R3 R1 K1
0x780E0000, // 0003 JMPF R3 #0005
0x80000600, // 0004 RET 0
0x540E0098, // 0005 LDINT R3 153
0x000C0203, // 0006 ADD R3 R1 R3
0x541201F3, // 0007 LDINT R4 500
0x04080404, // 0008 SUB R2 R2 R4
0x14100505, // 0009 LT R4 R2 K5
0x78120001, // 000A JMPF R4 #000D
0x58100005, // 000B LDCONST R4 K5
0x70020004, // 000C JMP #0012
0x78060001, // 000D JMPF R1 #0010
0x54120031, // 000E LDINT R4 50
0x70020000, // 000F JMP #0011
0x54120063, // 0010 LDINT R4 100
0x0C100404, // 0011 DIV R4 R2 R4
0x78060001, // 0012 JMPF R1 #0015
0x54160012, // 0013 LDINT R5 19
0x70020000, // 0014 JMP #0016
0x5416001B, // 0015 LDINT R5 28
0x24140805, // 0016 GT R5 R4 R5
0x78160004, // 0017 JMPF R5 #001D
0x78060001, // 0018 JMPF R1 #001B
0x54160012, // 0019 LDINT R5 19
0x70020000, // 001A JMP #001C
0x5416001B, // 001B LDINT R5 28
0x5C100A00, // 001C MOVE R4 R5
0x8C140108, // 001D GETMET R5 R0 K8
0x5C1C0600, // 001E MOVE R7 R3
0x5C200800, // 001F MOVE R8 R4
0x7C140600, // 0020 CALL R5 3
0x5416008F, // 0021 LDINT R5 144
0x00140A01, // 0022 ADD R5 R5 R1
0x78060001, // 0023 JMPF R1 #0026
0x58180001, // 0024 LDCONST R6 K1
0x70020000, // 0025 JMP #0027
0x541A007F, // 0026 LDINT R6 128
0x141C0505, // 0027 LT R7 R2 K5
0x781E0008, // 0028 JMPF R7 #0032
0x8C1C0108, // 0029 GETMET R7 R0 K8
0x5426008F, // 002A LDINT R9 144
0x8C280100, // 002B GETMET R10 R0 K0
0x5C300A00, // 002C MOVE R12 R5
0x7C280400, // 002D CALL R10 2
0x482C0C00, // 002E FLIP R11 R6
0x2C28140B, // 002F AND R10 R10 R11
0x7C1C0600, // 0030 CALL R7 3
0x70020006, // 0031 JMP #0039
0x8C1C0108, // 0032 GETMET R7 R0 K8
0x5426008F, // 0033 LDINT R9 144
0x8C280100, // 0034 GETMET R10 R0 K0
0x5C300A00, // 0035 MOVE R12 R5
0x7C280400, // 0036 CALL R10 2
0x30281406, // 0037 OR R10 R10 R6
0x7C1C0600, // 0038 CALL R7 3
0x80000000, // 0039 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_temp
********************************************************************/
be_local_closure(class_AXP2102_get_temp, /* 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_AXP2102, /* shared constants */
&be_const_str_get_temp,
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x54060015, // 0000 LDINT R1 22
0x540A1C69, // 0001 LDINT R2 7274
0x8C0C0109, // 0002 GETMET R3 R0 K9
0x5416003B, // 0003 LDINT R5 60
0x7C0C0400, // 0004 CALL R3 2
0x04080403, // 0005 SUB R2 R2 R3
0x540E0013, // 0006 LDINT R3 20
0x0C080403, // 0007 DIV R2 R2 R3
0x00040202, // 0008 ADD R1 R1 R2
0x80040200, // 0009 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_ldo_enable
********************************************************************/
be_local_closure(class_AXP2102_get_ldo_enable, /* 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_AXP2102, /* shared constants */
&be_const_str_get_ldo_enable,
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x50080000, // 0000 LDBOOL R2 0 0
0x540E0004, // 0001 LDINT R3 5
0x180C0203, // 0002 LE R3 R1 R3
0x780E0007, // 0003 JMPF R3 #000C
0x380E0201, // 0004 SHL R3 K1 R1
0x60100017, // 0005 GETGBL R4 G23
0x8C140100, // 0006 GETMET R5 R0 K0
0x541E008F, // 0007 LDINT R7 144
0x7C140400, // 0008 CALL R5 2
0x2C140A03, // 0009 AND R5 R5 R3
0x7C100200, // 000A CALL R4 1
0x5C080800, // 000B MOVE R2 R4
0x80040400, // 000C RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_battery_charging_status
********************************************************************/
be_local_closure(class_AXP2102_get_battery_charging_status, /* 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_AXP2102, /* shared constants */
&be_const_str_get_battery_charging_status,
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x580C0001, // 0001 LDCONST R3 K1
0x7C040400, // 0002 CALL R1 2
0x540A0004, // 0003 LDINT R2 5
0x3C040202, // 0004 SHR R1 R1 R2
0x2C04030A, // 0005 AND R1 R1 K10
0x1C080301, // 0006 EQ R2 R1 K1
0x780A0001, // 0007 JMPF R2 #000A
0x58080001, // 0008 LDCONST R2 K1
0x70020004, // 0009 JMP #000F
0x1C08030B, // 000A EQ R2 R1 K11
0x780A0001, // 000B JMPF R2 #000E
0x5409FFFE, // 000C LDINT R2 -1
0x70020000, // 000D JMP #000F
0x58080005, // 000E LDCONST R2 K5
0x80040400, // 000F RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_ldo_voltage
********************************************************************/
be_local_closure(class_AXP2102_set_ldo_voltage, /* name */
be_nested_proto(
12, /* 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_AXP2102, /* shared constants */
&be_const_str_set_ldo_voltage,
&be_const_str_solidified,
( &(const binstruction[44]) { /* code */
0x140C0305, // 0000 LT R3 R1 K5
0x740E0002, // 0001 JMPT R3 #0005
0x540E0004, // 0002 LDINT R3 5
0x240C0203, // 0003 GT R3 R1 R3
0x780E0000, // 0004 JMPF R3 #0006
0x80000600, // 0005 RET 0
0x540E0091, // 0006 LDINT R3 146
0x000C0203, // 0007 ADD R3 R1 R3
0x541201F3, // 0008 LDINT R4 500
0x04080404, // 0009 SUB R2 R2 R4
0x14100505, // 000A LT R4 R2 K5
0x78120001, // 000B JMPF R4 #000E
0x58100005, // 000C LDCONST R4 K5
0x70020001, // 000D JMP #0010
0x54120063, // 000E LDINT R4 100
0x0C100404, // 000F DIV R4 R2 R4
0x5416001D, // 0010 LDINT R5 30
0x24140805, // 0011 GT R5 R4 R5
0x78160000, // 0012 JMPF R5 #0014
0x5412001D, // 0013 LDINT R4 30
0x8C140108, // 0014 GETMET R5 R0 K8
0x5C1C0600, // 0015 MOVE R7 R3
0x5C200800, // 0016 MOVE R8 R4
0x7C140600, // 0017 CALL R5 3
0x38160201, // 0018 SHL R5 K1 R1
0x14180505, // 0019 LT R6 R2 K5
0x781A0008, // 001A JMPF R6 #0024
0x8C180108, // 001B GETMET R6 R0 K8
0x5422008F, // 001C LDINT R8 144
0x8C240100, // 001D GETMET R9 R0 K0
0x542E008F, // 001E LDINT R11 144
0x7C240400, // 001F CALL R9 2
0x48280A00, // 0020 FLIP R10 R5
0x2C24120A, // 0021 AND R9 R9 R10
0x7C180600, // 0022 CALL R6 3
0x70020006, // 0023 JMP #002B
0x8C180108, // 0024 GETMET R6 R0 K8
0x5422008F, // 0025 LDINT R8 144
0x8C240100, // 0026 GETMET R9 R0 K0
0x542E008F, // 0027 LDINT R11 144
0x7C240400, // 0028 CALL R9 2
0x30241205, // 0029 OR R9 R9 R5
0x7C180600, // 002A CALL R6 3
0x80000000, // 002B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_current
********************************************************************/
be_local_closure(class_AXP2102_get_bat_current, /* 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_AXP2102, /* shared constants */
&be_const_str_get_bat_current,
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80060A00, // 0000 RET 1 K5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_charge_current
********************************************************************/
be_local_closure(class_AXP2102_set_charge_current, /* 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_AXP2102, /* shared constants */
&be_const_str_set_charge_current,
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x14080305, // 0000 LT R2 R1 K5
0x780A0000, // 0001 JMPF R2 #0003
0x58040005, // 0002 LDCONST R1 K5
0x540A00C7, // 0003 LDINT R2 200
0x24080202, // 0004 GT R2 R1 R2
0x780A0000, // 0005 JMPF R2 #0007
0x540600C7, // 0006 LDINT R1 200
0x58080005, // 0007 LDCONST R2 K5
0x880C010C, // 0008 GETMBR R3 R0 K12
0x940C0602, // 0009 GETIDX R3 R3 R2
0x180C0601, // 000A LE R3 R3 R1
0x780E0001, // 000B JMPF R3 #000E
0x00080501, // 000C ADD R2 R2 K1
0x7001FFF9, // 000D JMP #0008
0x540E0003, // 000E LDINT R3 4
0x00080403, // 000F ADD R2 R2 R3
0x8C0C0108, // 0010 GETMET R3 R0 K8
0x54160061, // 0011 LDINT R5 98
0x5C180400, // 0012 MOVE R6 R2
0x7C0C0600, // 0013 CALL R3 3
0x80000000, // 0014 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_aps_voltage
********************************************************************/
be_local_closure(class_AXP2102_get_aps_voltage, /* 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_AXP2102, /* shared constants */
&be_const_str_get_aps_voltage,
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80060A00, // 0000 RET 1 K5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_pre_charge_current
********************************************************************/
be_local_closure(class_AXP2102_set_pre_charge_current, /* 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_AXP2102, /* shared constants */
&be_const_str_set_pre_charge_current,
&be_const_str_solidified,
( &(const binstruction[19]) { /* code */
0x14080305, // 0000 LT R2 R1 K5
0x780A0000, // 0001 JMPF R2 #0003
0x58040005, // 0002 LDCONST R1 K5
0x540A00C7, // 0003 LDINT R2 200
0x24080202, // 0004 GT R2 R1 R2
0x780A0000, // 0005 JMPF R2 #0007
0x540600C7, // 0006 LDINT R1 200
0x58080005, // 0007 LDCONST R2 K5
0x880C010D, // 0008 GETMBR R3 R0 K13
0x940C0602, // 0009 GETIDX R3 R3 R2
0x180C0601, // 000A LE R3 R3 R1
0x780E0001, // 000B JMPF R3 #000E
0x00080501, // 000C ADD R2 R2 K1
0x7001FFF9, // 000D JMP #0008
0x8C0C0108, // 000E GETMET R3 R0 K8
0x54160060, // 000F LDINT R5 97
0x5C180400, // 0010 MOVE R6 R2
0x7C0C0600, // 0011 CALL R3 3
0x80000000, // 0012 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_power
********************************************************************/
be_local_closure(class_AXP2102_get_bat_power, /* 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_AXP2102, /* shared constants */
&be_const_str_get_bat_power,
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80060A00, // 0000 RET 1 K5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_battery_charge
********************************************************************/
be_local_closure(class_AXP2102_set_battery_charge, /* 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_AXP2102, /* shared constants */
&be_const_str_set_battery_charge,
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x8C080108, // 0000 GETMET R2 R0 K8
0x54120017, // 0001 LDINT R4 24
0x8C140100, // 0002 GETMET R5 R0 K0
0x541E0017, // 0003 LDINT R7 24
0x7C140400, // 0004 CALL R5 2
0x541A00FC, // 0005 LDINT R6 253
0x2C140A06, // 0006 AND R5 R5 R6
0x78060001, // 0007 JMPF R1 #000A
0x58180001, // 0008 LDCONST R6 K1
0x70020000, // 0009 JMP #000B
0x58180005, // 000A LDCONST R6 K5
0x38180D01, // 000B SHL R6 R6 K1
0x30140A06, // 000C OR R5 R5 R6
0x7C080600, // 000D CALL R2 3
0x80000000, // 000E RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_charge_current
********************************************************************/
be_local_closure(class_AXP2102_get_bat_charge_current, /* 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_AXP2102, /* shared constants */
&be_const_str_get_bat_charge_current,
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80060A00, // 0000 RET 1 K5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_vbus_good
********************************************************************/
be_local_closure(class_AXP2102_get_vbus_good, /* 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_AXP2102, /* shared constants */
&be_const_str_get_vbus_good,
&be_const_str_solidified,
( &(const binstruction[11]) { /* code */
0x60040017, // 0000 GETGBL R1 G23
0x88080102, // 0001 GETMBR R2 R0 K2
0x8C080503, // 0002 GETMET R2 R2 K3
0x88100104, // 0003 GETMBR R4 R0 K4
0x58140005, // 0004 LDCONST R5 K5
0x58180001, // 0005 LDCONST R6 K1
0x7C080800, // 0006 CALL R2 4
0x540E001F, // 0007 LDINT R3 32
0x2C080403, // 0008 AND R2 R2 R3
0x7C040200, // 0009 CALL R1 1
0x80040200, // 000A RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_bat_voltage
********************************************************************/
be_local_closure(class_AXP2102_get_bat_voltage, /* 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_AXP2102, /* shared constants */
&be_const_str_get_bat_voltage,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x8C04010E, // 0000 GETMET R1 R0 K14
0x540E0033, // 0001 LDINT R3 52
0x7C040400, // 0002 CALL R1 2
0x0C04030F, // 0003 DIV R1 R1 K15
0x80040200, // 0004 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_battery_level
********************************************************************/
be_local_closure(class_AXP2102_get_battery_level, /* 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_AXP2102, /* shared constants */
&be_const_str_get_battery_level,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x540E00A3, // 0001 LDINT R3 164
0x7C040400, // 0002 CALL R1 2
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_charge_voltage
********************************************************************/
be_local_closure(class_AXP2102_set_charge_voltage, /* 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_AXP2102, /* shared constants */
&be_const_str_set_charge_voltage,
&be_const_str_solidified,
( &(const binstruction[24]) { /* code */
0x14080305, // 0000 LT R2 R1 K5
0x780A0000, // 0001 JMPF R2 #0003
0x58040005, // 0002 LDCONST R1 K5
0x540A01CB, // 0003 LDINT R2 460
0x24080202, // 0004 GT R2 R1 R2
0x780A0000, // 0005 JMPF R2 #0007
0x540601CB, // 0006 LDINT R1 460
0x58080005, // 0007 LDCONST R2 K5
0x880C0110, // 0008 GETMBR R3 R0 K16
0x940C0602, // 0009 GETIDX R3 R3 R2
0x180C0601, // 000A LE R3 R3 R1
0x780E0001, // 000B JMPF R3 #000E
0x00080501, // 000C ADD R2 R2 K1
0x7001FFF9, // 000D JMP #0008
0x00080501, // 000E ADD R2 R2 K1
0x540E0005, // 000F LDINT R3 6
0x280C0403, // 0010 GE R3 R2 R3
0x780E0000, // 0011 JMPF R3 #0013
0x58080005, // 0012 LDCONST R2 K5
0x8C0C0108, // 0013 GETMET R3 R0 K8
0x54160063, // 0014 LDINT R5 100
0x5C180400, // 0015 MOVE R6 R2
0x7C0C0600, // 0016 CALL R3 3
0x80000000, // 0017 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_vbus_current
********************************************************************/
be_local_closure(class_AXP2102_get_vbus_current, /* 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_AXP2102, /* shared constants */
&be_const_str_get_vbus_current,
&be_const_str_solidified,
( &(const binstruction[ 1]) { /* code */
0x80060A00, // 0000 RET 1 K5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: get_vbus_voltage
********************************************************************/
be_local_closure(class_AXP2102_get_vbus_voltage, /* 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_AXP2102, /* shared constants */
&be_const_str_get_vbus_voltage,
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x8C040111, // 0000 GETMET R1 R0 K17
0x7C040200, // 0001 CALL R1 1
0x74060000, // 0002 JMPT R1 #0004
0x80060A00, // 0003 RET 1 K5
0x8C04010E, // 0004 GETMET R1 R0 K14
0x540E0037, // 0005 LDINT R3 56
0x7C040400, // 0006 CALL R1 2
0x540A3FF6, // 0007 LDINT R2 16375
0x24080202, // 0008 GT R2 R1 R2
0x780A0000, // 0009 JMPF R2 #000B
0x80060A00, // 000A RET 1 K5
0x0C08030F, // 000B DIV R2 R1 K15
0x80040400, // 000C RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: AXP2102
********************************************************************/
extern const bclass be_class_I2C_Driver;
be_local_class(AXP2102,
0,
&be_class_I2C_Driver,
be_nested_map(24,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(get_vbus_voltage, -1), be_const_closure(class_AXP2102_get_vbus_voltage_closure) },
{ be_const_key(is_charging, -1), be_const_closure(class_AXP2102_is_charging_closure) },
{ be_const_key(battery_present, -1), be_const_closure(class_AXP2102_battery_present_closure) },
{ be_const_key(init, -1), be_const_closure(class_AXP2102_init_closure) },
{ be_const_key(set_dldo_voltage, -1), be_const_closure(class_AXP2102_set_dldo_voltage_closure) },
{ be_const_key(_charge, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(13,
( (struct bvalue*) &(const bvalue[]) {
be_const_int(25),
be_const_int(30),
be_const_int(35),
be_const_int(40),
be_const_int(60),
be_const_int(80),
be_const_int(100),
be_const_int(120),
be_const_int(140),
be_const_int(160),
be_const_int(180),
be_const_int(200),
be_const_int(255),
})) ) } )) },
{ be_const_key(set_charge_voltage, -1), be_const_closure(class_AXP2102_set_charge_voltage_closure) },
{ be_const_key(get_battery_level, 23), be_const_closure(class_AXP2102_get_battery_level_closure) },
{ be_const_key(set_ldo_voltage, -1), be_const_closure(class_AXP2102_set_ldo_voltage_closure) },
{ be_const_key(get_bat_current, 0), be_const_closure(class_AXP2102_get_bat_current_closure) },
{ be_const_key(set_charge_current, -1), be_const_closure(class_AXP2102_set_charge_current_closure) },
{ be_const_key(_charge_voltage, -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(410),
be_const_int(420),
be_const_int(435),
be_const_int(440),
be_const_int(460),
be_const_int(655),
})) ) } )) },
{ be_const_key(set_pre_charge_current, 16), be_const_closure(class_AXP2102_set_pre_charge_current_closure) },
{ be_const_key(get_bat_power, -1), be_const_closure(class_AXP2102_get_bat_power_closure) },
{ be_const_key(get_temp, 5), be_const_closure(class_AXP2102_get_temp_closure) },
{ be_const_key(get_bat_voltage, 17), be_const_closure(class_AXP2102_get_bat_voltage_closure) },
{ be_const_key(get_vbus_good, -1), be_const_closure(class_AXP2102_get_vbus_good_closure) },
{ be_const_key(get_bat_charge_current, -1), be_const_closure(class_AXP2102_get_bat_charge_current_closure) },
{ be_const_key(set_battery_charge, 15), be_const_closure(class_AXP2102_set_battery_charge_closure) },
{ be_const_key(get_aps_voltage, 11), be_const_closure(class_AXP2102_get_aps_voltage_closure) },
{ be_const_key(_pre_charge, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
be_const_list( * be_nested_list(10,
( (struct bvalue*) &(const bvalue[]) {
be_const_int(0),
be_const_int(25),
be_const_int(50),
be_const_int(75),
be_const_int(100),
be_const_int(125),
be_const_int(150),
be_const_int(175),
be_const_int(200),
be_const_int(255),
})) ) } )) },
{ be_const_key(get_ldo_enable, 6), be_const_closure(class_AXP2102_get_ldo_enable_closure) },
{ be_const_key(get_vbus_current, -1), be_const_closure(class_AXP2102_get_vbus_current_closure) },
{ be_const_key(get_battery_charging_status, -1), be_const_closure(class_AXP2102_get_battery_charging_status_closure) },
})),
(bstring*) &be_const_str_AXP2102
);
/********************************************************************/
/* End of solidification */

View File

@ -1,105 +0,0 @@
/* Solidification of Wire.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
/********************************************************************
** Solidified function: read_bytes
********************************************************************/
be_local_closure(class_Wire_read_bytes, /* name */
be_nested_proto(
9, /* nstack */
4, /* 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(_begin_transmission),
/* K1 */ be_nested_str(_write),
/* K2 */ be_nested_str(_end_transmission),
/* K3 */ be_nested_str(_request_from),
/* K4 */ be_nested_str(_available),
/* K5 */ be_nested_str(append),
/* K6 */ be_nested_str(_read),
}),
&be_const_str_read_bytes,
&be_const_str_solidified,
( &(const binstruction[28]) { /* code */
0x8C100100, // 0000 GETMET R4 R0 K0
0x5C180200, // 0001 MOVE R6 R1
0x7C100400, // 0002 CALL R4 2
0x8C100101, // 0003 GETMET R4 R0 K1
0x5C180400, // 0004 MOVE R6 R2
0x7C100400, // 0005 CALL R4 2
0x8C100102, // 0006 GETMET R4 R0 K2
0x50180200, // 0007 LDBOOL R6 1 0
0x7C100400, // 0008 CALL R4 2
0x8C100103, // 0009 GETMET R4 R0 K3
0x5C180200, // 000A MOVE R6 R1
0x5C1C0600, // 000B MOVE R7 R3
0x7C100600, // 000C CALL R4 3
0x60100015, // 000D GETGBL R4 G21
0x5C140600, // 000E MOVE R5 R3
0x7C100200, // 000F CALL R4 1
0x8C140104, // 0010 GETMET R5 R0 K4
0x7C140200, // 0011 CALL R5 1
0x78160004, // 0012 JMPF R5 #0018
0x8C140905, // 0013 GETMET R5 R4 K5
0x8C1C0106, // 0014 GETMET R7 R0 K6
0x7C1C0200, // 0015 CALL R7 1
0x7C140400, // 0016 CALL R5 2
0x7001FFF7, // 0017 JMP #0010
0x8C140102, // 0018 GETMET R5 R0 K2
0x501C0200, // 0019 LDBOOL R7 1 0
0x7C140400, // 001A CALL R5 2
0x80040800, // 001B RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: write_bytes
********************************************************************/
be_local_closure(class_Wire_write_bytes, /* 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[ 3]) { /* constants */
/* K0 */ be_nested_str(_begin_transmission),
/* K1 */ be_nested_str(_write),
/* K2 */ be_nested_str(_end_transmission),
}),
&be_const_str_write_bytes,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x8C100100, // 0000 GETMET R4 R0 K0
0x5C180200, // 0001 MOVE R6 R1
0x7C100400, // 0002 CALL R4 2
0x8C100101, // 0003 GETMET R4 R0 K1
0x5C180400, // 0004 MOVE R6 R2
0x7C100400, // 0005 CALL R4 2
0x8C100101, // 0006 GETMET R4 R0 K1
0x5C180600, // 0007 MOVE R6 R3
0x7C100400, // 0008 CALL R4 2
0x8C100102, // 0009 GETMET R4 R0 K2
0x7C100200, // 000A CALL R4 1
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************/
/* End of solidification */

View File

@ -1,203 +0,0 @@
/* Solidification of crypto_pbkdf2_hmac_sha256.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
/********************************************************************
** Solidified function: _f
********************************************************************/
be_local_closure(_f, /* name */
be_nested_proto(
12, /* nstack */
4, /* argc */
0, /* 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[ 3]) { /* constants */
/* K0 */ be_nested_str_weak(size),
/* K1 */ be_const_int(0),
/* K2 */ be_const_int(1),
}),
be_str_weak(xor),
&be_const_str_solidified,
( &(const binstruction[19]) { /* code */
0x60080000, // 0000 GETGBL R2 G0
0x8C0C0100, // 0001 GETMET R3 R0 K0
0x7C0C0200, // 0002 CALL R3 1
0x8C100300, // 0003 GETMET R4 R1 K0
0x7C100200, // 0004 CALL R4 1
0x1C0C0604, // 0005 EQ R3 R3 R4
0x7C080200, // 0006 CALL R2 1
0x8C080100, // 0007 GETMET R2 R0 K0
0x7C080200, // 0008 CALL R2 1
0x580C0001, // 0009 LDCONST R3 K1
0x14100602, // 000A LT R4 R3 R2
0x78120005, // 000B JMPF R4 #0012
0x94100003, // 000C GETIDX R4 R0 R3
0x94140203, // 000D GETIDX R5 R1 R3
0x34100805, // 000E XOR R4 R4 R5
0x98000604, // 000F SETIDX R0 R3 R4
0x000C0702, // 0010 ADD R3 R3 K2
0x7001FFF7, // 0011 JMP #000A
0x80000000, // 0012 RET 0
})
),
}),
1, /* has constants */
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(crypto),
/* K1 */ be_nested_str_weak(HMAC_SHA256),
/* K2 */ be_nested_str_weak(update),
/* K3 */ be_nested_str_weak(out),
/* K4 */ be_nested_str_weak(setbytes),
/* K5 */ be_const_int(0),
/* K6 */ be_const_int(2),
/* K7 */ be_const_int(1),
/* K8 */ be_nested_str_weak(tasmota),
/* K9 */ be_nested_str_weak(yield),
}),
be_str_weak(_f),
&be_const_str_solidified,
( &(const binstruction[37]) { /* code */
0x84100000, // 0000 CLOSURE R4 P0
0xA4160000, // 0001 IMPORT R5 K0
0x8C180B01, // 0002 GETMET R6 R5 K1
0x5C200000, // 0003 MOVE R8 R0
0x7C180400, // 0004 CALL R6 2
0x8C1C0D02, // 0005 GETMET R7 R6 K2
0x5C240200, // 0006 MOVE R9 R1
0x7C1C0400, // 0007 CALL R7 2
0x8C1C0D03, // 0008 GETMET R7 R6 K3
0x7C1C0200, // 0009 CALL R7 1
0x8C200704, // 000A GETMET R8 R3 K4
0x58280005, // 000B LDCONST R10 K5
0x5C2C0E00, // 000C MOVE R11 R7
0x7C200600, // 000D CALL R8 3
0x58200006, // 000E LDCONST R8 K6
0x18241002, // 000F LE R9 R8 R2
0x78260012, // 0010 JMPF R9 #0024
0x8C240B01, // 0011 GETMET R9 R5 K1
0x5C2C0000, // 0012 MOVE R11 R0
0x7C240400, // 0013 CALL R9 2
0x5C181200, // 0014 MOVE R6 R9
0x8C240D02, // 0015 GETMET R9 R6 K2
0x5C2C0E00, // 0016 MOVE R11 R7
0x7C240400, // 0017 CALL R9 2
0x8C240D03, // 0018 GETMET R9 R6 K3
0x7C240200, // 0019 CALL R9 1
0x5C1C1200, // 001A MOVE R7 R9
0x5C240800, // 001B MOVE R9 R4
0x5C280600, // 001C MOVE R10 R3
0x5C2C0E00, // 001D MOVE R11 R7
0x7C240400, // 001E CALL R9 2
0x00201107, // 001F ADD R8 R8 K7
0xB8261000, // 0020 GETNGBL R9 K8
0x8C241309, // 0021 GETMET R9 R9 K9
0x7C240200, // 0022 CALL R9 1
0x7001FFEA, // 0023 JMP #000F
0x80000000, // 0024 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: PBKDF2_HMAC_SHA256
********************************************************************/
be_local_closure(PBKDF2_HMAC_SHA256, /* name */
be_nested_proto(
15, /* nstack */
5, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(fromstring),
/* K2 */ be_const_int(1),
/* K3 */ be_nested_str_weak(size),
/* K4 */ be_nested_str_weak(copy),
/* K5 */ be_nested_str_weak(add),
/* K6 */ be_nested_str_weak(resize),
/* K7 */ be_nested_str_weak(_f),
/* K8 */ be_const_int(0),
}),
be_str_weak(PBKDF2_HMAC_SHA256),
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
0x60140004, // 0000 GETGBL R5 G4
0x5C180200, // 0001 MOVE R6 R1
0x7C140200, // 0002 CALL R5 1
0x1C140B00, // 0003 EQ R5 R5 K0
0x78160005, // 0004 JMPF R5 #000B
0x60140015, // 0005 GETGBL R5 G21
0x7C140000, // 0006 CALL R5 0
0x8C140B01, // 0007 GETMET R5 R5 K1
0x5C1C0200, // 0008 MOVE R7 R1
0x7C140400, // 0009 CALL R5 2
0x5C040A00, // 000A MOVE R1 R5
0x60140004, // 000B GETGBL R5 G4
0x5C180400, // 000C MOVE R6 R2
0x7C140200, // 000D CALL R5 1
0x1C140B00, // 000E EQ R5 R5 K0
0x78160005, // 000F JMPF R5 #0016
0x60140015, // 0010 GETGBL R5 G21
0x7C140000, // 0011 CALL R5 0
0x8C140B01, // 0012 GETMET R5 R5 K1
0x5C1C0400, // 0013 MOVE R7 R2
0x7C140400, // 0014 CALL R5 2
0x5C080A00, // 0015 MOVE R2 R5
0x60140015, // 0016 GETGBL R5 G21
0x7C140000, // 0017 CALL R5 0
0x58180002, // 0018 LDCONST R6 K2
0x8C1C0B03, // 0019 GETMET R7 R5 K3
0x7C1C0200, // 001A CALL R7 1
0x141C0E04, // 001B LT R7 R7 R4
0x781E0013, // 001C JMPF R7 #0031
0x8C1C0504, // 001D GETMET R7 R2 K4
0x7C1C0200, // 001E CALL R7 1
0x8C200F05, // 001F GETMET R8 R7 K5
0x5C280C00, // 0020 MOVE R10 R6
0x542DFFFB, // 0021 LDINT R11 -4
0x7C200600, // 0022 CALL R8 3
0x60200015, // 0023 GETGBL R8 G21
0x7C200000, // 0024 CALL R8 0
0x8C201106, // 0025 GETMET R8 R8 K6
0x542A001F, // 0026 LDINT R10 32
0x7C200400, // 0027 CALL R8 2
0x8C240107, // 0028 GETMET R9 R0 K7
0x5C2C0200, // 0029 MOVE R11 R1
0x5C300E00, // 002A MOVE R12 R7
0x5C340600, // 002B MOVE R13 R3
0x5C381000, // 002C MOVE R14 R8
0x7C240A00, // 002D CALL R9 5
0x00140A08, // 002E ADD R5 R5 R8
0x00180D02, // 002F ADD R6 R6 K2
0x7001FFE7, // 0030 JMP #0019
0x041C0902, // 0031 SUB R7 R4 K2
0x401E1007, // 0032 CONNECT R7 K8 R7
0x941C0A07, // 0033 GETIDX R7 R5 R7
0x80040E00, // 0034 RET 1 R7
})
)
);
/*******************************************************************/
/********************************************************************/
/* End of solidification */

View File

@ -1,638 +0,0 @@
/* Solidification of crypto_spake2p_matter.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_SPAKE_Hasher;
// compact class 'SPAKE_Hasher' ktab size: 8, total: 10 (saved 16 bytes)
static const bvalue be_ktab_class_SPAKE_Hasher[8] = {
/* K0 */ be_nested_str_weak(crypto),
/* K1 */ be_nested_str_weak(hash),
/* K2 */ be_nested_str_weak(SHA256),
/* K3 */ be_nested_str_weak(size),
/* K4 */ be_nested_str_weak(add),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(update),
/* K7 */ be_nested_str_weak(out),
};
extern const bclass be_class_SPAKE_Hasher;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_SPAKE_Hasher_init, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_SPAKE_Hasher, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080302, // 0001 GETMET R2 R1 K2
0x7C080200, // 0002 CALL R2 1
0x90020202, // 0003 SETMBR R0 K1 R2
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: add_item
********************************************************************/
be_local_closure(class_SPAKE_Hasher_add_item, /* name */
be_nested_proto(
7, /* nstack */
2, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_SPAKE_Hasher, /* shared constants */
be_str_weak(add_item),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0x8C080303, // 0000 GETMET R2 R1 K3
0x7C080200, // 0001 CALL R2 1
0x600C0015, // 0002 GETGBL R3 G21
0x7C0C0000, // 0003 CALL R3 0
0x8C0C0704, // 0004 GETMET R3 R3 K4
0x5C140400, // 0005 MOVE R5 R2
0x541A0003, // 0006 LDINT R6 4
0x7C0C0600, // 0007 CALL R3 3
0x8C0C0704, // 0008 GETMET R3 R3 K4
0x58140005, // 0009 LDCONST R5 K5
0x541A0003, // 000A LDINT R6 4
0x7C0C0600, // 000B CALL R3 3
0x88100101, // 000C GETMBR R4 R0 K1
0x8C100906, // 000D GETMET R4 R4 K6
0x5C180600, // 000E MOVE R6 R3
0x7C100400, // 000F CALL R4 2
0x88100101, // 0010 GETMBR R4 R0 K1
0x8C100906, // 0011 GETMET R4 R4 K6
0x5C180200, // 0012 MOVE R6 R1
0x7C100400, // 0013 CALL R4 2
0x80000000, // 0014 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: out
********************************************************************/
be_local_closure(class_SPAKE_Hasher_out, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_SPAKE_Hasher, /* shared constants */
be_str_weak(out),
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x88040101, // 0000 GETMBR R1 R0 K1
0x8C040307, // 0001 GETMET R1 R1 K7
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: SPAKE_Hasher
********************************************************************/
be_local_class(SPAKE_Hasher,
1,
NULL,
be_nested_map(4,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(out, -1), be_const_closure(class_SPAKE_Hasher_out_closure) },
{ be_const_key_weak(hash, -1), be_const_var(0) },
{ be_const_key_weak(add_item, -1), be_const_closure(class_SPAKE_Hasher_add_item_closure) },
{ be_const_key_weak(init, 0), be_const_closure(class_SPAKE_Hasher_init_closure) },
})),
be_str_weak(SPAKE_Hasher)
);
// compact class 'SPAKE2P_Matter' ktab size: 43, total: 84 (saved 328 bytes)
static const bvalue be_ktab_class_SPAKE2P_Matter[43] = {
/* K0 */ be_nested_str_weak(crypto),
/* K1 */ be_nested_str_weak(random),
/* K2 */ be_nested_str_weak(EC_P256),
/* K3 */ be_nested_str_weak(y),
/* K4 */ be_nested_str_weak(mod),
/* K5 */ be_nested_str_weak(pB),
/* K6 */ be_nested_str_weak(muladd),
/* K7 */ be_nested_str_weak(w0),
/* K8 */ be_nested_str_weak(N),
/* K9 */ be_const_class(be_class_SPAKE_Hasher),
/* K10 */ be_nested_str_weak(add_item),
/* K11 */ be_nested_str_weak(Context),
/* K12 */ be_nested_str_weak(A),
/* K13 */ be_nested_str_weak(B),
/* K14 */ be_nested_str_weak(M),
/* K15 */ be_nested_str_weak(pA),
/* K16 */ be_nested_str_weak(Z),
/* K17 */ be_nested_str_weak(V),
/* K18 */ be_nested_str_weak(Kmain),
/* K19 */ be_nested_str_weak(out),
/* K20 */ be_nested_str_weak(Ke),
/* K21 */ be_const_int(0),
/* K22 */ be_nested_str_weak(HKDF_SHA256),
/* K23 */ be_nested_str_weak(derive),
/* K24 */ be_nested_str_weak(fromstring),
/* K25 */ be_nested_str_weak(ConfirmationKeys),
/* K26 */ be_nested_str_weak(KcA),
/* K27 */ be_nested_str_weak(KcB),
/* K28 */ be_nested_str_weak(K_shared),
/* K29 */ be_nested_str_weak(SharedKey),
/* K30 */ be_nested_str_weak(cA),
/* K31 */ be_nested_str_weak(HMAC_SHA256),
/* K32 */ be_nested_str_weak(update),
/* K33 */ be_nested_str_weak(cB),
/* K34 */ be_nested_str_weak(fromhex),
/* K35 */ be_nested_str_weak(spake_M_hex),
/* K36 */ be_nested_str_weak(spake_N_hex),
/* K37 */ be_nested_str_weak(w1),
/* K38 */ be_nested_str_weak(L),
/* K39 */ be_nested_str_weak(x),
/* K40 */ be_nested_str_weak(neg),
/* K41 */ be_nested_str_weak(01),
/* K42 */ be_nested_str_weak(mul),
};
extern const bclass be_class_SPAKE2P_Matter;
/********************************************************************
** Solidified function: compute_pB
********************************************************************/
be_local_closure(class_SPAKE2P_Matter_compute_pB, /* 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_SPAKE2P_Matter, /* shared constants */
be_str_weak(compute_pB),
&be_const_str_solidified,
( &(const binstruction[24]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x4C0C0000, // 0001 LDNIL R3
0x1C0C0203, // 0002 EQ R3 R1 R3
0x780E0003, // 0003 JMPF R3 #0008
0x8C0C0501, // 0004 GETMET R3 R2 K1
0x5416001F, // 0005 LDINT R5 32
0x7C0C0400, // 0006 CALL R3 2
0x5C040600, // 0007 MOVE R1 R3
0x8C0C0502, // 0008 GETMET R3 R2 K2
0x7C0C0200, // 0009 CALL R3 1
0x8C100704, // 000A GETMET R4 R3 K4
0x5C180200, // 000B MOVE R6 R1
0x7C100400, // 000C CALL R4 2
0x90020604, // 000D SETMBR R0 K3 R4
0x8C100706, // 000E GETMET R4 R3 K6
0x88180107, // 000F GETMBR R6 R0 K7
0x881C0108, // 0010 GETMBR R7 R0 K8
0x88200103, // 0011 GETMBR R8 R0 K3
0x60240015, // 0012 GETGBL R9 G21
0x7C240000, // 0013 CALL R9 0
0x7C100A00, // 0014 CALL R4 5
0x90020A04, // 0015 SETMBR R0 K5 R4
0x88100105, // 0016 GETMBR R4 R0 K5
0x80040800, // 0017 RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: compute_TT_hash
********************************************************************/
be_local_closure(class_SPAKE2P_Matter_compute_TT_hash, /* name */
be_nested_proto(
14, /* 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_SPAKE2P_Matter, /* shared constants */
be_str_weak(compute_TT_hash),
&be_const_str_solidified,
( &(const binstruction[115]) { /* code */
0x58080009, // 0000 LDCONST R2 K9
0xB4000009, // 0001 CLASS K9
0x5C0C0400, // 0002 MOVE R3 R2
0xA40E0000, // 0003 IMPORT R3 K0
0x5C100400, // 0004 MOVE R4 R2
0x7C100000, // 0005 CALL R4 0
0x8C14090A, // 0006 GETMET R5 R4 K10
0x881C010B, // 0007 GETMBR R7 R0 K11
0x7C140400, // 0008 CALL R5 2
0x8C14090A, // 0009 GETMET R5 R4 K10
0x881C010C, // 000A GETMBR R7 R0 K12
0x7C140400, // 000B CALL R5 2
0x8C14090A, // 000C GETMET R5 R4 K10
0x881C010D, // 000D GETMBR R7 R0 K13
0x7C140400, // 000E CALL R5 2
0x8C14090A, // 000F GETMET R5 R4 K10
0x881C010E, // 0010 GETMBR R7 R0 K14
0x7C140400, // 0011 CALL R5 2
0x8C14090A, // 0012 GETMET R5 R4 K10
0x881C0108, // 0013 GETMBR R7 R0 K8
0x7C140400, // 0014 CALL R5 2
0x8C14090A, // 0015 GETMET R5 R4 K10
0x881C010F, // 0016 GETMBR R7 R0 K15
0x7C140400, // 0017 CALL R5 2
0x8C14090A, // 0018 GETMET R5 R4 K10
0x881C0105, // 0019 GETMBR R7 R0 K5
0x7C140400, // 001A CALL R5 2
0x8C14090A, // 001B GETMET R5 R4 K10
0x881C0110, // 001C GETMBR R7 R0 K16
0x7C140400, // 001D CALL R5 2
0x8C14090A, // 001E GETMET R5 R4 K10
0x881C0111, // 001F GETMBR R7 R0 K17
0x7C140400, // 0020 CALL R5 2
0x8C14090A, // 0021 GETMET R5 R4 K10
0x881C0107, // 0022 GETMBR R7 R0 K7
0x7C140400, // 0023 CALL R5 2
0x8C140913, // 0024 GETMET R5 R4 K19
0x7C140200, // 0025 CALL R5 1
0x90022405, // 0026 SETMBR R0 K18 R5
0x7806000A, // 0027 JMPF R1 #0033
0x5416000F, // 0028 LDINT R5 16
0x541A001E, // 0029 LDINT R6 31
0x40140A06, // 002A CONNECT R5 R5 R6
0x88180112, // 002B GETMBR R6 R0 K18
0x94140C05, // 002C GETIDX R5 R6 R5
0x90022805, // 002D SETMBR R0 K20 R5
0x5416000E, // 002E LDINT R5 15
0x40162A05, // 002F CONNECT R5 K21 R5
0x88180112, // 0030 GETMBR R6 R0 K18
0x94140C05, // 0031 GETIDX R5 R6 R5
0x90022405, // 0032 SETMBR R0 K18 R5
0x8C140716, // 0033 GETMET R5 R3 K22
0x7C140200, // 0034 CALL R5 1
0x8C180B17, // 0035 GETMET R6 R5 K23
0x88200112, // 0036 GETMBR R8 R0 K18
0x60240015, // 0037 GETGBL R9 G21
0x7C240000, // 0038 CALL R9 0
0x60280015, // 0039 GETGBL R10 G21
0x7C280000, // 003A CALL R10 0
0x8C281518, // 003B GETMET R10 R10 K24
0x58300019, // 003C LDCONST R12 K25
0x7C280400, // 003D CALL R10 2
0x542E003F, // 003E LDINT R11 64
0x7C180A00, // 003F CALL R6 5
0x78060003, // 0040 JMPF R1 #0045
0x541E000E, // 0041 LDINT R7 15
0x401E2A07, // 0042 CONNECT R7 K21 R7
0x941C0C07, // 0043 GETIDX R7 R6 R7
0x70020002, // 0044 JMP #0048
0x541E001E, // 0045 LDINT R7 31
0x401E2A07, // 0046 CONNECT R7 K21 R7
0x941C0C07, // 0047 GETIDX R7 R6 R7
0x90023407, // 0048 SETMBR R0 K26 R7
0x78060004, // 0049 JMPF R1 #004F
0x541E000F, // 004A LDINT R7 16
0x5422001E, // 004B LDINT R8 31
0x401C0E08, // 004C CONNECT R7 R7 R8
0x941C0C07, // 004D GETIDX R7 R6 R7
0x70020003, // 004E JMP #0053
0x541E001F, // 004F LDINT R7 32
0x5422003E, // 0050 LDINT R8 63
0x401C0E08, // 0051 CONNECT R7 R7 R8
0x941C0C07, // 0052 GETIDX R7 R6 R7
0x90023607, // 0053 SETMBR R0 K27 R7
0x8C1C0B17, // 0054 GETMET R7 R5 K23
0x88240112, // 0055 GETMBR R9 R0 K18
0x60280015, // 0056 GETGBL R10 G21
0x7C280000, // 0057 CALL R10 0
0x602C0015, // 0058 GETGBL R11 G21
0x7C2C0000, // 0059 CALL R11 0
0x8C2C1718, // 005A GETMET R11 R11 K24
0x5834001D, // 005B LDCONST R13 K29
0x7C2C0400, // 005C CALL R11 2
0x5432001F, // 005D LDINT R12 32
0x7C1C0A00, // 005E CALL R7 5
0x90023807, // 005F SETMBR R0 K28 R7
0x8C1C071F, // 0060 GETMET R7 R3 K31
0x8824011A, // 0061 GETMBR R9 R0 K26
0x7C1C0400, // 0062 CALL R7 2
0x8C1C0F20, // 0063 GETMET R7 R7 K32
0x88240105, // 0064 GETMBR R9 R0 K5
0x7C1C0400, // 0065 CALL R7 2
0x8C1C0F13, // 0066 GETMET R7 R7 K19
0x7C1C0200, // 0067 CALL R7 1
0x90023C07, // 0068 SETMBR R0 K30 R7
0x8C1C071F, // 0069 GETMET R7 R3 K31
0x8824011B, // 006A GETMBR R9 R0 K27
0x7C1C0400, // 006B CALL R7 2
0x8C1C0F20, // 006C GETMET R7 R7 K32
0x8824010F, // 006D GETMBR R9 R0 K15
0x7C1C0400, // 006E CALL R7 2
0x8C1C0F13, // 006F GETMET R7 R7 K19
0x7C1C0200, // 0070 CALL R7 1
0x90024207, // 0071 SETMBR R0 K33 R7
0x80000000, // 0072 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_SPAKE2P_Matter_init, /* name */
be_nested_proto(
7, /* 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_SPAKE2P_Matter, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0x60100015, // 0000 GETGBL R4 G21
0x7C100000, // 0001 CALL R4 0
0x8C100922, // 0002 GETMET R4 R4 K34
0x88180123, // 0003 GETMBR R6 R0 K35
0x7C100400, // 0004 CALL R4 2
0x90021C04, // 0005 SETMBR R0 K14 R4
0x60100015, // 0006 GETGBL R4 G21
0x7C100000, // 0007 CALL R4 0
0x8C100922, // 0008 GETMET R4 R4 K34
0x88180124, // 0009 GETMBR R6 R0 K36
0x7C100400, // 000A CALL R4 2
0x90021004, // 000B SETMBR R0 K8 R4
0x90020E01, // 000C SETMBR R0 K7 R1
0x90024A02, // 000D SETMBR R0 K37 R2
0x90024C03, // 000E SETMBR R0 K38 R3
0x80000000, // 000F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: compute_pA
********************************************************************/
be_local_closure(class_SPAKE2P_Matter_compute_pA, /* 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_SPAKE2P_Matter, /* shared constants */
be_str_weak(compute_pA),
&be_const_str_solidified,
( &(const binstruction[24]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x4C0C0000, // 0001 LDNIL R3
0x1C0C0203, // 0002 EQ R3 R1 R3
0x780E0003, // 0003 JMPF R3 #0008
0x8C0C0501, // 0004 GETMET R3 R2 K1
0x5416001F, // 0005 LDINT R5 32
0x7C0C0400, // 0006 CALL R3 2
0x5C040600, // 0007 MOVE R1 R3
0x8C0C0502, // 0008 GETMET R3 R2 K2
0x7C0C0200, // 0009 CALL R3 1
0x8C100704, // 000A GETMET R4 R3 K4
0x5C180200, // 000B MOVE R6 R1
0x7C100400, // 000C CALL R4 2
0x90024E04, // 000D SETMBR R0 K39 R4
0x8C100706, // 000E GETMET R4 R3 K6
0x88180107, // 000F GETMBR R6 R0 K7
0x881C010E, // 0010 GETMBR R7 R0 K14
0x88200127, // 0011 GETMBR R8 R0 K39
0x60240015, // 0012 GETGBL R9 G21
0x7C240000, // 0013 CALL R9 0
0x7C100A00, // 0014 CALL R4 5
0x90021E04, // 0015 SETMBR R0 K15 R4
0x8810010F, // 0016 GETMBR R4 R0 K15
0x80040800, // 0017 RET 1 R4
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: set_context
********************************************************************/
be_local_closure(class_SPAKE2P_Matter_set_context, /* name */
be_nested_proto(
5, /* 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_SPAKE2P_Matter, /* shared constants */
be_str_weak(set_context),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0x4C100000, // 0000 LDNIL R4
0x1C100404, // 0001 EQ R4 R2 R4
0x78120002, // 0002 JMPF R4 #0006
0x60100015, // 0003 GETGBL R4 G21
0x7C100000, // 0004 CALL R4 0
0x5C080800, // 0005 MOVE R2 R4
0x4C100000, // 0006 LDNIL R4
0x1C100604, // 0007 EQ R4 R3 R4
0x78120002, // 0008 JMPF R4 #000C
0x60100015, // 0009 GETGBL R4 G21
0x7C100000, // 000A CALL R4 0
0x5C0C0800, // 000B MOVE R3 R4
0x90021601, // 000C SETMBR R0 K11 R1
0x90021802, // 000D SETMBR R0 K12 R2
0x90021A03, // 000E SETMBR R0 K13 R3
0x80000000, // 000F RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: compute_ZV_verifier
********************************************************************/
be_local_closure(class_SPAKE2P_Matter_compute_ZV_verifier, /* 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_SPAKE2P_Matter, /* shared constants */
be_str_weak(compute_ZV_verifier),
&be_const_str_solidified,
( &(const binstruction[26]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x8C0C0502, // 0001 GETMET R3 R2 K2
0x7C0C0200, // 0002 CALL R3 1
0x90021E01, // 0003 SETMBR R0 K15 R1
0x8C100728, // 0004 GETMET R4 R3 K40
0x88180107, // 0005 GETMBR R6 R0 K7
0x7C100400, // 0006 CALL R4 2
0x8C140706, // 0007 GETMET R5 R3 K6
0x601C0015, // 0008 GETGBL R7 G21
0x58200029, // 0009 LDCONST R8 K41
0x7C1C0200, // 000A CALL R7 1
0x8820010F, // 000B GETMBR R8 R0 K15
0x5C240800, // 000C MOVE R9 R4
0x8828010E, // 000D GETMBR R10 R0 K14
0x7C140A00, // 000E CALL R5 5
0x8C18072A, // 000F GETMET R6 R3 K42
0x88200103, // 0010 GETMBR R8 R0 K3
0x5C240A00, // 0011 MOVE R9 R5
0x7C180600, // 0012 CALL R6 3
0x90022006, // 0013 SETMBR R0 K16 R6
0x8C18072A, // 0014 GETMET R6 R3 K42
0x88200103, // 0015 GETMBR R8 R0 K3
0x88240126, // 0016 GETMBR R9 R0 K38
0x7C180600, // 0017 CALL R6 3
0x90022206, // 0018 SETMBR R0 K17 R6
0x80000000, // 0019 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: compute_ZV_prover
********************************************************************/
be_local_closure(class_SPAKE2P_Matter_compute_ZV_prover, /* 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_SPAKE2P_Matter, /* shared constants */
be_str_weak(compute_ZV_prover),
&be_const_str_solidified,
( &(const binstruction[26]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x8C0C0502, // 0001 GETMET R3 R2 K2
0x7C0C0200, // 0002 CALL R3 1
0x90020A01, // 0003 SETMBR R0 K5 R1
0x8C100728, // 0004 GETMET R4 R3 K40
0x88180107, // 0005 GETMBR R6 R0 K7
0x7C100400, // 0006 CALL R4 2
0x8C140706, // 0007 GETMET R5 R3 K6
0x601C0015, // 0008 GETGBL R7 G21
0x58200029, // 0009 LDCONST R8 K41
0x7C1C0200, // 000A CALL R7 1
0x88200105, // 000B GETMBR R8 R0 K5
0x5C240800, // 000C MOVE R9 R4
0x88280108, // 000D GETMBR R10 R0 K8
0x7C140A00, // 000E CALL R5 5
0x8C18072A, // 000F GETMET R6 R3 K42
0x88200127, // 0010 GETMBR R8 R0 K39
0x5C240A00, // 0011 MOVE R9 R5
0x7C180600, // 0012 CALL R6 3
0x90022006, // 0013 SETMBR R0 K16 R6
0x8C18072A, // 0014 GETMET R6 R3 K42
0x88200125, // 0015 GETMBR R8 R0 K37
0x5C240A00, // 0016 MOVE R9 R5
0x7C180600, // 0017 CALL R6 3
0x90022206, // 0018 SETMBR R0 K17 R6
0x80000000, // 0019 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: SPAKE2P_Matter
********************************************************************/
be_local_class(SPAKE2P_Matter,
21,
NULL,
be_nested_map(32,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(compute_ZV_prover, 21), be_const_closure(class_SPAKE2P_Matter_compute_ZV_prover_closure) },
{ be_const_key_weak(cA, -1), be_const_var(14) },
{ be_const_key_weak(CRYPTO_W_SIZE_BYTES, -1), be_const_int(40) },
{ be_const_key_weak(Kmain, 14), be_const_var(9) },
{ be_const_key_weak(compute_pB, -1), be_const_closure(class_SPAKE2P_Matter_compute_pB_closure) },
{ be_const_key_weak(B, 31), be_const_var(17) },
{ be_const_key_weak(K_shared, -1), be_const_var(12) },
{ be_const_key_weak(x, -1), be_const_var(7) },
{ be_const_key_weak(CRYPTO_GROUP_SIZE_BYTES, -1), be_const_int(32) },
{ be_const_key_weak(V, 1), be_const_var(6) },
{ be_const_key_weak(pA, -1), be_const_var(3) },
{ be_const_key_weak(KcB, 27), be_const_var(11) },
{ be_const_key_weak(A, -1), be_const_var(16) },
{ be_const_key_weak(Z, 4), be_const_var(5) },
{ be_const_key_weak(spake_M_hex, -1), be_nested_str_weak(04886e2f97ace46e55ba9dd7242579f2993b64e16ef3dcab95afd497333d8fa12f5ff355163e43ce224e0b0e65ff02ac8e5c7be09419c785e0ca547d55a12e2d20) },
{ be_const_key_weak(compute_ZV_verifier, -1), be_const_closure(class_SPAKE2P_Matter_compute_ZV_verifier_closure) },
{ be_const_key_weak(compute_TT_hash, 0), be_const_closure(class_SPAKE2P_Matter_compute_TT_hash_closure) },
{ be_const_key_weak(N, -1), be_const_var(20) },
{ be_const_key_weak(w0, -1), be_const_var(0) },
{ be_const_key_weak(init, -1), be_const_closure(class_SPAKE2P_Matter_init_closure) },
{ be_const_key_weak(compute_pA, 25), be_const_closure(class_SPAKE2P_Matter_compute_pA_closure) },
{ be_const_key_weak(cB, -1), be_const_var(15) },
{ be_const_key_weak(set_context, -1), be_const_closure(class_SPAKE2P_Matter_set_context_closure) },
{ be_const_key_weak(pB, 22), be_const_var(4) },
{ be_const_key_weak(M, -1), be_const_var(19) },
{ be_const_key_weak(y, -1), be_const_var(8) },
{ be_const_key_weak(spake_N_hex, 15), be_nested_str_weak(04d8bbd6c639c62937b04d997f38c3770719c629d7014d49a24b4f98baa1292b4907d60aa6bfade45008a636337f5168c64d9bd36034808cd564490b1e656edbe7) },
{ be_const_key_weak(L, -1), be_const_var(2) },
{ be_const_key_weak(Context, 8), be_const_var(18) },
{ be_const_key_weak(Ke, -1), be_const_var(13) },
{ be_const_key_weak(KcA, -1), be_const_var(10) },
{ be_const_key_weak(w1, -1), be_const_var(1) },
})),
be_str_weak(SPAKE2P_Matter)
);
/********************************************************************/
/* End of solidification */

View File

@ -1,96 +0,0 @@
/* Solidification of driver_class.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_Driver;
/********************************************************************
** Solidified function: add_cmd
********************************************************************/
be_local_closure(class_Driver_add_cmd, /* name */
be_nested_proto(
7, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
be_nested_proto(
10, /* nstack */
4, /* argc */
0, /* varg */
1, /* has upvals */
( &(const bupvaldesc[ 2]) { /* upvals */
be_local_const_upval(1, 2),
be_local_const_upval(1, 0),
}),
0, /* has sup protos */
NULL, /* no sub protos */
0, /* has constants */
NULL, /* no const */
&be_const_str__X3Clambda_X3E,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x68100000, // 0000 GETUPV R4 U0
0x68140001, // 0001 GETUPV R5 U1
0x5C180000, // 0002 MOVE R6 R0
0x5C1C0200, // 0003 MOVE R7 R1
0x5C200400, // 0004 MOVE R8 R2
0x5C240600, // 0005 MOVE R9 R3
0x7C100A00, // 0006 CALL R4 5
0x80040800, // 0007 RET 1 R4
})
),
}),
1, /* has constants */
( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str(tasmota),
/* K1 */ be_nested_str(add_cmd),
}),
&be_const_str_add_cmd,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x8C0C0701, // 0001 GETMET R3 R3 K1
0x5C140200, // 0002 MOVE R5 R1
0x84180000, // 0003 CLOSURE R6 P0
0x7C0C0600, // 0004 CALL R3 3
0xA0000000, // 0005 CLOSE R0
0x80000000, // 0006 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Driver
********************************************************************/
be_local_class(Driver,
14,
NULL,
be_nested_map(15,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(web_add_config_button, 12), be_const_var(6) },
{ be_const_key(web_add_main_button, -1), be_const_var(4) },
{ be_const_key(web_add_handler, 10), be_const_var(2) },
{ be_const_key(save_before_restart, 5), be_const_var(8) },
{ be_const_key(add_cmd, -1), be_const_closure(class_Driver_add_cmd_closure) },
{ be_const_key(web_add_button, -1), be_const_var(3) },
{ be_const_key(web_add_management_button, -1), be_const_var(5) },
{ be_const_key(display, -1), be_const_var(13) },
{ be_const_key(after_teleperiod, -1), be_const_var(11) },
{ be_const_key(every_100ms, -1), be_const_var(1) },
{ be_const_key(web_add_console_button, 13), be_const_var(7) },
{ be_const_key(button_pressed, -1), be_const_var(12) },
{ be_const_key(every_second, -1), be_const_var(0) },
{ be_const_key(web_sensor, -1), be_const_var(9) },
{ be_const_key(json_append, 1), be_const_var(10) },
})),
(bstring*) &be_const_str_Driver
);
/********************************************************************/
/* End of solidification */

View File

@ -1,149 +0,0 @@
/* Solidification of dyn.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'dyn' ktab size: 4, total: 7 (saved 24 bytes)
static const bvalue be_ktab_class_dyn[4] = {
/* K0 */ be_nested_str(_attr),
/* K1 */ be_nested_str(tostring),
/* K2 */ be_nested_str(contains),
/* K3 */ be_nested_str(undefined),
};
extern const bclass be_class_dyn;
/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_dyn_tostring, /* 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_dyn, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x7C040200, // 0002 CALL R1 1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: member
********************************************************************/
be_local_closure(class_dyn_member, /* 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_dyn, /* shared constants */
&be_const_str_member,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080502, // 0001 GETMET R2 R2 K2
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x780A0003, // 0004 JMPF R2 #0009
0x88080100, // 0005 GETMBR R2 R0 K0
0x94080401, // 0006 GETIDX R2 R2 R1
0x80040400, // 0007 RET 1 R2
0x70020001, // 0008 JMP #000B
0xA40A0600, // 0009 IMPORT R2 K3
0x80040400, // 000A RET 1 R2
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: setmember
********************************************************************/
be_local_closure(class_dyn_setmember, /* name */
be_nested_proto(
4, /* 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_dyn, /* shared constants */
&be_const_str_setmember,
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x880C0100, // 0000 GETMBR R3 R0 K0
0x980C0202, // 0001 SETIDX R3 R1 R2
0x80000000, // 0002 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_dyn_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_dyn, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040013, // 0000 GETGBL R1 G19
0x7C040000, // 0001 CALL R1 0
0x90020001, // 0002 SETMBR R0 K0 R1
0x80000000, // 0003 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: dyn
********************************************************************/
be_local_class(dyn,
1,
NULL,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(tostring, 2), be_const_closure(class_dyn_tostring_closure) },
{ be_const_key(member, 3), be_const_closure(class_dyn_member_closure) },
{ be_const_key(init, 4), be_const_closure(class_dyn_init_closure) },
{ be_const_key(setmember, -1), be_const_closure(class_dyn_setmember_closure) },
{ be_const_key(_attr, -1), be_const_var(0) },
})),
(bstring*) &be_const_str_dyn
);
/********************************************************************/
/* End of solidification */

View File

@ -1,749 +0,0 @@
/* Solidification of energy.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'bytes_array' ktab size: 18, total: 34 (saved 128 bytes)
static const bvalue be_ktab_class_bytes_array[18] = {
/* K0 */ be_nested_str(item_type),
/* K1 */ be_nested_str(sz),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str(value_X20error),
/* K4 */ be_nested_str(unsupported_X20item_type_X20number),
/* K5 */ be_nested_str(item_size),
/* K6 */ be_nested_str(init),
/* K7 */ be_nested_str(_X5B),
/* K8 */ be_nested_str(_X2C),
/* K9 */ be_nested_str(getfloat),
/* K10 */ be_nested_str(get),
/* K11 */ be_const_int(1),
/* K12 */ be_nested_str(_X5D),
/* K13 */ be_nested_str(index_error),
/* K14 */ be_nested_str(list_X20index_X20out_X20of_X20range),
/* K15 */ be_nested_str(list_X20assignment_X20index_X20out_X20of_X20range),
/* K16 */ be_nested_str(setfloat),
/* K17 */ be_nested_str(set),
};
extern const bclass be_class_bytes_array;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_bytes_array_init, /* name */
be_nested_proto(
10, /* 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_bytes_array, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[35]) { /* code */
0x90020002, // 0000 SETMBR R0 K0 R2
0x90020203, // 0001 SETMBR R0 K1 R3
0x4C100000, // 0002 LDNIL R4
0x5415FFFB, // 0003 LDINT R5 -4
0x28140405, // 0004 GE R5 R2 R5
0x7816000B, // 0005 JMPF R5 #0012
0x54160003, // 0006 LDINT R5 4
0x18140405, // 0007 LE R5 R2 R5
0x78160008, // 0008 JMPF R5 #0012
0x20140502, // 0009 NE R5 R2 K2
0x78160006, // 000A JMPF R5 #0012
0x24140502, // 000B GT R5 R2 K2
0x78160001, // 000C JMPF R5 #000F
0x5C140400, // 000D MOVE R5 R2
0x70020000, // 000E JMP #0010
0x44140400, // 000F NEG R5 R2
0x5C100A00, // 0010 MOVE R4 R5
0x70020005, // 0011 JMP #0018
0x54160004, // 0012 LDINT R5 5
0x1C140405, // 0013 EQ R5 R2 R5
0x78160001, // 0014 JMPF R5 #0017
0x54120003, // 0015 LDINT R4 4
0x70020000, // 0016 JMP #0018
0xB0060704, // 0017 RAISE 1 K3 K4
0x90020A04, // 0018 SETMBR R0 K5 R4
0x60140003, // 0019 GETGBL R5 G3
0x5C180000, // 001A MOVE R6 R0
0x7C140200, // 001B CALL R5 1
0x8C140B06, // 001C GETMET R5 R5 K6
0x5C1C0200, // 001D MOVE R7 R1
0x88200105, // 001E GETMBR R8 R0 K5
0x88240101, // 001F GETMBR R9 R0 K1
0x08201009, // 0020 MUL R8 R8 R9
0x7C140600, // 0021 CALL R5 3
0x80000000, // 0022 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: size
********************************************************************/
be_local_closure(class_bytes_array_size, /* 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_bytes_array, /* shared constants */
&be_const_str_size,
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88040101, // 0000 GETMBR R1 R0 K1
0x80040200, // 0001 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_bytes_array_tostring, /* 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_bytes_array, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[32]) { /* code */
0x58040007, // 0000 LDCONST R1 K7
0x58080002, // 0001 LDCONST R2 K2
0x880C0101, // 0002 GETMBR R3 R0 K1
0x140C0403, // 0003 LT R3 R2 R3
0x780E0018, // 0004 JMPF R3 #001E
0x240C0502, // 0005 GT R3 R2 K2
0x780E0000, // 0006 JMPF R3 #0008
0x00040308, // 0007 ADD R1 R1 K8
0x880C0100, // 0008 GETMBR R3 R0 K0
0x54120004, // 0009 LDINT R4 5
0x1C0C0604, // 000A EQ R3 R3 R4
0x780E0007, // 000B JMPF R3 #0014
0x600C0008, // 000C GETGBL R3 G8
0x8C100109, // 000D GETMET R4 R0 K9
0x88180105, // 000E GETMBR R6 R0 K5
0x08180406, // 000F MUL R6 R2 R6
0x7C100400, // 0010 CALL R4 2
0x7C0C0200, // 0011 CALL R3 1
0x00040203, // 0012 ADD R1 R1 R3
0x70020007, // 0013 JMP #001C
0x600C0008, // 0014 GETGBL R3 G8
0x8C10010A, // 0015 GETMET R4 R0 K10
0x88180105, // 0016 GETMBR R6 R0 K5
0x08180406, // 0017 MUL R6 R2 R6
0x881C0100, // 0018 GETMBR R7 R0 K0
0x7C100600, // 0019 CALL R4 3
0x7C0C0200, // 001A CALL R3 1
0x00040203, // 001B ADD R1 R1 R3
0x0008050B, // 001C ADD R2 R2 K11
0x7001FFE3, // 001D JMP #0002
0x0004030C, // 001E ADD R1 R1 K12
0x80040200, // 001F RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: item
********************************************************************/
be_local_closure(class_bytes_array_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_bytes_array, /* shared constants */
&be_const_str_item,
&be_const_str_solidified,
( &(const binstruction[27]) { /* code */
0x14080302, // 0000 LT R2 R1 K2
0x780A0001, // 0001 JMPF R2 #0004
0x88080101, // 0002 GETMBR R2 R0 K1
0x00040202, // 0003 ADD R1 R1 R2
0x14080302, // 0004 LT R2 R1 K2
0x740A0002, // 0005 JMPT R2 #0009
0x88080101, // 0006 GETMBR R2 R0 K1
0x28080202, // 0007 GE R2 R1 R2
0x780A0000, // 0008 JMPF R2 #000A
0xB0061B0E, // 0009 RAISE 1 K13 K14
0x88080100, // 000A GETMBR R2 R0 K0
0x540E0004, // 000B LDINT R3 5
0x1C080403, // 000C EQ R2 R2 R3
0x780A0005, // 000D JMPF R2 #0014
0x8C080109, // 000E GETMET R2 R0 K9
0x88100105, // 000F GETMBR R4 R0 K5
0x08100204, // 0010 MUL R4 R1 R4
0x7C080400, // 0011 CALL R2 2
0x80040400, // 0012 RET 1 R2
0x70020005, // 0013 JMP #001A
0x8C08010A, // 0014 GETMET R2 R0 K10
0x88100105, // 0015 GETMBR R4 R0 K5
0x08100204, // 0016 MUL R4 R1 R4
0x88140100, // 0017 GETMBR R5 R0 K0
0x7C080600, // 0018 CALL R2 3
0x80040400, // 0019 RET 1 R2
0x80000000, // 001A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: setitem
********************************************************************/
be_local_closure(class_bytes_array_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_bytes_array, /* shared constants */
&be_const_str_setitem,
&be_const_str_solidified,
( &(const binstruction[29]) { /* code */
0x140C0302, // 0000 LT R3 R1 K2
0x780E0001, // 0001 JMPF R3 #0004
0x880C0101, // 0002 GETMBR R3 R0 K1
0x00040203, // 0003 ADD R1 R1 R3
0x140C0302, // 0004 LT R3 R1 K2
0x740E0002, // 0005 JMPT R3 #0009
0x880C0101, // 0006 GETMBR R3 R0 K1
0x280C0203, // 0007 GE R3 R1 R3
0x780E0000, // 0008 JMPF R3 #000A
0xB0061B0F, // 0009 RAISE 1 K13 K15
0x880C0100, // 000A GETMBR R3 R0 K0
0x54120004, // 000B LDINT R4 5
0x1C0C0604, // 000C EQ R3 R3 R4
0x780E0006, // 000D JMPF R3 #0015
0x8C0C0110, // 000E GETMET R3 R0 K16
0x88140105, // 000F GETMBR R5 R0 K5
0x08140205, // 0010 MUL R5 R1 R5
0x5C180400, // 0011 MOVE R6 R2
0x7C0C0600, // 0012 CALL R3 3
0x80040600, // 0013 RET 1 R3
0x70020006, // 0014 JMP #001C
0x8C0C0111, // 0015 GETMET R3 R0 K17
0x88140105, // 0016 GETMBR R5 R0 K5
0x08140205, // 0017 MUL R5 R1 R5
0x88180100, // 0018 GETMBR R6 R0 K0
0x5C1C0400, // 0019 MOVE R7 R2
0x7C0C0800, // 001A CALL R3 4
0x80040600, // 001B RET 1 R3
0x80000000, // 001C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: bytes_array
********************************************************************/
extern const bclass be_class_bytes;
be_local_class(bytes_array,
3,
&be_class_bytes,
be_nested_map(8,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(sz, -1), be_const_var(1) },
{ be_const_key(setitem, -1), be_const_closure(class_bytes_array_setitem_closure) },
{ be_const_key(item_size, -1), be_const_var(2) },
{ be_const_key(init, 7), be_const_closure(class_bytes_array_init_closure) },
{ be_const_key(size, 1), be_const_closure(class_bytes_array_size_closure) },
{ be_const_key(tostring, -1), be_const_closure(class_bytes_array_tostring_closure) },
{ be_const_key(item, -1), be_const_closure(class_bytes_array_item_closure) },
{ be_const_key(item_type, -1), be_const_var(0) },
})),
(bstring*) &be_const_str_bytes_array
);
extern const bclass be_class_energy_phases_float;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_energy_phases_float_init, /* 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[ 3]) { /* constants */
/* K0 */ be_nested_str(energy),
/* K1 */ be_nested_str(init),
/* K2 */ be_nested_str(_phases),
}),
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x600C0003, // 0001 GETGBL R3 G3
0x5C100000, // 0002 MOVE R4 R0
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0701, // 0004 GETMET R3 R3 K1
0x5C140200, // 0005 MOVE R5 R1
0x541A0004, // 0006 LDINT R6 5
0x881C0502, // 0007 GETMBR R7 R2 K2
0x7C0C0800, // 0008 CALL R3 4
0x80000000, // 0009 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: energy_phases_float
********************************************************************/
extern const bclass be_class_bytes_array;
be_local_class(energy_phases_float,
0,
&be_class_bytes_array,
be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(init, -1), be_const_closure(class_energy_phases_float_init_closure) },
})),
(bstring*) &be_const_str_energy_phases_float
);
extern const bclass be_class_energy_phases_int32;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_energy_phases_int32_init, /* 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[ 3]) { /* constants */
/* K0 */ be_nested_str(energy),
/* K1 */ be_nested_str(init),
/* K2 */ be_nested_str(_phases),
}),
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x600C0003, // 0001 GETGBL R3 G3
0x5C100000, // 0002 MOVE R4 R0
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0701, // 0004 GETMET R3 R3 K1
0x5C140200, // 0005 MOVE R5 R1
0x541A0003, // 0006 LDINT R6 4
0x881C0502, // 0007 GETMBR R7 R2 K2
0x7C0C0800, // 0008 CALL R3 4
0x80000000, // 0009 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: energy_phases_int32
********************************************************************/
extern const bclass be_class_bytes_array;
be_local_class(energy_phases_int32,
0,
&be_class_bytes_array,
be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(init, -1), be_const_closure(class_energy_phases_int32_init_closure) },
})),
(bstring*) &be_const_str_energy_phases_int32
);
extern const bclass be_class_energy_phases_uint8;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_energy_phases_uint8_init, /* 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(energy),
/* K1 */ be_nested_str(init),
/* K2 */ be_const_int(1),
/* K3 */ be_nested_str(_phases),
}),
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x600C0003, // 0001 GETGBL R3 G3
0x5C100000, // 0002 MOVE R4 R0
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0701, // 0004 GETMET R3 R3 K1
0x5C140200, // 0005 MOVE R5 R1
0x58180002, // 0006 LDCONST R6 K2
0x881C0503, // 0007 GETMBR R7 R2 K3
0x7C0C0800, // 0008 CALL R3 4
0x80000000, // 0009 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: energy_phases_uint8
********************************************************************/
extern const bclass be_class_bytes_array;
be_local_class(energy_phases_uint8,
0,
&be_class_bytes_array,
be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(init, -1), be_const_closure(class_energy_phases_uint8_init_closure) },
})),
(bstring*) &be_const_str_energy_phases_uint8
);
extern const bclass be_class_energy_phases_uint16;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_energy_phases_uint16_init, /* 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(energy),
/* K1 */ be_nested_str(init),
/* K2 */ be_const_int(2),
/* K3 */ be_nested_str(_phases),
}),
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x600C0003, // 0001 GETGBL R3 G3
0x5C100000, // 0002 MOVE R4 R0
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0701, // 0004 GETMET R3 R3 K1
0x5C140200, // 0005 MOVE R5 R1
0x58180002, // 0006 LDCONST R6 K2
0x881C0503, // 0007 GETMBR R7 R2 K3
0x7C0C0800, // 0008 CALL R3 4
0x80000000, // 0009 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: energy_phases_uint16
********************************************************************/
extern const bclass be_class_bytes_array;
be_local_class(energy_phases_uint16,
0,
&be_class_bytes_array,
be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(init, -1), be_const_closure(class_energy_phases_uint16_init_closure) },
})),
(bstring*) &be_const_str_energy_phases_uint16
);
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(module_energy_init, /* name */
be_nested_proto(
3, /* nstack */
1, /* 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_nested_str(global),
/* K1 */ be_nested_str(_energy),
}),
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x4C080000, // 0001 LDNIL R2
0x90060202, // 0002 SETMBR R1 K1 R2
0x80040000, // 0003 RET 1 R0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: _deref
********************************************************************/
be_local_closure(module_energy__deref, /* name */
be_nested_proto(
7, /* nstack */
0, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str(global),
/* K1 */ be_nested_str(_energy),
/* K2 */ be_nested_str(introspect),
/* K3 */ be_nested_str(energy),
/* K4 */ be_nested_str(_ptr),
/* K5 */ be_nested_str(get),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str(energy_struct),
/* K8 */ be_nested_str(toptr),
}),
&be_const_str__deref,
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
0xB8020000, // 0000 GETNGBL R0 K0
0x88000101, // 0001 GETMBR R0 R0 K1
0x4C040000, // 0002 LDNIL R1
0x1C000001, // 0003 EQ R0 R0 R1
0x78020012, // 0004 JMPF R0 #0018
0xA4020400, // 0005 IMPORT R0 K2
0x60040015, // 0006 GETGBL R1 G21
0xB80A0600, // 0007 GETNGBL R2 K3
0x88080504, // 0008 GETMBR R2 R2 K4
0x540E0003, // 0009 LDINT R3 4
0x7C040400, // 000A CALL R1 2
0x8C040305, // 000B GETMET R1 R1 K5
0x580C0006, // 000C LDCONST R3 K6
0x54120003, // 000D LDINT R4 4
0x7C040600, // 000E CALL R1 3
0x20080306, // 000F NE R2 R1 K6
0x780A0006, // 0010 JMPF R2 #0018
0xB80A0000, // 0011 GETNGBL R2 K0
0xB80E0E00, // 0012 GETNGBL R3 K7
0x8C100108, // 0013 GETMET R4 R0 K8
0x5C180200, // 0014 MOVE R6 R1
0x7C100400, // 0015 CALL R4 2
0x7C0C0200, // 0016 CALL R3 1
0x900A0203, // 0017 SETMBR R2 K1 R3
0x80000000, // 0018 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read
********************************************************************/
be_local_closure(module_energy_read, /* name */
be_nested_proto(
2, /* nstack */
0, /* argc */
0, /* 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(energy),
/* K1 */ be_nested_str(_deref),
/* K2 */ be_nested_str(global),
/* K3 */ be_nested_str(_energy),
/* K4 */ be_nested_str(tomap),
}),
&be_const_str_read,
&be_const_str_solidified,
( &(const binstruction[11]) { /* code */
0xB8020000, // 0000 GETNGBL R0 K0
0x8C000101, // 0001 GETMET R0 R0 K1
0x7C000200, // 0002 CALL R0 1
0xB8020400, // 0003 GETNGBL R0 K2
0x88000103, // 0004 GETMBR R0 R0 K3
0x78020003, // 0005 JMPF R0 #000A
0xB8020600, // 0006 GETNGBL R0 K3
0x8C000104, // 0007 GETMET R0 R0 K4
0x7C000200, // 0008 CALL R0 1
0x80040000, // 0009 RET 1 R0
0x80000000, // 000A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: member
********************************************************************/
be_local_closure(module_energy_member, /* name */
be_nested_proto(
3, /* 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(energy),
/* K1 */ be_nested_str(_deref),
/* K2 */ be_nested_str(global),
/* K3 */ be_nested_str(_energy),
}),
&be_const_str_member,
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x7C040200, // 0002 CALL R1 1
0xB8060400, // 0003 GETNGBL R1 K2
0x88040303, // 0004 GETMBR R1 R1 K3
0x78060002, // 0005 JMPF R1 #0009
0xB8060600, // 0006 GETNGBL R1 K3
0x88040200, // 0007 GETMBR R1 R1 R0
0x80040200, // 0008 RET 1 R1
0x80000000, // 0009 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: setmember
********************************************************************/
be_local_closure(module_energy_setmember, /* name */
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[ 4]) { /* constants */
/* K0 */ be_nested_str(energy),
/* K1 */ be_nested_str(_deref),
/* K2 */ be_nested_str(global),
/* K3 */ be_nested_str(_energy),
}),
&be_const_str_setmember,
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0xB80A0000, // 0000 GETNGBL R2 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x7C080200, // 0002 CALL R2 1
0xB80A0400, // 0003 GETNGBL R2 K2
0x88080503, // 0004 GETMBR R2 R2 K3
0x780A0001, // 0005 JMPF R2 #0008
0xB80A0600, // 0006 GETNGBL R2 K3
0x90080001, // 0007 SETMBR R2 R0 R1
0x80000000, // 0008 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: tomap
********************************************************************/
be_local_closure(module_energy_tomap, /* name */
be_nested_proto(
2, /* nstack */
0, /* argc */
0, /* 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(energy),
/* K1 */ be_nested_str(_deref),
/* K2 */ be_nested_str(global),
/* K3 */ be_nested_str(_energy),
/* K4 */ be_nested_str(tomap),
}),
&be_const_str_tomap,
&be_const_str_solidified,
( &(const binstruction[11]) { /* code */
0xB8020000, // 0000 GETNGBL R0 K0
0x8C000101, // 0001 GETMET R0 R0 K1
0x7C000200, // 0002 CALL R0 1
0xB8020400, // 0003 GETNGBL R0 K2
0x88000103, // 0004 GETMBR R0 R0 K3
0x78020003, // 0005 JMPF R0 #000A
0xB8020600, // 0006 GETNGBL R0 K3
0x8C000104, // 0007 GETMET R0 R0 K4
0x7C000200, // 0008 CALL R0 1
0x80040000, // 0009 RET 1 R0
0x80000000, // 000A RET 0
})
)
);
/*******************************************************************/
/********************************************************************/
/* End of solidification */

View File

@ -1,674 +0,0 @@
/* Solidification of hue_bridge.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'hue_bridge_monad' ktab size: 50, total: 85 (saved 280 bytes)
static const bvalue be_ktab_class_hue_bridge_monad[50] = {
/* K0 */ be_nested_str(hue_ntv),
/* K1 */ be_nested_str(lights),
/* K2 */ be_nested_str(contains),
/* K3 */ be_nested_str(full_state),
/* K4 */ be_nested_str(light),
/* K5 */ be_nested_str(name),
/* K6 */ be_nested_str(model),
/* K7 */ be_nested_str(manuf),
/* K8 */ be_nested_str(light_state),
/* K9 */ be_nested_str(int),
/* K10 */ be_nested_str(value_error),
/* K11 */ be_nested_str(id_X20must_X20be_X20of_X20type_X20_X27int_X27),
/* K12 */ be_nested_str(light_X20must_X20be_X20of_X20class_X20_X27light_state_X27),
/* K13 */ be_const_int(0),
/* K14 */ be_nested_str(missing_X20name),
/* K15 */ be_nested_str(Unknown),
/* K16 */ be_nested_str(Tasmota),
/* K17 */ be_nested_str(remove),
/* K18 */ be_nested_str(json),
/* K19 */ be_nested_str(keys),
/* K20 */ be_nested_str(full_status),
/* K21 */ be_nested_str(_X22),
/* K22 */ be_nested_str(_X22_X3A),
/* K23 */ be_nested_str(push),
/* K24 */ be_nested_str(stop_iteration),
/* K25 */ be_nested_str(concat),
/* K26 */ be_nested_str(_X2C),
/* K27 */ be_nested_str(load),
/* K28 */ be_nested_str(tasmota),
/* K29 */ be_nested_str(log),
/* K30 */ be_nested_str(BRY_X3A_X20invalid_X20hue_X20payload_X3A_X20),
/* K31 */ be_const_int(3),
/* K32 */ be_nested_str(on),
/* K33 */ be_nested_str(set_power),
/* K34 */ be_nested_str(xy),
/* K35 */ be_const_int(1),
/* K36 */ be_nested_str(set_xy),
/* K37 */ be_nested_str(hue),
/* K38 */ be_nested_str(sat),
/* K39 */ be_nested_str(type),
/* K40 */ be_nested_str(set_hue16sat),
/* K41 */ be_nested_str(ct),
/* K42 */ be_nested_str(set_ct),
/* K43 */ be_nested_str(bri),
/* K44 */ be_nested_str(set_bri),
/* K45 */ be_nested_str(_X2Flights_X2F),
/* K46 */ be_nested_str(_X2Fstate_X2F),
/* K47 */ be_nested_str(success),
/* K48 */ be_nested_str(signal_change),
/* K49 */ be_nested_str(dump),
};
extern const bclass be_class_hue_bridge_monad;
/********************************************************************
** Solidified function: full_status
********************************************************************/
be_local_closure(class_hue_bridge_monad_full_status, /* 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_hue_bridge_monad, /* shared constants */
&be_const_str_full_status,
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x880C0101, // 0001 GETMBR R3 R0 K1
0x8C0C0702, // 0002 GETMET R3 R3 K2
0x5C140200, // 0003 MOVE R5 R1
0x7C0C0400, // 0004 CALL R3 2
0x780E0009, // 0005 JMPF R3 #0010
0x880C0101, // 0006 GETMBR R3 R0 K1
0x940C0601, // 0007 GETIDX R3 R3 R1
0x8C100503, // 0008 GETMET R4 R2 K3
0x5C180200, // 0009 MOVE R6 R1
0x941C0704, // 000A GETIDX R7 R3 K4
0x94200705, // 000B GETIDX R8 R3 K5
0x94240706, // 000C GETIDX R9 R3 K6
0x94280707, // 000D GETIDX R10 R3 K7
0x7C100C00, // 000E CALL R4 6
0x80040800, // 000F RET 1 R4
0x80000000, // 0010 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: hue_status
********************************************************************/
be_local_closure(class_hue_bridge_monad_hue_status, /* 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_hue_bridge_monad, /* shared constants */
&be_const_str_hue_status,
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x880C0101, // 0001 GETMBR R3 R0 K1
0x8C0C0702, // 0002 GETMET R3 R3 K2
0x5C140200, // 0003 MOVE R5 R1
0x7C0C0400, // 0004 CALL R3 2
0x780E0005, // 0005 JMPF R3 #000C
0x8C0C0508, // 0006 GETMET R3 R2 K8
0x88140101, // 0007 GETMBR R5 R0 K1
0x94140A01, // 0008 GETIDX R5 R5 R1
0x94140B04, // 0009 GETIDX R5 R5 K4
0x7C0C0400, // 000A CALL R3 2
0x80040600, // 000B RET 1 R3
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: add_light
********************************************************************/
be_local_closure(class_hue_bridge_monad_add_light, /* name */
be_nested_proto(
10, /* 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_hue_bridge_monad, /* shared constants */
&be_const_str_add_light,
&be_const_str_solidified,
( &(const binstruction[43]) { /* code */
0x60180004, // 0000 GETGBL R6 G4
0x5C1C0200, // 0001 MOVE R7 R1
0x7C180200, // 0002 CALL R6 1
0x20180D09, // 0003 NE R6 R6 K9
0x781A0000, // 0004 JMPF R6 #0006
0xB006150B, // 0005 RAISE 1 K10 K11
0x6018000F, // 0006 GETGBL R6 G15
0x5C1C0400, // 0007 MOVE R7 R2
0xB8221000, // 0008 GETNGBL R8 K8
0x7C180400, // 0009 CALL R6 2
0x741A0000, // 000A JMPT R6 #000C
0xB006150C, // 000B RAISE 1 K10 K12
0x60180008, // 000C GETGBL R6 G8
0x5C1C0600, // 000D MOVE R7 R3
0x7C180200, // 000E CALL R6 1
0x5C0C0C00, // 000F MOVE R3 R6
0x6018000C, // 0010 GETGBL R6 G12
0x5C1C0600, // 0011 MOVE R7 R3
0x7C180200, // 0012 CALL R6 1
0x1C180D0D, // 0013 EQ R6 R6 K13
0x781A0000, // 0014 JMPF R6 #0016
0xB006150E, // 0015 RAISE 1 K10 K14
0x5C180800, // 0016 MOVE R6 R4
0x741A0000, // 0017 JMPT R6 #0019
0x5810000F, // 0018 LDCONST R4 K15
0x5C180A00, // 0019 MOVE R6 R5
0x741A0000, // 001A JMPT R6 #001C
0x58140010, // 001B LDCONST R5 K16
0x88180101, // 001C GETMBR R6 R0 K1
0x601C0013, // 001D GETGBL R7 G19
0x7C1C0000, // 001E CALL R7 0
0x981E0802, // 001F SETIDX R7 K4 R2
0x981E0A03, // 0020 SETIDX R7 K5 R3
0x60200008, // 0021 GETGBL R8 G8
0x5C240800, // 0022 MOVE R9 R4
0x7C200200, // 0023 CALL R8 1
0x981E0C08, // 0024 SETIDX R7 K6 R8
0x60200008, // 0025 GETGBL R8 G8
0x5C240A00, // 0026 MOVE R9 R5
0x7C200200, // 0027 CALL R8 1
0x981E0E08, // 0028 SETIDX R7 K7 R8
0x98180207, // 0029 SETIDX R6 R1 R7
0x80040400, // 002A RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: remove_light
********************************************************************/
be_local_closure(class_hue_bridge_monad_remove_light, /* 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_hue_bridge_monad, /* shared constants */
&be_const_str_remove_light,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x88080101, // 0000 GETMBR R2 R0 K1
0x8C080511, // 0001 GETMET R2 R2 K17
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_hue_bridge_monad_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_hue_bridge_monad, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x60040013, // 0000 GETGBL R1 G19
0x7C040000, // 0001 CALL R1 0
0x90020201, // 0002 SETMBR R0 K1 R1
0x80000000, // 0003 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: discover
********************************************************************/
be_local_closure(class_hue_bridge_monad_discover, /* 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_hue_bridge_monad, /* shared constants */
&be_const_str_discover,
&be_const_str_solidified,
( &(const binstruction[39]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A2400, // 0001 IMPORT R2 K18
0x600C0012, // 0002 GETGBL R3 G18
0x7C0C0000, // 0003 CALL R3 0
0x60100010, // 0004 GETGBL R4 G16
0x88140101, // 0005 GETMBR R5 R0 K1
0x8C140B13, // 0006 GETMET R5 R5 K19
0x7C140200, // 0007 CALL R5 1
0x7C100200, // 0008 CALL R4 1
0xA802000F, // 0009 EXBLK 0 #001A
0x5C140800, // 000A MOVE R5 R4
0x7C140000, // 000B CALL R5 0
0x8C180114, // 000C GETMET R6 R0 K20
0x5C200A00, // 000D MOVE R8 R5
0x7C180400, // 000E CALL R6 2
0x781A0008, // 000F JMPF R6 #0019
0x601C0008, // 0010 GETGBL R7 G8
0x5C200A00, // 0011 MOVE R8 R5
0x7C1C0200, // 0012 CALL R7 1
0x001E2A07, // 0013 ADD R7 K21 R7
0x001C0F16, // 0014 ADD R7 R7 K22
0x00180E06, // 0015 ADD R6 R7 R6
0x8C1C0717, // 0016 GETMET R7 R3 K23
0x5C240C00, // 0017 MOVE R9 R6
0x7C1C0400, // 0018 CALL R7 2
0x7001FFEF, // 0019 JMP #000A
0x58100018, // 001A LDCONST R4 K24
0xAC100200, // 001B CATCH R4 1 0
0xB0080000, // 001C RAISE 2 R0 R0
0x6010000C, // 001D GETGBL R4 G12
0x5C140600, // 001E MOVE R5 R3
0x7C100200, // 001F CALL R4 1
0x2410090D, // 0020 GT R4 R4 K13
0x78120003, // 0021 JMPF R4 #0026
0x8C100719, // 0022 GETMET R4 R3 K25
0x5818001A, // 0023 LDCONST R6 K26
0x7C100400, // 0024 CALL R4 2
0x80040800, // 0025 RET 1 R4
0x80000000, // 0026 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: light_to_id
********************************************************************/
be_local_closure(class_hue_bridge_monad_light_to_id, /* 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_hue_bridge_monad, /* shared constants */
&be_const_str_light_to_id,
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0x60080010, // 0000 GETGBL R2 G16
0x880C0101, // 0001 GETMBR R3 R0 K1
0x8C0C0713, // 0002 GETMET R3 R3 K19
0x7C0C0200, // 0003 CALL R3 1
0x7C080200, // 0004 CALL R2 1
0xA8020009, // 0005 EXBLK 0 #0010
0x5C0C0400, // 0006 MOVE R3 R2
0x7C0C0000, // 0007 CALL R3 0
0x88100101, // 0008 GETMBR R4 R0 K1
0x94100803, // 0009 GETIDX R4 R4 R3
0x94100904, // 000A GETIDX R4 R4 K4
0x1C100204, // 000B EQ R4 R1 R4
0x78120001, // 000C JMPF R4 #000F
0xA8040001, // 000D EXBLK 1 1
0x80040600, // 000E RET 1 R3
0x7001FFF5, // 000F JMP #0006
0x58080018, // 0010 LDCONST R2 K24
0xAC080200, // 0011 CATCH R2 1 0
0xB0080000, // 0012 RAISE 2 R0 R0
0x80000000, // 0013 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: cmd
********************************************************************/
be_local_closure(class_hue_bridge_monad_cmd, /* name */
be_nested_proto(
18, /* 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_hue_bridge_monad, /* shared constants */
&be_const_str_cmd,
&be_const_str_solidified,
( &(const binstruction[167]) { /* code */
0xA40E2400, // 0000 IMPORT R3 K18
0x88100101, // 0001 GETMBR R4 R0 K1
0x8C100902, // 0002 GETMET R4 R4 K2
0x5C180200, // 0003 MOVE R6 R1
0x7C100400, // 0004 CALL R4 2
0x74120000, // 0005 JMPT R4 #0007
0x80000800, // 0006 RET 0
0x88100101, // 0007 GETMBR R4 R0 K1
0x94100801, // 0008 GETIDX R4 R4 R1
0x94100904, // 0009 GETIDX R4 R4 K4
0x60140013, // 000A GETGBL R5 G19
0x7C140000, // 000B CALL R5 0
0x8C18071B, // 000C GETMET R6 R3 K27
0x5C200400, // 000D MOVE R8 R2
0x7C180400, // 000E CALL R6 2
0x4C1C0000, // 000F LDNIL R7
0x1C1C0407, // 0010 EQ R7 R2 R7
0x781E0008, // 0011 JMPF R7 #001B
0xB81E3800, // 0012 GETNGBL R7 K28
0x8C1C0F1D, // 0013 GETMET R7 R7 K29
0x60240008, // 0014 GETGBL R9 G8
0x5C280400, // 0015 MOVE R10 R2
0x7C240200, // 0016 CALL R9 1
0x00263C09, // 0017 ADD R9 K30 R9
0x5828001F, // 0018 LDCONST R10 K31
0x7C1C0600, // 0019 CALL R7 3
0x80000E00, // 001A RET 0
0x8C1C0D02, // 001B GETMET R7 R6 K2
0x58240020, // 001C LDCONST R9 K32
0x7C1C0400, // 001D CALL R7 2
0x781E0006, // 001E JMPF R7 #0026
0x601C0017, // 001F GETGBL R7 G23
0x94200D20, // 0020 GETIDX R8 R6 K32
0x7C1C0200, // 0021 CALL R7 1
0x98164007, // 0022 SETIDX R5 K32 R7
0x8C200921, // 0023 GETMET R8 R4 K33
0x5C280E00, // 0024 MOVE R10 R7
0x7C200400, // 0025 CALL R8 2
0x8C1C0D02, // 0026 GETMET R7 R6 K2
0x58240022, // 0027 LDCONST R9 K34
0x7C1C0400, // 0028 CALL R7 2
0x781E0013, // 0029 JMPF R7 #003E
0x941C0D22, // 002A GETIDX R7 R6 K34
0x6020000A, // 002B GETGBL R8 G10
0x94240F0D, // 002C GETIDX R9 R7 K13
0x7C200200, // 002D CALL R8 1
0x6024000A, // 002E GETGBL R9 G10
0x94280F23, // 002F GETIDX R10 R7 K35
0x7C240200, // 0030 CALL R9 1
0x60280012, // 0031 GETGBL R10 G18
0x7C280000, // 0032 CALL R10 0
0x402C1408, // 0033 CONNECT R11 R10 R8
0x402C1409, // 0034 CONNECT R11 R10 R9
0x9816440A, // 0035 SETIDX R5 K34 R10
0x542AFFFF, // 0036 LDINT R10 65536
0x0820100A, // 0037 MUL R8 R8 R10
0x542AFFFF, // 0038 LDINT R10 65536
0x0824120A, // 0039 MUL R9 R9 R10
0x8C280924, // 003A GETMET R10 R4 K36
0x5C301000, // 003B MOVE R12 R8
0x5C341200, // 003C MOVE R13 R9
0x7C280600, // 003D CALL R10 3
0x501C0000, // 003E LDBOOL R7 0 0
0x88200925, // 003F GETMBR R8 R4 K37
0x88240926, // 0040 GETMBR R9 R4 K38
0x8C280D02, // 0041 GETMET R10 R6 K2
0x58300025, // 0042 LDCONST R12 K37
0x7C280400, // 0043 CALL R10 2
0x782A0009, // 0044 JMPF R10 #004F
0x60280009, // 0045 GETGBL R10 G9
0x942C0D25, // 0046 GETIDX R11 R6 K37
0x7C280200, // 0047 CALL R10 1
0x5C201400, // 0048 MOVE R8 R10
0x98164A08, // 0049 SETIDX R5 K37 R8
0x542AFFFE, // 004A LDINT R10 65535
0x2428100A, // 004B GT R10 R8 R10
0x782A0000, // 004C JMPF R10 #004E
0x5422FFFE, // 004D LDINT R8 65535
0x501C0200, // 004E LDBOOL R7 1 0
0x8C280D02, // 004F GETMET R10 R6 K2
0x58300026, // 0050 LDCONST R12 K38
0x7C280400, // 0051 CALL R10 2
0x782A000C, // 0052 JMPF R10 #0060
0x60280009, // 0053 GETGBL R10 G9
0x942C0D26, // 0054 GETIDX R11 R6 K38
0x7C280200, // 0055 CALL R10 1
0x5C241400, // 0056 MOVE R9 R10
0x98164C09, // 0057 SETIDX R5 K38 R9
0x542A00FD, // 0058 LDINT R10 254
0x2828120A, // 0059 GE R10 R9 R10
0x782A0000, // 005A JMPF R10 #005C
0x542600FE, // 005B LDINT R9 255
0x88280927, // 005C GETMBR R10 R4 K39
0x2828151F, // 005D GE R10 R10 K31
0x782A0000, // 005E JMPF R10 #0060
0x501C0200, // 005F LDBOOL R7 1 0
0x781E0003, // 0060 JMPF R7 #0065
0x8C280928, // 0061 GETMET R10 R4 K40
0x5C301000, // 0062 MOVE R12 R8
0x5C341200, // 0063 MOVE R13 R9
0x7C280600, // 0064 CALL R10 3
0x8C280D02, // 0065 GETMET R10 R6 K2
0x58300029, // 0066 LDCONST R12 K41
0x7C280400, // 0067 CALL R10 2
0x782A0006, // 0068 JMPF R10 #0070
0x60280009, // 0069 GETGBL R10 G9
0x942C0D29, // 006A GETIDX R11 R6 K41
0x7C280200, // 006B CALL R10 1
0x9816520A, // 006C SETIDX R5 K41 R10
0x8C2C092A, // 006D GETMET R11 R4 K42
0x5C341400, // 006E MOVE R13 R10
0x7C2C0400, // 006F CALL R11 2
0x8C280D02, // 0070 GETMET R10 R6 K2
0x5830002B, // 0071 LDCONST R12 K43
0x7C280400, // 0072 CALL R10 2
0x782A000A, // 0073 JMPF R10 #007F
0x60280009, // 0074 GETGBL R10 G9
0x942C0D2B, // 0075 GETIDX R11 R6 K43
0x7C280200, // 0076 CALL R10 1
0x9816560A, // 0077 SETIDX R5 K43 R10
0x542E00FD, // 0078 LDINT R11 254
0x282C140B, // 0079 GE R11 R10 R11
0x782E0000, // 007A JMPF R11 #007C
0x542A00FE, // 007B LDINT R10 255
0x8C2C092C, // 007C GETMET R11 R4 K44
0x5C341400, // 007D MOVE R13 R10
0x7C2C0400, // 007E CALL R11 2
0x60280012, // 007F GETGBL R10 G18
0x7C280000, // 0080 CALL R10 0
0x602C0010, // 0081 GETGBL R11 G16
0x8C300B13, // 0082 GETMET R12 R5 K19
0x7C300200, // 0083 CALL R12 1
0x7C2C0200, // 0084 CALL R11 1
0xA8020012, // 0085 EXBLK 0 #0099
0x5C301600, // 0086 MOVE R12 R11
0x7C300000, // 0087 CALL R12 0
0x60340008, // 0088 GETGBL R13 G8
0x5C380200, // 0089 MOVE R14 R1
0x7C340200, // 008A CALL R13 1
0x00365A0D, // 008B ADD R13 K45 R13
0x00341B2E, // 008C ADD R13 R13 K46
0x00341A0C, // 008D ADD R13 R13 R12
0x60380013, // 008E GETGBL R14 G19
0x7C380000, // 008F CALL R14 0
0x603C0013, // 0090 GETGBL R15 G19
0x7C3C0000, // 0091 CALL R15 0
0x94400A0C, // 0092 GETIDX R16 R5 R12
0x983C1A10, // 0093 SETIDX R15 R13 R16
0x983A5E0F, // 0094 SETIDX R14 K47 R15
0x8C3C1517, // 0095 GETMET R15 R10 K23
0x5C441C00, // 0096 MOVE R17 R14
0x7C3C0400, // 0097 CALL R15 2
0x7001FFEC, // 0098 JMP #0086
0x582C0018, // 0099 LDCONST R11 K24
0xAC2C0200, // 009A CATCH R11 1 0
0xB0080000, // 009B RAISE 2 R0 R0
0x602C000C, // 009C GETGBL R11 G12
0x5C301400, // 009D MOVE R12 R10
0x7C2C0200, // 009E CALL R11 1
0x242C170D, // 009F GT R11 R11 K13
0x782E0001, // 00A0 JMPF R11 #00A3
0x8C2C0930, // 00A1 GETMET R11 R4 K48
0x7C2C0200, // 00A2 CALL R11 1
0x8C2C0731, // 00A3 GETMET R11 R3 K49
0x5C341400, // 00A4 MOVE R13 R10
0x7C2C0400, // 00A5 CALL R11 2
0x80041600, // 00A6 RET 1 R11
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: groups
********************************************************************/
be_local_closure(class_hue_bridge_monad_groups, /* 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_hue_bridge_monad, /* shared constants */
&be_const_str_groups,
&be_const_str_solidified,
( &(const binstruction[31]) { /* code */
0x60040012, // 0000 GETGBL R1 G18
0x7C040000, // 0001 CALL R1 0
0x60080010, // 0002 GETGBL R2 G16
0x880C0101, // 0003 GETMBR R3 R0 K1
0x8C0C0713, // 0004 GETMET R3 R3 K19
0x7C0C0200, // 0005 CALL R3 1
0x7C080200, // 0006 CALL R2 1
0xA8020009, // 0007 EXBLK 0 #0012
0x5C0C0400, // 0008 MOVE R3 R2
0x7C0C0000, // 0009 CALL R3 0
0x8C100317, // 000A GETMET R4 R1 K23
0x60180008, // 000B GETGBL R6 G8
0x5C1C0600, // 000C MOVE R7 R3
0x7C180200, // 000D CALL R6 1
0x001A2A06, // 000E ADD R6 K21 R6
0x00180D15, // 000F ADD R6 R6 K21
0x7C100400, // 0010 CALL R4 2
0x7001FFF5, // 0011 JMP #0008
0x58080018, // 0012 LDCONST R2 K24
0xAC080200, // 0013 CATCH R2 1 0
0xB0080000, // 0014 RAISE 2 R0 R0
0x6008000C, // 0015 GETGBL R2 G12
0x5C0C0200, // 0016 MOVE R3 R1
0x7C080200, // 0017 CALL R2 1
0x2408050D, // 0018 GT R2 R2 K13
0x780A0003, // 0019 JMPF R2 #001E
0x8C080319, // 001A GETMET R2 R1 K25
0x5810001A, // 001B LDCONST R4 K26
0x7C080400, // 001C CALL R2 2
0x80040400, // 001D RET 1 R2
0x80000000, // 001E RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: hue_bridge_monad
********************************************************************/
be_local_class(hue_bridge_monad,
1,
NULL,
be_nested_map(10,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(lights, -1), be_const_var(0) },
{ be_const_key(groups, 6), be_const_closure(class_hue_bridge_monad_groups_closure) },
{ be_const_key(hue_status, -1), be_const_closure(class_hue_bridge_monad_hue_status_closure) },
{ be_const_key(add_light, -1), be_const_closure(class_hue_bridge_monad_add_light_closure) },
{ be_const_key(remove_light, 8), be_const_closure(class_hue_bridge_monad_remove_light_closure) },
{ be_const_key(init, -1), be_const_closure(class_hue_bridge_monad_init_closure) },
{ be_const_key(cmd, -1), be_const_closure(class_hue_bridge_monad_cmd_closure) },
{ be_const_key(light_to_id, -1), be_const_closure(class_hue_bridge_monad_light_to_id_closure) },
{ be_const_key(discover, -1), be_const_closure(class_hue_bridge_monad_discover_closure) },
{ be_const_key(full_status, 1), be_const_closure(class_hue_bridge_monad_full_status_closure) },
})),
(bstring*) &be_const_str_hue_bridge_monad
);
/********************************************************************
** Solidified function: _anonymous_
********************************************************************/
be_local_closure(_anonymous_, /* name */
be_nested_proto(
3, /* 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_const_class(be_class_hue_bridge_monad),
}),
&be_const_str__anonymous_,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0xB4000000, // 0001 CLASS K0
0x5C080200, // 0002 MOVE R2 R1
0x7C080000, // 0003 CALL R2 0
0x80040400, // 0004 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified module: hue_bridge
********************************************************************/
be_local_module(hue_bridge,
"hue_bridge",
be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(init, -1), be_const_closure(_anonymous__closure) },
}))
);
BE_EXPORT_VARIABLE be_define_const_native_module(hue_bridge);
/********************************************************************/
/********************************************************************/
/* End of solidification */

View File

@ -1,564 +0,0 @@
/* Solidification of i2c_driver.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'I2C_Driver' ktab size: 20, total: 71 (saved 408 bytes)
static const bvalue be_ktab_class_I2C_Driver[20] = {
/* K0 */ be_nested_str(wire),
/* K1 */ be_nested_str(read_bytes),
/* K2 */ be_nested_str(addr),
/* K3 */ be_const_int(0),
/* K4 */ be_const_int(1),
/* K5 */ be_const_int(2),
/* K6 */ be_const_int(3),
/* K7 */ be_nested_str(tasmota),
/* K8 */ be_nested_str(i2c_enabled),
/* K9 */ be_nested_str(wire_scan),
/* K10 */ be_nested_str(function),
/* K11 */ be_nested_str(name),
/* K12 */ be_nested_str(I2C_X3A),
/* K13 */ be_nested_str(detected_X20on_X20bus),
/* K14 */ be_nested_str(bus),
/* K15 */ be_nested_str(write8),
/* K16 */ be_nested_str(read8),
/* K17 */ be_nested_str(write16),
/* K18 */ be_nested_str(read),
/* K19 */ be_nested_str(write),
};
extern const bclass be_class_I2C_Driver;
/********************************************************************
** Solidified function: read32
********************************************************************/
be_local_closure(class_I2C_Driver_read32, /* 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_I2C_Driver, /* shared constants */
&be_const_str_read32,
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x5C140200, // 0003 MOVE R5 R1
0x541A0003, // 0004 LDINT R6 4
0x7C080800, // 0005 CALL R2 4
0x940C0503, // 0006 GETIDX R3 R2 K3
0x54120017, // 0007 LDINT R4 24
0x380C0604, // 0008 SHL R3 R3 R4
0x94100504, // 0009 GETIDX R4 R2 K4
0x5416000F, // 000A LDINT R5 16
0x38100805, // 000B SHL R4 R4 R5
0x000C0604, // 000C ADD R3 R3 R4
0x94100505, // 000D GETIDX R4 R2 K5
0x54160007, // 000E LDINT R5 8
0x38100805, // 000F SHL R4 R4 R5
0x000C0604, // 0010 ADD R3 R3 R4
0x94100506, // 0011 GETIDX R4 R2 K6
0x000C0604, // 0012 ADD R3 R3 R4
0x80040600, // 0013 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_I2C_Driver_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_I2C_Driver, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[44]) { /* code */
0x4C100000, // 0000 LDNIL R4
0x20100604, // 0001 NE R4 R3 R4
0x78120005, // 0002 JMPF R4 #0009
0xB8120E00, // 0003 GETNGBL R4 K7
0x8C100908, // 0004 GETMET R4 R4 K8
0x5C180600, // 0005 MOVE R6 R3
0x7C100400, // 0006 CALL R4 2
0x74120000, // 0007 JMPT R4 #0009
0x80000800, // 0008 RET 0
0x90020402, // 0009 SETMBR R0 K2 R2
0xB8120E00, // 000A GETNGBL R4 K7
0x8C100909, // 000B GETMET R4 R4 K9
0x88180102, // 000C GETMBR R6 R0 K2
0x7C100400, // 000D CALL R4 2
0x90020004, // 000E SETMBR R0 K0 R4
0x88100100, // 000F GETMBR R4 R0 K0
0x78120019, // 0010 JMPF R4 #002B
0x60100004, // 0011 GETGBL R4 G4
0x5C140200, // 0012 MOVE R5 R1
0x7C100200, // 0013 CALL R4 1
0x1C10090A, // 0014 EQ R4 R4 K10
0x78120004, // 0015 JMPF R4 #001B
0x5C100200, // 0016 MOVE R4 R1
0x5C140000, // 0017 MOVE R5 R0
0x7C100200, // 0018 CALL R4 1
0x90021604, // 0019 SETMBR R0 K11 R4
0x70020000, // 001A JMP #001C
0x90021601, // 001B SETMBR R0 K11 R1
0x8810010B, // 001C GETMBR R4 R0 K11
0x4C140000, // 001D LDNIL R5
0x1C100805, // 001E EQ R4 R4 R5
0x78120001, // 001F JMPF R4 #0022
0x4C100000, // 0020 LDNIL R4
0x90020004, // 0021 SETMBR R0 K0 R4
0x88100100, // 0022 GETMBR R4 R0 K0
0x78120006, // 0023 JMPF R4 #002B
0x60100001, // 0024 GETGBL R4 G1
0x5814000C, // 0025 LDCONST R5 K12
0x8818010B, // 0026 GETMBR R6 R0 K11
0x581C000D, // 0027 LDCONST R7 K13
0x88200100, // 0028 GETMBR R8 R0 K0
0x8820110E, // 0029 GETMBR R8 R8 K14
0x7C100800, // 002A CALL R4 4
0x80000000, // 002B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read24
********************************************************************/
be_local_closure(class_I2C_Driver_read24, /* 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_I2C_Driver, /* shared constants */
&be_const_str_read24,
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x5C140200, // 0003 MOVE R5 R1
0x58180006, // 0004 LDCONST R6 K6
0x7C080800, // 0005 CALL R2 4
0x940C0503, // 0006 GETIDX R3 R2 K3
0x5412000F, // 0007 LDINT R4 16
0x380C0604, // 0008 SHL R3 R3 R4
0x94100504, // 0009 GETIDX R4 R2 K4
0x54160007, // 000A LDINT R5 8
0x38100805, // 000B SHL R4 R4 R5
0x000C0604, // 000C ADD R3 R3 R4
0x94100505, // 000D GETIDX R4 R2 K5
0x000C0604, // 000E ADD R3 R3 R4
0x80040600, // 000F RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: write_bit
********************************************************************/
be_local_closure(class_I2C_Driver_write_bit, /* 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_I2C_Driver, /* shared constants */
&be_const_str_write_bit,
&be_const_str_solidified,
( &(const binstruction[26]) { /* code */
0x14100503, // 0000 LT R4 R2 K3
0x74120002, // 0001 JMPT R4 #0005
0x54120006, // 0002 LDINT R4 7
0x24100404, // 0003 GT R4 R2 R4
0x78120000, // 0004 JMPF R4 #0006
0x80000800, // 0005 RET 0
0x38120802, // 0006 SHL R4 K4 R2
0x780E0007, // 0007 JMPF R3 #0010
0x8C14010F, // 0008 GETMET R5 R0 K15
0x5C1C0200, // 0009 MOVE R7 R1
0x8C200110, // 000A GETMET R8 R0 K16
0x5C280200, // 000B MOVE R10 R1
0x7C200400, // 000C CALL R8 2
0x30201004, // 000D OR R8 R8 R4
0x7C140600, // 000E CALL R5 3
0x70020008, // 000F JMP #0019
0x8C14010F, // 0010 GETMET R5 R0 K15
0x5C1C0200, // 0011 MOVE R7 R1
0x8C200110, // 0012 GETMET R8 R0 K16
0x5C280200, // 0013 MOVE R10 R1
0x7C200400, // 0014 CALL R8 2
0x542600FE, // 0015 LDINT R9 255
0x04241204, // 0016 SUB R9 R9 R4
0x2C201009, // 0017 AND R8 R8 R9
0x7C140600, // 0018 CALL R5 3
0x80000000, // 0019 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: write16LE
********************************************************************/
be_local_closure(class_I2C_Driver_write16LE, /* 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_I2C_Driver, /* shared constants */
&be_const_str_write16LE,
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x540E00FE, // 0000 LDINT R3 255
0x2C0C0403, // 0001 AND R3 R2 R3
0x54120007, // 0002 LDINT R4 8
0x380C0604, // 0003 SHL R3 R3 R4
0x5412FEFF, // 0004 LDINT R4 65280
0x2C100404, // 0005 AND R4 R2 R4
0x54160007, // 0006 LDINT R5 8
0x3C100805, // 0007 SHR R4 R4 R5
0x300C0604, // 0008 OR R3 R3 R4
0x5C080600, // 0009 MOVE R2 R3
0x8C0C0111, // 000A GETMET R3 R0 K17
0x5C140200, // 000B MOVE R5 R1
0x5C180400, // 000C MOVE R6 R2
0x7C0C0600, // 000D CALL R3 3
0x80040600, // 000E RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read8
********************************************************************/
be_local_closure(class_I2C_Driver_read8, /* 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_I2C_Driver, /* shared constants */
&be_const_str_read8,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080512, // 0001 GETMET R2 R2 K18
0x88100102, // 0002 GETMBR R4 R0 K2
0x5C140200, // 0003 MOVE R5 R1
0x58180004, // 0004 LDCONST R6 K4
0x7C080800, // 0005 CALL R2 4
0x80040400, // 0006 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read14
********************************************************************/
be_local_closure(class_I2C_Driver_read14, /* 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_I2C_Driver, /* shared constants */
&be_const_str_read14,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x5C140200, // 0003 MOVE R5 R1
0x58180005, // 0004 LDCONST R6 K5
0x7C080800, // 0005 CALL R2 4
0x940C0503, // 0006 GETIDX R3 R2 K3
0x54120005, // 0007 LDINT R4 6
0x380C0604, // 0008 SHL R3 R3 R4
0x94100504, // 0009 GETIDX R4 R2 K4
0x000C0604, // 000A ADD R3 R3 R4
0x80040600, // 000B RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read16LE
********************************************************************/
be_local_closure(class_I2C_Driver_read16LE, /* 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_I2C_Driver, /* shared constants */
&be_const_str_read16LE,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x5C140200, // 0003 MOVE R5 R1
0x58180005, // 0004 LDCONST R6 K5
0x7C080800, // 0005 CALL R2 4
0x940C0504, // 0006 GETIDX R3 R2 K4
0x54120007, // 0007 LDINT R4 8
0x380C0604, // 0008 SHL R3 R3 R4
0x94100503, // 0009 GETIDX R4 R2 K3
0x000C0604, // 000A ADD R3 R3 R4
0x80040600, // 000B RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read12
********************************************************************/
be_local_closure(class_I2C_Driver_read12, /* 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_I2C_Driver, /* shared constants */
&be_const_str_read12,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x5C140200, // 0003 MOVE R5 R1
0x58180005, // 0004 LDCONST R6 K5
0x7C080800, // 0005 CALL R2 4
0x940C0503, // 0006 GETIDX R3 R2 K3
0x54120003, // 0007 LDINT R4 4
0x380C0604, // 0008 SHL R3 R3 R4
0x94100504, // 0009 GETIDX R4 R2 K4
0x000C0604, // 000A ADD R3 R3 R4
0x80040600, // 000B RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: write8
********************************************************************/
be_local_closure(class_I2C_Driver_write8, /* 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_I2C_Driver, /* shared constants */
&be_const_str_write8,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x880C0100, // 0000 GETMBR R3 R0 K0
0x8C0C0713, // 0001 GETMET R3 R3 K19
0x88140102, // 0002 GETMBR R5 R0 K2
0x5C180200, // 0003 MOVE R6 R1
0x5C1C0400, // 0004 MOVE R7 R2
0x58200004, // 0005 LDCONST R8 K4
0x7C0C0A00, // 0006 CALL R3 5
0x80040600, // 0007 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read13
********************************************************************/
be_local_closure(class_I2C_Driver_read13, /* 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_I2C_Driver, /* shared constants */
&be_const_str_read13,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x5C140200, // 0003 MOVE R5 R1
0x58180005, // 0004 LDCONST R6 K5
0x7C080800, // 0005 CALL R2 4
0x940C0503, // 0006 GETIDX R3 R2 K3
0x54120004, // 0007 LDINT R4 5
0x380C0604, // 0008 SHL R3 R3 R4
0x94100504, // 0009 GETIDX R4 R2 K4
0x000C0604, // 000A ADD R3 R3 R4
0x80040600, // 000B RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: read16
********************************************************************/
be_local_closure(class_I2C_Driver_read16, /* 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_I2C_Driver, /* shared constants */
&be_const_str_read16,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x88100102, // 0002 GETMBR R4 R0 K2
0x5C140200, // 0003 MOVE R5 R1
0x58180005, // 0004 LDCONST R6 K5
0x7C080800, // 0005 CALL R2 4
0x940C0503, // 0006 GETIDX R3 R2 K3
0x54120007, // 0007 LDINT R4 8
0x380C0604, // 0008 SHL R3 R3 R4
0x94100504, // 0009 GETIDX R4 R2 K4
0x000C0604, // 000A ADD R3 R3 R4
0x80040600, // 000B RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: write16
********************************************************************/
be_local_closure(class_I2C_Driver_write16, /* 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_I2C_Driver, /* shared constants */
&be_const_str_write16,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x880C0100, // 0000 GETMBR R3 R0 K0
0x8C0C0713, // 0001 GETMET R3 R3 K19
0x88140102, // 0002 GETMBR R5 R0 K2
0x5C180200, // 0003 MOVE R6 R1
0x5C1C0400, // 0004 MOVE R7 R2
0x58200005, // 0005 LDCONST R8 K5
0x7C0C0A00, // 0006 CALL R3 5
0x80040600, // 0007 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: I2C_Driver
********************************************************************/
be_local_class(I2C_Driver,
3,
NULL,
be_nested_map(16,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(read32, -1), be_const_closure(class_I2C_Driver_read32_closure) },
{ be_const_key(write16, 15), be_const_closure(class_I2C_Driver_write16_closure) },
{ be_const_key(addr, -1), be_const_var(1) },
{ be_const_key(init, 1), be_const_closure(class_I2C_Driver_init_closure) },
{ be_const_key(write_bit, -1), be_const_closure(class_I2C_Driver_write_bit_closure) },
{ be_const_key(read14, -1), be_const_closure(class_I2C_Driver_read14_closure) },
{ be_const_key(name, -1), be_const_var(2) },
{ be_const_key(read8, -1), be_const_closure(class_I2C_Driver_read8_closure) },
{ be_const_key(write16LE, 11), be_const_closure(class_I2C_Driver_write16LE_closure) },
{ be_const_key(read16LE, -1), be_const_closure(class_I2C_Driver_read16LE_closure) },
{ be_const_key(read12, -1), be_const_closure(class_I2C_Driver_read12_closure) },
{ be_const_key(wire, 5), be_const_var(0) },
{ be_const_key(write8, -1), be_const_closure(class_I2C_Driver_write8_closure) },
{ be_const_key(read13, -1), be_const_closure(class_I2C_Driver_read13_closure) },
{ be_const_key(read16, -1), be_const_closure(class_I2C_Driver_read16_closure) },
{ be_const_key(read24, -1), be_const_closure(class_I2C_Driver_read24_closure) },
})),
(bstring*) &be_const_str_I2C_Driver
);
/********************************************************************/
/* End of solidification */

View File

@ -1,248 +0,0 @@
/* Solidification of i2c_ft3663.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'FT3663' ktab size: 21, total: 25 (saved 32 bytes)
static const bvalue be_ktab_class_FT3663[21] = {
/* K0 */ be_nested_str(wire),
/* K1 */ be_nested_str(ts_loop),
/* K2 */ be_nested_str(init),
/* K3 */ be_nested_str(FT3663),
/* K4 */ be_nested_str(read8),
/* K5 */ be_nested_str(tasmota),
/* K6 */ be_nested_str(log),
/* K7 */ be_nested_str(I2C_X3A_X20ignoring_X20address_X200x38_X2C_X20not_X20FT3663),
/* K8 */ be_const_int(2),
/* K9 */ be_nested_str(TS_X20_X3A_X20FT3663_X20Touch_X20Screen_X20detected),
/* K10 */ be_nested_str(write8),
/* K11 */ be_const_int(0),
/* K12 */ be_nested_str(add_driver),
/* K13 */ be_nested_str(display),
/* K14 */ be_nested_str(read_bytes),
/* K15 */ be_nested_str(addr),
/* K16 */ be_const_int(3),
/* K17 */ be_nested_str(gest_id_codes),
/* K18 */ be_nested_str(find),
/* K19 */ be_const_int(1),
/* K20 */ be_nested_str(touch_update),
};
extern const bclass be_class_FT3663;
/********************************************************************
** Solidified function: every_100ms
********************************************************************/
be_local_closure(class_FT3663_every_100ms, /* 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_FT3663, /* shared constants */
&be_const_str_every_100ms,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x78060001, // 0001 JMPF R1 #0004
0x8C040101, // 0002 GETMET R1 R0 K1
0x7C040200, // 0003 CALL R1 1
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_FT3663_init, /* 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_FT3663, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[50]) { /* code */
0x60040003, // 0000 GETGBL R1 G3
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x8C040302, // 0003 GETMET R1 R1 K2
0x580C0003, // 0004 LDCONST R3 K3
0x54120037, // 0005 LDINT R4 56
0x7C040600, // 0006 CALL R1 3
0x88040100, // 0007 GETMBR R1 R0 K0
0x78060027, // 0008 JMPF R1 #0031
0x8C040104, // 0009 GETMET R1 R0 K4
0x540E00A7, // 000A LDINT R3 168
0x7C040400, // 000B CALL R1 2
0x8C080104, // 000C GETMET R2 R0 K4
0x541200A2, // 000D LDINT R4 163
0x7C080400, // 000E CALL R2 2
0x540E0010, // 000F LDINT R3 17
0x200C0203, // 0010 NE R3 R1 R3
0x740E0002, // 0011 JMPT R3 #0015
0x540E0063, // 0012 LDINT R3 100
0x200C0403, // 0013 NE R3 R2 R3
0x780E0007, // 0014 JMPF R3 #001D
0xB80E0A00, // 0015 GETNGBL R3 K5
0x8C0C0706, // 0016 GETMET R3 R3 K6
0x58140007, // 0017 LDCONST R5 K7
0x58180008, // 0018 LDCONST R6 K8
0x7C0C0600, // 0019 CALL R3 3
0x4C0C0000, // 001A LDNIL R3
0x90020003, // 001B SETMBR R0 K0 R3
0x80000600, // 001C RET 0
0xB80E0A00, // 001D GETNGBL R3 K5
0x8C0C0706, // 001E GETMET R3 R3 K6
0x58140009, // 001F LDCONST R5 K9
0x7C0C0400, // 0020 CALL R3 2
0x8C0C010A, // 0021 GETMET R3 R0 K10
0x5814000B, // 0022 LDCONST R5 K11
0x5818000B, // 0023 LDCONST R6 K11
0x7C0C0600, // 0024 CALL R3 3
0x8C0C010A, // 0025 GETMET R3 R0 K10
0x5416007F, // 0026 LDINT R5 128
0x541A0015, // 0027 LDINT R6 22
0x7C0C0600, // 0028 CALL R3 3
0x8C0C010A, // 0029 GETMET R3 R0 K10
0x54160087, // 002A LDINT R5 136
0x541A000D, // 002B LDINT R6 14
0x7C0C0600, // 002C CALL R3 3
0xB80E0A00, // 002D GETNGBL R3 K5
0x8C0C070C, // 002E GETMET R3 R3 K12
0x5C140000, // 002F MOVE R5 R0
0x7C0C0400, // 0030 CALL R3 2
0x80000000, // 0031 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: ts_loop
********************************************************************/
be_local_closure(class_FT3663_ts_loop, /* name */
be_nested_proto(
17, /* 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_FT3663, /* shared constants */
&be_const_str_ts_loop,
&be_const_str_solidified,
( &(const binstruction[63]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x74060000, // 0001 JMPT R1 #0003
0x80000200, // 0002 RET 0
0xA4061A00, // 0003 IMPORT R1 K13
0x88080100, // 0004 GETMBR R2 R0 K0
0x8C08050E, // 0005 GETMET R2 R2 K14
0x8810010F, // 0006 GETMBR R4 R0 K15
0x5814000B, // 0007 LDCONST R5 K11
0x541A000E, // 0008 LDINT R6 15
0x7C080800, // 0009 CALL R2 4
0x940C0508, // 000A GETIDX R3 R2 K8
0x5412000E, // 000B LDINT R4 15
0x2C0C0604, // 000C AND R3 R3 R4
0x94100510, // 000D GETIDX R4 R2 K16
0x5416000E, // 000E LDINT R5 15
0x2C100805, // 000F AND R4 R4 R5
0x54160007, // 0010 LDINT R5 8
0x38100805, // 0011 SHL R4 R4 R5
0x54160003, // 0012 LDINT R5 4
0x94140405, // 0013 GETIDX R5 R2 R5
0x30100805, // 0014 OR R4 R4 R5
0x54160004, // 0015 LDINT R5 5
0x94140405, // 0016 GETIDX R5 R2 R5
0x541A000E, // 0017 LDINT R6 15
0x2C140A06, // 0018 AND R5 R5 R6
0x541A0007, // 0019 LDINT R6 8
0x38140A06, // 001A SHL R5 R5 R6
0x541A0005, // 001B LDINT R6 6
0x94180406, // 001C GETIDX R6 R2 R6
0x30140A06, // 001D OR R5 R5 R6
0x541A0006, // 001E LDINT R6 7
0x94180406, // 001F GETIDX R6 R2 R6
0x941C0510, // 0020 GETIDX R7 R2 K16
0x54220008, // 0021 LDINT R8 9
0x2C1C0E08, // 0022 AND R7 R7 R8
0x54220007, // 0023 LDINT R8 8
0x381C0E08, // 0024 SHL R7 R7 R8
0x54220009, // 0025 LDINT R8 10
0x94200408, // 0026 GETIDX R8 R2 R8
0x301C0E08, // 0027 OR R7 R7 R8
0x54220004, // 0028 LDINT R8 5
0x94200408, // 0029 GETIDX R8 R2 R8
0x5426000A, // 002A LDINT R9 11
0x2C201009, // 002B AND R8 R8 R9
0x54260007, // 002C LDINT R9 8
0x38201009, // 002D SHL R8 R8 R9
0x5426000B, // 002E LDINT R9 12
0x94240409, // 002F GETIDX R9 R2 R9
0x30201009, // 0030 OR R8 R8 R9
0x5426000C, // 0031 LDINT R9 13
0x94240409, // 0032 GETIDX R9 R2 R9
0x88280111, // 0033 GETMBR R10 R0 K17
0x8C281512, // 0034 GETMET R10 R10 K18
0x94300513, // 0035 GETIDX R12 R2 K19
0x5834000B, // 0036 LDCONST R13 K11
0x7C280600, // 0037 CALL R10 3
0x8C2C0314, // 0038 GETMET R11 R1 K20
0x5C340600, // 0039 MOVE R13 R3
0x5C380800, // 003A MOVE R14 R4
0x5C3C0A00, // 003B MOVE R15 R5
0x5C401400, // 003C MOVE R16 R10
0x7C2C0A00, // 003D CALL R11 5
0x80000000, // 003E RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: FT3663
********************************************************************/
extern const bclass be_class_I2C_Driver;
be_local_class(FT3663,
0,
&be_class_I2C_Driver,
be_nested_map(4,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(every_100ms, -1), be_const_closure(class_FT3663_every_100ms_closure) },
{ be_const_key(ts_loop, 2), be_const_closure(class_FT3663_ts_loop_closure) },
{ be_const_key(gest_id_codes, -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(0, 4), be_const_int(0) },
{ be_const_key_int(72, -1), be_const_int(32) },
{ be_const_key_int(16, 1), be_const_int(16) },
{ be_const_key_int(73, 5), be_const_int(33) },
{ be_const_key_int(28, -1), be_const_int(18) },
{ be_const_key_int(24, -1), be_const_int(17) },
{ be_const_key_int(20, -1), be_const_int(19) },
})) ) } )) },
{ be_const_key(init, 1), be_const_closure(class_FT3663_init_closure) },
})),
(bstring*) &be_const_str_FT3663
);
/********************************************************************/
/* End of solidification */

View File

@ -1,531 +0,0 @@
/* Solidification of lv_tasmota.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(module_lv_tasmota_init, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[37]) { /* constants */
/* K0 */ be_nested_str_weak(lv),
/* K1 */ be_nested_str_weak(start),
/* K2 */ be_nested_str_weak(_constants),
/* K3 */ be_nested_str_weak(splash_init),
/* K4 */ be_nested_str_weak(splash_remove),
/* K5 */ be_nested_str_weak(splash),
/* K6 */ be_nested_str_weak(_splash),
/* K7 */ be_nested_str_weak(font_montserrat),
/* K8 */ be_nested_str_weak(montserrat_font),
/* K9 */ be_nested_str_weak(font_seg7),
/* K10 */ be_nested_str_weak(seg7_font),
/* K11 */ be_nested_str_weak(font_embedded),
/* K12 */ be_nested_str_weak(load_freetype_font),
/* K13 */ be_nested_str_weak(register_button_encoder),
/* K14 */ be_nested_str_weak(screenshot),
/* K15 */ be_nested_str_weak(set_paint_cb),
/* K16 */ be_nested_str_weak(version),
/* K17 */ be_nested_str_weak(version_major),
/* K18 */ be_nested_str_weak(clock),
/* K19 */ be_nested_str_weak(lv_clock),
/* K20 */ be_nested_str_weak(clock_icon),
/* K21 */ be_nested_str_weak(lv_clock_icon),
/* K22 */ be_nested_str_weak(signal_arcs),
/* K23 */ be_nested_str_weak(lv_signal_arcs),
/* K24 */ be_nested_str_weak(signal_bars),
/* K25 */ be_nested_str_weak(lv_signal_bars),
/* K26 */ be_nested_str_weak(wifi_arcs_icon),
/* K27 */ be_nested_str_weak(lv_wifi_arcs_icon),
/* K28 */ be_nested_str_weak(wifi_arcs),
/* K29 */ be_nested_str_weak(lv_wifi_arcs),
/* K30 */ be_nested_str_weak(wifi_bars_icon),
/* K31 */ be_nested_str_weak(lv_wifi_bars_icon),
/* K32 */ be_nested_str_weak(wifi_bars),
/* K33 */ be_nested_str_weak(lv_wifi_bars),
/* K34 */ be_nested_str_weak(tasmota),
/* K35 */ be_nested_str_weak(get_option),
/* K36 */ be_const_int(0),
}),
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[60]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x90060202, // 0002 SETMBR R1 K1 R2
0x88080102, // 0003 GETMBR R2 R0 K2
0x90060402, // 0004 SETMBR R1 K2 R2
0x88080103, // 0005 GETMBR R2 R0 K3
0x90060602, // 0006 SETMBR R1 K3 R2
0x88080104, // 0007 GETMBR R2 R0 K4
0x90060802, // 0008 SETMBR R1 K4 R2
0x88080105, // 0009 GETMBR R2 R0 K5
0x90060A02, // 000A SETMBR R1 K5 R2
0x4C080000, // 000B LDNIL R2
0x90060C02, // 000C SETMBR R1 K6 R2
0x88080107, // 000D GETMBR R2 R0 K7
0x90060E02, // 000E SETMBR R1 K7 R2
0x88080107, // 000F GETMBR R2 R0 K7
0x90061002, // 0010 SETMBR R1 K8 R2
0x88080109, // 0011 GETMBR R2 R0 K9
0x90061202, // 0012 SETMBR R1 K9 R2
0x88080109, // 0013 GETMBR R2 R0 K9
0x90061402, // 0014 SETMBR R1 K10 R2
0x8808010B, // 0015 GETMBR R2 R0 K11
0x90061602, // 0016 SETMBR R1 K11 R2
0x8808010C, // 0017 GETMBR R2 R0 K12
0x90061802, // 0018 SETMBR R1 K12 R2
0x8808010D, // 0019 GETMBR R2 R0 K13
0x90061A02, // 001A SETMBR R1 K13 R2
0x8808010E, // 001B GETMBR R2 R0 K14
0x90061C02, // 001C SETMBR R1 K14 R2
0x8808010F, // 001D GETMBR R2 R0 K15
0x90061E02, // 001E SETMBR R1 K15 R2
0x8C080311, // 001F GETMET R2 R1 K17
0x7C080200, // 0020 CALL R2 1
0x90062002, // 0021 SETMBR R1 K16 R2
0xB80A2600, // 0022 GETNGBL R2 K19
0x90062402, // 0023 SETMBR R1 K18 R2
0xB80A2A00, // 0024 GETNGBL R2 K21
0x90062802, // 0025 SETMBR R1 K20 R2
0xB80A2E00, // 0026 GETNGBL R2 K23
0x90062C02, // 0027 SETMBR R1 K22 R2
0xB80A3200, // 0028 GETNGBL R2 K25
0x90063002, // 0029 SETMBR R1 K24 R2
0xB80A3600, // 002A GETNGBL R2 K27
0x90063402, // 002B SETMBR R1 K26 R2
0xB80A3A00, // 002C GETNGBL R2 K29
0x90063802, // 002D SETMBR R1 K28 R2
0xB80A3E00, // 002E GETNGBL R2 K31
0x90063C02, // 002F SETMBR R1 K30 R2
0xB80A4200, // 0030 GETNGBL R2 K33
0x90064002, // 0031 SETMBR R1 K32 R2
0xB80A4400, // 0032 GETNGBL R2 K34
0x8C080523, // 0033 GETMET R2 R2 K35
0x54120086, // 0034 LDINT R4 135
0x7C080400, // 0035 CALL R2 2
0x1C080524, // 0036 EQ R2 R2 K36
0x780A0001, // 0037 JMPF R2 #003A
0x8C080303, // 0038 GETMET R2 R1 K3
0x7C080200, // 0039 CALL R2 1
0x4C080000, // 003A LDNIL R2
0x80040400, // 003B RET 1 R2
})
)
);
/*******************************************************************/
// compact class 'splash_runner' ktab size: 8, total: 9 (saved 8 bytes)
static const bvalue be_ktab_class_splash_runner[8] = {
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(add_driver),
/* K2 */ be_nested_str_weak(display),
/* K3 */ be_nested_str_weak(dim),
/* K4 */ be_nested_str_weak(started),
/* K5 */ be_nested_str_weak(remove_driver),
/* K6 */ be_nested_str_weak(lv),
/* K7 */ be_nested_str_weak(splash),
};
extern const bclass be_class_splash_runner;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_splash_runner_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_splash_runner, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x5C0C0000, // 0002 MOVE R3 R0
0x7C040400, // 0003 CALL R1 2
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: display
********************************************************************/
be_local_closure(class_splash_runner_display, /* name */
be_nested_proto(
9, /* 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_splash_runner, /* shared constants */
be_str_weak(display),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0xA4160400, // 0000 IMPORT R5 K2
0x1C180303, // 0001 EQ R6 R1 K3
0x781A0009, // 0002 JMPF R6 #000D
0x8C180B04, // 0003 GETMET R6 R5 K4
0x7C180200, // 0004 CALL R6 1
0x781A0006, // 0005 JMPF R6 #000D
0xB81A0000, // 0006 GETNGBL R6 K0
0x8C180D05, // 0007 GETMET R6 R6 K5
0x5C200000, // 0008 MOVE R8 R0
0x7C180400, // 0009 CALL R6 2
0xB81A0C00, // 000A GETNGBL R6 K6
0x8C180D07, // 000B GETMET R6 R6 K7
0x7C180200, // 000C CALL R6 1
0x80000000, // 000D RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: splash_runner
********************************************************************/
be_local_class(splash_runner,
0,
NULL,
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(display, -1), be_const_closure(class_splash_runner_display_closure) },
{ be_const_key_weak(init, 0), be_const_closure(class_splash_runner_init_closure) },
})),
be_str_weak(splash_runner)
);
/********************************************************************
** Solidified function: splash_init
********************************************************************/
be_local_closure(module_lv_tasmota_splash_init, /* name */
be_nested_proto(
3, /* nstack */
0, /* argc */
0, /* 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(display),
/* K1 */ be_nested_str_weak(started),
/* K2 */ be_nested_str_weak(lv),
/* K3 */ be_nested_str_weak(splash),
/* K4 */ be_const_class(be_class_splash_runner),
}),
be_str_weak(splash_init),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA4020000, // 0000 IMPORT R0 K0
0x8C040101, // 0001 GETMET R1 R0 K1
0x7C040200, // 0002 CALL R1 1
0x78060003, // 0003 JMPF R1 #0008
0xB8060400, // 0004 GETNGBL R1 K2
0x8C040303, // 0005 GETMET R1 R1 K3
0x7C040200, // 0006 CALL R1 1
0x70020003, // 0007 JMP #000C
0x58040004, // 0008 LDCONST R1 K4
0xB4000004, // 0009 CLASS K4
0x5C080200, // 000A MOVE R2 R1
0x7C080000, // 000B CALL R2 0
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: splash_remove
********************************************************************/
be_local_closure(module_lv_tasmota_splash_remove, /* name */
be_nested_proto(
3, /* nstack */
0, /* 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(lv),
/* K1 */ be_nested_str_weak(_splash),
/* K2 */ be_nested_str_weak(del),
}),
be_str_weak(splash_remove),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0xB8020000, // 0000 GETNGBL R0 K0
0x88000101, // 0001 GETMBR R0 R0 K1
0x78020004, // 0002 JMPF R0 #0008
0xB8060000, // 0003 GETNGBL R1 K0
0x4C080000, // 0004 LDNIL R2
0x90060202, // 0005 SETMBR R1 K1 R2
0x8C040102, // 0006 GETMET R1 R0 K2
0x7C040200, // 0007 CALL R1 1
0x80000000, // 0008 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: splash
********************************************************************/
be_local_closure(module_lv_tasmota_splash, /* name */
be_nested_proto(
14, /* nstack */
0, /* argc */
0, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[43]) { /* constants */
/* K0 */ be_nested_str_weak(display),
/* K1 */ be_nested_str_weak(started),
/* K2 */ be_nested_str_weak(lv),
/* K3 */ be_nested_str_weak(start),
/* K4 */ be_nested_str_weak(obj),
/* K5 */ be_nested_str_weak(scr_act),
/* K6 */ be_nested_str_weak(montserrat_font),
/* K7 */ be_nested_str_weak(color),
/* K8 */ be_nested_str_weak(COLOR_WHITE),
/* K9 */ be_nested_str_weak(set_style_bg_color),
/* K10 */ be_const_int(0),
/* K11 */ be_nested_str_weak(set_style_radius),
/* K12 */ be_nested_str_weak(set_style_pad_all),
/* K13 */ be_nested_str_weak(set_style_border_width),
/* K14 */ be_nested_str_weak(set_size),
/* K15 */ be_nested_str_weak(pct),
/* K16 */ be_nested_str_weak(refr_pos),
/* K17 */ be_nested_str_weak(refr_size),
/* K18 */ be_nested_str_weak(set_user_data),
/* K19 */ be_const_int(1399876712),
/* K20 */ be_nested_str_weak(img),
/* K21 */ be_nested_str_weak(set_tasmota_logo),
/* K22 */ be_nested_str_weak(set_zoom),
/* K23 */ be_nested_str_weak(set_style_img_recolor_opa),
/* K24 */ be_nested_str_weak(set_style_img_recolor),
/* K25 */ be_nested_str_weak(align),
/* K26 */ be_nested_str_weak(ALIGN_LEFT_MID),
/* K27 */ be_nested_str_weak(label),
/* K28 */ be_nested_str_weak(set_style_text_color),
/* K29 */ be_nested_str_weak(set_text),
/* K30 */ be_nested_str_weak(TASMOTA),
/* K31 */ be_nested_str_weak(get_hor_res),
/* K32 */ be_nested_str_weak(set_style_text_font),
/* K33 */ be_nested_str_weak(set_align),
/* K34 */ be_nested_str_weak(set_x),
/* K35 */ be_nested_str_weak(driver_name),
/* K36 */ be_nested_str_weak(ALIGN_BOTTOM_MID),
/* K37 */ be_const_int(16777215),
/* K38 */ be_nested_str_weak(refr_now),
/* K39 */ be_nested_str_weak(_splash),
/* K40 */ be_nested_str_weak(tasmota),
/* K41 */ be_nested_str_weak(set_timer),
/* K42 */ be_nested_str_weak(splash_remove),
}),
be_str_weak(splash),
&be_const_str_solidified,
( &(const binstruction[165]) { /* code */
0xA4020000, // 0000 IMPORT R0 K0
0x8C040101, // 0001 GETMET R1 R0 K1
0x7C040200, // 0002 CALL R1 1
0x74060000, // 0003 JMPT R1 #0005
0x80000200, // 0004 RET 0
0xB8060400, // 0005 GETNGBL R1 K2
0x8C040303, // 0006 GETMET R1 R1 K3
0x7C040200, // 0007 CALL R1 1
0xB8060400, // 0008 GETNGBL R1 K2
0x8C040304, // 0009 GETMET R1 R1 K4
0xB80E0400, // 000A GETNGBL R3 K2
0x8C0C0705, // 000B GETMET R3 R3 K5
0x7C0C0200, // 000C CALL R3 1
0x7C040400, // 000D CALL R1 2
0xB80A0400, // 000E GETNGBL R2 K2
0x8C080506, // 000F GETMET R2 R2 K6
0x5412001B, // 0010 LDINT R4 28
0x7C080400, // 0011 CALL R2 2
0xB80E0400, // 0012 GETNGBL R3 K2
0x8C0C0706, // 0013 GETMET R3 R3 K6
0x54160013, // 0014 LDINT R5 20
0x7C0C0400, // 0015 CALL R3 2
0xB8120400, // 0016 GETNGBL R4 K2
0x8C100907, // 0017 GETMET R4 R4 K7
0xB81A0400, // 0018 GETNGBL R6 K2
0x88180D08, // 0019 GETMBR R6 R6 K8
0x7C100400, // 001A CALL R4 2
0x8C140309, // 001B GETMET R5 R1 K9
0xB81E0400, // 001C GETNGBL R7 K2
0x8C1C0F07, // 001D GETMET R7 R7 K7
0x54260065, // 001E LDINT R9 102
0x7C1C0400, // 001F CALL R7 2
0x5820000A, // 0020 LDCONST R8 K10
0x7C140600, // 0021 CALL R5 3
0x8C14030B, // 0022 GETMET R5 R1 K11
0x581C000A, // 0023 LDCONST R7 K10
0x5820000A, // 0024 LDCONST R8 K10
0x7C140600, // 0025 CALL R5 3
0x8C14030C, // 0026 GETMET R5 R1 K12
0x581C000A, // 0027 LDCONST R7 K10
0x5820000A, // 0028 LDCONST R8 K10
0x7C140600, // 0029 CALL R5 3
0x8C14030D, // 002A GETMET R5 R1 K13
0x581C000A, // 002B LDCONST R7 K10
0x5820000A, // 002C LDCONST R8 K10
0x7C140600, // 002D CALL R5 3
0x8C14030E, // 002E GETMET R5 R1 K14
0xB81E0400, // 002F GETNGBL R7 K2
0x8C1C0F0F, // 0030 GETMET R7 R7 K15
0x54260063, // 0031 LDINT R9 100
0x7C1C0400, // 0032 CALL R7 2
0xB8220400, // 0033 GETNGBL R8 K2
0x8C20110F, // 0034 GETMET R8 R8 K15
0x542A0063, // 0035 LDINT R10 100
0x7C200400, // 0036 CALL R8 2
0x7C140600, // 0037 CALL R5 3
0x8C140310, // 0038 GETMET R5 R1 K16
0x7C140200, // 0039 CALL R5 1
0x8C140311, // 003A GETMET R5 R1 K17
0x7C140200, // 003B CALL R5 1
0x8C140312, // 003C GETMET R5 R1 K18
0x581C0013, // 003D LDCONST R7 K19
0x7C140400, // 003E CALL R5 2
0xB8160400, // 003F GETNGBL R5 K2
0x8C140B14, // 0040 GETMET R5 R5 K20
0x5C1C0200, // 0041 MOVE R7 R1
0x7C140400, // 0042 CALL R5 2
0x8C180B15, // 0043 GETMET R6 R5 K21
0x7C180200, // 0044 CALL R6 1
0x8C180B16, // 0045 GETMET R6 R5 K22
0x54220095, // 0046 LDINT R8 150
0x7C180400, // 0047 CALL R6 2
0x8C180B17, // 0048 GETMET R6 R5 K23
0x542200FE, // 0049 LDINT R8 255
0x5824000A, // 004A LDCONST R9 K10
0x7C180600, // 004B CALL R6 3
0x8C180B18, // 004C GETMET R6 R5 K24
0x5C200800, // 004D MOVE R8 R4
0x5824000A, // 004E LDCONST R9 K10
0x7C180600, // 004F CALL R6 3
0x8C180B19, // 0050 GETMET R6 R5 K25
0xB8220400, // 0051 GETNGBL R8 K2
0x8820111A, // 0052 GETMBR R8 R8 K26
0x5425FFF3, // 0053 LDINT R9 -12
0x5828000A, // 0054 LDCONST R10 K10
0x7C180800, // 0055 CALL R6 4
0xB81A0400, // 0056 GETNGBL R6 K2
0x8C180D1B, // 0057 GETMET R6 R6 K27
0x5C200200, // 0058 MOVE R8 R1
0x7C180400, // 0059 CALL R6 2
0x8C1C0D1C, // 005A GETMET R7 R6 K28
0x5C240800, // 005B MOVE R9 R4
0x5828000A, // 005C LDCONST R10 K10
0x7C1C0600, // 005D CALL R7 3
0x8C1C0D1D, // 005E GETMET R7 R6 K29
0x5824001E, // 005F LDCONST R9 K30
0x7C1C0400, // 0060 CALL R7 2
0xB81E0400, // 0061 GETNGBL R7 K2
0x8C1C0F1F, // 0062 GETMET R7 R7 K31
0x7C1C0200, // 0063 CALL R7 1
0x542200C7, // 0064 LDINT R8 200
0x281C0E08, // 0065 GE R7 R7 R8
0x781E0007, // 0066 JMPF R7 #006F
0x4C1C0000, // 0067 LDNIL R7
0x201C0407, // 0068 NE R7 R2 R7
0x781E0003, // 0069 JMPF R7 #006E
0x8C1C0D20, // 006A GETMET R7 R6 K32
0x5C240400, // 006B MOVE R9 R2
0x5828000A, // 006C LDCONST R10 K10
0x7C1C0600, // 006D CALL R7 3
0x70020006, // 006E JMP #0076
0x4C1C0000, // 006F LDNIL R7
0x201C0607, // 0070 NE R7 R3 R7
0x781E0003, // 0071 JMPF R7 #0076
0x8C1C0D20, // 0072 GETMET R7 R6 K32
0x5C240600, // 0073 MOVE R9 R3
0x5828000A, // 0074 LDCONST R10 K10
0x7C1C0600, // 0075 CALL R7 3
0x8C1C0D21, // 0076 GETMET R7 R6 K33
0xB8260400, // 0077 GETNGBL R9 K2
0x8824131A, // 0078 GETMBR R9 R9 K26
0x7C1C0400, // 0079 CALL R7 2
0x8C1C0D22, // 007A GETMET R7 R6 K34
0x54260029, // 007B LDINT R9 42
0x7C1C0400, // 007C CALL R7 2
0x8C1C0123, // 007D GETMET R7 R0 K35
0x7C1C0200, // 007E CALL R7 1
0x4C200000, // 007F LDNIL R8
0x6024000C, // 0080 GETGBL R9 G12
0x5C280E00, // 0081 MOVE R10 R7
0x7C240200, // 0082 CALL R9 1
0x2424130A, // 0083 GT R9 R9 K10
0x78260012, // 0084 JMPF R9 #0098
0xB8260400, // 0085 GETNGBL R9 K2
0x8C24131B, // 0086 GETMET R9 R9 K27
0x5C2C0200, // 0087 MOVE R11 R1
0x7C240400, // 0088 CALL R9 2
0x5C201200, // 0089 MOVE R8 R9
0x8C241121, // 008A GETMET R9 R8 K33
0xB82E0400, // 008B GETNGBL R11 K2
0x882C1724, // 008C GETMBR R11 R11 K36
0x7C240400, // 008D CALL R9 2
0x8C24111C, // 008E GETMET R9 R8 K28
0xB82E0400, // 008F GETNGBL R11 K2
0x8C2C1707, // 0090 GETMET R11 R11 K7
0x58340025, // 0091 LDCONST R13 K37
0x7C2C0400, // 0092 CALL R11 2
0x5830000A, // 0093 LDCONST R12 K10
0x7C240600, // 0094 CALL R9 3
0x8C24111D, // 0095 GETMET R9 R8 K29
0x5C2C0E00, // 0096 MOVE R11 R7
0x7C240400, // 0097 CALL R9 2
0xB8260400, // 0098 GETNGBL R9 K2
0x8C241326, // 0099 GETMET R9 R9 K38
0x582C000A, // 009A LDCONST R11 K10
0x7C240400, // 009B CALL R9 2
0xB8260400, // 009C GETNGBL R9 K2
0x90264E01, // 009D SETMBR R9 K39 R1
0xB8265000, // 009E GETNGBL R9 K40
0x8C241329, // 009F GETMET R9 R9 K41
0x542E1387, // 00A0 LDINT R11 5000
0xB8320400, // 00A1 GETNGBL R12 K2
0x8830192A, // 00A2 GETMBR R12 R12 K42
0x7C240600, // 00A3 CALL R9 3
0x80000000, // 00A4 RET 0
})
)
);
/*******************************************************************/
/********************************************************************/
/* End of solidification */

View File

@ -1,558 +0,0 @@
/* Solidification of mqtt.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
extern const bclass be_class_mqtt_listener;
// compact class 'mqtt_listener' ktab size: 11, total: 17 (saved 48 bytes)
static const bvalue be_ktab_class_mqtt_listener[11] = {
/* K0 */ be_nested_str(_X3Cinstance_X3A_X20_X25s_X28_X27_X25s_X27_X29_X3E),
/* K1 */ be_nested_str(fulltopic),
/* K2 */ be_nested_str(string),
/* K3 */ be_nested_str(topic),
/* K4 */ be_nested_str(split),
/* K5 */ be_nested_str(_X2F),
/* K6 */ be_nested_str(closure),
/* K7 */ be_const_int(0),
/* K8 */ be_nested_str(_X23),
/* K9 */ be_nested_str(_X2B),
/* K10 */ be_const_int(1),
};
extern const bclass be_class_mqtt_listener;
/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_mqtt_listener_tostring, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_mqtt_listener, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x60040018, // 0000 GETGBL R1 G24
0x58080000, // 0001 LDCONST R2 K0
0x600C0005, // 0002 GETGBL R3 G5
0x5C100000, // 0003 MOVE R4 R0
0x7C0C0200, // 0004 CALL R3 1
0x88100101, // 0005 GETMBR R4 R0 K1
0x7C040600, // 0006 CALL R1 3
0x80040200, // 0007 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_mqtt_listener_init, /* name */
be_nested_proto(
8, /* nstack */
3, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_mqtt_listener, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
0xA40E0400, // 0000 IMPORT R3 K2
0x90020201, // 0001 SETMBR R0 K1 R1
0x8C100704, // 0002 GETMET R4 R3 K4
0x5C180200, // 0003 MOVE R6 R1
0x581C0005, // 0004 LDCONST R7 K5
0x7C100600, // 0005 CALL R4 3
0x90020604, // 0006 SETMBR R0 K3 R4
0x90020C02, // 0007 SETMBR R0 K6 R2
0x80000000, // 0008 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: mqtt_data
********************************************************************/
be_local_closure(class_mqtt_listener_mqtt_data, /* name */
be_nested_proto(
17, /* nstack */
5, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_mqtt_listener, /* shared constants */
&be_const_str_mqtt_data,
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
0xA4160400, // 0000 IMPORT R5 K2
0x8C180B04, // 0001 GETMET R6 R5 K4
0x5C200200, // 0002 MOVE R8 R1
0x58240005, // 0003 LDCONST R9 K5
0x7C180600, // 0004 CALL R6 3
0x601C000C, // 0005 GETGBL R7 G12
0x5C200C00, // 0006 MOVE R8 R6
0x7C1C0200, // 0007 CALL R7 1
0x88200103, // 0008 GETMBR R8 R0 K3
0x6024000C, // 0009 GETGBL R9 G12
0x5C281000, // 000A MOVE R10 R8
0x7C240200, // 000B CALL R9 1
0x58280007, // 000C LDCONST R10 K7
0x142C1409, // 000D LT R11 R10 R9
0x782E0013, // 000E JMPF R11 #0023
0x942C100A, // 000F GETIDX R11 R8 R10
0x1C301708, // 0010 EQ R12 R11 K8
0x78320001, // 0011 JMPF R12 #0014
0x7002000F, // 0012 JMP #0023
0x7002000C, // 0013 JMP #0021
0x28301407, // 0014 GE R12 R10 R7
0x78320002, // 0015 JMPF R12 #0019
0x50300000, // 0016 LDBOOL R12 0 0
0x80041800, // 0017 RET 1 R12
0x70020007, // 0018 JMP #0021
0x1C301709, // 0019 EQ R12 R11 K9
0x78320000, // 001A JMPF R12 #001C
0x70020004, // 001B JMP #0021
0x94300C0A, // 001C GETIDX R12 R6 R10
0x2030160C, // 001D NE R12 R11 R12
0x78320001, // 001E JMPF R12 #0021
0x50300000, // 001F LDBOOL R12 0 0
0x80041800, // 0020 RET 1 R12
0x0028150A, // 0021 ADD R10 R10 K10
0x7001FFE9, // 0022 JMP #000D
0x282C1409, // 0023 GE R11 R10 R9
0x782E0003, // 0024 JMPF R11 #0029
0x202C1207, // 0025 NE R11 R9 R7
0x782E0001, // 0026 JMPF R11 #0029
0x502C0000, // 0027 LDBOOL R11 0 0
0x80041600, // 0028 RET 1 R11
0x882C0106, // 0029 GETMBR R11 R0 K6
0x5C301600, // 002A MOVE R12 R11
0x5C340200, // 002B MOVE R13 R1
0x5C380400, // 002C MOVE R14 R2
0x5C3C0600, // 002D MOVE R15 R3
0x5C400800, // 002E MOVE R16 R4
0x7C300800, // 002F CALL R12 4
0x4C340000, // 0030 LDNIL R13
0x1C34180D, // 0031 EQ R13 R12 R13
0x78360000, // 0032 JMPF R13 #0034
0x50300200, // 0033 LDBOOL R12 1 0
0x80041800, // 0034 RET 1 R12
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: mqtt_listener
********************************************************************/
be_local_class(mqtt_listener,
3,
NULL,
be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(mqtt_data, -1), be_const_closure(class_mqtt_listener_mqtt_data_closure) },
{ be_const_key(tostring, -1), be_const_closure(class_mqtt_listener_tostring_closure) },
{ be_const_key(topic, -1), be_const_var(0) },
{ be_const_key(init, -1), be_const_closure(class_mqtt_listener_init_closure) },
{ be_const_key(closure, 0), be_const_var(2) },
{ be_const_key(fulltopic, -1), be_const_var(1) },
})),
(bstring*) &be_const_str_mqtt_listener
);
// compact class 'MQTT' ktab size: 23, total: 35 (saved 96 bytes)
static const bvalue be_ktab_class_MQTT[23] = {
/* K0 */ be_nested_str(topics),
/* K1 */ be_nested_str(closure),
/* K2 */ be_nested_str(mqtt_data),
/* K3 */ be_nested_str(stop_iteration),
/* K4 */ be_nested_str(tasmota),
/* K5 */ be_nested_str(add_driver),
/* K6 */ be_nested_str(add_rule),
/* K7 */ be_nested_str(Mqtt_X23Connected),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str(fulltopic),
/* K10 */ be_nested_str(_unsubscribe),
/* K11 */ be_nested_str(remove),
/* K12 */ be_const_int(1),
/* K13 */ be_nested_str(log),
/* K14 */ be_nested_str(BRY_X3A_X20mqtt_X20subscribe_X20all_X20registered_X20topics),
/* K15 */ be_const_int(3),
/* K16 */ be_nested_str(_subscribe),
/* K17 */ be_const_class(be_class_mqtt_listener),
/* K18 */ be_nested_str(lazy_init),
/* K19 */ be_nested_str(mqtt_listener_class),
/* K20 */ be_nested_str(function),
/* K21 */ be_nested_str(check_not_method),
/* K22 */ be_nested_str(push),
};
extern const bclass be_class_MQTT;
/********************************************************************
** Solidified function: mqtt_data
********************************************************************/
be_local_closure(class_MQTT_mqtt_data, /* name */
be_nested_proto(
14, /* nstack */
5, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_MQTT, /* shared constants */
&be_const_str_mqtt_data,
&be_const_str_solidified,
( &(const binstruction[31]) { /* code */
0x88140100, // 0000 GETMBR R5 R0 K0
0x4C180000, // 0001 LDNIL R6
0x1C140A06, // 0002 EQ R5 R5 R6
0x78160000, // 0003 JMPF R5 #0005
0x80000A00, // 0004 RET 0
0x50140000, // 0005 LDBOOL R5 0 0
0x60180010, // 0006 GETGBL R6 G16
0x881C0100, // 0007 GETMBR R7 R0 K0
0x7C180200, // 0008 CALL R6 1
0xA8020010, // 0009 EXBLK 0 #001B
0x5C1C0C00, // 000A MOVE R7 R6
0x7C1C0000, // 000B CALL R7 0
0x88200F01, // 000C GETMBR R8 R7 K1
0x4C240000, // 000D LDNIL R9
0x20201009, // 000E NE R8 R8 R9
0x78220009, // 000F JMPF R8 #001A
0x8C200F02, // 0010 GETMET R8 R7 K2
0x5C280200, // 0011 MOVE R10 R1
0x5C2C0400, // 0012 MOVE R11 R2
0x5C300600, // 0013 MOVE R12 R3
0x5C340800, // 0014 MOVE R13 R4
0x7C200A00, // 0015 CALL R8 5
0x74160001, // 0016 JMPT R5 #0019
0x74220000, // 0017 JMPT R8 #0019
0x50140001, // 0018 LDBOOL R5 0 1
0x50140200, // 0019 LDBOOL R5 1 0
0x7001FFEE, // 001A JMP #000A
0x58180003, // 001B LDCONST R6 K3
0xAC180200, // 001C CATCH R6 1 0
0xB0080000, // 001D RAISE 2 R0 R0
0x80040A00, // 001E RET 1 R5
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: lazy_init
********************************************************************/
be_local_closure(class_MQTT_lazy_init, /* 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(
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(mqtt_connect),
}),
&be_const_str__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_MQTT, /* shared constants */
&be_const_str_lazy_init,
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x4C080000, // 0001 LDNIL R2
0x1C040202, // 0002 EQ R1 R1 R2
0x7806000B, // 0003 JMPF R1 #0010
0x60040012, // 0004 GETGBL R1 G18
0x7C040000, // 0005 CALL R1 0
0x90020001, // 0006 SETMBR R0 K0 R1
0xB8060800, // 0007 GETNGBL R1 K4
0x8C040305, // 0008 GETMET R1 R1 K5
0x5C0C0000, // 0009 MOVE R3 R0
0x7C040400, // 000A CALL R1 2
0xB8060800, // 000B GETNGBL R1 K4
0x8C040306, // 000C GETMET R1 R1 K6
0x580C0007, // 000D LDCONST R3 K7
0x84100000, // 000E CLOSURE R4 P0
0x7C040600, // 000F CALL R1 3
0xA0000000, // 0010 CLOSE R0
0x80000000, // 0011 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: unsubscribe
********************************************************************/
be_local_closure(class_MQTT_unsubscribe, /* 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_MQTT, /* shared constants */
&be_const_str_unsubscribe,
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x4C0C0000, // 0001 LDNIL R3
0x1C080403, // 0002 EQ R2 R2 R3
0x780A0000, // 0003 JMPF R2 #0005
0x80000400, // 0004 RET 0
0x58080008, // 0005 LDCONST R2 K8
0x600C000C, // 0006 GETGBL R3 G12
0x88100100, // 0007 GETMBR R4 R0 K0
0x7C0C0200, // 0008 CALL R3 1
0x140C0403, // 0009 LT R3 R2 R3
0x780E0016, // 000A JMPF R3 #0022
0x4C0C0000, // 000B LDNIL R3
0x1C0C0203, // 000C EQ R3 R1 R3
0x740E0004, // 000D JMPT R3 #0013
0x880C0100, // 000E GETMBR R3 R0 K0
0x940C0602, // 000F GETIDX R3 R3 R2
0x880C0709, // 0010 GETMBR R3 R3 K9
0x1C0C0601, // 0011 EQ R3 R3 R1
0x780E000C, // 0012 JMPF R3 #0020
0x4C0C0000, // 0013 LDNIL R3
0x1C0C0203, // 0014 EQ R3 R1 R3
0x780E0004, // 0015 JMPF R3 #001B
0x8C0C010A, // 0016 GETMET R3 R0 K10
0x88140100, // 0017 GETMBR R5 R0 K0
0x94140A02, // 0018 GETIDX R5 R5 R2
0x88140B09, // 0019 GETMBR R5 R5 K9
0x7C0C0400, // 001A CALL R3 2
0x880C0100, // 001B GETMBR R3 R0 K0
0x8C0C070B, // 001C GETMET R3 R3 K11
0x5C140400, // 001D MOVE R5 R2
0x7C0C0400, // 001E CALL R3 2
0x70020000, // 001F JMP #0021
0x0008050C, // 0020 ADD R2 R2 K12
0x7001FFE3, // 0021 JMP #0006
0x4C0C0000, // 0022 LDNIL R3
0x200C0203, // 0023 NE R3 R1 R3
0x780E0002, // 0024 JMPF R3 #0028
0x8C0C010A, // 0025 GETMET R3 R0 K10
0x5C140200, // 0026 MOVE R5 R1
0x7C0C0400, // 0027 CALL R3 2
0x80000000, // 0028 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: mqtt_connect
********************************************************************/
be_local_closure(class_MQTT_mqtt_connect, /* 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_MQTT, /* shared constants */
&be_const_str_mqtt_connect,
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0xB8060800, // 0000 GETNGBL R1 K4
0x8C04030D, // 0001 GETMET R1 R1 K13
0x580C000E, // 0002 LDCONST R3 K14
0x5810000F, // 0003 LDCONST R4 K15
0x7C040600, // 0004 CALL R1 3
0x60040010, // 0005 GETGBL R1 G16
0x88080100, // 0006 GETMBR R2 R0 K0
0x7C040200, // 0007 CALL R1 1
0xA8020006, // 0008 EXBLK 0 #0010
0x5C080200, // 0009 MOVE R2 R1
0x7C080000, // 000A CALL R2 0
0x880C0509, // 000B GETMBR R3 R2 K9
0x8C100110, // 000C GETMET R4 R0 K16
0x5C180600, // 000D MOVE R6 R3
0x7C100400, // 000E CALL R4 2
0x7001FFF8, // 000F JMP #0009
0x58040003, // 0010 LDCONST R1 K3
0xAC040200, // 0011 CATCH R1 1 0
0xB0080000, // 0012 RAISE 2 R0 R0
0x50040000, // 0013 LDBOOL R1 0 0
0x80040200, // 0014 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: mqtt_listener_class
********************************************************************/
be_local_closure(class_MQTT_mqtt_listener_class, /* 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_MQTT, /* shared constants */
&be_const_str_mqtt_listener_class,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x58040011, // 0000 LDCONST R1 K17
0xB4000011, // 0001 CLASS K17
0x5C080200, // 0002 MOVE R2 R1
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: subscribe
********************************************************************/
be_local_closure(class_MQTT_subscribe, /* name */
be_nested_proto(
10, /* nstack */
3, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_MQTT, /* shared constants */
&be_const_str_subscribe,
&be_const_str_solidified,
( &(const binstruction[50]) { /* code */
0x8C0C0112, // 0000 GETMET R3 R0 K18
0x7C0C0200, // 0001 CALL R3 1
0x500C0000, // 0002 LDBOOL R3 0 0
0x60100010, // 0003 GETGBL R4 G16
0x88140100, // 0004 GETMBR R5 R0 K0
0x7C100200, // 0005 CALL R4 1
0xA802000A, // 0006 EXBLK 0 #0012
0x5C140800, // 0007 MOVE R5 R4
0x7C140000, // 0008 CALL R5 0
0x88180B09, // 0009 GETMBR R6 R5 K9
0x1C180C01, // 000A EQ R6 R6 R1
0x781A0004, // 000B JMPF R6 #0011
0x88180B01, // 000C GETMBR R6 R5 K1
0x1C180C02, // 000D EQ R6 R6 R2
0x781A0001, // 000E JMPF R6 #0011
0xA8040001, // 000F EXBLK 1 1
0x80000C00, // 0010 RET 0
0x7001FFF4, // 0011 JMP #0007
0x58100003, // 0012 LDCONST R4 K3
0xAC100200, // 0013 CATCH R4 1 0
0xB0080000, // 0014 RAISE 2 R0 R0
0x8C100113, // 0015 GETMET R4 R0 K19
0x7C100200, // 0016 CALL R4 1
0x60140004, // 0017 GETGBL R5 G4
0x5C180400, // 0018 MOVE R6 R2
0x7C140200, // 0019 CALL R5 1
0x1C140B14, // 001A EQ R5 R5 K20
0x7816000B, // 001B JMPF R5 #0028
0xB8160800, // 001C GETNGBL R5 K4
0x8C140B15, // 001D GETMET R5 R5 K21
0x5C1C0400, // 001E MOVE R7 R2
0x7C140400, // 001F CALL R5 2
0x88140100, // 0020 GETMBR R5 R0 K0
0x8C140B16, // 0021 GETMET R5 R5 K22
0x5C1C0800, // 0022 MOVE R7 R4
0x5C200200, // 0023 MOVE R8 R1
0x5C240400, // 0024 MOVE R9 R2
0x7C1C0400, // 0025 CALL R7 2
0x7C140400, // 0026 CALL R5 2
0x70020005, // 0027 JMP #002E
0x88140100, // 0028 GETMBR R5 R0 K0
0x8C140B16, // 0029 GETMET R5 R5 K22
0x5C1C0800, // 002A MOVE R7 R4
0x5C200200, // 002B MOVE R8 R1
0x7C1C0200, // 002C CALL R7 1
0x7C140400, // 002D CALL R5 2
0x8C140110, // 002E GETMET R5 R0 K16
0x5C1C0200, // 002F MOVE R7 R1
0x7C140400, // 0030 CALL R5 2
0x80000000, // 0031 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: MQTT
********************************************************************/
extern const bclass be_class_MQTT_ntv;
be_local_class(MQTT,
1,
&be_class_MQTT_ntv,
be_nested_map(7,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(mqtt_connect, -1), be_const_closure(class_MQTT_mqtt_connect_closure) },
{ be_const_key(mqtt_data, -1), be_const_closure(class_MQTT_mqtt_data_closure) },
{ be_const_key(lazy_init, -1), be_const_closure(class_MQTT_lazy_init_closure) },
{ be_const_key(unsubscribe, -1), be_const_closure(class_MQTT_unsubscribe_closure) },
{ be_const_key(topics, 0), be_const_var(0) },
{ be_const_key(mqtt_listener_class, -1), be_const_closure(class_MQTT_mqtt_listener_class_closure) },
{ be_const_key(subscribe, -1), be_const_closure(class_MQTT_subscribe_closure) },
})),
(bstring*) &be_const_str_MQTT
);
/********************************************************************/
/* End of solidification */

View File

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

View File

@ -1,721 +0,0 @@
/* Solidification of persist.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
/********************************************************************
** Solidified function: _anonymous_
********************************************************************/
be_local_closure(_anonymous_, /* name */
be_nested_proto(
3, /* 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(Persist),
}),
&be_const_str__anonymous_,
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x8C040100, // 0000 GETMET R1 R0 K0
0x7C040200, // 0001 CALL R1 1
0x80040200, // 0002 RET 1 R1
})
)
);
/*******************************************************************/
// compact class 'Persist' ktab size: 35, total: 66 (saved 248 bytes)
static const bvalue be_ktab_class_Persist[35] = {
/* K0 */ be_nested_str(_dirty),
/* K1 */ be_nested_str(_filename),
/* K2 */ be_nested_str(w),
/* K3 */ be_nested_str(json_fdump),
/* K4 */ be_nested_str(close),
/* K5 */ be_nested_str(write),
/* K6 */ be_nested_str(_X7B_X7D),
/* K7 */ be_nested_str(_p),
/* K8 */ be_nested_str(load),
/* K9 */ be_nested_str(remove),
/* K10 */ be_nested_str(contains),
/* K11 */ be_nested_str(json),
/* K12 */ be_nested_str(json_fdump_map),
/* K13 */ be_nested_str(internal_error),
/* K14 */ be_nested_str(persist_X2E_p_X20is_X20not_X20a_X20map),
/* K15 */ be_nested_str(_X7B),
/* K16 */ be_nested_str(keys),
/* K17 */ be_nested_str(dump),
/* K18 */ be_nested_str(_X3A),
/* K19 */ be_nested_str(json_fdump_any),
/* K20 */ be_nested_str(_X2C),
/* K21 */ be_nested_str(stop_iteration),
/* K22 */ be_nested_str(_X7D),
/* K23 */ be_nested_str(find),
/* K24 */ be_nested_str(_X5B),
/* K25 */ be_const_int(0),
/* K26 */ be_const_int(1),
/* K27 */ be_nested_str(_X5D),
/* K28 */ be_nested_str(path),
/* K29 */ be_nested_str(exists),
/* K30 */ be_nested_str(r),
/* K31 */ be_nested_str(read),
/* K32 */ be_nested_str(BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson),
/* K33 */ be_nested_str(save),
/* K34 */ be_nested_str(json_fdump_list),
};
extern const bclass be_class_Persist;
/********************************************************************
** Solidified function: save
********************************************************************/
be_local_closure(class_Persist_save, /* 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_Persist, /* shared constants */
&be_const_str_save,
&be_const_str_solidified,
( &(const binstruction[51]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x740A0000, // 0001 JMPT R2 #0003
0x7806002E, // 0002 JMPF R1 #0032
0x4C080000, // 0003 LDNIL R2
0xA802000B, // 0004 EXBLK 0 #0011
0x600C0011, // 0005 GETGBL R3 G17
0x88100101, // 0006 GETMBR R4 R0 K1
0x58140002, // 0007 LDCONST R5 K2
0x7C0C0400, // 0008 CALL R3 2
0x5C080600, // 0009 MOVE R2 R3
0x8C0C0103, // 000A GETMET R3 R0 K3
0x5C140400, // 000B MOVE R5 R2
0x7C0C0400, // 000C CALL R3 2
0x8C0C0504, // 000D GETMET R3 R2 K4
0x7C0C0200, // 000E CALL R3 1
0xA8040001, // 000F EXBLK 1 1
0x7002001E, // 0010 JMP #0030
0xAC0C0002, // 0011 CATCH R3 0 2
0x7002001B, // 0012 JMP #002F
0x4C140000, // 0013 LDNIL R5
0x20140405, // 0014 NE R5 R2 R5
0x78160001, // 0015 JMPF R5 #0018
0x8C140504, // 0016 GETMET R5 R2 K4
0x7C140200, // 0017 CALL R5 1
0x4C080000, // 0018 LDNIL R2
0xA8020009, // 0019 EXBLK 0 #0024
0x60140011, // 001A GETGBL R5 G17
0x88180101, // 001B GETMBR R6 R0 K1
0x581C0002, // 001C LDCONST R7 K2
0x7C140400, // 001D CALL R5 2
0x5C080A00, // 001E MOVE R2 R5
0x8C140505, // 001F GETMET R5 R2 K5
0x581C0006, // 0020 LDCONST R7 K6
0x7C140400, // 0021 CALL R5 2
0xA8040001, // 0022 EXBLK 1 1
0x70020003, // 0023 JMP #0028
0xAC140000, // 0024 CATCH R5 0 0
0x70020000, // 0025 JMP #0027
0x70020000, // 0026 JMP #0028
0xB0080000, // 0027 RAISE 2 R0 R0
0x4C140000, // 0028 LDNIL R5
0x20140405, // 0029 NE R5 R2 R5
0x78160001, // 002A JMPF R5 #002D
0x8C140504, // 002B GETMET R5 R2 K4
0x7C140200, // 002C CALL R5 1
0xB0040604, // 002D RAISE 1 R3 R4
0x70020000, // 002E JMP #0030
0xB0080000, // 002F RAISE 2 R0 R0
0x500C0000, // 0030 LDBOOL R3 0 0
0x90020003, // 0031 SETMBR R0 K0 R3
0x80000000, // 0032 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: setmember
********************************************************************/
be_local_closure(class_Persist_setmember, /* name */
be_nested_proto(
4, /* nstack */
3, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Persist, /* shared constants */
&be_const_str_setmember,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x880C0107, // 0000 GETMBR R3 R0 K7
0x980C0202, // 0001 SETIDX R3 R1 R2
0x500C0200, // 0002 LDBOOL R3 1 0
0x90020003, // 0003 SETMBR R0 K0 R3
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Persist_init, /* 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_Persist, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 8]) { /* code */
0x60040013, // 0000 GETGBL R1 G19
0x7C040000, // 0001 CALL R1 0
0x90020E01, // 0002 SETMBR R0 K7 R1
0x50040000, // 0003 LDBOOL R1 0 0
0x90020001, // 0004 SETMBR R0 K0 R1
0x8C040108, // 0005 GETMET R1 R0 K8
0x7C040200, // 0006 CALL R1 1
0x80000000, // 0007 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: remove
********************************************************************/
be_local_closure(class_Persist_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_Persist, /* shared constants */
&be_const_str_remove,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88080107, // 0000 GETMBR R2 R0 K7
0x8C080509, // 0001 GETMET R2 R2 K9
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x50080200, // 0004 LDBOOL R2 1 0
0x90020002, // 0005 SETMBR R0 K0 R2
0x80000000, // 0006 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: contains
********************************************************************/
be_local_closure(class_Persist_contains, /* 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_Persist, /* shared constants */
&be_const_str_contains,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x88080107, // 0000 GETMBR R2 R0 K7
0x8C08050A, // 0001 GETMET R2 R2 K10
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x80040400, // 0004 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: dirty
********************************************************************/
be_local_closure(class_Persist_dirty, /* 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_Persist, /* shared constants */
&be_const_str_dirty,
&be_const_str_solidified,
( &(const binstruction[ 3]) { /* code */
0x50040200, // 0000 LDBOOL R1 1 0
0x90020001, // 0001 SETMBR R0 K0 R1
0x80000000, // 0002 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: json_fdump
********************************************************************/
be_local_closure(class_Persist_json_fdump, /* 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_Persist, /* shared constants */
&be_const_str_json_fdump,
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0xA40A1600, // 0000 IMPORT R2 K11
0x600C000F, // 0001 GETGBL R3 G15
0x88100107, // 0002 GETMBR R4 R0 K7
0x60140013, // 0003 GETGBL R5 G19
0x7C0C0400, // 0004 CALL R3 2
0x780E0004, // 0005 JMPF R3 #000B
0x8C0C010C, // 0006 GETMET R3 R0 K12
0x5C140200, // 0007 MOVE R5 R1
0x88180107, // 0008 GETMBR R6 R0 K7
0x7C0C0600, // 0009 CALL R3 3
0x70020000, // 000A JMP #000C
0xB0061B0E, // 000B RAISE 1 K13 K14
0x80000000, // 000C RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: has
********************************************************************/
be_local_closure(class_Persist_has, /* 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_Persist, /* shared constants */
&be_const_str_has,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x88080107, // 0000 GETMBR R2 R0 K7
0x8C08050A, // 0001 GETMET R2 R2 K10
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x80040400, // 0004 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: json_fdump_map
********************************************************************/
be_local_closure(class_Persist_json_fdump_map, /* name */
be_nested_proto(
13, /* nstack */
3, /* argc */
10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
&be_ktab_class_Persist, /* shared constants */
&be_const_str_json_fdump_map,
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0xA40E1600, // 0000 IMPORT R3 K11
0x8C100305, // 0001 GETMET R4 R1 K5
0x5818000F, // 0002 LDCONST R6 K15
0x7C100400, // 0003 CALL R4 2
0x4C100000, // 0004 LDNIL R4
0x60140010, // 0005 GETGBL R5 G16
0x8C180510, // 0006 GETMET R6 R2 K16
0x7C180200, // 0007 CALL R6 1
0x7C140200, // 0008 CALL R5 1
0xA8020017, // 0009 EXBLK 0 #0022
0x5C180A00, // 000A MOVE R6 R5
0x7C180000, // 000B CALL R6 0
0x4C1C0000, // 000C LDNIL R7
0x201C0807, // 000D NE R7 R4 R7
0x781E0002, // 000E JMPF R7 #0012
0x8C1C0305, // 000F GETMET R7 R1 K5
0x5C240800, // 0010 MOVE R9 R4
0x7C1C0400, // 0011 CALL R7 2
0x8C1C0305, // 0012 GETMET R7 R1 K5
0x8C240711, // 0013 GETMET R9 R3 K17
0x602C0008, // 0014 GETGBL R11 G8
0x5C300C00, // 0015 MOVE R12 R6
0x7C2C0200, // 0016 CALL R11 1
0x7C240400, // 0017 CALL R9 2
0x7C1C0400, // 0018 CALL R7 2
0x8C1C0305, // 0019 GETMET R7 R1 K5
0x58240012, // 001A LDCONST R9 K18
0x7C1C0400, // 001B CALL R7 2
0x8C1C0113, // 001C GETMET R7 R0 K19
0x5C240200, // 001D MOVE R9 R1
0x94280406, // 001E GETIDX R10 R2 R6
0x7C1C0600, // 001F CALL R7 3
0x58100014, // 0020 LDCONST R4 K20
0x7001FFE7, // 0021 JMP #000A
0x58140015, // 0022 LDCONST R5 K21
0xAC140200, // 0023 CATCH R5 1 0
0xB0080000, // 0024 RAISE 2 R0 R0
0x8C140305, // 0025 GETMET R5 R1 K5
0x581C0016, // 0026 LDCONST R7 K22
0x7C140400, // 0027 CALL R5 2
0x80000000, // 0028 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: member
********************************************************************/
be_local_closure(class_Persist_member, /* 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_Persist, /* shared constants */
&be_const_str_member,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x88080107, // 0000 GETMBR R2 R0 K7
0x8C080517, // 0001 GETMET R2 R2 K23
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x80040400, // 0004 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: zero
********************************************************************/
be_local_closure(class_Persist_zero, /* 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_Persist, /* shared constants */
&be_const_str_zero,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x60040013, // 0000 GETGBL R1 G19
0x7C040000, // 0001 CALL R1 0
0x90020E01, // 0002 SETMBR R0 K7 R1
0x50040200, // 0003 LDBOOL R1 1 0
0x90020001, // 0004 SETMBR R0 K0 R1
0x80000000, // 0005 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: json_fdump_list
********************************************************************/
be_local_closure(class_Persist_json_fdump_list, /* 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_Persist, /* shared constants */
&be_const_str_json_fdump_list,
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
0xA40E1600, // 0000 IMPORT R3 K11
0x8C100305, // 0001 GETMET R4 R1 K5
0x58180018, // 0002 LDCONST R6 K24
0x7C100400, // 0003 CALL R4 2
0x58100019, // 0004 LDCONST R4 K25
0x6014000C, // 0005 GETGBL R5 G12
0x5C180400, // 0006 MOVE R6 R2
0x7C140200, // 0007 CALL R5 1
0x14140805, // 0008 LT R5 R4 R5
0x7816000A, // 0009 JMPF R5 #0015
0x24140919, // 000A GT R5 R4 K25
0x78160002, // 000B JMPF R5 #000F
0x8C140305, // 000C GETMET R5 R1 K5
0x581C0014, // 000D LDCONST R7 K20
0x7C140400, // 000E CALL R5 2
0x8C140113, // 000F GETMET R5 R0 K19
0x5C1C0200, // 0010 MOVE R7 R1
0x94200404, // 0011 GETIDX R8 R2 R4
0x7C140600, // 0012 CALL R5 3
0x0010091A, // 0013 ADD R4 R4 K26
0x7001FFEF, // 0014 JMP #0005
0x8C140305, // 0015 GETMET R5 R1 K5
0x581C001B, // 0016 LDCONST R7 K27
0x7C140400, // 0017 CALL R5 2
0x80000000, // 0018 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: load
********************************************************************/
be_local_closure(class_Persist_load, /* 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_Persist, /* shared constants */
&be_const_str_load,
&be_const_str_solidified,
( &(const binstruction[49]) { /* code */
0xA4061600, // 0000 IMPORT R1 K11
0xA40A3800, // 0001 IMPORT R2 K28
0x4C0C0000, // 0002 LDNIL R3
0x4C100000, // 0003 LDNIL R4
0x8C14051D, // 0004 GETMET R5 R2 K29
0x881C0101, // 0005 GETMBR R7 R0 K1
0x7C140400, // 0006 CALL R5 2
0x78160025, // 0007 JMPF R5 #002E
0xA802000D, // 0008 EXBLK 0 #0017
0x60140011, // 0009 GETGBL R5 G17
0x88180101, // 000A GETMBR R6 R0 K1
0x581C001E, // 000B LDCONST R7 K30
0x7C140400, // 000C CALL R5 2
0x5C0C0A00, // 000D MOVE R3 R5
0x8C140308, // 000E GETMET R5 R1 K8
0x8C1C071F, // 000F GETMET R7 R3 K31
0x7C1C0200, // 0010 CALL R7 1
0x7C140400, // 0011 CALL R5 2
0x5C100A00, // 0012 MOVE R4 R5
0x8C140704, // 0013 GETMET R5 R3 K4
0x7C140200, // 0014 CALL R5 1
0xA8040001, // 0015 EXBLK 1 1
0x70020009, // 0016 JMP #0021
0xAC140002, // 0017 CATCH R5 0 2
0x70020006, // 0018 JMP #0020
0x4C1C0000, // 0019 LDNIL R7
0x201C0607, // 001A NE R7 R3 R7
0x781E0001, // 001B JMPF R7 #001E
0x8C1C0704, // 001C GETMET R7 R3 K4
0x7C1C0200, // 001D CALL R7 1
0xB0040A06, // 001E RAISE 1 R5 R6
0x70020000, // 001F JMP #0021
0xB0080000, // 0020 RAISE 2 R0 R0
0x6014000F, // 0021 GETGBL R5 G15
0x5C180800, // 0022 MOVE R6 R4
0x601C0013, // 0023 GETGBL R7 G19
0x7C140400, // 0024 CALL R5 2
0x78160001, // 0025 JMPF R5 #0028
0x90020E04, // 0026 SETMBR R0 K7 R4
0x70020002, // 0027 JMP #002B
0x60140001, // 0028 GETGBL R5 G1
0x58180020, // 0029 LDCONST R6 K32
0x7C140200, // 002A CALL R5 1
0x50140000, // 002B LDBOOL R5 0 0
0x90020005, // 002C SETMBR R0 K0 R5
0x70020001, // 002D JMP #0030
0x8C140121, // 002E GETMET R5 R0 K33
0x7C140200, // 002F CALL R5 1
0x80000000, // 0030 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: json_fdump_any
********************************************************************/
be_local_closure(class_Persist_json_fdump_any, /* 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_Persist, /* shared constants */
&be_const_str_json_fdump_any,
&be_const_str_solidified,
( &(const binstruction[27]) { /* code */
0xA40E1600, // 0000 IMPORT R3 K11
0x6010000F, // 0001 GETGBL R4 G15
0x5C140400, // 0002 MOVE R5 R2
0x60180013, // 0003 GETGBL R6 G19
0x7C100400, // 0004 CALL R4 2
0x78120004, // 0005 JMPF R4 #000B
0x8C10010C, // 0006 GETMET R4 R0 K12
0x5C180200, // 0007 MOVE R6 R1
0x5C1C0400, // 0008 MOVE R7 R2
0x7C100600, // 0009 CALL R4 3
0x7002000E, // 000A JMP #001A
0x6010000F, // 000B GETGBL R4 G15
0x5C140400, // 000C MOVE R5 R2
0x60180012, // 000D GETGBL R6 G18
0x7C100400, // 000E CALL R4 2
0x78120004, // 000F JMPF R4 #0015
0x8C100122, // 0010 GETMET R4 R0 K34
0x5C180200, // 0011 MOVE R6 R1
0x5C1C0400, // 0012 MOVE R7 R2
0x7C100600, // 0013 CALL R4 3
0x70020004, // 0014 JMP #001A
0x8C100305, // 0015 GETMET R4 R1 K5
0x8C180711, // 0016 GETMET R6 R3 K17
0x5C200400, // 0017 MOVE R8 R2
0x7C180400, // 0018 CALL R6 2
0x7C100400, // 0019 CALL R4 2
0x80000000, // 001A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: find
********************************************************************/
be_local_closure(class_Persist_find, /* 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_Persist, /* shared constants */
&be_const_str_find,
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x880C0107, // 0000 GETMBR R3 R0 K7
0x8C0C0717, // 0001 GETMET R3 R3 K23
0x5C140200, // 0002 MOVE R5 R1
0x5C180400, // 0003 MOVE R6 R2
0x7C0C0600, // 0004 CALL R3 3
0x80040600, // 0005 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Persist
********************************************************************/
be_local_class(Persist,
2,
NULL,
be_nested_map(18,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(save, -1), be_const_closure(class_Persist_save_closure) },
{ be_const_key(setmember, 12), be_const_closure(class_Persist_setmember_closure) },
{ be_const_key(dirty, -1), be_const_closure(class_Persist_dirty_closure) },
{ be_const_key(remove, -1), be_const_closure(class_Persist_remove_closure) },
{ be_const_key(contains, -1), be_const_closure(class_Persist_contains_closure) },
{ be_const_key(json_fdump_map, 2), be_const_closure(class_Persist_json_fdump_map_closure) },
{ be_const_key(json_fdump, -1), be_const_closure(class_Persist_json_fdump_closure) },
{ be_const_key(has, -1), be_const_closure(class_Persist_has_closure) },
{ be_const_key(_p, -1), be_const_var(0) },
{ be_const_key(json_fdump_any, -1), be_const_closure(class_Persist_json_fdump_any_closure) },
{ be_const_key(zero, -1), be_const_closure(class_Persist_zero_closure) },
{ be_const_key(load, 10), be_const_closure(class_Persist_load_closure) },
{ be_const_key(json_fdump_list, 5), be_const_closure(class_Persist_json_fdump_list_closure) },
{ be_const_key(member, 11), be_const_closure(class_Persist_member_closure) },
{ be_const_key(_dirty, -1), be_const_var(1) },
{ be_const_key(init, 9), be_const_closure(class_Persist_init_closure) },
{ be_const_key(find, -1), be_const_closure(class_Persist_find_closure) },
{ be_const_key(_filename, -1), be_nested_str(_persist_X2Ejson) },
})),
(bstring*) &be_const_str_Persist
);
/********************************************************************
** Solidified module: persist
********************************************************************/
be_local_module(persist,
"persist",
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(Persist, -1), be_const_class(be_class_Persist) },
{ be_const_key(init, 0), be_const_closure(_anonymous__closure) },
}))
);
BE_EXPORT_VARIABLE be_define_const_native_module(persist);
/********************************************************************/
/********************************************************************/
/* End of solidification */

View File

@ -1,59 +0,0 @@
/* Solidification of python_compat.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
/********************************************************************
** Solidified function: _anonymous_
********************************************************************/
be_local_closure(_anonymous_, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
0, /* 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(global),
/* K1 */ be_nested_str(True),
/* K2 */ be_nested_str(False),
/* K3 */ be_nested_str(None),
/* K4 */ be_nested_str(b),
}),
&be_const_str__anonymous_,
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x50080200, // 0001 LDBOOL R2 1 0
0x90060202, // 0002 SETMBR R1 K1 R2
0x50080000, // 0003 LDBOOL R2 0 0
0x90060402, // 0004 SETMBR R1 K2 R2
0x4C080000, // 0005 LDNIL R2
0x90060602, // 0006 SETMBR R1 K3 R2
0x60080015, // 0007 GETGBL R2 G21
0x90060802, // 0008 SETMBR R1 K4 R2
0x80040000, // 0009 RET 1 R0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified module: python_compat
********************************************************************/
be_local_module(python_compat,
"python_compat",
be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(init, -1), be_const_closure(_anonymous__closure) },
}))
);
BE_EXPORT_VARIABLE be_define_const_native_module(python_compat);
/********************************************************************/
/********************************************************************/
/* End of solidification */

View File

@ -1,170 +0,0 @@
/* Solidification of tapp.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Tapp' ktab size: 15, total: 16 (saved 8 bytes)
static const bvalue be_ktab_class_Tapp[15] = {
/* K0 */ be_nested_str(tasmota),
/* K1 */ be_nested_str(add_driver),
/* K2 */ be_nested_str(path),
/* K3 */ be_nested_str(string),
/* K4 */ be_nested_str(listdir),
/* K5 */ be_nested_str(_X2F),
/* K6 */ be_nested_str(find),
/* K7 */ be_nested_str(_X2Etapp),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str(log),
/* K10 */ be_nested_str(TAP_X3A_X20Loaded_X20Tasmota_X20App_X20_X27_X25s_X27),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str(load),
/* K13 */ be_nested_str(_X23autoexec_X2Ebe),
/* K14 */ be_nested_str(stop_iteration),
};
extern const bclass be_class_Tapp;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Tapp_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_Tapp, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x5C0C0000, // 0002 MOVE R3 R0
0x7C040400, // 0003 CALL R1 2
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: autoexec
********************************************************************/
be_local_closure(class_Tapp_autoexec, /* 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_Tapp, /* shared constants */
&be_const_str_autoexec,
&be_const_str_solidified,
( &(const binstruction[34]) { /* code */
0xA4060400, // 0000 IMPORT R1 K2
0xA40A0600, // 0001 IMPORT R2 K3
0x8C0C0304, // 0002 GETMET R3 R1 K4
0x58140005, // 0003 LDCONST R5 K5
0x7C0C0400, // 0004 CALL R3 2
0x60100010, // 0005 GETGBL R4 G16
0x5C140600, // 0006 MOVE R5 R3
0x7C100200, // 0007 CALL R4 1
0xA8020014, // 0008 EXBLK 0 #001E
0x5C140800, // 0009 MOVE R5 R4
0x7C140000, // 000A CALL R5 0
0x8C180506, // 000B GETMET R6 R2 K6
0x5C200A00, // 000C MOVE R8 R5
0x58240007, // 000D LDCONST R9 K7
0x7C180600, // 000E CALL R6 3
0x24180D08, // 000F GT R6 R6 K8
0x781A000B, // 0010 JMPF R6 #001D
0xB81A0000, // 0011 GETNGBL R6 K0
0x8C180D09, // 0012 GETMET R6 R6 K9
0x60200018, // 0013 GETGBL R8 G24
0x5824000A, // 0014 LDCONST R9 K10
0x5C280A00, // 0015 MOVE R10 R5
0x7C200400, // 0016 CALL R8 2
0x5824000B, // 0017 LDCONST R9 K11
0x7C180600, // 0018 CALL R6 3
0xB81A0000, // 0019 GETNGBL R6 K0
0x8C180D0C, // 001A GETMET R6 R6 K12
0x00200B0D, // 001B ADD R8 R5 K13
0x7C180400, // 001C CALL R6 2
0x7001FFEA, // 001D JMP #0009
0x5810000E, // 001E LDCONST R4 K14
0xAC100200, // 001F CATCH R4 1 0
0xB0080000, // 0020 RAISE 2 R0 R0
0x80000000, // 0021 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Tapp
********************************************************************/
be_local_class(Tapp,
0,
NULL,
be_nested_map(2,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(autoexec, -1), be_const_closure(class_Tapp_autoexec_closure) },
{ be_const_key(init, 0), be_const_closure(class_Tapp_init_closure) },
})),
(bstring*) &be_const_str_Tapp
);
/********************************************************************
** Solidified function: _anonymous_
********************************************************************/
be_local_closure(_anonymous_, /* name */
be_nested_proto(
3, /* 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_const_class(be_class_Tapp),
}),
&be_const_str__anonymous_,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0xB4000000, // 0001 CLASS K0
0x5C080200, // 0002 MOVE R2 R1
0x7C080000, // 0003 CALL R2 0
0x80040400, // 0004 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified module: tapp
********************************************************************/
be_local_module(tapp,
"tapp",
be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(init, -1), be_const_closure(_anonymous__closure) },
}))
);
BE_EXPORT_VARIABLE be_define_const_native_module(tapp);
/********************************************************************/
/********************************************************************/
/* End of solidification */

View File

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

View File

@ -1,203 +0,0 @@
/* Solidification of trigger_class.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'Trigger' ktab size: 8, total: 15 (saved 56 bytes)
static const bvalue be_ktab_class_Trigger[8] = {
/* K0 */ be_nested_str(o),
/* K1 */ be_nested_str(next),
/* K2 */ be_nested_str(trig),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str(time_reached),
/* K5 */ be_nested_str(f),
/* K6 */ be_nested_str(id),
/* K7 */ be_nested_str(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29),
};
extern const bclass be_class_Trigger;
/********************************************************************
** Solidified function: run_once
********************************************************************/
be_local_closure(class_Trigger_run_once, /* 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_Trigger, /* shared constants */
&be_const_str_run_once,
&be_const_str_solidified,
( &(const binstruction[ 4]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x50080200, // 0001 LDBOOL R2 1 0
0x1C040202, // 0002 EQ R1 R1 R2
0x80040200, // 0003 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: next
********************************************************************/
be_local_closure(class_Trigger_next, /* 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_Trigger, /* shared constants */
&be_const_str_next,
&be_const_str_solidified,
( &(const binstruction[ 7]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x78060003, // 0001 JMPF R1 #0006
0x88040100, // 0002 GETMBR R1 R0 K0
0x8C040301, // 0003 GETMET R1 R1 K1
0x7C040200, // 0004 CALL R1 1
0x80040200, // 0005 RET 1 R1
0x80000000, // 0006 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: time_reached
********************************************************************/
be_local_closure(class_Trigger_time_reached, /* 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_Trigger, /* shared constants */
&be_const_str_time_reached,
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x78060007, // 0001 JMPF R1 #000A
0x88040102, // 0002 GETMBR R1 R0 K2
0x24040303, // 0003 GT R1 R1 K3
0x78060004, // 0004 JMPF R1 #000A
0x88040100, // 0005 GETMBR R1 R0 K0
0x8C040304, // 0006 GETMET R1 R1 K4
0x880C0102, // 0007 GETMBR R3 R0 K2
0x7C040400, // 0008 CALL R1 2
0x80040200, // 0009 RET 1 R1
0x50040000, // 000A LDBOOL R1 0 0
0x80040200, // 000B RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Trigger_init, /* name */
be_nested_proto(
5, /* 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_Trigger, /* shared constants */
&be_const_str_init,
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0x90020401, // 0000 SETMBR R0 K2 R1
0x90020A02, // 0001 SETMBR R0 K5 R2
0x90020C03, // 0002 SETMBR R0 K6 R3
0x90020004, // 0003 SETMBR R0 K0 R4
0x80000000, // 0004 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_Trigger_tostring, /* 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_Trigger, /* shared constants */
&be_const_str_tostring,
&be_const_str_solidified,
( &(const binstruction[18]) { /* code */
0x60040018, // 0000 GETGBL R1 G24
0x58080007, // 0001 LDCONST R2 K7
0x600C0008, // 0002 GETGBL R3 G8
0x60100006, // 0003 GETGBL R4 G6
0x5C140000, // 0004 MOVE R5 R0
0x7C100200, // 0005 CALL R4 1
0x7C0C0200, // 0006 CALL R3 1
0x60100008, // 0007 GETGBL R4 G8
0x88140102, // 0008 GETMBR R5 R0 K2
0x7C100200, // 0009 CALL R4 1
0x60140008, // 000A GETGBL R5 G8
0x88180105, // 000B GETMBR R6 R0 K5
0x7C140200, // 000C CALL R5 1
0x60180008, // 000D GETGBL R6 G8
0x881C0106, // 000E GETMBR R7 R0 K6
0x7C180200, // 000F CALL R6 1
0x7C040A00, // 0010 CALL R1 5
0x80040200, // 0011 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: Trigger
********************************************************************/
be_local_class(Trigger,
4,
NULL,
be_nested_map(9,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(run_once, 3), be_const_closure(class_Trigger_run_once_closure) },
{ be_const_key(o, -1), be_const_var(3) },
{ be_const_key(next, -1), be_const_closure(class_Trigger_next_closure) },
{ be_const_key(trig, -1), be_const_var(0) },
{ be_const_key(init, -1), be_const_closure(class_Trigger_init_closure) },
{ be_const_key(time_reached, -1), be_const_closure(class_Trigger_time_reached_closure) },
{ be_const_key(id, 4), be_const_var(2) },
{ be_const_key(tostring, -1), be_const_closure(class_Trigger_tostring_closure) },
{ be_const_key(f, -1), be_const_var(1) },
})),
(bstring*) &be_const_str_Trigger
);
/********************************************************************/
/* End of solidification */

View File

@ -1,76 +0,0 @@
/* Solidification of uuid.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
/********************************************************************
** Solidified function: _anonymous_
********************************************************************/
be_local_closure(_anonymous_, /* name */
be_nested_proto(
10, /* nstack */
0, /* 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(math),
/* K1 */ be_nested_str(_X2508x_X2D_X2504x_X2D_X2504x_X2D_X2504x_X2D_X2504x_X2508x),
/* K2 */ be_nested_str(rand),
}),
&be_const_str__anonymous_,
&be_const_str_solidified,
( &(const binstruction[29]) { /* code */
0xA4020000, // 0000 IMPORT R0 K0
0x60040018, // 0001 GETGBL R1 G24
0x58080001, // 0002 LDCONST R2 K1
0x8C0C0102, // 0003 GETMET R3 R0 K2
0x7C0C0200, // 0004 CALL R3 1
0x8C100102, // 0005 GETMET R4 R0 K2
0x7C100200, // 0006 CALL R4 1
0x5416FFFE, // 0007 LDINT R5 65535
0x2C100805, // 0008 AND R4 R4 R5
0x8C140102, // 0009 GETMET R5 R0 K2
0x7C140200, // 000A CALL R5 1
0x541A0FFE, // 000B LDINT R6 4095
0x2C140A06, // 000C AND R5 R5 R6
0x541A3FFF, // 000D LDINT R6 16384
0x30140A06, // 000E OR R5 R5 R6
0x8C180102, // 000F GETMET R6 R0 K2
0x7C180200, // 0010 CALL R6 1
0x541E3FFE, // 0011 LDINT R7 16383
0x2C180C07, // 0012 AND R6 R6 R7
0x541E7FFF, // 0013 LDINT R7 32768
0x30180C07, // 0014 OR R6 R6 R7
0x8C1C0102, // 0015 GETMET R7 R0 K2
0x7C1C0200, // 0016 CALL R7 1
0x5422FFFE, // 0017 LDINT R8 65535
0x2C1C0E08, // 0018 AND R7 R7 R8
0x8C200102, // 0019 GETMET R8 R0 K2
0x7C200200, // 001A CALL R8 1
0x7C040E00, // 001B CALL R1 7
0x80040200, // 001C RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified module: uuid
********************************************************************/
be_local_module(uuid,
"uuid",
be_nested_map(1,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key(uuid4, -1), be_const_closure(_anonymous__closure) },
}))
);
BE_EXPORT_VARIABLE be_define_const_native_module(uuid);
/********************************************************************/
/********************************************************************/
/* End of solidification */

View File

@ -1,61 +0,0 @@
/* Solidification of zigbee.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_zb_device_tostring, /* name */
be_nested_proto(
12, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(json),
/* K1 */ be_nested_str_weak(longaddr),
/* K2 */ be_nested_str_weak(_X3Cinstance_X3A_X20_X25s_X280x_X2504X_X2C_X200x_X2508X_X2508X_X2C_X20name_X3A_X27_X25s_X27_X2C_X20model_X3A_X27_X25s_X27_X2C_X20manufacturer_X3A_X27_X25s_X27_X29_X3E),
/* K3 */ be_nested_str_weak(shortaddr),
/* K4 */ be_nested_str_weak(get),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(name),
/* K7 */ be_nested_str_weak(model),
/* K8 */ be_nested_str_weak(manufacturer),
}),
be_str_weak(tostring),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x600C0018, // 0002 GETGBL R3 G24
0x58100002, // 0003 LDCONST R4 K2
0x60140005, // 0004 GETGBL R5 G5
0x5C180000, // 0005 MOVE R6 R0
0x7C140200, // 0006 CALL R5 1
0x88180103, // 0007 GETMBR R6 R0 K3
0x8C1C0504, // 0008 GETMET R7 R2 K4
0x54260003, // 0009 LDINT R9 4
0x542A0003, // 000A LDINT R10 4
0x7C1C0600, // 000B CALL R7 3
0x8C200504, // 000C GETMET R8 R2 K4
0x58280005, // 000D LDCONST R10 K5
0x542E0003, // 000E LDINT R11 4
0x7C200600, // 000F CALL R8 3
0x88240106, // 0010 GETMBR R9 R0 K6
0x88280107, // 0011 GETMBR R10 R0 K7
0x882C0108, // 0012 GETMBR R11 R0 K8
0x7C0C1000, // 0013 CALL R3 8
0x80040600, // 0014 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************/
/* End of solidification */

View File

@ -1,259 +0,0 @@
/* Solidification of zigbee_zb_coord.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'zb_coord' ktab size: 21, total: 24 (saved 24 bytes)
static const bvalue be_ktab_class_zb_coord[21] = {
/* K0 */ be_nested_str_weak(init),
/* K1 */ be_nested_str_weak(instance),
/* K2 */ be_nested_str_weak(value_error),
/* K3 */ be_nested_str_weak(instance_X20required),
/* K4 */ be_nested_str_weak(_handlers),
/* K5 */ be_nested_str_weak(find),
/* K6 */ be_nested_str_weak(push),
/* K7 */ be_nested_str_weak(introspect),
/* K8 */ be_nested_str_weak(toptr),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str_weak(zcl_frame),
/* K11 */ be_nested_str_weak(zcl_attribute_list),
/* K12 */ be_nested_str_weak(get),
/* K13 */ be_nested_str_weak(function),
/* K14 */ be_nested_str_weak(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s),
/* K15 */ be_nested_str_weak(tasmota),
/* K16 */ be_nested_str_weak(_debug_present),
/* K17 */ be_nested_str_weak(debug),
/* K18 */ be_nested_str_weak(traceback),
/* K19 */ be_const_int(1),
/* K20 */ be_nested_str_weak(remove),
};
extern const bclass be_class_zb_coord;
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_zb_coord_init, /* 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_zb_coord, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* 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
0x80000000, // 0005 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: add_handler
********************************************************************/
be_local_closure(class_zb_coord_add_handler, /* 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_zb_coord, /* shared constants */
be_str_weak(add_handler),
&be_const_str_solidified,
( &(const binstruction[25]) { /* code */
0x60080004, // 0000 GETGBL R2 G4
0x5C0C0200, // 0001 MOVE R3 R1
0x7C080200, // 0002 CALL R2 1
0x20080501, // 0003 NE R2 R2 K1
0x780A0000, // 0004 JMPF R2 #0006
0xB0060503, // 0005 RAISE 1 K2 K3
0x88080104, // 0006 GETMBR R2 R0 K4
0x780A000B, // 0007 JMPF R2 #0014
0x88080104, // 0008 GETMBR R2 R0 K4
0x8C080505, // 0009 GETMET R2 R2 K5
0x5C100200, // 000A MOVE R4 R1
0x7C080400, // 000B CALL R2 2
0x4C0C0000, // 000C LDNIL R3
0x1C080403, // 000D EQ R2 R2 R3
0x780A0003, // 000E JMPF R2 #0013
0x88080104, // 000F GETMBR R2 R0 K4
0x8C080506, // 0010 GETMET R2 R2 K6
0x5C100200, // 0011 MOVE R4 R1
0x7C080400, // 0012 CALL R2 2
0x70020003, // 0013 JMP #0018
0x60080012, // 0014 GETGBL R2 G18
0x7C080000, // 0015 CALL R2 0
0x400C0401, // 0016 CONNECT R3 R2 R1
0x90020802, // 0017 SETMBR R0 K4 R2
0x80000000, // 0018 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: dispatch
********************************************************************/
be_local_closure(class_zb_coord_dispatch, /* name */
be_nested_proto(
19, /* 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_zb_coord, /* shared constants */
be_str_weak(dispatch),
&be_const_str_solidified,
( &(const binstruction[70]) { /* code */
0x88140104, // 0000 GETMBR R5 R0 K4
0x4C180000, // 0001 LDNIL R6
0x1C140A06, // 0002 EQ R5 R5 R6
0x78160000, // 0003 JMPF R5 #0005
0x80000A00, // 0004 RET 0
0xA4160E00, // 0005 IMPORT R5 K7
0x4C180000, // 0006 LDNIL R6
0x4C1C0000, // 0007 LDNIL R7
0x8C200B08, // 0008 GETMET R8 R5 K8
0x58280009, // 0009 LDCONST R10 K9
0x7C200400, // 000A CALL R8 2
0x20240408, // 000B NE R9 R2 R8
0x78260003, // 000C JMPF R9 #0011
0x8C24010A, // 000D GETMET R9 R0 K10
0x5C2C0400, // 000E MOVE R11 R2
0x7C240400, // 000F CALL R9 2
0x5C181200, // 0010 MOVE R6 R9
0x20240608, // 0011 NE R9 R3 R8
0x78260003, // 0012 JMPF R9 #0017
0x8C24010B, // 0013 GETMET R9 R0 K11
0x5C2C0600, // 0014 MOVE R11 R3
0x7C240400, // 0015 CALL R9 2
0x5C1C1200, // 0016 MOVE R7 R9
0x58240009, // 0017 LDCONST R9 K9
0x6028000C, // 0018 GETGBL R10 G12
0x882C0104, // 0019 GETMBR R11 R0 K4
0x7C280200, // 001A CALL R10 1
0x1428120A, // 001B LT R10 R9 R10
0x782A0027, // 001C JMPF R10 #0045
0x88280104, // 001D GETMBR R10 R0 K4
0x94281409, // 001E GETIDX R10 R10 R9
0x8C2C0B0C, // 001F GETMET R11 R5 K12
0x5C341400, // 0020 MOVE R13 R10
0x5C380200, // 0021 MOVE R14 R1
0x7C2C0600, // 0022 CALL R11 3
0x60300004, // 0023 GETGBL R12 G4
0x5C341600, // 0024 MOVE R13 R11
0x7C300200, // 0025 CALL R12 1
0x1C30190D, // 0026 EQ R12 R12 K13
0x7832001A, // 0027 JMPF R12 #0043
0xA8020008, // 0028 EXBLK 0 #0032
0x5C301600, // 0029 MOVE R12 R11
0x5C341400, // 002A MOVE R13 R10
0x5C380200, // 002B MOVE R14 R1
0x5C3C0C00, // 002C MOVE R15 R6
0x5C400E00, // 002D MOVE R16 R7
0x5C440800, // 002E MOVE R17 R4
0x7C300A00, // 002F CALL R12 5
0xA8040001, // 0030 EXBLK 1 1
0x70020010, // 0031 JMP #0043
0xAC300002, // 0032 CATCH R12 0 2
0x7002000D, // 0033 JMP #0042
0x60380001, // 0034 GETGBL R14 G1
0x603C0018, // 0035 GETGBL R15 G24
0x5840000E, // 0036 LDCONST R16 K14
0x5C441800, // 0037 MOVE R17 R12
0x5C481A00, // 0038 MOVE R18 R13
0x7C3C0600, // 0039 CALL R15 3
0x7C380200, // 003A CALL R14 1
0xB83A1E00, // 003B GETNGBL R14 K15
0x88381D10, // 003C GETMBR R14 R14 K16
0x783A0002, // 003D JMPF R14 #0041
0xA43A2200, // 003E IMPORT R14 K17
0x8C3C1D12, // 003F GETMET R15 R14 K18
0x7C3C0200, // 0040 CALL R15 1
0x70020000, // 0041 JMP #0043
0xB0080000, // 0042 RAISE 2 R0 R0
0x00241313, // 0043 ADD R9 R9 K19
0x7001FFD2, // 0044 JMP #0018
0x80000000, // 0045 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: remove_handler
********************************************************************/
be_local_closure(class_zb_coord_remove_handler, /* 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_zb_coord, /* shared constants */
be_str_weak(remove_handler),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
0x88080104, // 0000 GETMBR R2 R0 K4
0x780A000A, // 0001 JMPF R2 #000D
0x88080104, // 0002 GETMBR R2 R0 K4
0x8C080505, // 0003 GETMET R2 R2 K5
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x4C0C0000, // 0006 LDNIL R3
0x200C0403, // 0007 NE R3 R2 R3
0x780E0003, // 0008 JMPF R3 #000D
0x880C0104, // 0009 GETMBR R3 R0 K4
0x8C0C0714, // 000A GETMET R3 R3 K20
0x5C140400, // 000B MOVE R5 R2
0x7C0C0400, // 000C CALL R3 2
0x80000000, // 000D RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: zb_coord
********************************************************************/
extern const bclass be_class_zb_coord_ntv;
be_local_class(zb_coord,
1,
&be_class_zb_coord_ntv,
be_nested_map(5,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(init, -1), be_const_closure(class_zb_coord_init_closure) },
{ be_const_key_weak(remove_handler, 2), be_const_closure(class_zb_coord_remove_handler_closure) },
{ be_const_key_weak(add_handler, -1), be_const_closure(class_zb_coord_add_handler_closure) },
{ be_const_key_weak(dispatch, -1), be_const_closure(class_zb_coord_dispatch_closure) },
{ be_const_key_weak(_handlers, 1), be_const_var(0) },
})),
be_str_weak(zb_coord)
);
/********************************************************************/
/* End of solidification */

View File

@ -1,859 +0,0 @@
/* Solidification of zigbee_zcl_attribute.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'zcl_attribute' ktab size: 43, total: 70 (saved 216 bytes)
static const bvalue be_ktab_class_zcl_attribute[43] = {
/* K0 */ be_nested_str_weak(tomap),
/* K1 */ be_nested_str_weak(cluster),
/* K2 */ be_nested_str_weak(attr_id),
/* K3 */ be_nested_str_weak(cmd),
/* K4 */ be_nested_str_weak(direction),
/* K5 */ be_nested_str_weak(key),
/* K6 */ be_nested_str_weak(val),
/* K7 */ be_nested_str_weak(_X3Cundefined_X3E),
/* K8 */ be_nested_str_weak(key_suffix),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(_X2504X_X2F_X2504X),
/* K11 */ be_nested_str_weak(_X2B),
/* K12 */ be_nested_str_weak(_X2504X_X25s_X2502X),
/* K13 */ be_nested_str_weak(_X3F),
/* K14 */ be_nested_str_weak(_X21),
/* K15 */ be_nested_str_weak(_cluster),
/* K16 */ be_nested_str_weak(_attr_id),
/* K17 */ be_nested_str_weak(_iscmd),
/* K18 */ be_const_int(0),
/* K19 */ be_nested_str_weak(_cmd),
/* K20 */ be_nested_str_weak(_direction),
/* K21 */ be_nested_str_weak(_set_val),
/* K22 */ be_nested_str_weak(_set_key),
/* K23 */ be_nested_str_weak(setmember),
/* K24 */ be_nested_str_weak(introspect),
/* K25 */ be_nested_str_weak(json),
/* K26 */ be_nested_str_weak(dump),
/* K27 */ be_nested_str_weak(key_tostring),
/* K28 */ be_nested_str_weak(_X3A),
/* K29 */ be_nested_str_weak(get),
/* K30 */ be_nested_str_weak(tojson),
/* K31 */ be_nested_str_weak(_X28_X25s_X29),
/* K32 */ be_nested_str_weak(_X2C_X25s_X3A_X22_X2504X_X2F_X2504X_X22),
/* K33 */ be_nested_str_weak(init),
/* K34 */ be_nested_str_weak(_init),
/* K35 */ be_nested_str_weak(ismapped),
/* K36 */ be_nested_str_weak(_deinit),
/* K37 */ be_nested_str_weak(cmd_general),
/* K38 */ be_nested_str_weak(_cmd_general),
/* K39 */ be_nested_str_weak(_get_val),
/* K40 */ be_nested_str_weak(tohex),
/* K41 */ be_nested_str_weak(_get_key),
/* K42 */ be_nested_str_weak(member),
};
extern const bclass be_class_zcl_attribute;
/********************************************************************
** Solidified function: tomap
********************************************************************/
be_local_closure(class_zcl_attribute_tomap, /* 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_zcl_attribute, /* shared constants */
be_str_weak(tomap),
&be_const_str_solidified,
( &(const binstruction[18]) { /* 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
0x88080101, // 0005 GETMBR R2 R0 K1
0x98060202, // 0006 SETIDX R1 K1 R2
0x88080102, // 0007 GETMBR R2 R0 K2
0x98060402, // 0008 SETIDX R1 K2 R2
0x88080103, // 0009 GETMBR R2 R0 K3
0x98060602, // 000A SETIDX R1 K3 R2
0x88080104, // 000B GETMBR R2 R0 K4
0x98060802, // 000C SETIDX R1 K4 R2
0x88080105, // 000D GETMBR R2 R0 K5
0x98060A02, // 000E SETIDX R1 K5 R2
0x88080106, // 000F GETMBR R2 R0 K6
0x98060C02, // 0010 SETIDX R1 K6 R2
0x80040200, // 0011 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: key_tostring
********************************************************************/
be_local_closure(class_zcl_attribute_key_tostring, /* 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_zcl_attribute, /* shared constants */
be_str_weak(key_tostring),
&be_const_str_solidified,
( &(const binstruction[69]) { /* code */
0x58040007, // 0000 LDCONST R1 K7
0x88080105, // 0001 GETMBR R2 R0 K5
0x4C0C0000, // 0002 LDNIL R3
0x200C0403, // 0003 NE R3 R2 R3
0x780E0008, // 0004 JMPF R3 #000E
0x5C040400, // 0005 MOVE R1 R2
0x880C0108, // 0006 GETMBR R3 R0 K8
0x240C0709, // 0007 GT R3 R3 K9
0x780E0003, // 0008 JMPF R3 #000D
0x600C0008, // 0009 GETGBL R3 G8
0x88100108, // 000A GETMBR R4 R0 K8
0x7C0C0200, // 000B CALL R3 1
0x00040203, // 000C ADD R1 R1 R3
0x70020035, // 000D JMP #0044
0x880C0101, // 000E GETMBR R3 R0 K1
0x4C100000, // 000F LDNIL R4
0x200C0604, // 0010 NE R3 R3 R4
0x780E0012, // 0011 JMPF R3 #0025
0x880C0102, // 0012 GETMBR R3 R0 K2
0x4C100000, // 0013 LDNIL R4
0x200C0604, // 0014 NE R3 R3 R4
0x780E000E, // 0015 JMPF R3 #0025
0x600C0018, // 0016 GETGBL R3 G24
0x5810000A, // 0017 LDCONST R4 K10
0x88140101, // 0018 GETMBR R5 R0 K1
0x88180102, // 0019 GETMBR R6 R0 K2
0x7C0C0600, // 001A CALL R3 3
0x5C040600, // 001B MOVE R1 R3
0x880C0108, // 001C GETMBR R3 R0 K8
0x240C0709, // 001D GT R3 R3 K9
0x780E0004, // 001E JMPF R3 #0024
0x600C0008, // 001F GETGBL R3 G8
0x88100108, // 0020 GETMBR R4 R0 K8
0x7C0C0200, // 0021 CALL R3 1
0x000E1603, // 0022 ADD R3 K11 R3
0x00040203, // 0023 ADD R1 R1 R3
0x7002001E, // 0024 JMP #0044
0x880C0101, // 0025 GETMBR R3 R0 K1
0x4C100000, // 0026 LDNIL R4
0x200C0604, // 0027 NE R3 R3 R4
0x780E001A, // 0028 JMPF R3 #0044
0x880C0103, // 0029 GETMBR R3 R0 K3
0x4C100000, // 002A LDNIL R4
0x200C0604, // 002B NE R3 R3 R4
0x780E0016, // 002C JMPF R3 #0044
0x880C0104, // 002D GETMBR R3 R0 K4
0x4C100000, // 002E LDNIL R4
0x200C0604, // 002F NE R3 R3 R4
0x780E0012, // 0030 JMPF R3 #0044
0x600C0018, // 0031 GETGBL R3 G24
0x5810000C, // 0032 LDCONST R4 K12
0x88140101, // 0033 GETMBR R5 R0 K1
0x88180104, // 0034 GETMBR R6 R0 K4
0x781A0001, // 0035 JMPF R6 #0038
0x5818000D, // 0036 LDCONST R6 K13
0x70020000, // 0037 JMP #0039
0x5818000E, // 0038 LDCONST R6 K14
0x881C0103, // 0039 GETMBR R7 R0 K3
0x7C0C0800, // 003A CALL R3 4
0x5C040600, // 003B MOVE R1 R3
0x880C0108, // 003C GETMBR R3 R0 K8
0x240C0709, // 003D GT R3 R3 K9
0x780E0004, // 003E JMPF R3 #0044
0x600C0008, // 003F GETGBL R3 G8
0x88100108, // 0040 GETMBR R4 R0 K8
0x7C0C0200, // 0041 CALL R3 1
0x000E1603, // 0042 ADD R3 K11 R3
0x00040203, // 0043 ADD R1 R1 R3
0x80040200, // 0044 RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: setmember
********************************************************************/
be_local_closure(class_zcl_attribute_setmember, /* 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_zcl_attribute, /* shared constants */
be_str_weak(setmember),
&be_const_str_solidified,
( &(const binstruction[66]) { /* code */
0x1C0C0301, // 0000 EQ R3 R1 K1
0x780E0007, // 0001 JMPF R3 #000A
0x4C0C0000, // 0002 LDNIL R3
0x1C0C0403, // 0003 EQ R3 R2 R3
0x780E0002, // 0004 JMPF R3 #0008
0x540EFFFE, // 0005 LDINT R3 65535
0x90021E03, // 0006 SETMBR R0 K15 R3
0x70020000, // 0007 JMP #0009
0x90021E02, // 0008 SETMBR R0 K15 R2
0x70020036, // 0009 JMP #0041
0x1C0C0302, // 000A EQ R3 R1 K2
0x780E0008, // 000B JMPF R3 #0015
0x4C0C0000, // 000C LDNIL R3
0x1C0C0403, // 000D EQ R3 R2 R3
0x780E0002, // 000E JMPF R3 #0012
0x540EFFFE, // 000F LDINT R3 65535
0x90022003, // 0010 SETMBR R0 K16 R3
0x70020001, // 0011 JMP #0014
0x90022002, // 0012 SETMBR R0 K16 R2
0x90022312, // 0013 SETMBR R0 K17 K18
0x7002002B, // 0014 JMP #0041
0x1C0C0303, // 0015 EQ R3 R1 K3
0x780E0008, // 0016 JMPF R3 #0020
0x4C0C0000, // 0017 LDNIL R3
0x1C0C0403, // 0018 EQ R3 R2 R3
0x780E0002, // 0019 JMPF R3 #001D
0x540E00FE, // 001A LDINT R3 255
0x90022603, // 001B SETMBR R0 K19 R3
0x70020001, // 001C JMP #001F
0x90022602, // 001D SETMBR R0 K19 R2
0x90022309, // 001E SETMBR R0 K17 K9
0x70020020, // 001F JMP #0041
0x1C0C0304, // 0020 EQ R3 R1 K4
0x780E000B, // 0021 JMPF R3 #002E
0x4C0C0000, // 0022 LDNIL R3
0x1C0C0403, // 0023 EQ R3 R2 R3
0x780E0001, // 0024 JMPF R3 #0027
0x90022912, // 0025 SETMBR R0 K20 K18
0x70020005, // 0026 JMP #002D
0x780A0001, // 0027 JMPF R2 #002A
0x580C0009, // 0028 LDCONST R3 K9
0x70020000, // 0029 JMP #002B
0x580C0012, // 002A LDCONST R3 K18
0x90022803, // 002B SETMBR R0 K20 R3
0x90022309, // 002C SETMBR R0 K17 K9
0x70020012, // 002D JMP #0041
0x1C0C0306, // 002E EQ R3 R1 K6
0x780E0003, // 002F JMPF R3 #0034
0x8C0C0115, // 0030 GETMET R3 R0 K21
0x5C140400, // 0031 MOVE R5 R2
0x7C0C0400, // 0032 CALL R3 2
0x7002000C, // 0033 JMP #0041
0x1C0C0305, // 0034 EQ R3 R1 K5
0x780E0003, // 0035 JMPF R3 #003A
0x8C0C0116, // 0036 GETMET R3 R0 K22
0x5C140400, // 0037 MOVE R5 R2
0x7C0C0400, // 0038 CALL R3 2
0x70020006, // 0039 JMP #0041
0x600C0003, // 003A GETGBL R3 G3
0x5C100000, // 003B MOVE R4 R0
0x7C0C0200, // 003C CALL R3 1
0x8C0C0717, // 003D GETMET R3 R3 K23
0x5C140200, // 003E MOVE R5 R1
0x5C180400, // 003F MOVE R6 R2
0x7C0C0600, // 0040 CALL R3 3
0x80000000, // 0041 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_zcl_attribute_tostring, /* 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_zcl_attribute, /* shared constants */
be_str_weak(tostring),
&be_const_str_solidified,
( &(const binstruction[50]) { /* code */
0xA4063000, // 0000 IMPORT R1 K24
0xA40A3200, // 0001 IMPORT R2 K25
0x8C0C051A, // 0002 GETMET R3 R2 K26
0x8C14011B, // 0003 GETMET R5 R0 K27
0x7C140200, // 0004 CALL R5 1
0x7C0C0400, // 0005 CALL R3 2
0x000C071C, // 0006 ADD R3 R3 K28
0x8C10031D, // 0007 GETMET R4 R1 K29
0x88180106, // 0008 GETMBR R6 R0 K6
0x581C001E, // 0009 LDCONST R7 K30
0x7C100600, // 000A CALL R4 3
0x4C140000, // 000B LDNIL R5
0x20100805, // 000C NE R4 R4 R5
0x78120004, // 000D JMPF R4 #0013
0x88100106, // 000E GETMBR R4 R0 K6
0x8C10091E, // 000F GETMET R4 R4 K30
0x7C100200, // 0010 CALL R4 1
0x000C0604, // 0011 ADD R3 R3 R4
0x70020003, // 0012 JMP #0017
0x8C10051A, // 0013 GETMET R4 R2 K26
0x88180106, // 0014 GETMBR R6 R0 K6
0x7C100400, // 0015 CALL R4 2
0x000C0604, // 0016 ADD R3 R3 R4
0x88100101, // 0017 GETMBR R4 R0 K1
0x4C140000, // 0018 LDNIL R5
0x20100805, // 0019 NE R4 R4 R5
0x78120015, // 001A JMPF R4 #0031
0x88100102, // 001B GETMBR R4 R0 K2
0x4C140000, // 001C LDNIL R5
0x20100805, // 001D NE R4 R4 R5
0x78120011, // 001E JMPF R4 #0031
0x88100105, // 001F GETMBR R4 R0 K5
0x4C140000, // 0020 LDNIL R5
0x20100805, // 0021 NE R4 R4 R5
0x7812000D, // 0022 JMPF R4 #0031
0x60100018, // 0023 GETGBL R4 G24
0x5814001F, // 0024 LDCONST R5 K31
0x8C18011B, // 0025 GETMET R6 R0 K27
0x7C180200, // 0026 CALL R6 1
0x7C100400, // 0027 CALL R4 2
0x60140018, // 0028 GETGBL R5 G24
0x58180020, // 0029 LDCONST R6 K32
0x8C1C051A, // 002A GETMET R7 R2 K26
0x5C240800, // 002B MOVE R9 R4
0x7C1C0400, // 002C CALL R7 2
0x88200101, // 002D GETMBR R8 R0 K1
0x88240102, // 002E GETMBR R9 R0 K2
0x7C140800, // 002F CALL R5 4
0x000C0605, // 0030 ADD R3 R3 R5
0x80040600, // 0031 RET 1 R3
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_zcl_attribute_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_zcl_attribute, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C080521, // 0003 GETMET R2 R2 K33
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x4C080000, // 0006 LDNIL R2
0x1C080202, // 0007 EQ R2 R1 R2
0x780A0001, // 0008 JMPF R2 #000B
0x8C080122, // 0009 GETMET R2 R0 K34
0x7C080200, // 000A CALL R2 1
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: deinit
********************************************************************/
be_local_closure(class_zcl_attribute_deinit, /* 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_zcl_attribute, /* shared constants */
be_str_weak(deinit),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040123, // 0000 GETMET R1 R0 K35
0x7C040200, // 0001 CALL R1 1
0x74060001, // 0002 JMPT R1 #0005
0x8C040124, // 0003 GETMET R1 R0 K36
0x7C040200, // 0004 CALL R1 1
0x80000000, // 0005 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: member
********************************************************************/
be_local_closure(class_zcl_attribute_member, /* 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_zcl_attribute, /* shared constants */
be_str_weak(member),
&be_const_str_solidified,
( &(const binstruction[75]) { /* code */
0x1C080301, // 0000 EQ R2 R1 K1
0x780A0008, // 0001 JMPF R2 #000B
0x8808010F, // 0002 GETMBR R2 R0 K15
0x540EFFFE, // 0003 LDINT R3 65535
0x200C0403, // 0004 NE R3 R2 R3
0x780E0001, // 0005 JMPF R3 #0008
0x5C0C0400, // 0006 MOVE R3 R2
0x70020000, // 0007 JMP #0009
0x4C0C0000, // 0008 LDNIL R3
0x80040600, // 0009 RET 1 R3
0x7002003E, // 000A JMP #004A
0x1C080302, // 000B EQ R2 R1 K2
0x780A000A, // 000C JMPF R2 #0018
0x88080110, // 000D GETMBR R2 R0 K16
0x540EFFFE, // 000E LDINT R3 65535
0x200C0403, // 000F NE R3 R2 R3
0x780E0003, // 0010 JMPF R3 #0015
0x880C0111, // 0011 GETMBR R3 R0 K17
0x740E0001, // 0012 JMPT R3 #0015
0x5C0C0400, // 0013 MOVE R3 R2
0x70020000, // 0014 JMP #0016
0x4C0C0000, // 0015 LDNIL R3
0x80040600, // 0016 RET 1 R3
0x70020031, // 0017 JMP #004A
0x1C080303, // 0018 EQ R2 R1 K3
0x780A000A, // 0019 JMPF R2 #0025
0x88080113, // 001A GETMBR R2 R0 K19
0x540E00FE, // 001B LDINT R3 255
0x200C0403, // 001C NE R3 R2 R3
0x780E0003, // 001D JMPF R3 #0022
0x880C0111, // 001E GETMBR R3 R0 K17
0x780E0001, // 001F JMPF R3 #0022
0x5C0C0400, // 0020 MOVE R3 R2
0x70020000, // 0021 JMP #0023
0x4C0C0000, // 0022 LDNIL R3
0x80040600, // 0023 RET 1 R3
0x70020024, // 0024 JMP #004A
0x1C080304, // 0025 EQ R2 R1 K4
0x780A0002, // 0026 JMPF R2 #002A
0x88080114, // 0027 GETMBR R2 R0 K20
0x80040400, // 0028 RET 1 R2
0x7002001F, // 0029 JMP #004A
0x1C080325, // 002A EQ R2 R1 K37
0x780A0002, // 002B JMPF R2 #002F
0x88080126, // 002C GETMBR R2 R0 K38
0x80040400, // 002D RET 1 R2
0x7002001A, // 002E JMP #004A
0x1C080306, // 002F EQ R2 R1 K6
0x780A000B, // 0030 JMPF R2 #003D
0x8C080127, // 0031 GETMET R2 R0 K39
0x7C080200, // 0032 CALL R2 1
0x600C000F, // 0033 GETGBL R3 G15
0x5C100400, // 0034 MOVE R4 R2
0x60140015, // 0035 GETGBL R5 G21
0x7C0C0400, // 0036 CALL R3 2
0x780E0002, // 0037 JMPF R3 #003B
0x8C0C0528, // 0038 GETMET R3 R2 K40
0x7C0C0200, // 0039 CALL R3 1
0x5C080600, // 003A MOVE R2 R3
0x80040400, // 003B RET 1 R2
0x7002000C, // 003C JMP #004A
0x1C080305, // 003D EQ R2 R1 K5
0x780A0003, // 003E JMPF R2 #0043
0x8C080129, // 003F GETMET R2 R0 K41
0x7C080200, // 0040 CALL R2 1
0x80040400, // 0041 RET 1 R2
0x70020006, // 0042 JMP #004A
0x60080003, // 0043 GETGBL R2 G3
0x5C0C0000, // 0044 MOVE R3 R0
0x7C080200, // 0045 CALL R2 1
0x8C08052A, // 0046 GETMET R2 R2 K42
0x5C100200, // 0047 MOVE R4 R1
0x7C080400, // 0048 CALL R2 2
0x80040400, // 0049 RET 1 R2
0x80000000, // 004A RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: zcl_attribute
********************************************************************/
extern const bclass be_class_zcl_attribute_ntv;
be_local_class(zcl_attribute,
0,
&be_class_zcl_attribute_ntv,
be_nested_map(7,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(tomap, -1), be_const_closure(class_zcl_attribute_tomap_closure) },
{ be_const_key_weak(key_tostring, -1), be_const_closure(class_zcl_attribute_key_tostring_closure) },
{ be_const_key_weak(init, -1), be_const_closure(class_zcl_attribute_init_closure) },
{ be_const_key_weak(tostring, -1), be_const_closure(class_zcl_attribute_tostring_closure) },
{ be_const_key_weak(deinit, 2), be_const_closure(class_zcl_attribute_deinit_closure) },
{ be_const_key_weak(setmember, 4), be_const_closure(class_zcl_attribute_setmember_closure) },
{ be_const_key_weak(member, -1), be_const_closure(class_zcl_attribute_member_closure) },
})),
be_str_weak(zcl_attribute)
);
// compact class 'zcl_attribute_list' ktab size: 27, total: 36 (saved 72 bytes)
static const bvalue be_ktab_class_zcl_attribute_list[27] = {
/* K0 */ be_nested_str_weak(groupaddr),
/* K1 */ be_nested_str_weak(_groupaddr),
/* K2 */ be_nested_str_weak(src_ep),
/* K3 */ be_nested_str_weak(_src_ep),
/* K4 */ be_nested_str_weak(lqi),
/* K5 */ be_nested_str_weak(_lqi),
/* K6 */ be_nested_str_weak(member),
/* K7 */ be_nested_str_weak(setmember),
/* K8 */ be_nested_str_weak(init),
/* K9 */ be_nested_str_weak(_init),
/* K10 */ be_nested_str_weak(ismapped),
/* K11 */ be_nested_str_weak(_deinit),
/* K12 */ be_nested_str_weak(json),
/* K13 */ be_nested_str_weak(shortaddr),
/* K14 */ be_nested_str_weak(push),
/* K15 */ be_nested_str_weak(_X22Device_X22_X3A_X220x_X2504X_X22),
/* K16 */ be_nested_str_weak(_X22Group_X22_X3A_X220x_X2504X_X22),
/* K17 */ be_const_int(0),
/* K18 */ be_nested_str_weak(size),
/* K19 */ be_nested_str_weak(tostring),
/* K20 */ be_const_int(1),
/* K21 */ be_nested_str_weak(_X22Endpoint_X22_X3A_X25s),
/* K22 */ be_nested_str_weak(_X22LinkQuality_X22_X3A_X25s),
/* K23 */ be_nested_str_weak(_X7B),
/* K24 */ be_nested_str_weak(concat),
/* K25 */ be_nested_str_weak(_X2C),
/* K26 */ be_nested_str_weak(_X7D),
};
extern const bclass be_class_zcl_attribute_list;
/********************************************************************
** Solidified function: member
********************************************************************/
be_local_closure(class_zcl_attribute_list_member, /* 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_zcl_attribute_list, /* shared constants */
be_str_weak(member),
&be_const_str_solidified,
( &(const binstruction[41]) { /* code */
0x1C080300, // 0000 EQ R2 R1 K0
0x780A0008, // 0001 JMPF R2 #000B
0x88080101, // 0002 GETMBR R2 R0 K1
0x540EFFFE, // 0003 LDINT R3 65535
0x200C0403, // 0004 NE R3 R2 R3
0x780E0001, // 0005 JMPF R3 #0008
0x5C0C0400, // 0006 MOVE R3 R2
0x70020000, // 0007 JMP #0009
0x4C0C0000, // 0008 LDNIL R3
0x80040600, // 0009 RET 1 R3
0x7002001C, // 000A JMP #0028
0x1C080302, // 000B EQ R2 R1 K2
0x780A0008, // 000C JMPF R2 #0016
0x88080103, // 000D GETMBR R2 R0 K3
0x540E00FE, // 000E LDINT R3 255
0x200C0403, // 000F NE R3 R2 R3
0x780E0001, // 0010 JMPF R3 #0013
0x5C0C0400, // 0011 MOVE R3 R2
0x70020000, // 0012 JMP #0014
0x4C0C0000, // 0013 LDNIL R3
0x80040600, // 0014 RET 1 R3
0x70020011, // 0015 JMP #0028
0x1C080304, // 0016 EQ R2 R1 K4
0x780A0008, // 0017 JMPF R2 #0021
0x88080105, // 0018 GETMBR R2 R0 K5
0x540E00FE, // 0019 LDINT R3 255
0x200C0403, // 001A NE R3 R2 R3
0x780E0001, // 001B JMPF R3 #001E
0x5C0C0400, // 001C MOVE R3 R2
0x70020000, // 001D JMP #001F
0x4C0C0000, // 001E LDNIL R3
0x80040600, // 001F RET 1 R3
0x70020006, // 0020 JMP #0028
0x60080003, // 0021 GETGBL R2 G3
0x5C0C0000, // 0022 MOVE R3 R0
0x7C080200, // 0023 CALL R2 1
0x8C080506, // 0024 GETMET R2 R2 K6
0x5C100200, // 0025 MOVE R4 R1
0x7C080400, // 0026 CALL R2 2
0x80040400, // 0027 RET 1 R2
0x80000000, // 0028 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: setmember
********************************************************************/
be_local_closure(class_zcl_attribute_list_setmember, /* 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_zcl_attribute_list, /* shared constants */
be_str_weak(setmember),
&be_const_str_solidified,
( &(const binstruction[38]) { /* code */
0x1C0C0300, // 0000 EQ R3 R1 K0
0x780E0007, // 0001 JMPF R3 #000A
0x4C0C0000, // 0002 LDNIL R3
0x200C0403, // 0003 NE R3 R2 R3
0x780E0001, // 0004 JMPF R3 #0007
0x5C0C0400, // 0005 MOVE R3 R2
0x70020000, // 0006 JMP #0008
0x540EFFFE, // 0007 LDINT R3 65535
0x90020203, // 0008 SETMBR R0 K1 R3
0x7002001A, // 0009 JMP #0025
0x1C0C0302, // 000A EQ R3 R1 K2
0x780E0007, // 000B JMPF R3 #0014
0x4C0C0000, // 000C LDNIL R3
0x200C0403, // 000D NE R3 R2 R3
0x780E0001, // 000E JMPF R3 #0011
0x5C0C0400, // 000F MOVE R3 R2
0x70020000, // 0010 JMP #0012
0x540E00FE, // 0011 LDINT R3 255
0x90020603, // 0012 SETMBR R0 K3 R3
0x70020010, // 0013 JMP #0025
0x1C0C0304, // 0014 EQ R3 R1 K4
0x780E0007, // 0015 JMPF R3 #001E
0x4C0C0000, // 0016 LDNIL R3
0x200C0403, // 0017 NE R3 R2 R3
0x780E0001, // 0018 JMPF R3 #001B
0x5C0C0400, // 0019 MOVE R3 R2
0x70020000, // 001A JMP #001C
0x540E00FE, // 001B LDINT R3 255
0x90020A03, // 001C SETMBR R0 K5 R3
0x70020006, // 001D JMP #0025
0x600C0003, // 001E GETGBL R3 G3
0x5C100000, // 001F MOVE R4 R0
0x7C0C0200, // 0020 CALL R3 1
0x8C0C0707, // 0021 GETMET R3 R3 K7
0x5C140200, // 0022 MOVE R5 R1
0x5C180400, // 0023 MOVE R6 R2
0x7C0C0600, // 0024 CALL R3 3
0x80000000, // 0025 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_zcl_attribute_list_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_zcl_attribute_list, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[12]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C080508, // 0003 GETMET R2 R2 K8
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x4C080000, // 0006 LDNIL R2
0x1C080202, // 0007 EQ R2 R1 R2
0x780A0001, // 0008 JMPF R2 #000B
0x8C080109, // 0009 GETMET R2 R0 K9
0x7C080200, // 000A CALL R2 1
0x80000000, // 000B RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: deinit
********************************************************************/
be_local_closure(class_zcl_attribute_list_deinit, /* 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_zcl_attribute_list, /* shared constants */
be_str_weak(deinit),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C04010A, // 0000 GETMET R1 R0 K10
0x7C040200, // 0001 CALL R1 1
0x74060001, // 0002 JMPT R1 #0005
0x8C04010B, // 0003 GETMET R1 R0 K11
0x7C040200, // 0004 CALL R1 1
0x80000000, // 0005 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_zcl_attribute_list_tostring, /* 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_zcl_attribute_list, /* shared constants */
be_str_weak(tostring),
&be_const_str_solidified,
( &(const binstruction[62]) { /* code */
0xA4061800, // 0000 IMPORT R1 K12
0x60080012, // 0001 GETGBL R2 G18
0x7C080000, // 0002 CALL R2 0
0x4C0C0000, // 0003 LDNIL R3
0x880C010D, // 0004 GETMBR R3 R0 K13
0x4C100000, // 0005 LDNIL R4
0x20100604, // 0006 NE R4 R3 R4
0x78120005, // 0007 JMPF R4 #000E
0x8C10050E, // 0008 GETMET R4 R2 K14
0x60180018, // 0009 GETGBL R6 G24
0x581C000F, // 000A LDCONST R7 K15
0x5C200600, // 000B MOVE R8 R3
0x7C180400, // 000C CALL R6 2
0x7C100400, // 000D CALL R4 2
0x880C0100, // 000E GETMBR R3 R0 K0
0x4C100000, // 000F LDNIL R4
0x20100604, // 0010 NE R4 R3 R4
0x78120005, // 0011 JMPF R4 #0018
0x8C10050E, // 0012 GETMET R4 R2 K14
0x60180018, // 0013 GETGBL R6 G24
0x581C0010, // 0014 LDCONST R7 K16
0x5C200600, // 0015 MOVE R8 R3
0x7C180400, // 0016 CALL R6 2
0x7C100400, // 0017 CALL R4 2
0x58100011, // 0018 LDCONST R4 K17
0x8C140112, // 0019 GETMET R5 R0 K18
0x7C140200, // 001A CALL R5 1
0x14180805, // 001B LT R6 R4 R5
0x781A0006, // 001C JMPF R6 #0024
0x8C18050E, // 001D GETMET R6 R2 K14
0x94200004, // 001E GETIDX R8 R0 R4
0x8C201113, // 001F GETMET R8 R8 K19
0x7C200200, // 0020 CALL R8 1
0x7C180400, // 0021 CALL R6 2
0x00100914, // 0022 ADD R4 R4 K20
0x7001FFF6, // 0023 JMP #001B
0x880C0102, // 0024 GETMBR R3 R0 K2
0x4C180000, // 0025 LDNIL R6
0x20180606, // 0026 NE R6 R3 R6
0x781A0005, // 0027 JMPF R6 #002E
0x8C18050E, // 0028 GETMET R6 R2 K14
0x60200018, // 0029 GETGBL R8 G24
0x58240015, // 002A LDCONST R9 K21
0x5C280600, // 002B MOVE R10 R3
0x7C200400, // 002C CALL R8 2
0x7C180400, // 002D CALL R6 2
0x880C0104, // 002E GETMBR R3 R0 K4
0x4C180000, // 002F LDNIL R6
0x20180606, // 0030 NE R6 R3 R6
0x781A0005, // 0031 JMPF R6 #0038
0x8C18050E, // 0032 GETMET R6 R2 K14
0x60200018, // 0033 GETGBL R8 G24
0x58240016, // 0034 LDCONST R9 K22
0x5C280600, // 0035 MOVE R10 R3
0x7C200400, // 0036 CALL R8 2
0x7C180400, // 0037 CALL R6 2
0x8C180518, // 0038 GETMET R6 R2 K24
0x58200019, // 0039 LDCONST R8 K25
0x7C180400, // 003A CALL R6 2
0x001A2E06, // 003B ADD R6 K23 R6
0x00180D1A, // 003C ADD R6 R6 K26
0x80040C00, // 003D RET 1 R6
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: zcl_attribute_list
********************************************************************/
extern const bclass be_class_zcl_attribute_list_ntv;
be_local_class(zcl_attribute_list,
1,
&be_class_zcl_attribute_list_ntv,
be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(shortaddr, -1), be_const_var(0) },
{ be_const_key_weak(member, 2), be_const_closure(class_zcl_attribute_list_member_closure) },
{ be_const_key_weak(tostring, 5), be_const_closure(class_zcl_attribute_list_tostring_closure) },
{ be_const_key_weak(init, -1), be_const_closure(class_zcl_attribute_list_init_closure) },
{ be_const_key_weak(deinit, -1), be_const_closure(class_zcl_attribute_list_deinit_closure) },
{ be_const_key_weak(setmember, -1), be_const_closure(class_zcl_attribute_list_setmember_closure) },
})),
be_str_weak(zcl_attribute_list)
);
/********************************************************************/
/* End of solidification */

View File

@ -1,220 +0,0 @@
/* Solidification of zigbee_zcl_frame.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
// compact class 'zcl_frame' ktab size: 12, total: 16 (saved 32 bytes)
static const bvalue be_ktab_class_zcl_frame[12] = {
/* K0 */ be_nested_str_weak(payload),
/* K1 */ be_nested_str_weak(_get_bytes),
/* K2 */ be_nested_str_weak(payload_ptr),
/* K3 */ be_nested_str_weak(member),
/* K4 */ be_nested_str_weak(_set_bytes),
/* K5 */ be_nested_str_weak(setmember),
/* K6 */ be_nested_str_weak(init),
/* K7 */ be_nested_str_weak(no_bytes),
/* K8 */ be_nested_str_weak(tomap),
/* K9 */ be_nested_str_weak(shortaddr_hex),
/* K10 */ be_nested_str_weak(0x_X2504X),
/* K11 */ be_nested_str_weak(shortaddr),
};
extern const bclass be_class_zcl_frame;
/********************************************************************
** Solidified function: member
********************************************************************/
be_local_closure(class_zcl_frame_member, /* 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_zcl_frame, /* shared constants */
be_str_weak(member),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0x1C080300, // 0000 EQ R2 R1 K0
0x780A0004, // 0001 JMPF R2 #0007
0x8C080101, // 0002 GETMET R2 R0 K1
0x88100102, // 0003 GETMBR R4 R0 K2
0x7C080400, // 0004 CALL R2 2
0x80040400, // 0005 RET 1 R2
0x70020006, // 0006 JMP #000E
0x60080003, // 0007 GETGBL R2 G3
0x5C0C0000, // 0008 MOVE R3 R0
0x7C080200, // 0009 CALL R2 1
0x8C080503, // 000A GETMET R2 R2 K3
0x5C100200, // 000B MOVE R4 R1
0x7C080400, // 000C CALL R2 2
0x80040400, // 000D RET 1 R2
0x80000000, // 000E RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: setmember
********************************************************************/
be_local_closure(class_zcl_frame_setmember, /* 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_zcl_frame, /* shared constants */
be_str_weak(setmember),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0x1C0C0300, // 0000 EQ R3 R1 K0
0x780E0005, // 0001 JMPF R3 #0008
0x8C0C0104, // 0002 GETMET R3 R0 K4
0x88140102, // 0003 GETMBR R5 R0 K2
0x5C180400, // 0004 MOVE R6 R2
0x7C0C0600, // 0005 CALL R3 3
0x80040600, // 0006 RET 1 R3
0x70020007, // 0007 JMP #0010
0x600C0003, // 0008 GETGBL R3 G3
0x5C100000, // 0009 MOVE R4 R0
0x7C0C0200, // 000A CALL R3 1
0x8C0C0705, // 000B GETMET R3 R3 K5
0x5C140200, // 000C MOVE R5 R1
0x5C180400, // 000D MOVE R6 R2
0x7C0C0600, // 000E CALL R3 3
0x80040600, // 000F RET 1 R3
0x80000000, // 0010 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_zcl_frame_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_zcl_frame, /* shared constants */
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0x60080003, // 0000 GETGBL R2 G3
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x8C080506, // 0003 GETMET R2 R2 K6
0x5C100200, // 0004 MOVE R4 R1
0x7C080400, // 0005 CALL R2 2
0x60080015, // 0006 GETGBL R2 G21
0x7C080000, // 0007 CALL R2 0
0x90020E02, // 0008 SETMBR R0 K7 R2
0x80000000, // 0009 RET 0
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: tomap
********************************************************************/
be_local_closure(class_zcl_frame_tomap, /* 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_zcl_frame, /* shared constants */
be_str_weak(tomap),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
0x60040003, // 0000 GETGBL R1 G3
0x5C080000, // 0001 MOVE R2 R0
0x7C040200, // 0002 CALL R1 1
0x8C040308, // 0003 GETMET R1 R1 K8
0x7C040200, // 0004 CALL R1 1
0x60080018, // 0005 GETGBL R2 G24
0x580C000A, // 0006 LDCONST R3 K10
0x8810010B, // 0007 GETMBR R4 R0 K11
0x7C080400, // 0008 CALL R2 2
0x98061202, // 0009 SETIDX R1 K9 R2
0x88080100, // 000A GETMBR R2 R0 K0
0x98060002, // 000B SETIDX R1 K0 R2
0x80040200, // 000C RET 1 R1
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_zcl_frame_tostring, /* 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_zcl_frame, /* shared constants */
be_str_weak(tostring),
&be_const_str_solidified,
( &(const binstruction[ 6]) { /* code */
0x8C040108, // 0000 GETMET R1 R0 K8
0x7C040200, // 0001 CALL R1 1
0x60080008, // 0002 GETGBL R2 G8
0x5C0C0200, // 0003 MOVE R3 R1
0x7C080200, // 0004 CALL R2 1
0x80040400, // 0005 RET 1 R2
})
)
);
/*******************************************************************/
/********************************************************************
** Solidified class: zcl_frame
********************************************************************/
extern const bclass be_class_zcl_frame_ntv;
be_local_class(zcl_frame,
1,
&be_class_zcl_frame_ntv,
be_nested_map(6,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(no_bytes, -1), be_const_var(0) },
{ be_const_key_weak(member, 2), be_const_closure(class_zcl_frame_member_closure) },
{ be_const_key_weak(tostring, 5), be_const_closure(class_zcl_frame_tostring_closure) },
{ be_const_key_weak(init, -1), be_const_closure(class_zcl_frame_init_closure) },
{ be_const_key_weak(tomap, -1), be_const_closure(class_zcl_frame_tomap_closure) },
{ be_const_key_weak(setmember, -1), be_const_closure(class_zcl_frame_setmember_closure) },
})),
be_str_weak(zcl_frame)
);
/********************************************************************/
/* End of solidification */