Berry more solidification

This commit is contained in:
Stephan Hadinger 2021-04-28 19:30:19 +02:00
parent 6c87d4c553
commit 5b36e504c5
23 changed files with 4838 additions and 4343 deletions

View File

@ -4,9 +4,7 @@
* To use: `d = Driver()`
*
*******************************************************************/
#include "be_object.h"
#include "be_string.h"
#include "be_gc.h"
#include "be_constobj.h"
extern int d_getTasmotaGlob(bvm *vm);
@ -77,10 +75,14 @@ be_define_local_closure(add_cmd);
/*******************************************************************/
// #if !BE_USE_PRECOMPILED_OBJECT
#if 1 // TODO we will do pre-compiled later
void be_load_driverlib(bvm *vm)
{
#if BE_USE_PRECOMPILED_OBJECT
#include "../generate/be_fixed_be_class_tasmota_driver.h"
#endif
void be_load_driverlib(bvm *vm) {
#if !BE_USE_PRECOMPILED_OBJECT
static const bnfuncinfo members[] = {
{ "every_second", NULL },
{ "every_100ms", NULL },
@ -99,12 +101,26 @@ void be_load_driverlib(bvm *vm)
{ NULL, NULL }
};
be_regclass(vm, "Driver", members);
}
#else
be_pushntvclass(vm, &be_class_tasmota_driver);
be_setglobal(vm, "Driver");
be_pop(vm, 1);
#endif
}
/* @const_object_info_begin
module tasmota (scope: global, depend: 1) {
get_free_heap, func(l_getFreeHeap)
class be_class_tasmota_driver (scope: global, name: Driver) {
every_second, var
every_100ms, var
web_add_button, var
web_add_main_button, var
save_before_restart, var
web_sensor, var
json_append, var
button_pressed, var
get_tasmota, func(d_getTasmotaGlob)
add_cmd, closure(add_cmd_closure)
}
@const_object_info_end */
#include "../generate/be_fixed_tasmota.h"
#endif

View File

@ -5,14 +5,13 @@
*
* read power values
*******************************************************************/
#include "be_object.h"
#include "be_constobj.h"
#ifdef USE_ENERGY_SENSOR
extern int b_nrg_read(bvm *vm);
// #if !BE_USE_PRECOMPILED_OBJECT
#if 1 // TODO we will do pre-compiled later
#if !BE_USE_PRECOMPILED_OBJECT
be_native_module_attr_table(energy) {
be_native_module_function("read", b_nrg_read),
};
@ -20,11 +19,11 @@ be_native_module_attr_table(energy) {
be_define_native_module(energy, NULL);
#else
/* @const_object_info_begin
module tasmota (scope: global, depend: 1) {
get_free_heap, func(l_getFreeHeap)
module energy (scope: global) {
read, func(b_nrg_read)
}
@const_object_info_end */
#include "../generate/be_fixed_tasmota.h"
#include "../generate/be_fixed_energy.h"
#endif
#endif // USE_ENERGY_SENSOR

View File

@ -5,7 +5,7 @@
*
* read power values
*******************************************************************/
#include "be_object.h"
#include "be_constobj.h"
// Tasmota specific
@ -17,7 +17,6 @@ extern int gp_pin_used(bvm *vm);
extern int gp_pin(bvm *vm);
#if !BE_USE_PRECOMPILED_OBJECT
// #if 1 // TODO we will do pre-compiled later
be_native_module_attr_table(gpio) {
// HIGH/LOW
be_native_module_int("LOW", 0),

View File

@ -3,9 +3,7 @@
*
* To use: `import tasmota`
*******************************************************************/
#include "be_object.h"
#include "be_string.h"
#include "be_gc.h"
#include "be_constobj.h"
#ifdef USE_LIGHT
extern int l_getlight(bvm *vm);
@ -15,8 +13,7 @@ extern int l_gamma8(bvm *vm);
extern int l_gamma10(bvm *vm);
extern int l_rev_gamma10(bvm *vm);
// #if !BE_USE_PRECOMPILED_OBJECT
#if 1 // TODO we will do pre-compiled later
#if !BE_USE_PRECOMPILED_OBJECT
be_native_module_attr_table(light) {
@ -33,11 +30,16 @@ be_define_native_module(light, NULL);
#else
/* @const_object_info_begin
module tasmota (scope: global, depend: 1) {
get_free_heap, func(l_getFreeHeap)
module light (scope: global) {
get, func(l_getlight)
set, func(l_setlight)
gamma8, func(l_gamma8)
gamma10, func(l_gamma10)
reverse_gamma10, func(l_rev_gamma10)
}
@const_object_info_end */
#include "../generate/be_fixed_tasmota.h"
#include "../generate/be_fixed_light.h"
#endif
#endif // USE_LIGHT

View File

@ -4,15 +4,10 @@
/********************************************************************
* LVGL Module
*******************************************************************/
#include "be_object.h"
#include "be_string.h"
#include "be_gc.h"
#include "be_constobj.h"
#ifdef USE_LVGL
// temporary work-around
#define be_define_local_const_str2(a,b,c,d,e,f) be_define_local_const_str(a,b,c,e)
#include "lvgl.h"
extern int lv0_start(bvm *vm);
@ -635,67 +630,67 @@ be_define_native_module(lvgl, NULL);
#else
be_define_local_const_str2(SYMBOL_AUDIO, "\xef\x80\x81", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_VIDEO, "\xef\x80\x88", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_LIST, "\xef\x80\x8b", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_OK, "\xef\x80\x8c", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_CLOSE, "\xef\x80\x8d", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_POWER, "\xef\x80\x91", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_SETTINGS, "\xef\x80\x93", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_HOME, "\xef\x80\x95", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_DOWNLOAD, "\xef\x80\x99", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_DRIVE, "\xef\x80\x9c", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_REFRESH, "\xef\x80\xa1", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_MUTE, "\xef\x80\xa6", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_VOLUME_MID, "\xef\x80\xa7", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_VOLUME_MAX, "\xef\x80\xa8", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_IMAGE, "\xef\x80\xbe", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_EDIT, "\xef\x8C\x84", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_PREV, "\xef\x81\x88", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_PLAY, "\xef\x81\x8b", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_PAUSE, "\xef\x81\x8c", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_STOP, "\xef\x81\x8d", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_NEXT, "\xef\x81\x91", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_EJECT, "\xef\x81\x92", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_LEFT, "\xef\x81\x93", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_RIGHT, "\xef\x81\x94", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_PLUS, "\xef\x81\xa7", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_MINUS, "\xef\x81\xa8", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_EYE_OPEN, "\xef\x81\xae", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_EYE_CLOSE, "\xef\x81\xb0", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_WARNING, "\xef\x81\xb1", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_SHUFFLE, "\xef\x81\xb4", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_UP, "\xef\x81\xb7", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_DOWN, "\xef\x81\xb8", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_LOOP, "\xef\x81\xb9", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_DIRECTORY, "\xef\x81\xbb", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_UPLOAD, "\xef\x82\x93", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_CALL, "\xef\x82\x95", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_CUT, "\xef\x83\x84", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_COPY, "\xef\x83\x85", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_SAVE, "\xef\x83\x87", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_CHARGE, "\xef\x83\xa7", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_PASTE, "\xef\x83\xAA", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_BELL, "\xef\x83\xb3", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_KEYBOARD, "\xef\x84\x9c", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_GPS, "\xef\x84\xa4", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_FILE, "\xef\x85\x9b", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_WIFI, "\xef\x87\xab", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_BATTERY_FULL, "\xef\x89\x80", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_BATTERY_3, "\xef\x89\x81", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_BATTERY_2, "\xef\x89\x82", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_BATTERY_1, "\xef\x89\x83", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_BATTERY_EMPTY, "\xef\x89\x84", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_USB, "\xef\x8a\x87", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_BLUETOOTH, "\xef\x8a\x93", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_TRASH, "\xef\x8B\xAD", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_BACKSPACE, "\xef\x95\x9A", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_SD_CARD, "\xef\x9F\x82", 0, 0, 3, 0);
be_define_local_const_str2(SYMBOL_NEW_LINE, "\xef\xA2\xA2", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_AUDIO, "\xef\x80\x81", 0, 3);
be_define_local_const_str(SYMBOL_VIDEO, "\xef\x80\x88", 0, 3);
be_define_local_const_str(SYMBOL_LIST, "\xef\x80\x8b", 0, 3);
be_define_local_const_str(SYMBOL_OK, "\xef\x80\x8c", 0, 3);
be_define_local_const_str(SYMBOL_CLOSE, "\xef\x80\x8d", 0, 3);
be_define_local_const_str(SYMBOL_POWER, "\xef\x80\x91", 0, 3);
be_define_local_const_str(SYMBOL_SETTINGS, "\xef\x80\x93", 0, 3);
be_define_local_const_str(SYMBOL_HOME, "\xef\x80\x95", 0, 3);
be_define_local_const_str(SYMBOL_DOWNLOAD, "\xef\x80\x99", 0, 3);
be_define_local_const_str(SYMBOL_DRIVE, "\xef\x80\x9c", 0, 3);
be_define_local_const_str(SYMBOL_REFRESH, "\xef\x80\xa1", 0, 3);
be_define_local_const_str(SYMBOL_MUTE, "\xef\x80\xa6", 0, 3);
be_define_local_const_str(SYMBOL_VOLUME_MID, "\xef\x80\xa7", 0, 3);
be_define_local_const_str(SYMBOL_VOLUME_MAX, "\xef\x80\xa8", 0, 3);
be_define_local_const_str(SYMBOL_IMAGE, "\xef\x80\xbe", 0, 3);
be_define_local_const_str(SYMBOL_EDIT, "\xef\x8C\x84", 0, 3);
be_define_local_const_str(SYMBOL_PREV, "\xef\x81\x88", 0, 3);
be_define_local_const_str(SYMBOL_PLAY, "\xef\x81\x8b", 0, 3);
be_define_local_const_str(SYMBOL_PAUSE, "\xef\x81\x8c", 0, 3);
be_define_local_const_str(SYMBOL_STOP, "\xef\x81\x8d", 0, 3);
be_define_local_const_str(SYMBOL_NEXT, "\xef\x81\x91", 0, 3);
be_define_local_const_str(SYMBOL_EJECT, "\xef\x81\x92", 0, 3);
be_define_local_const_str(SYMBOL_LEFT, "\xef\x81\x93", 0, 3);
be_define_local_const_str(SYMBOL_RIGHT, "\xef\x81\x94", 0, 3);
be_define_local_const_str(SYMBOL_PLUS, "\xef\x81\xa7", 0, 3);
be_define_local_const_str(SYMBOL_MINUS, "\xef\x81\xa8", 0, 3);
be_define_local_const_str(SYMBOL_EYE_OPEN, "\xef\x81\xae", 0, 3);
be_define_local_const_str(SYMBOL_EYE_CLOSE, "\xef\x81\xb0", 0, 3);
be_define_local_const_str(SYMBOL_WARNING, "\xef\x81\xb1", 0, 3);
be_define_local_const_str(SYMBOL_SHUFFLE, "\xef\x81\xb4", 0, 3);
be_define_local_const_str(SYMBOL_UP, "\xef\x81\xb7", 0, 3);
be_define_local_const_str(SYMBOL_DOWN, "\xef\x81\xb8", 0, 3);
be_define_local_const_str(SYMBOL_LOOP, "\xef\x81\xb9", 0, 3);
be_define_local_const_str(SYMBOL_DIRECTORY, "\xef\x81\xbb", 0, 3);
be_define_local_const_str(SYMBOL_UPLOAD, "\xef\x82\x93", 0, 3);
be_define_local_const_str(SYMBOL_CALL, "\xef\x82\x95", 0, 3);
be_define_local_const_str(SYMBOL_CUT, "\xef\x83\x84", 0, 3);
be_define_local_const_str(SYMBOL_COPY, "\xef\x83\x85", 0, 3);
be_define_local_const_str(SYMBOL_SAVE, "\xef\x83\x87", 0, 3);
be_define_local_const_str(SYMBOL_CHARGE, "\xef\x83\xa7", 0, 3);
be_define_local_const_str(SYMBOL_PASTE, "\xef\x83\xAA", 0, 3);
be_define_local_const_str(SYMBOL_BELL, "\xef\x83\xb3", 0, 3);
be_define_local_const_str(SYMBOL_KEYBOARD, "\xef\x84\x9c", 0, 3);
be_define_local_const_str(SYMBOL_GPS, "\xef\x84\xa4", 0, 3);
be_define_local_const_str(SYMBOL_FILE, "\xef\x85\x9b", 0, 3);
be_define_local_const_str(SYMBOL_WIFI, "\xef\x87\xab", 0, 3);
be_define_local_const_str(SYMBOL_BATTERY_FULL, "\xef\x89\x80", 0, 3);
be_define_local_const_str(SYMBOL_BATTERY_3, "\xef\x89\x81", 0, 3);
be_define_local_const_str(SYMBOL_BATTERY_2, "\xef\x89\x82", 0, 3);
be_define_local_const_str(SYMBOL_BATTERY_1, "\xef\x89\x83", 0, 3);
be_define_local_const_str(SYMBOL_BATTERY_EMPTY, "\xef\x89\x84", 0, 3);
be_define_local_const_str(SYMBOL_USB, "\xef\x8a\x87", 0, 3);
be_define_local_const_str(SYMBOL_BLUETOOTH, "\xef\x8a\x93", 0, 3);
be_define_local_const_str(SYMBOL_TRASH, "\xef\x8B\xAD", 0, 3);
be_define_local_const_str(SYMBOL_BACKSPACE, "\xef\x95\x9A", 0, 3);
be_define_local_const_str(SYMBOL_SD_CARD, "\xef\x9F\x82", 0, 3);
be_define_local_const_str(SYMBOL_NEW_LINE, "\xef\xA2\xA2", 0, 3);
be_define_local_const_str2(SYMBOL_DUMMY, "\xEF\xA3\xBF", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_DUMMY, "\xEF\xA3\xBF", 0, 3);
be_define_local_const_str2(SYMBOL_BULLET, "\xE2\x80\xA2", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_BULLET, "\xE2\x80\xA2", 0, 3);
/* @const_object_info_begin

View File

@ -1,8 +1,7 @@
/********************************************************************
* Tasmota LVGL Font class
*******************************************************************/
#include "be_object.h"
#include "be_string.h"
#include "be_constobj.h"
#ifdef USE_LVGL

View File

@ -1,8 +1,7 @@
/********************************************************************
* Tasmota LVGL Font class
*******************************************************************/
#include "be_object.h"
#include "be_string.h"
#include "be_constobj.h"
#ifdef USE_LVGL

View File

@ -6,8 +6,7 @@
/********************************************************************
* Tasmota LVGL classes for widgets
*******************************************************************/
#include "be_object.h"
#include "be_string.h"
#include "be_constobj.h"
#ifdef USE_LVGL

View File

@ -3,12 +3,7 @@
*
* To use: `import tasmota`
*******************************************************************/
#include "berry.h"
//#include "be_object.h"
#include "be_string.h"
// temporary work-around
#define be_define_local_const_str2(a,b,c,d,e,f) be_define_local_const_str(a,b,c,e)
#include "be_constobj.h"
extern int l_getFreeHeap(bvm *vm);
extern int l_publish(bvm *vm);
@ -63,9 +58,9 @@ extern int l_i2cenabled(bvm *vm);
** Solidified function: chars_in_string
********************************************************************/
be_define_local_const_str2(chars_in_string_str_name, "chars_in_string", -1146182164, 0, 15, 0);
be_define_local_const_str2(chars_in_string_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(chars_in_string_str_2, "stop_iteration", -121173395, 0, 14, 0);
be_define_local_const_str(chars_in_string_str_name, "chars_in_string", -1146182164, 15);
be_define_local_const_str(chars_in_string_str_source, "string", 398550328, 6);
be_define_local_const_str(chars_in_string_str_2, "stop_iteration", -121173395, 14);
static const bvalue chars_in_string_ktab[3] = {
{ { .i=0 }, BE_INT},
@ -179,13 +174,13 @@ end
** Solidified function: find_key_i
********************************************************************/
be_define_local_const_str2(find_key_i_str_name, "find_key_i", 850136726, 0, 10, 0);
be_define_local_const_str2(find_key_i_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(find_key_i_str_0, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(find_key_i_str_1, "toupper", -602983720, 0, 7, 0);
be_define_local_const_str2(find_key_i_str_2, "keys", -112588595, 0, 4, 0);
be_define_local_const_str2(find_key_i_str_3, "?", 973910158, 0, 1, 0);
be_define_local_const_str2(find_key_i_str_4, "stop_iteration", -121173395, 0, 14, 0);
be_define_local_const_str(find_key_i_str_name, "find_key_i", 850136726, 10);
be_define_local_const_str(find_key_i_str_source, "string", 398550328, 6);
be_define_local_const_str(find_key_i_str_0, "string", 398550328, 6);
be_define_local_const_str(find_key_i_str_1, "toupper", -602983720, 7);
be_define_local_const_str(find_key_i_str_2, "keys", -112588595, 4);
be_define_local_const_str(find_key_i_str_3, "?", 973910158, 1);
be_define_local_const_str(find_key_i_str_4, "stop_iteration", -121173395, 14);
static const bvalue find_key_i_ktab[5] = {
{ { .s=be_local_const_str(find_key_i_str_0) }, BE_STRING},
@ -297,12 +292,12 @@ const bclosure find_key_i_closure = {
** Solidified function: find_op
********************************************************************/
be_define_local_const_str2(find_op_str_name, "find_op", -528253920, 0, 7, 0);
be_define_local_const_str2(find_op_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(find_op_str_0, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(find_op_str_1, "=<>!", -1630497019, 0, 4, 0);
be_define_local_const_str2(find_op_str_2, "chars_in_string", -1146182164, 0, 15, 0);
be_define_local_const_str2(find_op_str_4, "split", -2017972765, 0, 5, 0);
be_define_local_const_str(find_op_str_name, "find_op", -528253920, 7);
be_define_local_const_str(find_op_str_source, "string", 398550328, 6);
be_define_local_const_str(find_op_str_0, "string", 398550328, 6);
be_define_local_const_str(find_op_str_1, "=<>!", -1630497019, 4);
be_define_local_const_str(find_op_str_2, "chars_in_string", -1146182164, 15);
be_define_local_const_str(find_op_str_4, "split", -2017972765, 5);
static const bvalue find_op_ktab[6] = {
{ { .s=be_local_const_str(find_op_str_0) }, BE_STRING},
@ -417,12 +412,12 @@ const bclosure find_op_closure = {
** Solidified function: add_rule
********************************************************************/
be_define_local_const_str2(add_rule_str_name, "add_rule", 596540743, 0, 8, 0);
be_define_local_const_str2(add_rule_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(add_rule_str_0, "_rules", -28750191, 0, 6, 0);
be_define_local_const_str2(add_rule_str_1, "function", -1630125495, 0, 8, 0);
be_define_local_const_str2(add_rule_str_2, "value_error", 773297791, 0, 11, 0);
be_define_local_const_str2(add_rule_str_3, "the second argument is not a function", -340392827, 0, 37, 0);
be_define_local_const_str(add_rule_str_name, "add_rule", 596540743, 8);
be_define_local_const_str(add_rule_str_source, "string", 398550328, 6);
be_define_local_const_str(add_rule_str_0, "_rules", -28750191, 6);
be_define_local_const_str(add_rule_str_1, "function", -1630125495, 8);
be_define_local_const_str(add_rule_str_2, "value_error", 773297791, 11);
be_define_local_const_str(add_rule_str_3, "the second argument is not a function", -340392827, 37);
static const bvalue add_rule_ktab[4] = {
{ { .s=be_local_const_str(add_rule_str_0) }, BE_STRING},
@ -501,10 +496,10 @@ static const bclosure add_rule_closure = {
** Solidified function: remove_rule
********************************************************************/
be_define_local_const_str2(remove_rule_str_name, "remove_rule", -838755968, 0, 11, 0);
be_define_local_const_str2(remove_rule_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(remove_rule_str_0, "_rules", -28750191, 0, 6, 0);
be_define_local_const_str2(remove_rule_str_1, "remove", -611183107, 0, 6, 0);
be_define_local_const_str(remove_rule_str_name, "remove_rule", -838755968, 11);
be_define_local_const_str(remove_rule_str_source, "string", 398550328, 6);
be_define_local_const_str(remove_rule_str_0, "_rules", -28750191, 6);
be_define_local_const_str(remove_rule_str_1, "remove", -611183107, 6);
static const bvalue remove_rule_ktab[2] = {
{ { .s=be_local_const_str(remove_rule_str_0) }, BE_STRING},
@ -603,22 +598,22 @@ static const bclosure remove_rule_closure = {
** Solidified function: try_rule
********************************************************************/
be_define_local_const_str2(try_rule_str_name, "try_rule", 1986449405, 0, 8, 0);
be_define_local_const_str2(try_rule_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(try_rule_str_0, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(try_rule_str_1, "find_op", -528253920, 0, 7, 0);
be_define_local_const_str2(try_rule_str_2, "split", -2017972765, 0, 5, 0);
be_define_local_const_str2(try_rule_str_4, "#", 638357778, 0, 1, 0);
be_define_local_const_str2(try_rule_str_5, "find_key_i", 850136726, 0, 10, 0);
be_define_local_const_str2(try_rule_str_6, "stop_iteration", -121173395, 0, 14, 0);
be_define_local_const_str2(try_rule_str_9, "==", -1863000881, 0, 2, 0);
be_define_local_const_str2(try_rule_str_10, "!==", 559817114, 0, 3, 0);
be_define_local_const_str2(try_rule_str_11, "=", 940354920, 0, 1, 0);
be_define_local_const_str2(try_rule_str_12, "!=", -1866252285, 0, 2, 0);
be_define_local_const_str2(try_rule_str_13, ">", 990687777, 0, 1, 0);
be_define_local_const_str2(try_rule_str_14, ">=", 284975636, 0, 2, 0);
be_define_local_const_str2(try_rule_str_15, "<", 957132539, 0, 1, 0);
be_define_local_const_str2(try_rule_str_16, "<=", -1795743310, 0, 2, 0);
be_define_local_const_str(try_rule_str_name, "try_rule", 1986449405, 8);
be_define_local_const_str(try_rule_str_source, "string", 398550328, 6);
be_define_local_const_str(try_rule_str_0, "string", 398550328, 6);
be_define_local_const_str(try_rule_str_1, "find_op", -528253920, 7);
be_define_local_const_str(try_rule_str_2, "split", -2017972765, 5);
be_define_local_const_str(try_rule_str_4, "#", 638357778, 1);
be_define_local_const_str(try_rule_str_5, "find_key_i", 850136726, 10);
be_define_local_const_str(try_rule_str_6, "stop_iteration", -121173395, 14);
be_define_local_const_str(try_rule_str_9, "==", -1863000881, 2);
be_define_local_const_str(try_rule_str_10, "!==", 559817114, 3);
be_define_local_const_str(try_rule_str_11, "=", 940354920, 1);
be_define_local_const_str(try_rule_str_12, "!=", -1866252285, 2);
be_define_local_const_str(try_rule_str_13, ">", 990687777, 1);
be_define_local_const_str(try_rule_str_14, ">=", 284975636, 2);
be_define_local_const_str(try_rule_str_15, "<", 957132539, 1);
be_define_local_const_str(try_rule_str_16, "<=", -1795743310, 2);
static const bvalue try_rule_ktab[17] = {
{ { .s=be_local_const_str(try_rule_str_0) }, BE_STRING},
@ -853,15 +848,15 @@ static const bclosure try_rule_closure = {
** Solidified function: exec_rules
********************************************************************/
be_define_local_const_str2(exec_rules_str_name, "exec_rules", 1445221092, 0, 10, 0);
be_define_local_const_str2(exec_rules_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(exec_rules_str_0, "_rules", -28750191, 0, 6, 0);
be_define_local_const_str2(exec_rules_str_1, "json", 916562499, 0, 4, 0);
be_define_local_const_str2(exec_rules_str_2, "load", -435725847, 0, 4, 0);
be_define_local_const_str2(exec_rules_str_3, "BRY: ERROR, bad json: ", -1579831487, 0, 22, 0);
be_define_local_const_str2(exec_rules_str_5, "keys", -112588595, 0, 4, 0);
be_define_local_const_str2(exec_rules_str_6, "try_rule", 1986449405, 0, 8, 0);
be_define_local_const_str2(exec_rules_str_7, "stop_iteration", -121173395, 0, 14, 0);
be_define_local_const_str(exec_rules_str_name, "exec_rules", 1445221092, 10);
be_define_local_const_str(exec_rules_str_source, "string", 398550328, 6);
be_define_local_const_str(exec_rules_str_0, "_rules", -28750191, 6);
be_define_local_const_str(exec_rules_str_1, "json", 916562499, 4);
be_define_local_const_str(exec_rules_str_2, "load", -435725847, 4);
be_define_local_const_str(exec_rules_str_3, "BRY: ERROR, bad json: ", -1579831487, 22);
be_define_local_const_str(exec_rules_str_5, "keys", -112588595, 4);
be_define_local_const_str(exec_rules_str_6, "try_rule", 1986449405, 8);
be_define_local_const_str(exec_rules_str_7, "stop_iteration", -121173395, 14);
static const bvalue exec_rules_ktab[8] = {
{ { .s=be_local_const_str(exec_rules_str_0) }, BE_STRING},
@ -968,11 +963,11 @@ const bclosure exec_rules_closure = {
** Solidified function: set_timer
********************************************************************/
be_define_local_const_str2(set_timer_str_name, "set_timer", 2135414533, 0, 9, 0);
be_define_local_const_str2(set_timer_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(set_timer_str_0, "_timers", -1694866380, 0, 7, 0);
be_define_local_const_str2(set_timer_str_1, "push", -2022703139, 0, 4, 0);
be_define_local_const_str2(set_timer_str_2, "millis", 1214679063, 0, 6, 0);
be_define_local_const_str(set_timer_str_name, "set_timer", 2135414533, 9);
be_define_local_const_str(set_timer_str_source, "string", 398550328, 6);
be_define_local_const_str(set_timer_str_0, "_timers", -1694866380, 7);
be_define_local_const_str(set_timer_str_1, "push", -2022703139, 4);
be_define_local_const_str(set_timer_str_2, "millis", 1214679063, 6);
static const bvalue set_timer_ktab[3] = {
{ { .s=be_local_const_str(set_timer_str_0) }, BE_STRING},
@ -1061,12 +1056,12 @@ const bclosure set_timer_closure = {
** Solidified function: run_deferred
********************************************************************/
be_define_local_const_str2(run_deferred_str_name, "run_deferred", 371594696, 0, 12, 0);
be_define_local_const_str2(run_deferred_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(run_deferred_str_0, "_timers", -1694866380, 0, 7, 0);
be_define_local_const_str2(run_deferred_str_2, "size", 597743964, 0, 4, 0);
be_define_local_const_str2(run_deferred_str_3, "time_reached", 2075136773, 0, 12, 0);
be_define_local_const_str2(run_deferred_str_5, "remove", -611183107, 0, 6, 0);
be_define_local_const_str(run_deferred_str_name, "run_deferred", 371594696, 12);
be_define_local_const_str(run_deferred_str_source, "string", 398550328, 6);
be_define_local_const_str(run_deferred_str_0, "_timers", -1694866380, 7);
be_define_local_const_str(run_deferred_str_2, "size", 597743964, 4);
be_define_local_const_str(run_deferred_str_3, "time_reached", 2075136773, 12);
be_define_local_const_str(run_deferred_str_5, "remove", -611183107, 6);
static const bvalue run_deferred_ktab[6] = {
{ { .s=be_local_const_str(run_deferred_str_0) }, BE_STRING},
@ -1165,12 +1160,12 @@ const bclosure run_deferred_closure = {
** Solidified function: add_cmd
********************************************************************/
be_define_local_const_str2(add_cmd_str_name, "add_cmd", -933336417, 0, 7, 0);
be_define_local_const_str2(add_cmd_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(add_cmd_str_0, "_ccmd", -2131545883, 0, 5, 0);
be_define_local_const_str2(add_cmd_str_1, "function", -1630125495, 0, 8, 0);
be_define_local_const_str2(add_cmd_str_2, "value_error", 773297791, 0, 11, 0);
be_define_local_const_str2(add_cmd_str_3, "the second argument is not a function", -340392827, 0, 37, 0);
be_define_local_const_str(add_cmd_str_name, "add_cmd", -933336417, 7);
be_define_local_const_str(add_cmd_str_source, "string", 398550328, 6);
be_define_local_const_str(add_cmd_str_0, "_ccmd", -2131545883, 5);
be_define_local_const_str(add_cmd_str_1, "function", -1630125495, 8);
be_define_local_const_str(add_cmd_str_2, "value_error", 773297791, 11);
be_define_local_const_str(add_cmd_str_3, "the second argument is not a function", -340392827, 37);
static const bvalue add_cmd_ktab[4] = {
{ { .s=be_local_const_str(add_cmd_str_0) }, BE_STRING},
@ -1250,10 +1245,10 @@ static const bclosure add_cmd_closure = {
** Solidified function: remove_cmd
********************************************************************/
be_define_local_const_str2(remove_cmd_str_name, "remove_cmd", -462651594, 0, 10, 0);
be_define_local_const_str2(remove_cmd_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(remove_cmd_str_0, "_ccmd", -2131545883, 0, 5, 0);
be_define_local_const_str2(remove_cmd_str_1, "remove", -611183107, 0, 6, 0);
be_define_local_const_str(remove_cmd_str_name, "remove_cmd", -462651594, 10);
be_define_local_const_str(remove_cmd_str_source, "string", 398550328, 6);
be_define_local_const_str(remove_cmd_str_0, "_ccmd", -2131545883, 5);
be_define_local_const_str(remove_cmd_str_1, "remove", -611183107, 6);
static const bvalue remove_cmd_ktab[2] = {
{ { .s=be_local_const_str(remove_cmd_str_0) }, BE_STRING},
@ -1330,13 +1325,13 @@ static const bclosure remove_cmd_closure = {
** Solidified function: exec_cmd
********************************************************************/
be_define_local_const_str2(exec_cmd_str_name, "exec_cmd", 493567399, 0, 8, 0);
be_define_local_const_str2(exec_cmd_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(exec_cmd_str_0, "_ccmd", -2131545883, 0, 5, 0);
be_define_local_const_str2(exec_cmd_str_1, "json", 916562499, 0, 4, 0);
be_define_local_const_str2(exec_cmd_str_2, "load", -435725847, 0, 4, 0);
be_define_local_const_str2(exec_cmd_str_3, "find_key_i", 850136726, 0, 10, 0);
be_define_local_const_str2(exec_cmd_str_4, "resolvecmnd", 993361485, 0, 11, 0);
be_define_local_const_str(exec_cmd_str_name, "exec_cmd", 493567399, 8);
be_define_local_const_str(exec_cmd_str_source, "string", 398550328, 6);
be_define_local_const_str(exec_cmd_str_0, "_ccmd", -2131545883, 5);
be_define_local_const_str(exec_cmd_str_1, "json", 916562499, 4);
be_define_local_const_str(exec_cmd_str_2, "load", -435725847, 4);
be_define_local_const_str(exec_cmd_str_3, "find_key_i", 850136726, 10);
be_define_local_const_str(exec_cmd_str_4, "resolvecmnd", 993361485, 11);
static const bvalue exec_cmd_ktab[5] = {
{ { .s=be_local_const_str(exec_cmd_str_0) }, BE_STRING},
@ -1701,10 +1696,10 @@ be_define_local_closure(event);
** Solidified function: add_driver
********************************************************************/
be_define_local_const_str2(add_driver_str_name, "add_driver", 1654458371, 0, 10, 0);
be_define_local_const_str2(add_driver_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(add_driver_str_0, "_drivers", -1034638311, 0, 8, 0);
be_define_local_const_str2(add_driver_str_1, "push", -2022703139, 0, 4, 0);
be_define_local_const_str(add_driver_str_name, "add_driver", 1654458371, 10);
be_define_local_const_str(add_driver_str_source, "string", 398550328, 6);
be_define_local_const_str(add_driver_str_0, "_drivers", -1034638311, 8);
be_define_local_const_str(add_driver_str_1, "push", -2022703139, 4);
static const bvalue add_driver_ktab[2] = {
{ { .s=be_local_const_str(add_driver_str_0) }, BE_STRING},
@ -1803,24 +1798,24 @@ const bclosure add_driver_closure = {
** Solidified function: load
********************************************************************/
be_define_local_const_str2(load_str_name, "load", -435725847, 0, 4, 0);
be_define_local_const_str2(load_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(load_str_0, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(load_str_1, "split", -2017972765, 0, 5, 0);
be_define_local_const_str2(load_str_2, ".", 722245873, 0, 1, 0);
be_define_local_const_str2(load_str_4, "be", 942383232, 0, 2, 0);
be_define_local_const_str2(load_str_5, "bec", 1336821081, 0, 3, 0);
be_define_local_const_str2(load_str_6, "file extension is not '.be' or '.bec'", -1199247657, 0, 37, 0);
be_define_local_const_str2(load_str_7, "c", -435409838, 0, 1, 0);
be_define_local_const_str2(load_str_9, "/", 705468254, 0, 1, 0);
be_define_local_const_str2(load_str_10, "file", -1427482813, 0, 4, 0);
be_define_local_const_str2(load_str_11, "save", -855671224, 0, 4, 0);
be_define_local_const_str2(load_str_12, "log", 1062293841, 0, 3, 0);
be_define_local_const_str2(load_str_13, "format", -1180859054, 0, 6, 0);
be_define_local_const_str2(load_str_14, "BRY: could not save compiled file %s (%s)", 736659787, 0, 41, 0);
be_define_local_const_str2(load_str_15, "BRY: sucessfully loaded '%s'", -675188639, 0, 28, 0);
be_define_local_const_str2(load_str_16, "Could not load file '%s'", -708657871, 0, 24, 0);
be_define_local_const_str2(load_str_17, "io_error", 1970281036, 0, 8, 0);
be_define_local_const_str(load_str_name, "load", -435725847, 4);
be_define_local_const_str(load_str_source, "string", 398550328, 6);
be_define_local_const_str(load_str_0, "string", 398550328, 6);
be_define_local_const_str(load_str_1, "split", -2017972765, 5);
be_define_local_const_str(load_str_2, ".", 722245873, 1);
be_define_local_const_str(load_str_4, "be", 942383232, 2);
be_define_local_const_str(load_str_5, "bec", 1336821081, 3);
be_define_local_const_str(load_str_6, "file extension is not '.be' or '.bec'", -1199247657, 37);
be_define_local_const_str(load_str_7, "c", -435409838, 1);
be_define_local_const_str(load_str_9, "/", 705468254, 1);
be_define_local_const_str(load_str_10, "file", -1427482813, 4);
be_define_local_const_str(load_str_11, "save", -855671224, 4);
be_define_local_const_str(load_str_12, "log", 1062293841, 3);
be_define_local_const_str(load_str_13, "format", -1180859054, 6);
be_define_local_const_str(load_str_14, "BRY: could not save compiled file %s (%s)", 736659787, 41);
be_define_local_const_str(load_str_15, "BRY: sucessfully loaded '%s'", -675188639, 28);
be_define_local_const_str(load_str_16, "Could not load file '%s'", -708657871, 24);
be_define_local_const_str(load_str_17, "io_error", 1970281036, 8);
static const bvalue load_ktab[18] = {
{ { .s=be_local_const_str(load_str_0) }, BE_STRING},
@ -1975,12 +1970,12 @@ const bclosure load_closure = {
** Solidified function: wire_scan
********************************************************************/
be_define_local_const_str2(wire_scan_str_name, "wire_scan", -1623691416, 0, 9, 0);
be_define_local_const_str2(wire_scan_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(wire_scan_str_0, "i2c_enabled", 218388101, 0, 11, 0);
be_define_local_const_str2(wire_scan_str_1, "wire1", -1082245877, 0, 5, 0);
be_define_local_const_str2(wire_scan_str_2, "detect", 8884370, 0, 6, 0);
be_define_local_const_str2(wire_scan_str_3, "wire2", -1065468258, 0, 5, 0);
be_define_local_const_str(wire_scan_str_name, "wire_scan", -1623691416, 9);
be_define_local_const_str(wire_scan_str_source, "string", 398550328, 6);
be_define_local_const_str(wire_scan_str_0, "i2c_enabled", 218388101, 11);
be_define_local_const_str(wire_scan_str_1, "wire1", -1082245877, 5);
be_define_local_const_str(wire_scan_str_2, "detect", 8884370, 6);
be_define_local_const_str(wire_scan_str_3, "wire2", -1065468258, 5);
static const bvalue wire_scan_ktab[4] = {
{ { .s=be_local_const_str(wire_scan_str_0) }, BE_STRING},
@ -2134,13 +2129,13 @@ be_define_local_closure(time_str);
** Solidified function: cmd
********************************************************************/
be_define_local_const_str2(cmd_str_name, "cmd", -158181397, 0, 3, 0);
be_define_local_const_str2(cmd_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(cmd_str_0, "json", 916562499, 0, 4, 0);
be_define_local_const_str2(cmd_str_1, "_cmd", -875145154, 0, 4, 0);
be_define_local_const_str2(cmd_str_2, "load", -435725847, 0, 4, 0);
be_define_local_const_str2(cmd_str_3, "instance", 193386898, 0, 8, 0);
be_define_local_const_str2(cmd_str_4, "response", 1499316702, 0, 8, 0);
be_define_local_const_str(cmd_str_name, "cmd", -158181397, 3);
be_define_local_const_str(cmd_str_source, "string", 398550328, 6);
be_define_local_const_str(cmd_str_0, "json", 916562499, 4);
be_define_local_const_str(cmd_str_1, "_cmd", -875145154, 4);
be_define_local_const_str(cmd_str_2, "load", -435725847, 4);
be_define_local_const_str(cmd_str_3, "instance", 193386898, 8);
be_define_local_const_str(cmd_str_4, "response", 1499316702, 8);
static const bvalue cmd_ktab[5] = {
{ { .s=be_local_const_str(cmd_str_0) }, BE_STRING},
@ -2228,11 +2223,11 @@ static const bclosure cmd_closure = {
** Solidified function: get_light
********************************************************************/
be_define_local_const_str2(get_light_str_name, "get_light", 381930476, 0, 9, 0);
be_define_local_const_str2(get_light_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(get_light_str_0, "tasmota.get_light() is deprecated, use light.get()", -769213649, 0, 50, 0);
be_define_local_const_str2(get_light_str_1, "light", -493019601, 0, 5, 0);
be_define_local_const_str2(get_light_str_2, "get", 1410115415, 0, 3, 0);
be_define_local_const_str(get_light_str_name, "get_light", 381930476, 9);
be_define_local_const_str(get_light_str_source, "string", 398550328, 6);
be_define_local_const_str(get_light_str_0, "tasmota.get_light() is deprecated, use light.get()", -769213649, 50);
be_define_local_const_str(get_light_str_1, "light", -493019601, 5);
be_define_local_const_str(get_light_str_2, "get", 1410115415, 3);
static const bvalue get_light_ktab[3] = {
{ { .s=be_local_const_str(get_light_str_0) }, BE_STRING},
@ -2317,11 +2312,11 @@ static const bclosure get_light_closure = {
** Solidified function: set_light
********************************************************************/
be_define_local_const_str2(set_light_str_name, "set_light", -1118891144, 0, 9, 0);
be_define_local_const_str2(set_light_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(set_light_str_0, "tasmota.set_light() is deprecated, use light.set()", 2124937871, 0, 50, 0);
be_define_local_const_str2(set_light_str_1, "light", -493019601, 0, 5, 0);
be_define_local_const_str2(set_light_str_2, "set", -970520829, 0, 3, 0);
be_define_local_const_str(set_light_str_name, "set_light", -1118891144, 9);
be_define_local_const_str(set_light_str_source, "string", 398550328, 6);
be_define_local_const_str(set_light_str_0, "tasmota.set_light() is deprecated, use light.set()", 2124937871, 50);
be_define_local_const_str(set_light_str_1, "light", -493019601, 5);
be_define_local_const_str(set_light_str_2, "set", -970520829, 3);
static const bvalue set_light_ktab[3] = {
{ { .s=be_local_const_str(set_light_str_0) }, BE_STRING},
@ -2390,15 +2385,15 @@ static const bclosure set_light_closure = {
/*******************************************************************/
/********************************************************************
#if BE_USE_PRECOMPILED_OBJECT
#include "../generate/be_fixed_be_class_tasmota.h"
#endif
********************************************************************/
// #if !BE_USE_PRECOMPILED_OBJECT
#if 1 // TODO we will do pre-compiled later
// Class definition
void be_load_tasmota_ntvlib(bvm *vm)
{
#if !BE_USE_PRECOMPILED_OBJECT
static const bnfuncinfo members[] = {
{ "_rules", NULL },
{ "_timers", NULL },
@ -2462,14 +2457,73 @@ void be_load_tasmota_ntvlib(bvm *vm)
{ NULL, NULL }
};
be_regclass(vm, "Tasmota_ntv", members);
be_regclass(vm, "Tasmota", members);
#else
be_pushntvclass(vm, &be_class_tasmota);
be_setglobal(vm, "Tasmota");
be_pop(vm, 1);
#endif
}
#else
/* @const_object_info_begin
module tasmota (scope: global, depend: 1) {
class be_class_tasmota (scope: global, name: Tasmota) {
_rules, var
_timers, var
_ccmd, var
_drivers, var
wire1, var
wire2, var
get_free_heap, func(l_getFreeHeap)
publish, func(l_publish)
_cmd, func(l_cmd)
get_option, func(l_getoption)
millis, func(l_millis)
time_reached, func(l_timereached)
rtc, func(l_rtc)
time_dump, func(l_time_dump)
yield, func(l_yield)
delay, func(l_delay)
scale_uint, func(l_scaleuint)
log, func(l_logInfo)
save, func(l_save)
resp_cmnd, func(l_respCmnd)
resp_cmnd_str, func(l_respCmndStr)
resp_cmnd_done, func(l_respCmndDone)
resp_cmnd_error, func(l_respCmndError)
resp_cmnd_failed, func(l_respCmndFailed)
resolvecmnd, func(l_resolveCmnd)
response_append, func(l_respAppend)
web_send_decimal, func(l_webSendDecimal)
get_power, func(l_getpower)
set_power, func(l_setpower)
i2c_enabled, func(l_i2cenabled)
cmd, closure(cmd_closure)
chars_in_string, closure(chars_in_string_closure)
find_key_i, closure(find_key_i_closure)
find_op, closure(find_op_closure)
add_rule, closure(add_rule_closure)
remove_rule, closure(remove_rule_closure)
try_rule, closure(try_rule_closure)
exec_rules, closure(exec_rules_closure)
set_timer, closure(set_timer_closure)
run_deferred, closure(run_deferred_closure)
add_cmd, closure(add_cmd_closure)
remove_cmd, closure(remove_cmd_closure)
exec_cmd, closure(exec_cmd_closure)
gc, closure(gc_closure)
event, closure(event_closure)
add_driver, closure(add_driver_closure)
load, closure(load_closure)
wire_scan, closure(wire_scan_closure)
time_str, closure(time_str_closure)
get_light, closure(get_light_closure)
set_light, closure(set_light_closure)
}
@const_object_info_end */
#include "../generate/be_fixed_tasmota.h"
#endif

View File

@ -5,12 +5,8 @@
*
* 2 wire communication - I2C
*******************************************************************/
#include "be_object.h"
#include "be_string.h"
#include "be_gc.h"
#include "be_constobj.h"
// temporary work-around
#define be_define_local_const_str2(a,b,c,d,e,f) be_define_local_const_str(a,b,c,e)
#ifdef USE_I2C
extern int b_wire_init(bvm *vm);
@ -45,14 +41,14 @@ extern int b_wire_detect(bvm *vm);
** Solidified function: read_bytes
********************************************************************/
be_define_local_const_str2(read_bytes_str_name, "read_bytes", -718234123, 0, 10, 0);
be_define_local_const_str2(read_bytes_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(read_bytes_str_0, "_begin_transmission", -1515506120, 0, 19, 0);
be_define_local_const_str2(read_bytes_str_1, "_write", -2079504471, 0, 6, 0);
be_define_local_const_str2(read_bytes_str_2, "_end_transmission", -1057486896, 0, 17, 0);
be_define_local_const_str2(read_bytes_str_3, "_request_from", -329818692, 0, 13, 0);
be_define_local_const_str2(read_bytes_str_4, "_available", 1306196581, 0, 10, 0);
be_define_local_const_str2(read_bytes_str_5, "_read", 346717030, 0, 5, 0);
be_define_local_const_str(read_bytes_str_name, "read_bytes", -718234123, 10);
be_define_local_const_str(read_bytes_str_source, "string", 398550328, 6);
be_define_local_const_str(read_bytes_str_0, "_begin_transmission", -1515506120, 19);
be_define_local_const_str(read_bytes_str_1, "_write", -2079504471, 6);
be_define_local_const_str(read_bytes_str_2, "_end_transmission", -1057486896, 17);
be_define_local_const_str(read_bytes_str_3, "_request_from", -329818692, 13);
be_define_local_const_str(read_bytes_str_4, "_available", 1306196581, 10);
be_define_local_const_str(read_bytes_str_5, "_read", 346717030, 5);
static const bvalue read_bytes_ktab[6] = {
{ { .s=be_local_const_str(read_bytes_str_0) }, BE_STRING},
@ -143,11 +139,11 @@ const bclosure read_bytes_closure = {
** Solidified function: write_bytes
********************************************************************/
be_define_local_const_str2(write_bytes_str_name, "write_bytes", 1227543792, 0, 11, 0);
be_define_local_const_str2(write_bytes_str_source, "string", 398550328, 0, 6, 0);
be_define_local_const_str2(write_bytes_str_0, "_begin_transmission", -1515506120, 0, 19, 0);
be_define_local_const_str2(write_bytes_str_1, "_write", -2079504471, 0, 6, 0);
be_define_local_const_str2(write_bytes_str_2, "_end_transmission", -1057486896, 0, 17, 0);
be_define_local_const_str(write_bytes_str_name, "write_bytes", 1227543792, 11);
be_define_local_const_str(write_bytes_str_source, "string", 398550328, 6);
be_define_local_const_str(write_bytes_str_0, "_begin_transmission", -1515506120, 19);
be_define_local_const_str(write_bytes_str_1, "_write", -2079504471, 6);
be_define_local_const_str(write_bytes_str_2, "_end_transmission", -1057486896, 17);
static const bvalue write_bytes_ktab[3] = {
{ { .s=be_local_const_str(write_bytes_str_0) }, BE_STRING},
@ -210,11 +206,12 @@ const bclosure write_bytes_closure = {
/*******************************************************************/
#if BE_USE_PRECOMPILED_OBJECT
#include "../generate/be_fixed_be_class_tasmota_wire.h"
#endif
// #if !BE_USE_PRECOMPILED_OBJECT
#if 1 // TODO we will do pre-compiled later
void be_load_wirelib(bvm *vm)
{
void be_load_wirelib(bvm *vm) {
#if !BE_USE_PRECOMPILED_OBJECT
static const bnfuncinfo members[] = {
{ "bus", NULL }, // bus number
{ "init", b_wire_init },
@ -236,14 +233,32 @@ void be_load_wirelib(bvm *vm)
{ NULL, NULL }
};
be_regclass(vm, "Wire", members);
}
#else
be_pushntvclass(vm, &be_class_tasmota_wire);
be_setglobal(vm, "Wire");
be_pop(vm, 1);
#endif
}
/* @const_object_info_begin
module tasmota (scope: global, depend: 1) {
get_free_heap, func(l_getFreeHeap)
class be_class_tasmota_wire (scope: global, name: Wire) {
bus, var
init, func(b_wire_init)
_begin_transmission, func(b_wire_begintransmission)
_end_transmission, func(b_wire_endtransmission)
_request_from, func(b_wire_requestfrom)
_available, func(b_wire_available)
_write, func(b_wire_write)
_read, func(b_wire_read)
scan, func(b_wire_scan)
write, func(b_wire_validwrite)
read, func(b_wire_validread)
detect, func(b_wire_detect)
read_bytes, closure(read_bytes_closure)
write_bytes, closure(write_bytes_closure)
}
@const_object_info_end */
#include "../generate/be_fixed_tasmota.h"
#endif
#endif // USE_I2C

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,67 @@
#include "be_constobj.h"
static be_define_const_map_slots(be_class_tasmota_map) {
{ be_const_key(log, 25), be_const_func(l_logInfo) },
{ be_const_key(find_op, -1), be_const_closure(find_op_closure) },
{ be_const_key(gc, -1), be_const_closure(gc_closure) },
{ be_const_key(get_power, -1), be_const_func(l_getpower) },
{ be_const_key(_cmd, -1), be_const_func(l_cmd) },
{ be_const_key(scale_uint, -1), be_const_func(l_scaleuint) },
{ be_const_key(event, 4), be_const_closure(event_closure) },
{ be_const_key(exec_cmd, 20), be_const_closure(exec_cmd_closure) },
{ be_const_key(find_key_i, -1), be_const_closure(find_key_i_closure) },
{ be_const_key(resolvecmnd, -1), be_const_func(l_resolveCmnd) },
{ be_const_key(set_timer, -1), be_const_closure(set_timer_closure) },
{ be_const_key(add_driver, 37), be_const_closure(add_driver_closure) },
{ be_const_key(resp_cmnd, -1), be_const_func(l_respCmnd) },
{ be_const_key(resp_cmnd_str, -1), be_const_func(l_respCmndStr) },
{ be_const_key(add_cmd, -1), be_const_closure(add_cmd_closure) },
{ be_const_key(chars_in_string, -1), be_const_closure(chars_in_string_closure) },
{ be_const_key(add_rule, 47), be_const_closure(add_rule_closure) },
{ be_const_key(try_rule, 34), be_const_closure(try_rule_closure) },
{ be_const_key(get_option, -1), be_const_func(l_getoption) },
{ be_const_key(wire1, -1), be_const_int(0) },
{ be_const_key(remove_cmd, -1), be_const_closure(remove_cmd_closure) },
{ be_const_key(resp_cmnd_done, -1), be_const_func(l_respCmndDone) },
{ be_const_key(wire_scan, -1), be_const_closure(wire_scan_closure) },
{ be_const_key(_timers, -1), be_const_int(1) },
{ be_const_key(exec_rules, -1), be_const_closure(exec_rules_closure) },
{ be_const_key(response_append, 43), be_const_func(l_respAppend) },
{ be_const_key(time_dump, 31), be_const_func(l_time_dump) },
{ be_const_key(millis, -1), be_const_func(l_millis) },
{ be_const_key(wire2, -1), be_const_int(2) },
{ be_const_key(remove_rule, 8), be_const_closure(remove_rule_closure) },
{ be_const_key(delay, 13), be_const_func(l_delay) },
{ be_const_key(run_deferred, -1), be_const_closure(run_deferred_closure) },
{ be_const_key(i2c_enabled, 19), be_const_func(l_i2cenabled) },
{ be_const_key(_drivers, -1), be_const_int(3) },
{ be_const_key(time_reached, -1), be_const_func(l_timereached) },
{ be_const_key(publish, -1), be_const_func(l_publish) },
{ be_const_key(_ccmd, -1), be_const_int(4) },
{ be_const_key(yield, -1), be_const_func(l_yield) },
{ be_const_key(get_free_heap, -1), be_const_func(l_getFreeHeap) },
{ be_const_key(resp_cmnd_failed, -1), be_const_func(l_respCmndFailed) },
{ be_const_key(_rules, -1), be_const_int(5) },
{ be_const_key(time_str, -1), be_const_closure(time_str_closure) },
{ be_const_key(set_power, -1), be_const_func(l_setpower) },
{ be_const_key(cmd, -1), be_const_closure(cmd_closure) },
{ be_const_key(get_light, -1), be_const_closure(get_light_closure) },
{ be_const_key(save, -1), be_const_func(l_save) },
{ be_const_key(rtc, 23), be_const_func(l_rtc) },
{ be_const_key(resp_cmnd_error, 33), be_const_func(l_respCmndError) },
{ be_const_key(web_send_decimal, 15), be_const_func(l_webSendDecimal) },
{ be_const_key(load, 14), be_const_closure(load_closure) },
{ be_const_key(set_light, -1), be_const_closure(set_light_closure) },
};
static be_define_const_map(
be_class_tasmota_map,
51
);
BE_EXPORT_VARIABLE be_define_const_class(
be_class_tasmota,
6,
NULL,
Tasmota
);

View File

@ -0,0 +1,26 @@
#include "be_constobj.h"
static be_define_const_map_slots(be_class_tasmota_driver_map) {
{ be_const_key(add_cmd, -1), be_const_closure(add_cmd_closure) },
{ be_const_key(web_add_main_button, 3), be_const_int(0) },
{ be_const_key(web_sensor, -1), be_const_int(1) },
{ be_const_key(every_100ms, -1), be_const_int(2) },
{ be_const_key(json_append, 1), be_const_int(3) },
{ be_const_key(every_second, -1), be_const_int(4) },
{ be_const_key(button_pressed, -1), be_const_int(5) },
{ be_const_key(save_before_restart, -1), be_const_int(6) },
{ be_const_key(web_add_button, 7), be_const_int(7) },
{ be_const_key(get_tasmota, 0), be_const_func(d_getTasmotaGlob) },
};
static be_define_const_map(
be_class_tasmota_driver_map,
10
);
BE_EXPORT_VARIABLE be_define_const_class(
be_class_tasmota_driver,
8,
NULL,
Driver
);

View File

@ -0,0 +1,30 @@
#include "be_constobj.h"
static be_define_const_map_slots(be_class_tasmota_wire_map) {
{ be_const_key(_end_transmission, 10), be_const_func(b_wire_endtransmission) },
{ be_const_key(bus, -1), be_const_int(0) },
{ be_const_key(_read, 7), be_const_func(b_wire_read) },
{ be_const_key(read, -1), be_const_func(b_wire_validread) },
{ be_const_key(_request_from, -1), be_const_func(b_wire_requestfrom) },
{ be_const_key(init, -1), be_const_func(b_wire_init) },
{ be_const_key(write_bytes, -1), be_const_closure(write_bytes_closure) },
{ be_const_key(_begin_transmission, -1), be_const_func(b_wire_begintransmission) },
{ be_const_key(scan, -1), be_const_func(b_wire_scan) },
{ be_const_key(_write, 1), be_const_func(b_wire_write) },
{ be_const_key(write, -1), be_const_func(b_wire_validwrite) },
{ be_const_key(_available, -1), be_const_func(b_wire_available) },
{ be_const_key(detect, -1), be_const_func(b_wire_detect) },
{ be_const_key(read_bytes, -1), be_const_closure(read_bytes_closure) },
};
static be_define_const_map(
be_class_tasmota_wire_map,
14
);
BE_EXPORT_VARIABLE be_define_const_class(
be_class_tasmota_wire,
1,
NULL,
Wire
);

View File

@ -0,0 +1,25 @@
#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
);

View File

@ -0,0 +1,17 @@
#include "be_constobj.h"
static be_define_const_map_slots(m_libenergy_map) {
{ be_const_key(read, -1), be_const_func(b_nrg_read) },
};
static be_define_const_map(
m_libenergy_map,
1
);
static be_define_const_module(
m_libenergy,
"energy"
);
BE_EXPORT_VARIABLE be_define_const_native_module(energy, NULL);

View File

@ -0,0 +1,21 @@
#include "be_constobj.h"
static be_define_const_map_slots(m_liblight_map) {
{ be_const_key(gamma8, 1), be_const_func(l_gamma8) },
{ be_const_key(get, -1), be_const_func(l_getlight) },
{ be_const_key(set, 4), be_const_func(l_setlight) },
{ be_const_key(gamma10, -1), be_const_func(l_gamma10) },
{ be_const_key(reverse_gamma10, -1), be_const_func(l_rev_gamma10) },
};
static be_define_const_map(
m_liblight_map,
5
);
static be_define_const_module(
m_liblight,
"light"
);
BE_EXPORT_VARIABLE be_define_const_native_module(light, NULL);

View File

@ -0,0 +1,25 @@
#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
);

View File

@ -47,8 +47,8 @@ extern "C" {
.type = BE_REAL \
}
#define be_const_str(_val) { \
.v.s = (bstring*)(_val), \
#define be_const_str(_str) { \
.v.s = (bstring*)(_str), \
.type = BE_STRING \
}
@ -57,6 +57,11 @@ extern "C" {
.type = BE_CLASS \
}
#define be_const_closure(_closure) { \
.v.c = &(_closure), \
.type = BE_CLOSURE \
}
#define be_const_module(_module) { \
.v.c = &(_module), \
.type = BE_MODULE \
@ -131,11 +136,21 @@ const bntvmodule be_native_module(_module) = { \
BE_REAL \
}
#define be_const_str(_string) { \
bvaldata(bstring(_string)), \
BE_STRING \
}
#define be_const_class(_class) { \
bvaldata(&(_class)), \
BE_CLASS \
}
#define be_const_closure(_closure) { \
bvaldata(&(_closure)), \
BE_CLOSURE \
}
#define be_const_module(_module) { \
bvaldata(&(_module)), \
BE_MODULE \

View File

@ -256,7 +256,7 @@ typedef struct bntvmodule {
static const bcstring be_local_const_str_##_name = { \
.next = (bgcobject *)NULL, \
.type = BE_STRING, \
.marked = 0x08, /* GC_CONST */ \
.marked = GC_CONST, \
.extra = 0, \
.slen = _len, \
.hash = 0, \
@ -296,7 +296,7 @@ typedef struct bntvmodule {
#define be_define_local_proto(_name, _nstack, _argc, _is_const, _is_subproto, _is_upval) \
static const bproto _name##_proto = { \
NULL, /* bgcobject *next */ \
8, /* type BE_PROTO */ \
BE_PROTO, /* type BE_PROTO */ \
0x08, /* marked outside of GC */ \
(_nstack), /* nstack */ \
BE_IIF(_is_upval)(sizeof(_name##_upvals)/sizeof(bupvaldesc),0),/* nupvals */ \
@ -319,8 +319,8 @@ typedef struct bntvmodule {
#define be_define_local_closure(_name) \
const bclosure _name##_closure = { \
NULL, /* bgcobject *next */ \
36, /* type BE_CLOSURE */ \
0x08, /* marked GC_CONST */ \
BE_CLOSURE, /* type BE_CLOSURE */ \
GC_CONST, /* marked GC_CONST */ \
0, /* nupvals */ \
NULL, /* bgcobject *gray */ \
(bproto*) &_name##_proto, /* proto */ \

View File

@ -37,7 +37,7 @@ const char berry_prog[] =
#endif
// Phase 1
"class Tasmota: Tasmota_ntv "
// "class Tasmota: Tasmota_ntv "
// for now the variables are built, need to find a way to push in Flash
// "def init() "
// "end "
@ -352,7 +352,7 @@ const char berry_prog[] =
// "end "
// "end "
"end "
// "end "
// // Monkey patch `Driver` class - To be continued
// "class Driver2 : Driver "

View File

@ -262,8 +262,7 @@ print("""
/********************************************************************
* Tasmota LVGL classes for widgets
*******************************************************************/
#include "be_object.h"
#include "be_string.h"
#include "be_constobj.h"
#ifdef USE_LVGL
@ -390,9 +389,7 @@ print(" *******************************************************************/")
print("""/********************************************************************
* LVGL Module
*******************************************************************/
#include "be_object.h"
#include "be_string.h"
#include "be_gc.h"
#include "be_constobj.h"
#ifdef USE_LVGL
@ -544,67 +541,67 @@ be_define_native_module(lvgl, NULL);
#else
be_define_local_const_str(SYMBOL_AUDIO, "\\xef\\x80\\x81", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_VIDEO, "\\xef\\x80\\x88", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_LIST, "\\xef\\x80\\x8b", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_OK, "\\xef\\x80\\x8c", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_CLOSE, "\\xef\\x80\\x8d", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_POWER, "\\xef\\x80\\x91", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_SETTINGS, "\\xef\\x80\\x93", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_HOME, "\\xef\\x80\\x95", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_DOWNLOAD, "\\xef\\x80\\x99", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_DRIVE, "\\xef\\x80\\x9c", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_REFRESH, "\\xef\\x80\\xa1", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_MUTE, "\\xef\\x80\\xa6", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_VOLUME_MID, "\\xef\\x80\\xa7", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_VOLUME_MAX, "\\xef\\x80\\xa8", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_IMAGE, "\\xef\\x80\\xbe", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_EDIT, "\\xef\\x8C\\x84", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_PREV, "\\xef\\x81\\x88", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_PLAY, "\\xef\\x81\\x8b", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_PAUSE, "\\xef\\x81\\x8c", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_STOP, "\\xef\\x81\\x8d", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_NEXT, "\\xef\\x81\\x91", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_EJECT, "\\xef\\x81\\x92", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_LEFT, "\\xef\\x81\\x93", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_RIGHT, "\\xef\\x81\\x94", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_PLUS, "\\xef\\x81\\xa7", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_MINUS, "\\xef\\x81\\xa8", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_EYE_OPEN, "\\xef\\x81\\xae", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_EYE_CLOSE, "\\xef\\x81\\xb0", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_WARNING, "\\xef\\x81\\xb1", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_SHUFFLE, "\\xef\\x81\\xb4", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_UP, "\\xef\\x81\\xb7", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_DOWN, "\\xef\\x81\\xb8", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_LOOP, "\\xef\\x81\\xb9", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_DIRECTORY, "\\xef\\x81\\xbb", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_UPLOAD, "\\xef\\x82\\x93", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_CALL, "\\xef\\x82\\x95", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_CUT, "\\xef\\x83\\x84", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_COPY, "\\xef\\x83\\x85", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_SAVE, "\\xef\\x83\\x87", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_CHARGE, "\\xef\\x83\\xa7", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_PASTE, "\\xef\\x83\\xAA", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_BELL, "\\xef\\x83\\xb3", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_KEYBOARD, "\\xef\\x84\\x9c", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_GPS, "\\xef\\x84\\xa4", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_FILE, "\\xef\\x85\\x9b", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_WIFI, "\\xef\\x87\\xab", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_BATTERY_FULL, "\\xef\\x89\\x80", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_BATTERY_3, "\\xef\\x89\\x81", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_BATTERY_2, "\\xef\\x89\\x82", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_BATTERY_1, "\\xef\\x89\\x83", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_BATTERY_EMPTY, "\\xef\\x89\\x84", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_USB, "\\xef\\x8a\\x87", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_BLUETOOTH, "\\xef\\x8a\\x93", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_TRASH, "\\xef\\x8B\\xAD", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_BACKSPACE, "\\xef\\x95\\x9A", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_SD_CARD, "\\xef\\x9F\\x82", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_NEW_LINE, "\\xef\\xA2\\xA2", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_AUDIO, "\\xef\\x80\\x81", 0, 3);
be_define_local_const_str(SYMBOL_VIDEO, "\\xef\\x80\\x88", 0, 3);
be_define_local_const_str(SYMBOL_LIST, "\\xef\\x80\\x8b", 0, 3);
be_define_local_const_str(SYMBOL_OK, "\\xef\\x80\\x8c", 0, 3);
be_define_local_const_str(SYMBOL_CLOSE, "\\xef\\x80\\x8d", 0, 3);
be_define_local_const_str(SYMBOL_POWER, "\\xef\\x80\\x91", 0, 3);
be_define_local_const_str(SYMBOL_SETTINGS, "\\xef\\x80\\x93", 0, 3);
be_define_local_const_str(SYMBOL_HOME, "\\xef\\x80\\x95", 0, 3);
be_define_local_const_str(SYMBOL_DOWNLOAD, "\\xef\\x80\\x99", 0, 3);
be_define_local_const_str(SYMBOL_DRIVE, "\\xef\\x80\\x9c", 0, 3);
be_define_local_const_str(SYMBOL_REFRESH, "\\xef\\x80\\xa1", 0, 3);
be_define_local_const_str(SYMBOL_MUTE, "\\xef\\x80\\xa6", 0, 3);
be_define_local_const_str(SYMBOL_VOLUME_MID, "\\xef\\x80\\xa7", 0, 3);
be_define_local_const_str(SYMBOL_VOLUME_MAX, "\\xef\\x80\\xa8", 0, 3);
be_define_local_const_str(SYMBOL_IMAGE, "\\xef\\x80\\xbe", 0, 3);
be_define_local_const_str(SYMBOL_EDIT, "\\xef\\x8C\\x84", 0, 3);
be_define_local_const_str(SYMBOL_PREV, "\\xef\\x81\\x88", 0, 3);
be_define_local_const_str(SYMBOL_PLAY, "\\xef\\x81\\x8b", 0, 3);
be_define_local_const_str(SYMBOL_PAUSE, "\\xef\\x81\\x8c", 0, 3);
be_define_local_const_str(SYMBOL_STOP, "\\xef\\x81\\x8d", 0, 3);
be_define_local_const_str(SYMBOL_NEXT, "\\xef\\x81\\x91", 0, 3);
be_define_local_const_str(SYMBOL_EJECT, "\\xef\\x81\\x92", 0, 3);
be_define_local_const_str(SYMBOL_LEFT, "\\xef\\x81\\x93", 0, 3);
be_define_local_const_str(SYMBOL_RIGHT, "\\xef\\x81\\x94", 0, 3);
be_define_local_const_str(SYMBOL_PLUS, "\\xef\\x81\\xa7", 0, 3);
be_define_local_const_str(SYMBOL_MINUS, "\\xef\\x81\\xa8", 0, 3);
be_define_local_const_str(SYMBOL_EYE_OPEN, "\\xef\\x81\\xae", 0, 3);
be_define_local_const_str(SYMBOL_EYE_CLOSE, "\\xef\\x81\\xb0", 0, 3);
be_define_local_const_str(SYMBOL_WARNING, "\\xef\\x81\\xb1", 0, 3);
be_define_local_const_str(SYMBOL_SHUFFLE, "\\xef\\x81\\xb4", 0, 3);
be_define_local_const_str(SYMBOL_UP, "\\xef\\x81\\xb7", 0, 3);
be_define_local_const_str(SYMBOL_DOWN, "\\xef\\x81\\xb8", 0, 3);
be_define_local_const_str(SYMBOL_LOOP, "\\xef\\x81\\xb9", 0, 3);
be_define_local_const_str(SYMBOL_DIRECTORY, "\\xef\\x81\\xbb", 0, 3);
be_define_local_const_str(SYMBOL_UPLOAD, "\\xef\\x82\\x93", 0, 3);
be_define_local_const_str(SYMBOL_CALL, "\\xef\\x82\\x95", 0, 3);
be_define_local_const_str(SYMBOL_CUT, "\\xef\\x83\\x84", 0, 3);
be_define_local_const_str(SYMBOL_COPY, "\\xef\\x83\\x85", 0, 3);
be_define_local_const_str(SYMBOL_SAVE, "\\xef\\x83\\x87", 0, 3);
be_define_local_const_str(SYMBOL_CHARGE, "\\xef\\x83\\xa7", 0, 3);
be_define_local_const_str(SYMBOL_PASTE, "\\xef\\x83\\xAA", 0, 3);
be_define_local_const_str(SYMBOL_BELL, "\\xef\\x83\\xb3", 0, 3);
be_define_local_const_str(SYMBOL_KEYBOARD, "\\xef\\x84\\x9c", 0, 3);
be_define_local_const_str(SYMBOL_GPS, "\\xef\\x84\\xa4", 0, 3);
be_define_local_const_str(SYMBOL_FILE, "\\xef\\x85\\x9b", 0, 3);
be_define_local_const_str(SYMBOL_WIFI, "\\xef\\x87\\xab", 0, 3);
be_define_local_const_str(SYMBOL_BATTERY_FULL, "\\xef\\x89\\x80", 0, 3);
be_define_local_const_str(SYMBOL_BATTERY_3, "\\xef\\x89\\x81", 0, 3);
be_define_local_const_str(SYMBOL_BATTERY_2, "\\xef\\x89\\x82", 0, 3);
be_define_local_const_str(SYMBOL_BATTERY_1, "\\xef\\x89\\x83", 0, 3);
be_define_local_const_str(SYMBOL_BATTERY_EMPTY, "\\xef\\x89\\x84", 0, 3);
be_define_local_const_str(SYMBOL_USB, "\\xef\\x8a\\x87", 0, 3);
be_define_local_const_str(SYMBOL_BLUETOOTH, "\\xef\\x8a\\x93", 0, 3);
be_define_local_const_str(SYMBOL_TRASH, "\\xef\\x8B\\xAD", 0, 3);
be_define_local_const_str(SYMBOL_BACKSPACE, "\\xef\\x95\\x9A", 0, 3);
be_define_local_const_str(SYMBOL_SD_CARD, "\\xef\\x9F\\x82", 0, 3);
be_define_local_const_str(SYMBOL_NEW_LINE, "\\xef\\xA2\\xA2", 0, 3);
be_define_local_const_str(SYMBOL_DUMMY, "\\xEF\\xA3\\xBF", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_DUMMY, "\\xEF\\xA3\\xBF", 0, 3);
be_define_local_const_str(SYMBOL_BULLET, "\\xE2\\x80\\xA2", 0, 0, 3, 0);
be_define_local_const_str(SYMBOL_BULLET, "\\xE2\\x80\\xA2", 0, 3);
/* @const_object_info_begin