mirror of https://github.com/arendst/Tasmota.git
Merge pull request #12521 from s-hadinger/fix_button
Berry fix button handlers
This commit is contained in:
commit
88c2d369d8
|
@ -13,6 +13,9 @@
|
|||
var web_add_handler
|
||||
var web_add_button
|
||||
var web_add_main_button
|
||||
var web_add_management_button
|
||||
var web_add_config_button
|
||||
var web_add_console_button
|
||||
var save_before_restart
|
||||
var web_sensor
|
||||
var json_append
|
||||
|
@ -126,6 +129,9 @@ void be_load_driverlib(bvm *vm) {
|
|||
{ "web_add_handler", NULL },
|
||||
{ "web_add_button", NULL },
|
||||
{ "web_add_main_button", NULL },
|
||||
{ "web_add_management_button", NULL },
|
||||
{ "web_add_config_button", NULL },
|
||||
{ "web_add_console_button", NULL },
|
||||
{ "save_before_restart", NULL },
|
||||
{ "web_sensor", NULL },
|
||||
{ "json_append", NULL },
|
||||
|
@ -153,6 +159,9 @@ class be_class_tasmota_driver (scope: global, name: Driver) {
|
|||
web_add_handler, var
|
||||
web_add_button, var
|
||||
web_add_main_button, var
|
||||
web_add_management_button, var
|
||||
web_add_config_button, var
|
||||
web_add_console_button, var
|
||||
save_before_restart, var
|
||||
web_sensor, var
|
||||
json_append, var
|
||||
|
|
|
@ -1458,205 +1458,205 @@ be_local_closure(gc, /* name */
|
|||
/********************************************************************
|
||||
** Solidified function: event
|
||||
********************************************************************/
|
||||
|
||||
/********** Solidified proto: event */
|
||||
be_define_local_const_str(event_str_name, "event", -30355297, 5);
|
||||
be_define_local_const_str(event_str_source, "input", -103256197, 5);
|
||||
be_define_local_const_str(event_str_0, "cmd", -158181397, 3);
|
||||
be_define_local_const_str(event_str_1, "exec_cmd", 493567399, 8);
|
||||
be_define_local_const_str(event_str_2, "rule", -64077613, 4);
|
||||
be_define_local_const_str(event_str_3, "exec_rules", 1445221092, 10);
|
||||
be_define_local_const_str(event_str_4, "mqtt_data", -1756753932, 9);
|
||||
be_define_local_const_str(event_str_5, "gc", 1042313471, 2);
|
||||
be_define_local_const_str(event_str_6, "every_50ms", -1911083288, 10);
|
||||
be_define_local_const_str(event_str_7, "run_deferred", 371594696, 12);
|
||||
be_define_local_const_str(event_str_8, "_drivers", -1034638311, 8);
|
||||
be_define_local_const_str(event_str_9, "every_second", 2075451465, 12);
|
||||
be_define_local_const_str(event_str_10, "every_100ms", 1546407804, 11);
|
||||
be_define_local_const_str(event_str_11, "web_add_button", -757092238, 14);
|
||||
be_define_local_const_str(event_str_12, "web_add_main_button", -334599632, 19);
|
||||
be_define_local_const_str(event_str_13, "save_before_restart", 1253239338, 19);
|
||||
be_define_local_const_str(event_str_14, "web_add_handler", -304792334, 15);
|
||||
be_define_local_const_str(event_str_15, "web_sensor", -1394870324, 10);
|
||||
be_define_local_const_str(event_str_16, "json_append", -1292948012, 11);
|
||||
be_define_local_const_str(event_str_17, "button_pressed", 1694209616, 14);
|
||||
be_define_local_const_str(event_str_18, "display", 1164572437, 7);
|
||||
be_define_local_const_str(event_str_19, "string", 398550328, 6);
|
||||
be_define_local_const_str(event_str_20, "log", 1062293841, 3);
|
||||
be_define_local_const_str(event_str_21, "format", -1180859054, 6);
|
||||
be_define_local_const_str(event_str_22, "BRY: exception %s - %m", -1290966132, 22);
|
||||
be_define_local_const_str(event_str_24, "stop_iteration", -121173395, 14);
|
||||
|
||||
static const bvalue event_ktab[25] = {
|
||||
{ { .s=be_local_const_str(event_str_0) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_1) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_2) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_3) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_4) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_5) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_6) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_7) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_8) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_9) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_10) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_11) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_12) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_13) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_14) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_15) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_16) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_17) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_18) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_19) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_20) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_21) }, BE_STRING},
|
||||
{ { .s=be_local_const_str(event_str_22) }, BE_STRING},
|
||||
{ { .i=3 }, BE_INT},
|
||||
{ { .s=be_local_const_str(event_str_24) }, BE_STRING},
|
||||
};
|
||||
|
||||
static const uint32_t event_code[136] = {
|
||||
0x1C140300, // 0000 EQ R5 R1 R256
|
||||
0x78160006, // 0001 JMPF R5 #0009
|
||||
0x8C140101, // 0002 GETMET R5 R0 R257
|
||||
0x5C1C0400, // 0003 MOVE R7 R2
|
||||
0x5C200600, // 0004 MOVE R8 R3
|
||||
0x5C240800, // 0005 MOVE R9 R4
|
||||
0x7C140800, // 0006 CALL R5 4
|
||||
0x80040A00, // 0007 RET 1 R5
|
||||
0x7002007D, // 0008 JMP #0087
|
||||
0x1C140302, // 0009 EQ R5 R1 R258
|
||||
0x78160004, // 000A JMPF R5 #0010
|
||||
0x8C140103, // 000B GETMET R5 R0 R259
|
||||
0x5C1C0800, // 000C MOVE R7 R4
|
||||
0x7C140400, // 000D CALL R5 2
|
||||
0x80040A00, // 000E RET 1 R5
|
||||
0x70020076, // 000F JMP #0087
|
||||
0x1C140304, // 0010 EQ R5 R1 R260
|
||||
0x78160002, // 0011 JMPF R5 #0015
|
||||
0x4C140000, // 0012 LDNIL 5
|
||||
0x80040A00, // 0013 RET 1 R5
|
||||
0x70020071, // 0014 JMP #0087
|
||||
0x1C140305, // 0015 EQ R5 R1 R261
|
||||
0x78160003, // 0016 JMPF R5 #001B
|
||||
0x8C140105, // 0017 GETMET R5 R0 R261
|
||||
0x7C140200, // 0018 CALL R5 1
|
||||
0x80040A00, // 0019 RET 1 R5
|
||||
0x7002006B, // 001A JMP #0087
|
||||
0x1C140306, // 001B EQ R5 R1 R262
|
||||
0x78160003, // 001C JMPF R5 #0021
|
||||
0x8C140107, // 001D GETMET R5 R0 R263
|
||||
0x7C140200, // 001E CALL R5 1
|
||||
0x80040A00, // 001F RET 1 R5
|
||||
0x70020065, // 0020 JMP #0087
|
||||
0x88140108, // 0021 GETMBR R5 R0 R264
|
||||
0x78160063, // 0022 JMPF R5 #0087
|
||||
0x60140000, // 0023 GETGBL R5 G0
|
||||
0x88180108, // 0024 GETMBR R6 R0 R264
|
||||
0x7C140200, // 0025 CALL R5 1
|
||||
0xA802005C, // 0026 EXBLK 0 #0084
|
||||
0x5C180A00, // 0027 MOVE R6 R5
|
||||
0x7C180000, // 0028 CALL R6 0
|
||||
0xA802004D, // 0029 EXBLK 0 #0078
|
||||
0x1C1C0309, // 002A EQ R7 R1 R265
|
||||
0x781E0004, // 002B JMPF R7 #0031
|
||||
0x881C0D09, // 002C GETMBR R7 R6 R265
|
||||
0x781E0002, // 002D JMPF R7 #0031
|
||||
0x8C1C0D09, // 002E GETMET R7 R6 R265
|
||||
0x7C1C0200, // 002F CALL R7 1
|
||||
0x70020044, // 0030 JMP #0076
|
||||
0x1C1C030A, // 0031 EQ R7 R1 R266
|
||||
0x781E0004, // 0032 JMPF R7 #0038
|
||||
0x881C0D0A, // 0033 GETMBR R7 R6 R266
|
||||
0x781E0002, // 0034 JMPF R7 #0038
|
||||
0x8C1C0D0A, // 0035 GETMET R7 R6 R266
|
||||
0x7C1C0200, // 0036 CALL R7 1
|
||||
0x7002003D, // 0037 JMP #0076
|
||||
0x1C1C030B, // 0038 EQ R7 R1 R267
|
||||
0x781E0004, // 0039 JMPF R7 #003F
|
||||
0x881C0D0B, // 003A GETMBR R7 R6 R267
|
||||
0x781E0002, // 003B JMPF R7 #003F
|
||||
0x8C1C0D0B, // 003C GETMET R7 R6 R267
|
||||
0x7C1C0200, // 003D CALL R7 1
|
||||
0x70020036, // 003E JMP #0076
|
||||
0x1C1C030C, // 003F EQ R7 R1 R268
|
||||
0x781E0004, // 0040 JMPF R7 #0046
|
||||
0x881C0D0C, // 0041 GETMBR R7 R6 R268
|
||||
0x781E0002, // 0042 JMPF R7 #0046
|
||||
0x8C1C0D0C, // 0043 GETMET R7 R6 R268
|
||||
0x7C1C0200, // 0044 CALL R7 1
|
||||
0x7002002F, // 0045 JMP #0076
|
||||
0x1C1C030D, // 0046 EQ R7 R1 R269
|
||||
0x781E0004, // 0047 JMPF R7 #004D
|
||||
0x881C0D0D, // 0048 GETMBR R7 R6 R269
|
||||
0x781E0002, // 0049 JMPF R7 #004D
|
||||
0x8C1C0D0D, // 004A GETMET R7 R6 R269
|
||||
0x7C1C0200, // 004B CALL R7 1
|
||||
0x70020028, // 004C JMP #0076
|
||||
0x1C1C030E, // 004D EQ R7 R1 R270
|
||||
0x781E0004, // 004E JMPF R7 #0054
|
||||
0x881C0D0E, // 004F GETMBR R7 R6 R270
|
||||
0x781E0002, // 0050 JMPF R7 #0054
|
||||
0x8C1C0D0E, // 0051 GETMET R7 R6 R270
|
||||
0x7C1C0200, // 0052 CALL R7 1
|
||||
0x70020021, // 0053 JMP #0076
|
||||
0x1C1C030F, // 0054 EQ R7 R1 R271
|
||||
0x781E0004, // 0055 JMPF R7 #005B
|
||||
0x881C0D0F, // 0056 GETMBR R7 R6 R271
|
||||
0x781E0002, // 0057 JMPF R7 #005B
|
||||
0x8C1C0D0F, // 0058 GETMET R7 R6 R271
|
||||
0x7C1C0200, // 0059 CALL R7 1
|
||||
0x7002001A, // 005A JMP #0076
|
||||
0x1C1C0310, // 005B EQ R7 R1 R272
|
||||
0x781E0004, // 005C JMPF R7 #0062
|
||||
0x881C0D10, // 005D GETMBR R7 R6 R272
|
||||
0x781E0002, // 005E JMPF R7 #0062
|
||||
0x8C1C0D10, // 005F GETMET R7 R6 R272
|
||||
0x7C1C0200, // 0060 CALL R7 1
|
||||
0x70020013, // 0061 JMP #0076
|
||||
0x1C1C0311, // 0062 EQ R7 R1 R273
|
||||
0x781E0004, // 0063 JMPF R7 #0069
|
||||
0x881C0D11, // 0064 GETMBR R7 R6 R273
|
||||
0x781E0002, // 0065 JMPF R7 #0069
|
||||
0x8C1C0D11, // 0066 GETMET R7 R6 R273
|
||||
0x7C1C0200, // 0067 CALL R7 1
|
||||
0x7002000C, // 0068 JMP #0076
|
||||
0x1C1C030E, // 0069 EQ R7 R1 R270
|
||||
0x781E0004, // 006A JMPF R7 #0070
|
||||
0x881C0D12, // 006B GETMBR R7 R6 R274
|
||||
0x781E0002, // 006C JMPF R7 #0070
|
||||
0x8C1C0D12, // 006D GETMET R7 R6 R274
|
||||
0x7C1C0200, // 006E CALL R7 1
|
||||
0x70020005, // 006F JMP #0076
|
||||
0x1C1C0312, // 0070 EQ R7 R1 R274
|
||||
0x781E0003, // 0071 JMPF R7 #0076
|
||||
0x881C0D12, // 0072 GETMBR R7 R6 R274
|
||||
0x781E0001, // 0073 JMPF R7 #0076
|
||||
0x8C1C0D12, // 0074 GETMET R7 R6 R274
|
||||
0x7C1C0200, // 0075 CALL R7 1
|
||||
0xA8040001, // 0076 EXBLK 1 1
|
||||
0x7002000A, // 0077 JMP #0083
|
||||
0xAC1C0002, // 0078 CATCH R7 0 2
|
||||
0x70020007, // 0079 JMP #0082
|
||||
0xA4262600, // 007A IMPORT R9 R275
|
||||
0x8C280114, // 007B GETMET R10 R0 R276
|
||||
0x8C301315, // 007C GETMET R12 R9 R277
|
||||
0x58380016, // 007D LDCONST R14 K22
|
||||
0x583C0017, // 007E LDCONST R15 K23
|
||||
0x7C300600, // 007F CALL R12 3
|
||||
0x7C280400, // 0080 CALL R10 2
|
||||
0x70020000, // 0081 JMP #0083
|
||||
0xB0080000, // 0082 RAISE 2 R0 R0
|
||||
0x7001FFA2, // 0083 JMP #0027
|
||||
0x58140018, // 0084 LDCONST R5 K24
|
||||
0xAC140200, // 0085 CATCH R5 1 0
|
||||
0xB0080000, // 0086 RAISE 2 R0 R0
|
||||
0x80000000, // 0087 RET 0 R0
|
||||
};
|
||||
|
||||
be_define_local_proto(event, 16, 5, 1, 0, 0);
|
||||
be_define_local_closure(event);
|
||||
|
||||
be_local_closure(event, /* name */
|
||||
be_nested_proto(
|
||||
16, /* nstack */
|
||||
5, /* argc */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[29]) { /* upvals */
|
||||
{ { .s=be_nested_const_str("cmd", -158181397, 3) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("exec_cmd", 493567399, 8) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("rule", -64077613, 4) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("exec_rules", 1445221092, 10) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("mqtt_data", -1756753932, 9) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("gc", 1042313471, 2) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("every_50ms", -1911083288, 10) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("run_deferred", 371594696, 12) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("_drivers", -1034638311, 8) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("every_second", 2075451465, 12) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("every_100ms", 1546407804, 11) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("web_add_button", -757092238, 14) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("web_add_main_button", -334599632, 19) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("web_add_management_button", -1556090110, 25) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("web_add_config_button", 639674325, 21) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("web_add_console_button", -813531104, 22) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("save_before_restart", 1253239338, 19) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("web_add_handler", -304792334, 15) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("web_sensor", -1394870324, 10) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("json_append", -1292948012, 11) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("button_pressed", 1694209616, 14) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("button_preselif", 491115394, 15) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("display", 1164572437, 7) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("string", 398550328, 6) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("log", 1062293841, 3) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("format", -1180859054, 6) }, BE_STRING},
|
||||
{ { .s=be_nested_const_str("BRY: exception %s - %m", -1290966132, 22) }, BE_STRING},
|
||||
{ { .i=3 }, BE_INT},
|
||||
{ { .s=be_nested_const_str("stop_iteration", -121173395, 14) }, BE_STRING},
|
||||
}),
|
||||
(be_nested_const_str("event", -30355297, 5)),
|
||||
(be_nested_const_str("input", -103256197, 5)),
|
||||
( &(const binstruction[153]) { /* code */
|
||||
0x1C140300, // 0000 EQ R5 R1 R256
|
||||
0x78160006, // 0001 JMPF R5 #0009
|
||||
0x8C140101, // 0002 GETMET R5 R0 R257
|
||||
0x5C1C0400, // 0003 MOVE R7 R2
|
||||
0x5C200600, // 0004 MOVE R8 R3
|
||||
0x5C240800, // 0005 MOVE R9 R4
|
||||
0x7C140800, // 0006 CALL R5 4
|
||||
0x80040A00, // 0007 RET 1 R5
|
||||
0x7002008E, // 0008 JMP #0098
|
||||
0x1C140302, // 0009 EQ R5 R1 R258
|
||||
0x78160004, // 000A JMPF R5 #0010
|
||||
0x8C140103, // 000B GETMET R5 R0 R259
|
||||
0x5C1C0800, // 000C MOVE R7 R4
|
||||
0x7C140400, // 000D CALL R5 2
|
||||
0x80040A00, // 000E RET 1 R5
|
||||
0x70020087, // 000F JMP #0098
|
||||
0x1C140304, // 0010 EQ R5 R1 R260
|
||||
0x78160002, // 0011 JMPF R5 #0015
|
||||
0x4C140000, // 0012 LDNIL 5
|
||||
0x80040A00, // 0013 RET 1 R5
|
||||
0x70020082, // 0014 JMP #0098
|
||||
0x1C140305, // 0015 EQ R5 R1 R261
|
||||
0x78160003, // 0016 JMPF R5 #001B
|
||||
0x8C140105, // 0017 GETMET R5 R0 R261
|
||||
0x7C140200, // 0018 CALL R5 1
|
||||
0x80040A00, // 0019 RET 1 R5
|
||||
0x7002007C, // 001A JMP #0098
|
||||
0x1C140306, // 001B EQ R5 R1 R262
|
||||
0x78160003, // 001C JMPF R5 #0021
|
||||
0x8C140107, // 001D GETMET R5 R0 R263
|
||||
0x7C140200, // 001E CALL R5 1
|
||||
0x80040A00, // 001F RET 1 R5
|
||||
0x70020076, // 0020 JMP #0098
|
||||
0x88140108, // 0021 GETMBR R5 R0 R264
|
||||
0x78160074, // 0022 JMPF R5 #0098
|
||||
0x60140000, // 0023 GETGBL R5 G0
|
||||
0x88180108, // 0024 GETMBR R6 R0 R264
|
||||
0x7C140200, // 0025 CALL R5 1
|
||||
0xA802006D, // 0026 EXBLK 0 #0095
|
||||
0x5C180A00, // 0027 MOVE R6 R5
|
||||
0x7C180000, // 0028 CALL R6 0
|
||||
0xA802005E, // 0029 EXBLK 0 #0089
|
||||
0x1C1C0309, // 002A EQ R7 R1 R265
|
||||
0x781E0004, // 002B JMPF R7 #0031
|
||||
0x881C0D09, // 002C GETMBR R7 R6 R265
|
||||
0x781E0002, // 002D JMPF R7 #0031
|
||||
0x8C1C0D09, // 002E GETMET R7 R6 R265
|
||||
0x7C1C0200, // 002F CALL R7 1
|
||||
0x70020055, // 0030 JMP #0087
|
||||
0x1C1C030A, // 0031 EQ R7 R1 R266
|
||||
0x781E0004, // 0032 JMPF R7 #0038
|
||||
0x881C0D0A, // 0033 GETMBR R7 R6 R266
|
||||
0x781E0002, // 0034 JMPF R7 #0038
|
||||
0x8C1C0D0A, // 0035 GETMET R7 R6 R266
|
||||
0x7C1C0200, // 0036 CALL R7 1
|
||||
0x7002004E, // 0037 JMP #0087
|
||||
0x1C1C030B, // 0038 EQ R7 R1 R267
|
||||
0x781E0004, // 0039 JMPF R7 #003F
|
||||
0x881C0D0B, // 003A GETMBR R7 R6 R267
|
||||
0x781E0002, // 003B JMPF R7 #003F
|
||||
0x8C1C0D0B, // 003C GETMET R7 R6 R267
|
||||
0x7C1C0200, // 003D CALL R7 1
|
||||
0x70020047, // 003E JMP #0087
|
||||
0x1C1C030C, // 003F EQ R7 R1 R268
|
||||
0x781E0004, // 0040 JMPF R7 #0046
|
||||
0x881C0D0C, // 0041 GETMBR R7 R6 R268
|
||||
0x781E0002, // 0042 JMPF R7 #0046
|
||||
0x8C1C0D0C, // 0043 GETMET R7 R6 R268
|
||||
0x7C1C0200, // 0044 CALL R7 1
|
||||
0x70020040, // 0045 JMP #0087
|
||||
0x1C1C030D, // 0046 EQ R7 R1 R269
|
||||
0x781E0004, // 0047 JMPF R7 #004D
|
||||
0x881C0D0D, // 0048 GETMBR R7 R6 R269
|
||||
0x781E0002, // 0049 JMPF R7 #004D
|
||||
0x8C1C0D0D, // 004A GETMET R7 R6 R269
|
||||
0x7C1C0200, // 004B CALL R7 1
|
||||
0x70020039, // 004C JMP #0087
|
||||
0x1C1C030E, // 004D EQ R7 R1 R270
|
||||
0x781E0004, // 004E JMPF R7 #0054
|
||||
0x881C0D0E, // 004F GETMBR R7 R6 R270
|
||||
0x781E0002, // 0050 JMPF R7 #0054
|
||||
0x8C1C0D0E, // 0051 GETMET R7 R6 R270
|
||||
0x7C1C0200, // 0052 CALL R7 1
|
||||
0x70020032, // 0053 JMP #0087
|
||||
0x1C1C030F, // 0054 EQ R7 R1 R271
|
||||
0x781E0004, // 0055 JMPF R7 #005B
|
||||
0x881C0D0F, // 0056 GETMBR R7 R6 R271
|
||||
0x781E0002, // 0057 JMPF R7 #005B
|
||||
0x8C1C0D0F, // 0058 GETMET R7 R6 R271
|
||||
0x7C1C0200, // 0059 CALL R7 1
|
||||
0x7002002B, // 005A JMP #0087
|
||||
0x1C1C0310, // 005B EQ R7 R1 R272
|
||||
0x781E0004, // 005C JMPF R7 #0062
|
||||
0x881C0D10, // 005D GETMBR R7 R6 R272
|
||||
0x781E0002, // 005E JMPF R7 #0062
|
||||
0x8C1C0D10, // 005F GETMET R7 R6 R272
|
||||
0x7C1C0200, // 0060 CALL R7 1
|
||||
0x70020024, // 0061 JMP #0087
|
||||
0x1C1C0311, // 0062 EQ R7 R1 R273
|
||||
0x781E0004, // 0063 JMPF R7 #0069
|
||||
0x881C0D11, // 0064 GETMBR R7 R6 R273
|
||||
0x781E0002, // 0065 JMPF R7 #0069
|
||||
0x8C1C0D11, // 0066 GETMET R7 R6 R273
|
||||
0x7C1C0200, // 0067 CALL R7 1
|
||||
0x7002001D, // 0068 JMP #0087
|
||||
0x1C1C0312, // 0069 EQ R7 R1 R274
|
||||
0x781E0004, // 006A JMPF R7 #0070
|
||||
0x881C0D12, // 006B GETMBR R7 R6 R274
|
||||
0x781E0002, // 006C JMPF R7 #0070
|
||||
0x8C1C0D12, // 006D GETMET R7 R6 R274
|
||||
0x7C1C0200, // 006E CALL R7 1
|
||||
0x70020016, // 006F JMP #0087
|
||||
0x1C1C0313, // 0070 EQ R7 R1 R275
|
||||
0x781E0004, // 0071 JMPF R7 #0077
|
||||
0x881C0D13, // 0072 GETMBR R7 R6 R275
|
||||
0x781E0002, // 0073 JMPF R7 #0077
|
||||
0x8C1C0D13, // 0074 GETMET R7 R6 R275
|
||||
0x7C1C0200, // 0075 CALL R7 1
|
||||
0x7002000F, // 0076 JMP #0087
|
||||
0x1C1C0314, // 0077 EQ R7 R1 R276
|
||||
0x781E0007, // 0078 JMPF R7 #0081
|
||||
0x881C0D14, // 0079 GETMBR R7 R6 R276
|
||||
0x781E0005, // 007A JMPF R7 #0081
|
||||
0x1C1C0311, // 007B EQ R7 R1 R273
|
||||
0x781DFFFE, // 007C JMPF R7 #007C
|
||||
0x881C0D16, // 007D GETMBR R7 R6 R278
|
||||
0x8C1C0D16, // 007E GETMET R7 R6 R278
|
||||
0x7C1C0200, // 007F CALL R7 1
|
||||
0x70020005, // 0080 JMP #0087
|
||||
0x1C1C0316, // 0081 EQ R7 R1 R278
|
||||
0x781E0003, // 0082 JMPF R7 #0087
|
||||
0x881C0D16, // 0083 GETMBR R7 R6 R278
|
||||
0x781E0001, // 0084 JMPF R7 #0087
|
||||
0x8C1C0D16, // 0085 GETMET R7 R6 R278
|
||||
0x7C1C0200, // 0086 CALL R7 1
|
||||
0xA8040001, // 0087 EXBLK 1 1
|
||||
0x7002000A, // 0088 JMP #0094
|
||||
0xAC1C0002, // 0089 CATCH R7 0 2
|
||||
0x70020007, // 008A JMP #0093
|
||||
0xA4262E00, // 008B IMPORT R9 R279
|
||||
0x8C280118, // 008C GETMET R10 R0 R280
|
||||
0x8C301319, // 008D GETMET R12 R9 R281
|
||||
0x5838001A, // 008E LDCONST R14 K26
|
||||
0x583C001B, // 008F LDCONST R15 K27
|
||||
0x7C300600, // 0090 CALL R12 3
|
||||
0x7C280400, // 0091 CALL R10 2
|
||||
0x70020000, // 0092 JMP #0094
|
||||
0xB0080000, // 0093 RAISE 2 R0 R0
|
||||
0x7001FF91, // 0094 JMP #0027
|
||||
0x5814001C, // 0095 LDCONST R5 K28
|
||||
0xAC140200, // 0096 CATCH R5 1 0
|
||||
0xB0080000, // 0097 RAISE 2 R0 R0
|
||||
0x80000000, // 0098 RET 0 R0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
/********************************************************************
|
||||
|
|
|
@ -47,17 +47,20 @@ class Tasmota2 : Tasmota
|
|||
elif self._drivers
|
||||
for d:self._drivers
|
||||
try
|
||||
if type=='every_second' && d.every_second d.every_second()
|
||||
elif type=='every_100ms' && d.every_100ms d.every_100ms()
|
||||
elif type=='web_add_button' && d.web_add_button d.web_add_button()
|
||||
elif type=='web_add_main_button' && d.web_add_main_button d.web_add_main_button()
|
||||
elif type=='save_before_restart' && d.save_before_restart d.save_before_restart()
|
||||
elif type=='web_add_handler' && d.web_add_handler d.web_add_handler()
|
||||
elif type=='web_sensor' && d.web_sensor d.web_sensor()
|
||||
elif type=='json_append' && d.json_append d.json_append()
|
||||
elif type=='button_pressed' && d.button_pressed d.button_pressed()
|
||||
elif type=='web_add_handler' && d.display d.display()
|
||||
elif type=='display' && d.display d.display()
|
||||
if type=='every_second' && d.every_second d.every_second()
|
||||
elif type=='every_100ms' && d.every_100ms d.every_100ms()
|
||||
elif type=='web_add_button' && d.web_add_button d.web_add_button()
|
||||
elif type=='web_add_main_button' && d.web_add_main_button d.web_add_main_button()
|
||||
elif type=='web_add_management_button' && d.web_add_management_button d.web_add_management_button()
|
||||
elif type=='web_add_config_button' && d.web_add_config_button d.web_add_config_button()
|
||||
elif type=='web_add_console_button' && d.web_add_console_button d.web_add_console_button()
|
||||
elif type=='save_before_restart' && d.save_before_restart d.save_before_restart()
|
||||
elif type=='web_add_handler' && d.web_add_handler d.web_add_handler()
|
||||
elif type=='web_sensor' && d.web_sensor d.web_sensor()
|
||||
elif type=='json_append' && d.json_append d.json_append()
|
||||
elif type=='button_pressed' && d.button_pressed d.button_pressed()
|
||||
elif type=='web_add_handler' && d.display d.display()
|
||||
elif type=='display' && d.display d.display()
|
||||
end
|
||||
except .. as e,m
|
||||
import string
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,28 +1,31 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_class_tasmota_driver_map) {
|
||||
{ be_const_key(every_100ms, -1), be_const_int(0) },
|
||||
{ be_const_key(display, -1), be_const_int(1) },
|
||||
{ be_const_key(web_add_handler, -1), be_const_int(2) },
|
||||
{ be_const_key(save_before_restart, -1), be_const_int(3) },
|
||||
{ be_const_key(web_add_main_button, 10), be_const_int(4) },
|
||||
{ be_const_key(json_append, -1), be_const_int(5) },
|
||||
{ be_const_key(web_add_button, 3), be_const_int(6) },
|
||||
{ be_const_key(every_second, 1), be_const_int(0) },
|
||||
{ be_const_key(web_add_config_button, -1), be_const_int(1) },
|
||||
{ be_const_key(web_sensor, 5), be_const_int(2) },
|
||||
{ be_const_key(web_add_button, 10), be_const_int(3) },
|
||||
{ be_const_key(add_cmd, -1), be_const_closure(add_cmd_closure) },
|
||||
{ be_const_key(button_pressed, 4), be_const_int(7) },
|
||||
{ be_const_key(every_second, -1), be_const_int(8) },
|
||||
{ be_const_key(web_sensor, 5), be_const_int(9) },
|
||||
{ be_const_key(get_tasmota, -1), be_const_closure(get_tasmota_closure) },
|
||||
{ be_const_key(web_add_console_button, 12), be_const_int(4) },
|
||||
{ be_const_key(web_add_management_button, -1), be_const_int(5) },
|
||||
{ be_const_key(display, -1), be_const_int(6) },
|
||||
{ be_const_key(get_tasmota, 13), be_const_closure(get_tasmota_closure) },
|
||||
{ be_const_key(every_100ms, -1), be_const_int(7) },
|
||||
{ be_const_key(save_before_restart, -1), be_const_int(8) },
|
||||
{ be_const_key(button_pressed, -1), be_const_int(9) },
|
||||
{ be_const_key(web_add_handler, -1), be_const_int(10) },
|
||||
{ be_const_key(web_add_main_button, -1), be_const_int(11) },
|
||||
{ be_const_key(json_append, 8), be_const_int(12) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_class_tasmota_driver_map,
|
||||
12
|
||||
15
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_class_tasmota_driver,
|
||||
10,
|
||||
13,
|
||||
NULL,
|
||||
Driver
|
||||
);
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(be_tasmota_driver_map) {
|
||||
{ be_const_key(get_tasmota, -1), be_const_func(d_getTasmotaGlob) },
|
||||
{ be_const_key(web_sensor, -1), be_const_int(0) },
|
||||
{ be_const_key(json_append, 0), be_const_int(1) },
|
||||
{ be_const_key(every_second, 4), be_const_int(2) },
|
||||
{ be_const_key(every_100ms, 7), be_const_int(3) },
|
||||
{ be_const_key(web_add_main_button, -1), be_const_int(4) },
|
||||
{ be_const_key(web_add_button, -1), be_const_int(5) },
|
||||
{ be_const_key(save_before_restart, -1), be_const_int(6) },
|
||||
{ be_const_key(button_pressed, 1), be_const_int(7) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
be_tasmota_driver_map,
|
||||
9
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
be_tasmota_driver,
|
||||
8,
|
||||
NULL,
|
||||
Driver
|
||||
);
|
|
@ -1,2 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
#include "be_constobj.h"
|
||||
|
||||
static be_define_const_map_slots(tasmota_driver_map) {
|
||||
{ be_const_key(get_tasmota, -1), be_const_func(d_getTasmotaGlob) },
|
||||
{ be_const_key(web_sensor, -1), be_const_int(0) },
|
||||
{ be_const_key(json_append, 0), be_const_int(1) },
|
||||
{ be_const_key(every_second, 4), be_const_int(2) },
|
||||
{ be_const_key(every_100ms, 7), be_const_int(3) },
|
||||
{ be_const_key(web_add_main_button, -1), be_const_int(4) },
|
||||
{ be_const_key(web_add_button, -1), be_const_int(5) },
|
||||
{ be_const_key(save_before_restart, -1), be_const_int(6) },
|
||||
{ be_const_key(button_pressed, 1), be_const_int(7) },
|
||||
};
|
||||
|
||||
static be_define_const_map(
|
||||
tasmota_driver_map,
|
||||
9
|
||||
);
|
||||
|
||||
BE_EXPORT_VARIABLE be_define_const_class(
|
||||
tasmota_driver,
|
||||
8,
|
||||
NULL,
|
||||
Driver
|
||||
);
|
|
@ -751,11 +751,18 @@ bool Xdrv52(uint8_t function)
|
|||
} else {
|
||||
WSContentSend_P(HTTP_BTN_BERRY_CONSOLE);
|
||||
callBerryEventDispatcher(PSTR("web_add_button"), nullptr, 0, nullptr);
|
||||
callBerryEventDispatcher(PSTR("web_add_console_button"), nullptr, 0, nullptr);
|
||||
}
|
||||
break;
|
||||
case FUNC_WEB_ADD_MAIN_BUTTON:
|
||||
callBerryEventDispatcher(PSTR("web_add_main_button"), nullptr, 0, nullptr);
|
||||
break;
|
||||
case FUNC_WEB_ADD_MANAGEMENT_BUTTON:
|
||||
callBerryEventDispatcher(PSTR("web_add_management_button"), nullptr, 0, nullptr);
|
||||
break;
|
||||
case FUNC_WEB_ADD_BUTTON:
|
||||
callBerryEventDispatcher(PSTR("web_add_config_button"), nullptr, 0, nullptr);
|
||||
break;
|
||||
case FUNC_WEB_ADD_HANDLER:
|
||||
callBerryEventDispatcher(PSTR("web_add_handler"), nullptr, 0, nullptr);
|
||||
WebServer_on(PSTR("/bc"), HandleBerryConsole);
|
||||
|
|
Loading…
Reference in New Issue