Berry native class array (#15178)

* Berry simplified classes in Flash

* Remove be_load_lvgl_classes
This commit is contained in:
s-hadinger 2022-03-19 14:27:03 +01:00 committed by GitHub
parent 214178e4bb
commit 01eade7e47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
36 changed files with 266 additions and 507 deletions

View File

@ -146,51 +146,113 @@ BERRY_LOCAL const bntvmodule* const be_module_table[] = {
#endif // USE_WEBSERVER #endif // USE_WEBSERVER
&be_native_module(flash), &be_native_module(flash),
/* user-defined modules register end */ /* user-defined modules register end */
NULL /* do not remove */ NULL /* do not remove */
}; };
#ifdef ESP32 be_extern_native_class(tasmota);
extern void be_load_tasmota_ntvlib(bvm *vm); be_extern_native_class(Trigger);
extern void be_load_tasmota_log_reader_class(bvm *vm); be_extern_native_class(Driver);
extern void be_load_light_state_class(bvm *vm); be_extern_native_class(ctypes_bytes);
extern void be_load_wirelib(bvm *vm); be_extern_native_class(ctypes_bytes_dyn);
extern void be_load_onewirelib(bvm *vm); be_extern_native_class(serial);
extern void be_load_serial_lib(bvm *vm); be_extern_native_class(ccronexpr);
extern void be_load_Driver_class(bvm *vm); be_extern_native_class(tasmota_log_reader);
extern void be_load_Trigger_class(bvm *vm); be_extern_native_class(light_state);
extern void be_load_I2C_Driver_class(bvm *vm); be_extern_native_class(Wire);
extern void be_load_AXP192_class(bvm *vm); be_extern_native_class(I2C_Driver);
extern void be_load_md5_lib(bvm *vm); be_extern_native_class(AXP192);
extern void be_load_webclient_lib(bvm *vm); be_extern_native_class(OneWire);
extern void be_load_tcpclient_lib(bvm *vm); be_extern_native_class(Leds_ntv);
extern void be_load_udp_lib(bvm *vm); be_extern_native_class(Leds);
extern void be_load_crypto_lib(bvm *vm); be_extern_native_class(Leds_animator);
extern void be_load_ccronexpr_class(bvm *vm); be_extern_native_class(AudioOutput);
extern void be_load_Leds_ntv_class(bvm *vm); be_extern_native_class(AudioGenerator);
extern void be_load_Leds_class(bvm *vm); be_extern_native_class(AudioFileSource);
extern void be_load_Leds_animator_class(bvm *vm); be_extern_native_class(AudioOutputI2S);
be_extern_native_class(AudioGeneratorWAV);
be_extern_native_class(AudioGeneratorMP3);
be_extern_native_class(AudioFileSourceFS);
be_extern_native_class(AudioOpusDecoder);
be_extern_native_class(md5);
be_extern_native_class(udp);
be_extern_native_class(webclient);
be_extern_native_class(tcpclient);
// LVGL core classes
be_extern_native_class(lv_color);
be_extern_native_class(lv_font);
be_extern_native_class(LVGL_glob);
// LVGL custom classes
be_extern_native_class(lv_signal_bars);
be_extern_native_class(lv_wifi_bars);
be_extern_native_class(lv_wifi_bars_icon);
be_extern_native_class(lv_signal_arcs);
be_extern_native_class(lv_wifi_arcs);
be_extern_native_class(lv_wifi_arcs_icon);
be_extern_native_class(lv_clock_icon);
extern void be_load_ctypes_lib(bvm *vm); BERRY_LOCAL bclass_array be_class_table = {
extern void be_load_ctypes_energy_definitions_lib(bvm *vm); /* first list are direct classes */
&be_native_class(tasmota),
#ifdef USE_I2S_AUDIO_BERRY &be_native_class(Trigger),
extern void be_load_driver_audio_lib(bvm *vm); &be_native_class(Driver),
extern void be_load_driver_audio_opus_decoder(bvm *vm); &be_native_class(serial),
&be_native_class(ccronexpr),
&be_native_class(ctypes_bytes),
&be_native_class(ctypes_bytes_dyn),
&be_native_class(tasmota_log_reader),
#ifdef USE_LIGHT
&be_native_class(light_state),
#endif #endif
#if defined(USE_ONEWIRE) || defined(USE_DS18x20)
&be_native_class(OneWire),
#endif
#ifdef USE_I2C
&be_native_class(Wire),
&be_native_class(I2C_Driver),
&be_native_class(AXP192),
#endif // USE_I2C
&be_native_class(md5),
#ifdef USE_WEBCLIENT
&be_native_class(udp),
&be_native_class(webclient),
&be_native_class(tcpclient),
#endif // USE_WEBCLIENT
#ifdef USE_WS2812
&be_native_class(Leds_ntv),
&be_native_class(Leds),
&be_native_class(Leds_animator),
#endif // USE_WS2812
#ifdef USE_LVGL #ifdef USE_LVGL
#include "lv_berry.h" &be_native_class(LVGL_glob),
// custom widgets
extern void be_load_lv_signal_bars_class(bvm *vm); &be_native_class(lv_signal_bars),
extern void be_load_lv_wifi_bars_class(bvm *vm); &be_native_class(lv_wifi_bars),
extern void be_load_lv_wifi_bars_icon_class(bvm *vm); &be_native_class(lv_wifi_bars_icon),
extern void be_load_lv_signal_arcs_class(bvm *vm); &be_native_class(lv_signal_arcs),
extern void be_load_lv_wifi_arcs_class(bvm *vm); &be_native_class(lv_wifi_arcs),
extern void be_load_lv_wifi_arcs_icon_class(bvm *vm); &be_native_class(lv_wifi_arcs_icon),
extern void be_load_lv_clock_icon_class(bvm *vm); &be_native_class(lv_clock_icon),
#endif// USE_LVGL #endif // USE_LVGL
#ifdef USE_I2S_AUDIO_BERRY
&be_native_class(AudioOutput),
&be_native_class(AudioGenerator),
&be_native_class(AudioFileSource),
&be_native_class(AudioOutputI2S),
&be_native_class(AudioGeneratorWAV),
&be_native_class(AudioGeneratorMP3),
#ifdef USE_UFILESYS
&be_native_class(AudioFileSourceFS),
#endif // USE_UFILESYS
&be_native_class(AudioOpusDecoder),
#endif // USE_I2S_AUDIO_BERRY
NULL, /* do not remove */
};
extern void be_load_crypto_lib(bvm *vm);
extern void be_load_ctypes_energy_definitions_lib(bvm *vm);
/* this code loads the native class definitions */ /* this code loads the native class definitions */
BERRY_API void be_load_custom_libs(bvm *vm) BERRY_API void be_load_custom_libs(bvm *vm)
@ -200,61 +262,15 @@ BERRY_API void be_load_custom_libs(bvm *vm)
/* add here custom libs */ /* add here custom libs */
#if !BE_USE_PRECOMPILED_OBJECT #if !BE_USE_PRECOMPILED_OBJECT
/* be_load_xxxlib(vm); */ /* be_load_xxxlib(vm); */
#endif
be_load_Trigger_class(vm);
be_load_tasmota_ntvlib(vm);
be_load_tasmota_log_reader_class(vm);
be_load_Driver_class(vm);
be_load_md5_lib(vm);
be_load_serial_lib(vm);
be_load_ctypes_lib(vm);
be_load_ccronexpr_class(vm);
#ifdef USE_LIGHT
be_load_light_state_class(vm);
#endif #endif
#ifdef USE_ALEXA_AVS #ifdef USE_ALEXA_AVS
be_load_crypto_lib(vm); be_load_crypto_lib(vm); // sub-module
#endif #endif
#ifdef USE_I2C
be_load_wirelib(vm);
be_load_I2C_Driver_class(vm);
be_load_AXP192_class(vm);
#endif // USE_I2C
#ifdef USE_ENERGY_SENSOR #ifdef USE_ENERGY_SENSOR
be_load_ctypes_energy_definitions_lib(vm); be_load_ctypes_energy_definitions_lib(vm); // ctype class
#endif // USE_ENERGY_SENSOR #endif // USE_ENERGY_SENSOR
#ifdef USE_WEBCLIENT
be_load_webclient_lib(vm);
be_load_tcpclient_lib(vm);
be_load_udp_lib(vm);
#endif // USE_WEBCLIENT
#if defined(USE_ONEWIRE) || defined(USE_DS18x20)
be_load_onewirelib(vm);
#endif
#ifdef USE_WS2812
be_load_Leds_ntv_class(vm);
be_load_Leds_class(vm);
be_load_Leds_animator_class(vm);
#endif // USE_WS2812
#ifdef USE_I2S_AUDIO_BERRY
be_load_driver_audio_lib(vm);
be_load_driver_audio_opus_decoder(vm);
#endif
#ifdef USE_LVGL
// LVGL
be_load_lvgl_classes(vm);
// custom widgets
be_load_lv_signal_bars_class(vm);
be_load_lv_wifi_bars_class(vm);
be_load_lv_wifi_bars_icon_class(vm);
be_load_lv_signal_arcs_class(vm);
be_load_lv_wifi_arcs_class(vm);
be_load_lv_wifi_arcs_icon_class(vm);
be_load_lv_clock_icon_class(vm);
#endif // USE_LVGL
#if defined(USE_MI_ESP32) && !defined(USE_BLE_ESP32) #if defined(USE_MI_ESP32) && !defined(USE_BLE_ESP32)
be_load_MI32_class(vm); be_load_MI32_class(vm);
be_load_BLE_class(vm); be_load_BLE_class(vm);
#endif //USE_MI_ESP32 #endif //USE_MI_ESP32
} }
#endif

View File

@ -9,6 +9,7 @@ extern const bcstring be_const_str_AudioFileSourceFS;
extern const bcstring be_const_str_AudioGenerator; extern const bcstring be_const_str_AudioGenerator;
extern const bcstring be_const_str_AudioGeneratorMP3; extern const bcstring be_const_str_AudioGeneratorMP3;
extern const bcstring be_const_str_AudioGeneratorWAV; extern const bcstring be_const_str_AudioGeneratorWAV;
extern const bcstring be_const_str_AudioOpusDecoder;
extern const bcstring be_const_str_AudioOutput; extern const bcstring be_const_str_AudioOutput;
extern const bcstring be_const_str_AudioOutputI2S; extern const bcstring be_const_str_AudioOutputI2S;
extern const bcstring be_const_str_Auto_X2Dconfiguration; extern const bcstring be_const_str_Auto_X2Dconfiguration;
@ -70,7 +71,6 @@ extern const bcstring be_const_str_MD5;
extern const bcstring be_const_str_None; extern const bcstring be_const_str_None;
extern const bcstring be_const_str_OPTION_A; extern const bcstring be_const_str_OPTION_A;
extern const bcstring be_const_str_OneWire; extern const bcstring be_const_str_OneWire;
extern const bcstring be_const_str_OpusDecoder;
extern const bcstring be_const_str_PART_MAIN; extern const bcstring be_const_str_PART_MAIN;
extern const bcstring be_const_str_POST; extern const bcstring be_const_str_POST;
extern const bcstring be_const_str_Parameter_X20error; extern const bcstring be_const_str_Parameter_X20error;

View File

@ -79,6 +79,7 @@ be_define_const_str(AudioFileSourceFS, "AudioFileSourceFS", 1839147653u, 0, 17,
be_define_const_str(AudioGenerator, "AudioGenerator", 1839297342u, 0, 14, &be_const_str_full_state); be_define_const_str(AudioGenerator, "AudioGenerator", 1839297342u, 0, 14, &be_const_str_full_state);
be_define_const_str(AudioGeneratorMP3, "AudioGeneratorMP3", 2199818488u, 0, 17, &be_const_str_files); be_define_const_str(AudioGeneratorMP3, "AudioGeneratorMP3", 2199818488u, 0, 17, &be_const_str_files);
be_define_const_str(AudioGeneratorWAV, "AudioGeneratorWAV", 2746509368u, 0, 17, &be_const_str_EVENT_DRAW_PART_BEGIN); be_define_const_str(AudioGeneratorWAV, "AudioGeneratorWAV", 2746509368u, 0, 17, &be_const_str_EVENT_DRAW_PART_BEGIN);
be_define_const_str(AudioOpusDecoder, "AudioOpusDecoder", 1187272062u, 0, 16, &be_const_str_coord_arr);
be_define_const_str(AudioOutput, "AudioOutput", 3257792048u, 0, 11, NULL); be_define_const_str(AudioOutput, "AudioOutput", 3257792048u, 0, 11, NULL);
be_define_const_str(AudioOutputI2S, "AudioOutputI2S", 638031784u, 0, 14, &be_const_str_obj_class_create_obj); be_define_const_str(AudioOutputI2S, "AudioOutputI2S", 638031784u, 0, 14, &be_const_str_obj_class_create_obj);
be_define_const_str(Auto_X2Dconfiguration, "Auto-configuration", 1665006109u, 0, 18, &be_const_str_EXTERNAL_I2S); be_define_const_str(Auto_X2Dconfiguration, "Auto-configuration", 1665006109u, 0, 18, &be_const_str_EXTERNAL_I2S);
@ -140,7 +141,6 @@ be_define_const_str(MD5, "MD5", 1935726387u, 0, 3, &be_const_str_ctypes_bytes_dy
be_define_const_str(None, "None", 810547195u, 0, 4, &be_const_str_dump); be_define_const_str(None, "None", 810547195u, 0, 4, &be_const_str_dump);
be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_signal_bars); be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_signal_bars);
be_define_const_str(OneWire, "OneWire", 2298990722u, 0, 7, &be_const_str_font_montserrat); be_define_const_str(OneWire, "OneWire", 2298990722u, 0, 7, &be_const_str_font_montserrat);
be_define_const_str(OpusDecoder, "OpusDecoder", 3618742074u, 0, 11, &be_const_str_get_style_pad_right);
be_define_const_str(PART_MAIN, "PART_MAIN", 2473491508u, 0, 9, &be_const_str_Tasmota); be_define_const_str(PART_MAIN, "PART_MAIN", 2473491508u, 0, 9, &be_const_str_Tasmota);
be_define_const_str(POST, "POST", 1929554311u, 0, 4, NULL); be_define_const_str(POST, "POST", 1929554311u, 0, 4, NULL);
be_define_const_str(Parameter_X20error, "Parameter error", 3840042038u, 0, 15, &be_const_str_find); be_define_const_str(Parameter_X20error, "Parameter error", 3840042038u, 0, 15, &be_const_str_find);
@ -974,7 +974,7 @@ static const bstring* const m_string_table[] = {
(const bstring *)&be_const_str_set_mode_ct, (const bstring *)&be_const_str_set_mode_ct,
(const bstring *)&be_const_str__X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E, (const bstring *)&be_const_str__X3Coption_X20value_X3D_X27_X25s_X27_X3E_X25s_X3C_X2Foption_X3E,
(const bstring *)&be_const_str__X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d, (const bstring *)&be_const_str__X2504d_X2D_X2502d_X2D_X2502dT_X2502d_X3A_X2502d_X3A_X2502d,
(const bstring *)&be_const_str_coord_arr, (const bstring *)&be_const_str_AudioOpusDecoder,
(const bstring *)&be_const_str_sat, (const bstring *)&be_const_str_sat,
(const bstring *)&be_const_str__X2Elen, (const bstring *)&be_const_str__X2Elen,
(const bstring *)&be_const_str_ALIGN_BOTTOM_MID, (const bstring *)&be_const_str_ALIGN_BOTTOM_MID,
@ -1170,7 +1170,7 @@ static const bstring* const m_string_table[] = {
(const bstring *)&be_const_str__settings_def, (const bstring *)&be_const_str__settings_def,
(const bstring *)&be_const_str_AudioOutput, (const bstring *)&be_const_str_AudioOutput,
(const bstring *)&be_const_str_BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson, (const bstring *)&be_const_str_BRY_X3A_X20failed_X20to_X20load_X20_persist_X2Ejson,
(const bstring *)&be_const_str_OpusDecoder, (const bstring *)&be_const_str_get_style_pad_right,
(const bstring *)&be_const_str_content_stop, (const bstring *)&be_const_str_content_stop,
NULL, NULL,
NULL, NULL,

View File

@ -1,16 +1,16 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_audio_file_source_map) { static be_define_const_map_slots(be_class_AudioFileSource_map) {
{ be_const_key(_X2Ep, -1), be_const_var(0) }, { be_const_key(_X2Ep, -1), be_const_var(0) },
}; };
static be_define_const_map( static be_define_const_map(
be_class_audio_file_source_map, be_class_AudioFileSource_map,
1 1
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_audio_file_source, be_class_AudioFileSource,
1, 1,
NULL, NULL,
AudioFileSource AudioFileSource

View File

@ -1,18 +1,18 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_audio_file_source_fs_map) { static be_define_const_map_slots(be_class_AudioFileSourceFS_map) {
{ be_const_key(deinit, -1), be_const_func(i2s_file_source_fs_deinit) }, { be_const_key(deinit, -1), be_const_func(i2s_file_source_fs_deinit) },
{ be_const_key(init, -1), be_const_func(i2s_file_source_fs_init) }, { be_const_key(init, -1), be_const_func(i2s_file_source_fs_init) },
}; };
static be_define_const_map( static be_define_const_map(
be_class_audio_file_source_fs_map, be_class_AudioFileSourceFS_map,
2 2
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_audio_file_source_fs, be_class_AudioFileSourceFS,
0, 0,
(bclass *)&be_class_audio_file_source, (bclass *)&be_class_AudioFileSource,
AudioFileSourceFS AudioFileSourceFS
); );

View File

@ -1,16 +1,16 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_audio_generator_map) { static be_define_const_map_slots(be_class_AudioGenerator_map) {
{ be_const_key(_X2Ep, -1), be_const_var(0) }, { be_const_key(_X2Ep, -1), be_const_var(0) },
}; };
static be_define_const_map( static be_define_const_map(
be_class_audio_generator_map, be_class_AudioGenerator_map,
1 1
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_audio_generator, be_class_AudioGenerator,
1, 1,
NULL, NULL,
AudioGenerator AudioGenerator

View File

@ -1,6 +1,6 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_audio_generator_mp3_map) { static be_define_const_map_slots(be_class_AudioGeneratorMP3_map) {
{ be_const_key(begin, -1), be_const_func(i2s_generator_mp3_begin) }, { be_const_key(begin, -1), be_const_func(i2s_generator_mp3_begin) },
{ be_const_key(loop, -1), be_const_func(i2s_generator_mp3_loop) }, { be_const_key(loop, -1), be_const_func(i2s_generator_mp3_loop) },
{ be_const_key(isrunning, -1), be_const_func(i2s_generator_mp3_isrunning) }, { be_const_key(isrunning, -1), be_const_func(i2s_generator_mp3_isrunning) },
@ -10,13 +10,13 @@ static be_define_const_map_slots(be_class_audio_generator_mp3_map) {
}; };
static be_define_const_map( static be_define_const_map(
be_class_audio_generator_mp3_map, be_class_AudioGeneratorMP3_map,
6 6
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_audio_generator_mp3, be_class_AudioGeneratorMP3,
0, 0,
(bclass *)&be_class_audio_generator, (bclass *)&be_class_AudioGenerator,
AudioGeneratorMP3 AudioGeneratorMP3
); );

View File

@ -1,6 +1,6 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_audio_generator_wav_map) { static be_define_const_map_slots(be_class_AudioGeneratorWAV_map) {
{ be_const_key(begin, -1), be_const_func(i2s_generator_wav_begin) }, { be_const_key(begin, -1), be_const_func(i2s_generator_wav_begin) },
{ be_const_key(loop, -1), be_const_func(i2s_generator_wav_loop) }, { be_const_key(loop, -1), be_const_func(i2s_generator_wav_loop) },
{ be_const_key(isrunning, -1), be_const_func(i2s_generator_wav_isrunning) }, { be_const_key(isrunning, -1), be_const_func(i2s_generator_wav_isrunning) },
@ -10,13 +10,13 @@ static be_define_const_map_slots(be_class_audio_generator_wav_map) {
}; };
static be_define_const_map( static be_define_const_map(
be_class_audio_generator_wav_map, be_class_AudioGeneratorWAV_map,
6 6
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_audio_generator_wav, be_class_AudioGeneratorWAV,
0, 0,
(bclass *)&be_class_audio_generator, (bclass *)&be_class_AudioGenerator,
AudioGeneratorWAV AudioGeneratorWAV
); );

View File

@ -1,6 +1,6 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_audio_opus_decoder_map) { static be_define_const_map_slots(be_class_AudioOpusDecoder_map) {
{ be_const_key(deinit, -1), be_const_func(be_audio_opus_decoder_deinit) }, { be_const_key(deinit, -1), be_const_func(be_audio_opus_decoder_deinit) },
{ be_const_key(decode, 2), be_const_func(be_audio_opus_decoder_decode) }, { be_const_key(decode, 2), be_const_func(be_audio_opus_decoder_decode) },
{ be_const_key(_X2Ep, -1), be_const_var(0) }, { be_const_key(_X2Ep, -1), be_const_var(0) },
@ -8,13 +8,13 @@ static be_define_const_map_slots(be_class_audio_opus_decoder_map) {
}; };
static be_define_const_map( static be_define_const_map(
be_class_audio_opus_decoder_map, be_class_AudioOpusDecoder_map,
4 4
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_audio_opus_decoder, be_class_AudioOpusDecoder,
1, 1,
NULL, NULL,
OpusDecoder AudioOpusDecoder
); );

View File

@ -1,6 +1,6 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_audio_output_map) { static be_define_const_map_slots(be_class_AudioOutput_map) {
{ be_const_key(set_bits_per_sample, -1), be_const_func(be_audio_output_set_bits_per_sample) }, { be_const_key(set_bits_per_sample, -1), be_const_func(be_audio_output_set_bits_per_sample) },
{ be_const_key(flush, -1), be_const_func(be_audio_output_flush) }, { be_const_key(flush, -1), be_const_func(be_audio_output_flush) },
{ be_const_key(consume_stereo, -1), be_const_func(be_audio_output_consume_stereo) }, { be_const_key(consume_stereo, -1), be_const_func(be_audio_output_consume_stereo) },
@ -16,12 +16,12 @@ static be_define_const_map_slots(be_class_audio_output_map) {
}; };
static be_define_const_map( static be_define_const_map(
be_class_audio_output_map, be_class_AudioOutput_map,
12 12
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_audio_output, be_class_AudioOutput,
1, 1,
NULL, NULL,
AudioOutput AudioOutput

View File

@ -1,6 +1,6 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_audio_output_i2s_map) { static be_define_const_map_slots(be_class_AudioOutputI2S_map) {
{ be_const_key(INTERNAL_PDM, -1), be_const_int(AudioOutputI2S::INTERNAL_PDM) }, { be_const_key(INTERNAL_PDM, -1), be_const_int(AudioOutputI2S::INTERNAL_PDM) },
{ be_const_key(INTERNAL_DAC, 2), be_const_int(AudioOutputI2S::INTERNAL_DAC) }, { be_const_key(INTERNAL_DAC, 2), be_const_int(AudioOutputI2S::INTERNAL_DAC) },
{ be_const_key(init, -1), be_const_func(i2s_output_i2s_init) }, { be_const_key(init, -1), be_const_func(i2s_output_i2s_init) },
@ -10,13 +10,13 @@ static be_define_const_map_slots(be_class_audio_output_i2s_map) {
}; };
static be_define_const_map( static be_define_const_map(
be_class_audio_output_i2s_map, be_class_AudioOutputI2S_map,
6 6
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_audio_output_i2s, be_class_AudioOutputI2S,
0, 0,
(bclass *)&be_class_audio_output, (bclass *)&be_class_AudioOutput,
AudioOutputI2S AudioOutputI2S
); );

View File

@ -1,6 +1,6 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_tasmota_onewire_map) { static be_define_const_map_slots(be_class_OneWire_map) {
{ be_const_key(reset, -1), be_const_func(b_onewire_reset) }, { be_const_key(reset, -1), be_const_func(b_onewire_reset) },
{ be_const_key(search, 10), be_const_func(b_onewire_search) }, { be_const_key(search, 10), be_const_func(b_onewire_search) },
{ be_const_key(depower, -1), be_const_func(b_onewire_depower) }, { be_const_key(depower, -1), be_const_func(b_onewire_depower) },
@ -16,12 +16,12 @@ static be_define_const_map_slots(be_class_tasmota_onewire_map) {
}; };
static be_define_const_map( static be_define_const_map(
be_class_tasmota_onewire_map, be_class_OneWire_map,
12 12
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_tasmota_onewire, be_class_OneWire,
1, 1,
NULL, NULL,
OneWire OneWire

View File

@ -1,6 +1,6 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_tasmota_wire_map) { static be_define_const_map_slots(be_class_Wire_map) {
{ be_const_key(init, -1), be_const_func(b_wire_init) }, { be_const_key(init, -1), be_const_func(b_wire_init) },
{ be_const_key(_available, -1), be_const_func(b_wire_available) }, { be_const_key(_available, -1), be_const_func(b_wire_available) },
{ be_const_key(bus, -1), be_const_var(0) }, { be_const_key(bus, -1), be_const_var(0) },
@ -19,12 +19,12 @@ static be_define_const_map_slots(be_class_tasmota_wire_map) {
}; };
static be_define_const_map( static be_define_const_map(
be_class_tasmota_wire_map, be_class_Wire_map,
15 15
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_tasmota_wire, be_class_Wire,
1, 1,
NULL, NULL,
Wire Wire

View File

@ -1,6 +1,6 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_ctypes_map) { static be_define_const_map_slots(be_class_ctypes_bytes_map) {
{ be_const_key(_def, 5), be_const_nil() }, { be_const_key(_def, 5), be_const_nil() },
{ be_const_key(setmember, 0), be_const_func(be_ctypes_setmember) }, { be_const_key(setmember, 0), be_const_func(be_ctypes_setmember) },
{ be_const_key(copy, -1), be_const_func(be_ctypes_copy) }, { be_const_key(copy, -1), be_const_func(be_ctypes_copy) },
@ -10,12 +10,12 @@ static be_define_const_map_slots(be_class_ctypes_map) {
}; };
static be_define_const_map( static be_define_const_map(
be_class_ctypes_map, be_class_ctypes_bytes_map,
6 6
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_ctypes, be_class_ctypes_bytes,
0, 0,
(bclass *)&be_class_bytes, (bclass *)&be_class_bytes,
ctypes_bytes ctypes_bytes

View File

@ -1,18 +1,18 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_ctypes_dyn_map) { static be_define_const_map_slots(be_class_ctypes_bytes_dyn_map) {
{ be_const_key(_def, -1), be_const_var(0) }, { be_const_key(_def, -1), be_const_var(0) },
{ be_const_key(init, 0), be_const_func(be_ctypes_dyn_init) }, { be_const_key(init, 0), be_const_func(be_ctypes_dyn_init) },
}; };
static be_define_const_map( static be_define_const_map(
be_class_ctypes_dyn_map, be_class_ctypes_bytes_dyn_map,
2 2
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_ctypes_dyn, be_class_ctypes_bytes_dyn,
1, 1,
(bclass *)&be_class_ctypes, (bclass *)&be_class_ctypes_bytes,
ctypes_bytes_dyn ctypes_bytes_dyn
); );

View File

@ -1,6 +1,6 @@
#include "be_constobj.h" #include "be_constobj.h"
static be_define_const_map_slots(be_class_tasmota_serial_map) { static be_define_const_map_slots(be_class_serial_map) {
{ be_const_key(SERIAL_5E2, 3), be_const_int(SERIAL_5E2) }, { be_const_key(SERIAL_5E2, 3), be_const_int(SERIAL_5E2) },
{ be_const_key(SERIAL_8E1, -1), be_const_int(SERIAL_8E1) }, { be_const_key(SERIAL_8E1, -1), be_const_int(SERIAL_8E1) },
{ be_const_key(SERIAL_8O1, 22), be_const_int(SERIAL_8O1) }, { be_const_key(SERIAL_8O1, 22), be_const_int(SERIAL_8O1) },
@ -35,12 +35,12 @@ static be_define_const_map_slots(be_class_tasmota_serial_map) {
}; };
static be_define_const_map( static be_define_const_map(
be_class_tasmota_serial_map, be_class_serial_map,
31 31
); );
BE_EXPORT_VARIABLE be_define_const_class( BE_EXPORT_VARIABLE be_define_const_class(
be_class_tasmota_serial, be_class_serial,
1, 1,
NULL, NULL,
serial serial

View File

@ -11,10 +11,13 @@
#include "be_string.h" #include "be_string.h"
#include "be_map.h" #include "be_map.h"
#include "be_gc.h" #include "be_gc.h"
#include "be_class.h"
#define global(vm) ((vm)->gbldesc.global) #define global(vm) ((vm)->gbldesc.global)
#define builtin(vm) ((vm)->gbldesc.builtin) #define builtin(vm) ((vm)->gbldesc.builtin)
extern BERRY_LOCAL bclass_array be_class_table;
void be_globalvar_init(bvm *vm) void be_globalvar_init(bvm *vm)
{ {
global(vm).vtab = be_map_new(vm); global(vm).vtab = be_map_new(vm);
@ -37,6 +40,28 @@ void be_globalvar_deinit(bvm *vm)
#endif #endif
} }
/* This function is called when the global was not found */
/* If the name looked for matches a static class, a global with the class name is created lazily */
/* Pre: no global exists with name `name`*/
/* Returns: idx of newly created global, or -1 if not found */
static int global_native_class_find(bvm *vm, bstring *name)
{
const char* cl_name = str(name);
bclass_ptr* class_p = &be_class_table[0];
for (; *class_p; class_p++) {
const bclass* cl = *class_p;
if (!strcmp(str(cl->name), cl_name)) {
/* class name matches */
int idx = be_global_new(vm, name);
bvalue *v = be_global_var(vm, idx);
var_setclass(v, cl);
return idx;
}
}
return -1;
}
static int global_find(bvm *vm, bstring *name) static int global_find(bvm *vm, bstring *name)
{ {
bvalue *res = be_map_findstr(vm, global(vm).vtab, name); bvalue *res = be_map_findstr(vm, global(vm).vtab, name);
@ -49,7 +74,13 @@ static int global_find(bvm *vm, bstring *name)
int be_global_find(bvm *vm, bstring *name) int be_global_find(bvm *vm, bstring *name)
{ {
int res = global_find(vm, name); int res = global_find(vm, name);
return res != -1 ? res : be_builtin_find(vm, name); if (res < 0) {
res = be_builtin_find(vm, name);
}
if (res < 0) {
res = global_native_class_find(vm, name);
}
return res;
} }
static int global_new_anonymous(bvm *vm) static int global_new_anonymous(bvm *vm)

View File

@ -174,6 +174,11 @@ typedef struct bntvmodule {
const struct bmodule *module; /* const module object */ const struct bmodule *module; /* const module object */
} bntvmodule; } bntvmodule;
/* native class object */
struct bclass; /* we need only the pointer to `bclass` here */
typedef const struct bclass *bclass_ptr;
typedef bclass_ptr bclass_array[]; /* array of bclass* pointers, NULL terminated */
/* native module node definition macro */ /* native module node definition macro */
#ifndef __cplusplus #ifndef __cplusplus
#define be_native_module_nil(_name) \ #define be_native_module_nil(_name) \
@ -223,11 +228,16 @@ typedef struct bntvmodule {
static const bntvmodobj name##_attrs[] = static const bntvmodobj name##_attrs[] =
#define be_native_module(name) be_native_module_##name #define be_native_module(name) be_native_module_##name
#define be_native_class(name) be_class_##name
/* native module declaration macro */ /* native module declaration macro */
#define be_extern_native_module(name) \ #define be_extern_native_module(name) \
extern const bntvmodule be_native_module(name) extern const bntvmodule be_native_module(name)
/* native class declaration macro */
#define be_extern_native_class(name) \
extern const struct bclass be_native_class(name)
/* native module definition macro */ /* native module definition macro */
#ifndef __cplusplus #ifndef __cplusplus
#define be_define_native_module(_name, _init) \ #define be_define_native_module(_name, _init) \

View File

@ -60,7 +60,7 @@ typedef struct be_ctypes_classes_t {
const be_ctypes_class_t * classes; const be_ctypes_class_t * classes;
} be_ctypes_classes_t; } be_ctypes_classes_t;
BE_EXPORT_VARIABLE const bclass be_class_ctypes; BE_EXPORT_VARIABLE const bclass be_class_ctypes_bytes;
static void ctypes_register_class(bvm *vm, const bclass * ctypes_class, const be_ctypes_structure_t * definitions) { static void ctypes_register_class(bvm *vm, const bclass * ctypes_class, const be_ctypes_structure_t * definitions) {
be_pushntvclass(vm, ctypes_class); be_pushntvclass(vm, ctypes_class);

View File

@ -74,17 +74,11 @@ int32_t be_audio_opus_decoder_decode(struct bvm *vm) {
be_return(vm); be_return(vm);
} }
#include "be_fixed_be_class_audio_opus_decoder.h" #include "be_fixed_be_class_AudioOpusDecoder.h"
void be_load_driver_audio_opus_decoder(bvm *vm) {
be_pushntvclass(vm, &be_class_audio_opus_decoder);
be_setglobal(vm, "OpusDecoder");
be_pop(vm, 1);
}
/* @const_object_info_begin /* @const_object_info_begin
class be_class_audio_opus_decoder (scope: global, name: OpusDecoder) { class be_class_AudioOpusDecoder (scope: global, name: AudioOpusDecoder) {
.p, var .p, var
init, func(be_audio_opus_decoder_init) init, func(be_audio_opus_decoder_init)
deinit, func(be_audio_opus_decoder_deinit) deinit, func(be_audio_opus_decoder_deinit)

View File

@ -60,11 +60,6 @@ BE_FUNC_CTYPE_DECLARE(ccronexpr_now, "i", "")
#include "be_fixed_be_class_ccronexpr.h" #include "be_fixed_be_class_ccronexpr.h"
extern "C" void be_load_ccronexpr_class(bvm *vm) {
be_pushntvclass(vm, &be_class_ccronexpr);
be_setglobal(vm, "ccronexpr");
be_pop(vm, 1);
}
/* @const_object_info_begin /* @const_object_info_begin
class be_class_ccronexpr (scope: global, name: ccronexpr) { class be_class_ccronexpr (scope: global, name: ccronexpr) {

View File

@ -467,20 +467,11 @@ int be_ctypes_dyn_init(bvm *vm) {
BE_EXPORT_VARIABLE extern const bclass be_class_bytes; BE_EXPORT_VARIABLE extern const bclass be_class_bytes;
#include "be_fixed_be_class_ctypes.h" #include "be_fixed_be_class_ctypes_bytes.h"
#include "be_fixed_be_class_ctypes_dyn.h" #include "be_fixed_be_class_ctypes_bytes_dyn.h"
void be_load_ctypes_lib(bvm *vm) {
be_pushntvclass(vm, &be_class_ctypes);
be_setglobal(vm, "ctypes_bytes");
be_pop(vm, 1);
be_pushntvclass(vm, &be_class_ctypes_dyn);
be_setglobal(vm, "ctypes_bytes_dyn");
be_pop(vm, 1);
}
/* @const_object_info_begin /* @const_object_info_begin
class be_class_ctypes (scope: global, name: ctypes_bytes, super: be_class_bytes) { class be_class_ctypes_bytes (scope: global, name: ctypes_bytes, super: be_class_bytes) {
_def, nil() _def, nil()
copy, func(be_ctypes_copy) copy, func(be_ctypes_copy)
init, func(be_ctypes_init) init, func(be_ctypes_init)
@ -492,7 +483,7 @@ class be_class_ctypes (scope: global, name: ctypes_bytes, super: be_class_bytes)
@const_object_info_end */ @const_object_info_end */
/* @const_object_info_begin /* @const_object_info_begin
class be_class_ctypes_dyn (scope: global, name: ctypes_bytes_dyn, super: be_class_ctypes) { class be_class_ctypes_bytes_dyn (scope: global, name: ctypes_bytes_dyn, super: be_class_ctypes_bytes) {
_def, var _def, var
init, func(be_ctypes_dyn_init) init, func(be_ctypes_dyn_init)
} }

View File

@ -107,7 +107,7 @@ static const char * be_ctypes_instance_mappings[] = {
NULL NULL
}; };
static be_define_ctypes_class(energy_struct, &be_energy_struct, &be_class_ctypes, "energy_struct"); static be_define_ctypes_class(energy_struct, &be_energy_struct, &be_class_ctypes_bytes, "energy_struct");
void be_load_ctypes_energy_definitions_lib(bvm *vm) { void be_load_ctypes_energy_definitions_lib(bvm *vm) {
ctypes_register_class(vm, &be_class_energy_struct, &be_energy_struct); ctypes_register_class(vm, &be_class_energy_struct, &be_energy_struct);

View File

@ -151,42 +151,18 @@ int32_t be_audio_output_consume_silence(struct bvm *vm) {
extern "C" { extern "C" {
#include "be_fixed_be_class_audio_output.h" #include "be_fixed_be_class_AudioOutput.h"
#include "be_fixed_be_class_audio_output_i2s.h" #include "be_fixed_be_class_AudioOutputI2S.h"
#include "be_fixed_be_class_audio_generator.h" #include "be_fixed_be_class_AudioGenerator.h"
#include "be_fixed_be_class_audio_generator_wav.h" #include "be_fixed_be_class_AudioGeneratorWAV.h"
#include "be_fixed_be_class_audio_generator_mp3.h" #include "be_fixed_be_class_AudioGeneratorMP3.h"
#include "be_fixed_be_class_audio_file_source.h" #include "be_fixed_be_class_AudioFileSource.h"
#include "be_fixed_be_class_audio_file_source_fs.h" #include "be_fixed_be_class_AudioFileSourceFS.h"
void be_load_driver_audio_lib(bvm *vm) {
be_pushntvclass(vm, &be_class_audio_output);
be_setglobal(vm, "AudioOutput");
be_pop(vm, 1);
be_pushntvclass(vm, &be_class_audio_output_i2s);
be_setglobal(vm, "AudioOutputI2S");
be_pop(vm, 1);
be_pushntvclass(vm, &be_class_audio_generator_wav);
be_setglobal(vm, "AudioGeneratorWAV");
be_pop(vm, 1);
be_pushntvclass(vm, &be_class_audio_generator_mp3);
be_setglobal(vm, "AudioGeneratorMP3");
be_pop(vm, 1);
#ifdef USE_UFILESYS
be_pushntvclass(vm, &be_class_audio_file_source_fs);
be_setglobal(vm, "AudioFileSourceFS");
be_pop(vm, 1);
#endif // USE_UFILESYS
}
} }
/* @const_object_info_begin /* @const_object_info_begin
class be_class_audio_output (scope: global, name: AudioOutput) { class be_class_AudioOutput (scope: global, name: AudioOutput) {
.p, var .p, var
init, func(be_audio_output_init) init, func(be_audio_output_init)
@ -204,15 +180,15 @@ class be_class_audio_output (scope: global, name: AudioOutput) {
set_gain, func(be_audio_output_set_gain) set_gain, func(be_audio_output_set_gain)
} }
class be_class_audio_generator (scope: global, name: AudioGenerator) { class be_class_AudioGenerator (scope: global, name: AudioGenerator) {
.p, var .p, var
} }
class be_class_audio_file_source (scope: global, name: AudioFileSource) { class be_class_AudioFileSource (scope: global, name: AudioFileSource) {
.p, var .p, var
} }
class be_class_audio_output_i2s (scope: global, name: AudioOutputI2S, super: be_class_audio_output) { class be_class_AudioOutputI2S (scope: global, name: AudioOutputI2S, super: be_class_AudioOutput) {
EXTERNAL_I2S, int(AudioOutputI2S::EXTERNAL_I2S) EXTERNAL_I2S, int(AudioOutputI2S::EXTERNAL_I2S)
INTERNAL_DAC, int(AudioOutputI2S::INTERNAL_DAC) INTERNAL_DAC, int(AudioOutputI2S::INTERNAL_DAC)
INTERNAL_PDM, int(AudioOutputI2S::INTERNAL_PDM) INTERNAL_PDM, int(AudioOutputI2S::INTERNAL_PDM)
@ -222,7 +198,7 @@ class be_class_audio_output_i2s (scope: global, name: AudioOutputI2S, super: be_
stop, func(i2s_output_i2s_stop) stop, func(i2s_output_i2s_stop)
} }
class be_class_audio_generator_wav (scope: global, name: AudioGeneratorWAV, super: be_class_audio_generator) { class be_class_AudioGeneratorWAV (scope: global, name: AudioGeneratorWAV, super: be_class_AudioGenerator) {
init, func(i2s_generator_wav_init) init, func(i2s_generator_wav_init)
deinit, func(i2s_generator_wav_deinit) deinit, func(i2s_generator_wav_deinit)
begin, func(i2s_generator_wav_begin) begin, func(i2s_generator_wav_begin)
@ -231,7 +207,7 @@ class be_class_audio_generator_wav (scope: global, name: AudioGeneratorWAV, supe
isrunning, func(i2s_generator_wav_isrunning) isrunning, func(i2s_generator_wav_isrunning)
} }
class be_class_audio_generator_mp3 (scope: global, name: AudioGeneratorMP3, super: be_class_audio_generator) { class be_class_AudioGeneratorMP3 (scope: global, name: AudioGeneratorMP3, super: be_class_AudioGenerator) {
init, func(i2s_generator_mp3_init) init, func(i2s_generator_mp3_init)
deinit, func(i2s_generator_mp3_deinit) deinit, func(i2s_generator_mp3_deinit)
begin, func(i2s_generator_mp3_begin) begin, func(i2s_generator_mp3_begin)
@ -240,7 +216,7 @@ class be_class_audio_generator_mp3 (scope: global, name: AudioGeneratorMP3, supe
isrunning, func(i2s_generator_mp3_isrunning) isrunning, func(i2s_generator_mp3_isrunning)
} }
class be_class_audio_file_source_fs (scope: global, name: AudioFileSourceFS, super: be_class_audio_file_source) { class be_class_AudioFileSourceFS (scope: global, name: AudioFileSourceFS, super: be_class_AudioFileSource) {
init, func(i2s_file_source_fs_init) init, func(i2s_file_source_fs_init)
deinit, func(i2s_file_source_fs_deinit) deinit, func(i2s_file_source_fs_deinit)
} }

View File

@ -83,11 +83,6 @@ int32_t m_md5_finish(struct bvm *vm) {
#include "be_fixed_be_class_md5.h" #include "be_fixed_be_class_md5.h"
void be_load_md5_lib(bvm *vm) {
be_pushntvclass(vm, &be_class_md5);
be_setglobal(vm, "MD5");
be_pop(vm, 1);
}
/* @const_object_info_begin /* @const_object_info_begin
class be_class_md5 (scope: global, name: MD5) { class be_class_md5 (scope: global, name: MD5) {

View File

@ -24,17 +24,11 @@ extern int b_onewire_reset_search(bvm *vm);
extern int b_onewire_target_search(bvm *vm); extern int b_onewire_target_search(bvm *vm);
extern int b_onewire_search(bvm *vm); extern int b_onewire_search(bvm *vm);
#include "be_fixed_be_class_tasmota_onewire.h" #include "be_fixed_be_class_OneWire.h"
void be_load_onewirelib(bvm *vm) {
be_pushntvclass(vm, &be_class_tasmota_onewire);
be_setglobal(vm, "OneWire");
be_pop(vm, 1);
}
/* @const_object_info_begin /* @const_object_info_begin
class be_class_tasmota_onewire (scope: global, name: OneWire) { class be_class_OneWire (scope: global, name: OneWire) {
.p, var .p, var
init, func(b_onewire_init) init, func(b_onewire_init)

View File

@ -17,17 +17,11 @@ extern int b_serial_read(bvm *vm);
extern int b_serial_available(bvm *vm); extern int b_serial_available(bvm *vm);
extern int b_serial_flush(bvm *vm); extern int b_serial_flush(bvm *vm);
#include "be_fixed_be_class_tasmota_serial.h" #include "be_fixed_be_class_serial.h"
void be_load_serial_lib(bvm *vm) {
be_pushntvclass(vm, &be_class_tasmota_serial);
be_setglobal(vm, "serial");
be_pop(vm, 1);
}
/* @const_object_info_begin /* @const_object_info_begin
class be_class_tasmota_serial (scope: global, name: serial) { class be_class_serial (scope: global, name: serial) {
.p, var .p, var
SERIAL_5N1, int(SERIAL_5N1) SERIAL_5N1, int(SERIAL_5N1)

View File

@ -2530,14 +2530,6 @@ be_local_closure(Tasmota_check_not_method, /* name */
#include "be_fixed_be_class_tasmota.h" #include "be_fixed_be_class_tasmota.h"
// Class definition
void be_load_tasmota_ntvlib(bvm *vm)
{
be_pushntvclass(vm, &be_class_tasmota);
be_setglobal(vm, "Tasmota");
be_pop(vm, 1);
}
/* @const_object_info_begin /* @const_object_info_begin
class be_class_tasmota (scope: global, name: Tasmota) { class be_class_tasmota (scope: global, name: Tasmota) {
_fl, var _fl, var

View File

@ -118,16 +118,11 @@ be_local_closure(read_bytes, /* name */
/*******************************************************************/ /*******************************************************************/
#include "be_fixed_be_class_tasmota_wire.h" #include "be_fixed_be_class_Wire.h"
void be_load_wirelib(bvm *vm) {
be_pushntvclass(vm, &be_class_tasmota_wire);
be_setglobal(vm, "Wire");
be_pop(vm, 1);
}
/* @const_object_info_begin /* @const_object_info_begin
class be_class_tasmota_wire (scope: global, name: Wire) { class be_class_Wire (scope: global, name: Wire) {
bus, var bus, var
init, func(b_wire_init) init, func(b_wire_init)

View File

@ -1177,30 +1177,6 @@ be_local_class(lv_color,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_style_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_style);
be_setglobal(vm, "lv_style");
be_pop(vm, 1);
}
void be_load_lv_font_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_font);
be_setglobal(vm, "lv_font");
be_pop(vm, 1);
}
void be_load_lv_color_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_color);
be_setglobal(vm, "lv_color");
be_pop(vm, 1);
}
void be_load_lv_theme_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_theme);
be_setglobal(vm, "lv_theme");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_img ** Solidified class: lv_img
********************************************************************/ ********************************************************************/
@ -1217,36 +1193,6 @@ be_local_class(lv_img,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_img_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_img);
be_setglobal(vm, "lv_img");
be_pop(vm, 1);
}
void be_load_lv_disp_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_disp);
be_setglobal(vm, "lv_disp");
be_pop(vm, 1);
}
void be_load_lv_obj_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_obj);
be_setglobal(vm, "lv_obj");
be_pop(vm, 1);
}
void be_load_lv_group_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_group);
be_setglobal(vm, "lv_group");
be_pop(vm, 1);
}
void be_load_lv_indev_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_indev);
be_setglobal(vm, "lv_indev");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_chart ** Solidified class: lv_chart
********************************************************************/ ********************************************************************/
@ -1263,12 +1209,6 @@ be_local_class(lv_chart,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_chart_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_chart);
be_setglobal(vm, "lv_chart");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_colorwheel ** Solidified class: lv_colorwheel
********************************************************************/ ********************************************************************/
@ -1285,12 +1225,6 @@ be_local_class(lv_colorwheel,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_colorwheel_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_colorwheel);
be_setglobal(vm, "lv_colorwheel");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_imgbtn ** Solidified class: lv_imgbtn
********************************************************************/ ********************************************************************/
@ -1307,12 +1241,6 @@ be_local_class(lv_imgbtn,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_imgbtn_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_imgbtn);
be_setglobal(vm, "lv_imgbtn");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_led ** Solidified class: lv_led
********************************************************************/ ********************************************************************/
@ -1329,12 +1257,6 @@ be_local_class(lv_led,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_led_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_led);
be_setglobal(vm, "lv_led");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_meter ** Solidified class: lv_meter
********************************************************************/ ********************************************************************/
@ -1351,12 +1273,6 @@ be_local_class(lv_meter,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_meter_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_meter);
be_setglobal(vm, "lv_meter");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_msgbox ** Solidified class: lv_msgbox
********************************************************************/ ********************************************************************/
@ -1373,12 +1289,6 @@ be_local_class(lv_msgbox,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_msgbox_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_msgbox);
be_setglobal(vm, "lv_msgbox");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_spinbox ** Solidified class: lv_spinbox
********************************************************************/ ********************************************************************/
@ -1395,12 +1305,6 @@ be_local_class(lv_spinbox,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_spinbox_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_spinbox);
be_setglobal(vm, "lv_spinbox");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_spinner ** Solidified class: lv_spinner
********************************************************************/ ********************************************************************/
@ -1417,24 +1321,6 @@ be_local_class(lv_spinner,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_spinner_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_spinner);
be_setglobal(vm, "lv_spinner");
be_pop(vm, 1);
}
void be_load_lv_anim_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_anim);
be_setglobal(vm, "lv_anim");
be_pop(vm, 1);
}
void be_load_lv_timer_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_timer);
be_setglobal(vm, "lv_timer");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_arc ** Solidified class: lv_arc
********************************************************************/ ********************************************************************/
@ -1451,12 +1337,6 @@ be_local_class(lv_arc,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_arc_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_arc);
be_setglobal(vm, "lv_arc");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_bar ** Solidified class: lv_bar
********************************************************************/ ********************************************************************/
@ -1473,12 +1353,6 @@ be_local_class(lv_bar,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_bar_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_bar);
be_setglobal(vm, "lv_bar");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_btn ** Solidified class: lv_btn
********************************************************************/ ********************************************************************/
@ -1495,12 +1369,6 @@ be_local_class(lv_btn,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_btn_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_btn);
be_setglobal(vm, "lv_btn");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_btnmatrix ** Solidified class: lv_btnmatrix
********************************************************************/ ********************************************************************/
@ -1517,12 +1385,6 @@ be_local_class(lv_btnmatrix,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_btnmatrix_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_btnmatrix);
be_setglobal(vm, "lv_btnmatrix");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_canvas ** Solidified class: lv_canvas
********************************************************************/ ********************************************************************/
@ -1539,12 +1401,6 @@ be_local_class(lv_canvas,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_canvas_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_canvas);
be_setglobal(vm, "lv_canvas");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_checkbox ** Solidified class: lv_checkbox
********************************************************************/ ********************************************************************/
@ -1561,12 +1417,6 @@ be_local_class(lv_checkbox,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_checkbox_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_checkbox);
be_setglobal(vm, "lv_checkbox");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_dropdown ** Solidified class: lv_dropdown
********************************************************************/ ********************************************************************/
@ -1583,12 +1433,6 @@ be_local_class(lv_dropdown,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_dropdown_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_dropdown);
be_setglobal(vm, "lv_dropdown");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_label ** Solidified class: lv_label
********************************************************************/ ********************************************************************/
@ -1605,12 +1449,6 @@ be_local_class(lv_label,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_label_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_label);
be_setglobal(vm, "lv_label");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_line ** Solidified class: lv_line
********************************************************************/ ********************************************************************/
@ -1627,12 +1465,6 @@ be_local_class(lv_line,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_line_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_line);
be_setglobal(vm, "lv_line");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_roller ** Solidified class: lv_roller
********************************************************************/ ********************************************************************/
@ -1649,12 +1481,6 @@ be_local_class(lv_roller,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_roller_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_roller);
be_setglobal(vm, "lv_roller");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_slider ** Solidified class: lv_slider
********************************************************************/ ********************************************************************/
@ -1671,12 +1497,6 @@ be_local_class(lv_slider,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_slider_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_slider);
be_setglobal(vm, "lv_slider");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_switch ** Solidified class: lv_switch
********************************************************************/ ********************************************************************/
@ -1693,12 +1513,6 @@ be_local_class(lv_switch,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_switch_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_switch);
be_setglobal(vm, "lv_switch");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_table ** Solidified class: lv_table
********************************************************************/ ********************************************************************/
@ -1715,12 +1529,6 @@ be_local_class(lv_table,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_table_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_table);
be_setglobal(vm, "lv_table");
be_pop(vm, 1);
}
/******************************************************************** /********************************************************************
** Solidified class: lv_textarea ** Solidified class: lv_textarea
********************************************************************/ ********************************************************************/
@ -1737,9 +1545,3 @@ be_local_class(lv_textarea,
); );
/*******************************************************************/ /*******************************************************************/
void be_load_lv_textarea_class(bvm *vm) {
be_pushntvclass(vm, &be_class_lv_textarea);
be_setglobal(vm, "lv_textarea");
be_pop(vm, 1);
}

View File

@ -696,50 +696,50 @@ static const char * be_ctypes_instance_mappings[] = {
NULL NULL
}; };
static be_define_ctypes_class(lv_area, &be_lv_area, &be_class_ctypes, "lv_area"); static be_define_ctypes_class(lv_area, &be_lv_area, &be_class_ctypes_bytes, "lv_area");
static be_define_ctypes_class(lv_chart_cursor, &be_lv_chart_cursor, &be_class_ctypes, "lv_chart_cursor"); static be_define_ctypes_class(lv_chart_cursor, &be_lv_chart_cursor, &be_class_ctypes_bytes, "lv_chart_cursor");
static be_define_ctypes_class(lv_chart_series, &be_lv_chart_series, &be_class_ctypes, "lv_chart_series"); static be_define_ctypes_class(lv_chart_series, &be_lv_chart_series, &be_class_ctypes_bytes, "lv_chart_series");
static be_define_ctypes_class(lv_chart_tick_dsc, &be_lv_chart_tick_dsc, &be_class_ctypes, "lv_chart_tick_dsc"); static be_define_ctypes_class(lv_chart_tick_dsc, &be_lv_chart_tick_dsc, &be_class_ctypes_bytes, "lv_chart_tick_dsc");
static be_define_ctypes_class(lv_color_filter_dsc, &be_lv_color_filter_dsc, &be_class_ctypes, "lv_color_filter_dsc"); static be_define_ctypes_class(lv_color_filter_dsc, &be_lv_color_filter_dsc, &be_class_ctypes_bytes, "lv_color_filter_dsc");
static be_define_ctypes_class(lv_coord, &be_lv_coord, &be_class_ctypes, "lv_coord"); static be_define_ctypes_class(lv_coord, &be_lv_coord, &be_class_ctypes_bytes, "lv_coord");
static be_define_ctypes_class(lv_draw_arc_dsc, &be_lv_draw_arc_dsc, &be_class_ctypes, "lv_draw_arc_dsc"); static be_define_ctypes_class(lv_draw_arc_dsc, &be_lv_draw_arc_dsc, &be_class_ctypes_bytes, "lv_draw_arc_dsc");
static be_define_ctypes_class(lv_draw_ctx, &be_lv_draw_ctx, &be_class_ctypes, "lv_draw_ctx"); static be_define_ctypes_class(lv_draw_ctx, &be_lv_draw_ctx, &be_class_ctypes_bytes, "lv_draw_ctx");
static be_define_ctypes_class(lv_draw_img_dsc, &be_lv_draw_img_dsc, &be_class_ctypes, "lv_draw_img_dsc"); static be_define_ctypes_class(lv_draw_img_dsc, &be_lv_draw_img_dsc, &be_class_ctypes_bytes, "lv_draw_img_dsc");
static be_define_ctypes_class(lv_draw_line_dsc, &be_lv_draw_line_dsc, &be_class_ctypes, "lv_draw_line_dsc"); static be_define_ctypes_class(lv_draw_line_dsc, &be_lv_draw_line_dsc, &be_class_ctypes_bytes, "lv_draw_line_dsc");
static be_define_ctypes_class(lv_draw_mask_angle_param, &be_lv_draw_mask_angle_param, &be_class_ctypes, "lv_draw_mask_angle_param"); static be_define_ctypes_class(lv_draw_mask_angle_param, &be_lv_draw_mask_angle_param, &be_class_ctypes_bytes, "lv_draw_mask_angle_param");
static be_define_ctypes_class(lv_draw_mask_angle_param_cfg, &be_lv_draw_mask_angle_param_cfg, &be_class_ctypes, "lv_draw_mask_angle_param_cfg"); static be_define_ctypes_class(lv_draw_mask_angle_param_cfg, &be_lv_draw_mask_angle_param_cfg, &be_class_ctypes_bytes, "lv_draw_mask_angle_param_cfg");
static be_define_ctypes_class(lv_draw_mask_common_dsc, &be_lv_draw_mask_common_dsc, &be_class_ctypes, "lv_draw_mask_common_dsc"); static be_define_ctypes_class(lv_draw_mask_common_dsc, &be_lv_draw_mask_common_dsc, &be_class_ctypes_bytes, "lv_draw_mask_common_dsc");
static be_define_ctypes_class(lv_draw_mask_fade_param, &be_lv_draw_mask_fade_param, &be_class_ctypes, "lv_draw_mask_fade_param"); static be_define_ctypes_class(lv_draw_mask_fade_param, &be_lv_draw_mask_fade_param, &be_class_ctypes_bytes, "lv_draw_mask_fade_param");
static be_define_ctypes_class(lv_draw_mask_fade_param_cfg, &be_lv_draw_mask_fade_param_cfg, &be_class_ctypes, "lv_draw_mask_fade_param_cfg"); static be_define_ctypes_class(lv_draw_mask_fade_param_cfg, &be_lv_draw_mask_fade_param_cfg, &be_class_ctypes_bytes, "lv_draw_mask_fade_param_cfg");
static be_define_ctypes_class(lv_draw_mask_line_param, &be_lv_draw_mask_line_param, &be_class_ctypes, "lv_draw_mask_line_param"); static be_define_ctypes_class(lv_draw_mask_line_param, &be_lv_draw_mask_line_param, &be_class_ctypes_bytes, "lv_draw_mask_line_param");
static be_define_ctypes_class(lv_draw_mask_line_param_cfg, &be_lv_draw_mask_line_param_cfg, &be_class_ctypes, "lv_draw_mask_line_param_cfg"); static be_define_ctypes_class(lv_draw_mask_line_param_cfg, &be_lv_draw_mask_line_param_cfg, &be_class_ctypes_bytes, "lv_draw_mask_line_param_cfg");
static be_define_ctypes_class(lv_draw_mask_map_param, &be_lv_draw_mask_map_param, &be_class_ctypes, "lv_draw_mask_map_param"); static be_define_ctypes_class(lv_draw_mask_map_param, &be_lv_draw_mask_map_param, &be_class_ctypes_bytes, "lv_draw_mask_map_param");
static be_define_ctypes_class(lv_draw_mask_map_param_cfg, &be_lv_draw_mask_map_param_cfg, &be_class_ctypes, "lv_draw_mask_map_param_cfg"); static be_define_ctypes_class(lv_draw_mask_map_param_cfg, &be_lv_draw_mask_map_param_cfg, &be_class_ctypes_bytes, "lv_draw_mask_map_param_cfg");
static be_define_ctypes_class(lv_draw_mask_polygon_param, &be_lv_draw_mask_polygon_param, &be_class_ctypes, "lv_draw_mask_polygon_param"); static be_define_ctypes_class(lv_draw_mask_polygon_param, &be_lv_draw_mask_polygon_param, &be_class_ctypes_bytes, "lv_draw_mask_polygon_param");
static be_define_ctypes_class(lv_draw_mask_polygon_param_cfg, &be_lv_draw_mask_polygon_param_cfg, &be_class_ctypes, "lv_draw_mask_polygon_param_cfg"); static be_define_ctypes_class(lv_draw_mask_polygon_param_cfg, &be_lv_draw_mask_polygon_param_cfg, &be_class_ctypes_bytes, "lv_draw_mask_polygon_param_cfg");
static be_define_ctypes_class(lv_draw_mask_radius_circle_dsc, &be_lv_draw_mask_radius_circle_dsc, &be_class_ctypes, "lv_draw_mask_radius_circle_dsc"); static be_define_ctypes_class(lv_draw_mask_radius_circle_dsc, &be_lv_draw_mask_radius_circle_dsc, &be_class_ctypes_bytes, "lv_draw_mask_radius_circle_dsc");
static be_define_ctypes_class(lv_draw_mask_radius_param, &be_lv_draw_mask_radius_param, &be_class_ctypes, "lv_draw_mask_radius_param"); static be_define_ctypes_class(lv_draw_mask_radius_param, &be_lv_draw_mask_radius_param, &be_class_ctypes_bytes, "lv_draw_mask_radius_param");
static be_define_ctypes_class(lv_draw_mask_radius_param_cfg, &be_lv_draw_mask_radius_param_cfg, &be_class_ctypes, "lv_draw_mask_radius_param_cfg"); static be_define_ctypes_class(lv_draw_mask_radius_param_cfg, &be_lv_draw_mask_radius_param_cfg, &be_class_ctypes_bytes, "lv_draw_mask_radius_param_cfg");
static be_define_ctypes_class(lv_draw_mask_saved, &be_lv_draw_mask_saved, &be_class_ctypes, "lv_draw_mask_saved"); static be_define_ctypes_class(lv_draw_mask_saved, &be_lv_draw_mask_saved, &be_class_ctypes_bytes, "lv_draw_mask_saved");
static be_define_ctypes_class(lv_draw_rect_dsc, &be_lv_draw_rect_dsc, &be_class_ctypes, "lv_draw_rect_dsc"); static be_define_ctypes_class(lv_draw_rect_dsc, &be_lv_draw_rect_dsc, &be_class_ctypes_bytes, "lv_draw_rect_dsc");
static be_define_ctypes_class(lv_event, &be_lv_event, &be_class_ctypes, "lv_event"); static be_define_ctypes_class(lv_event, &be_lv_event, &be_class_ctypes_bytes, "lv_event");
static be_define_ctypes_class(lv_grad_dsc, &be_lv_grad_dsc, &be_class_ctypes, "lv_grad_dsc"); static be_define_ctypes_class(lv_grad_dsc, &be_lv_grad_dsc, &be_class_ctypes_bytes, "lv_grad_dsc");
static be_define_ctypes_class(lv_gradient_stop, &be_lv_gradient_stop, &be_class_ctypes, "lv_gradient_stop"); static be_define_ctypes_class(lv_gradient_stop, &be_lv_gradient_stop, &be_class_ctypes_bytes, "lv_gradient_stop");
static be_define_ctypes_class(lv_img_dsc, &be_lv_img_dsc, &be_class_ctypes, "lv_img_dsc"); static be_define_ctypes_class(lv_img_dsc, &be_lv_img_dsc, &be_class_ctypes_bytes, "lv_img_dsc");
static be_define_ctypes_class(lv_img_header, &be_lv_img_header, &be_class_ctypes, "lv_img_header"); static be_define_ctypes_class(lv_img_header, &be_lv_img_header, &be_class_ctypes_bytes, "lv_img_header");
static be_define_ctypes_class(lv_meter_indicator, &be_lv_meter_indicator, &be_class_ctypes, "lv_meter_indicator"); static be_define_ctypes_class(lv_meter_indicator, &be_lv_meter_indicator, &be_class_ctypes_bytes, "lv_meter_indicator");
static be_define_ctypes_class(lv_meter_indicator_arc, &be_lv_meter_indicator_arc, &be_class_ctypes, "lv_meter_indicator_arc"); static be_define_ctypes_class(lv_meter_indicator_arc, &be_lv_meter_indicator_arc, &be_class_ctypes_bytes, "lv_meter_indicator_arc");
static be_define_ctypes_class(lv_meter_indicator_needle_img, &be_lv_meter_indicator_needle_img, &be_class_ctypes, "lv_meter_indicator_needle_img"); static be_define_ctypes_class(lv_meter_indicator_needle_img, &be_lv_meter_indicator_needle_img, &be_class_ctypes_bytes, "lv_meter_indicator_needle_img");
static be_define_ctypes_class(lv_meter_indicator_needle_line, &be_lv_meter_indicator_needle_line, &be_class_ctypes, "lv_meter_indicator_needle_line"); static be_define_ctypes_class(lv_meter_indicator_needle_line, &be_lv_meter_indicator_needle_line, &be_class_ctypes_bytes, "lv_meter_indicator_needle_line");
static be_define_ctypes_class(lv_meter_indicator_scale_lines, &be_lv_meter_indicator_scale_lines, &be_class_ctypes, "lv_meter_indicator_scale_lines"); static be_define_ctypes_class(lv_meter_indicator_scale_lines, &be_lv_meter_indicator_scale_lines, &be_class_ctypes_bytes, "lv_meter_indicator_scale_lines");
static be_define_ctypes_class(lv_meter_scale, &be_lv_meter_scale, &be_class_ctypes, "lv_meter_scale"); static be_define_ctypes_class(lv_meter_scale, &be_lv_meter_scale, &be_class_ctypes_bytes, "lv_meter_scale");
static be_define_ctypes_class(lv_obj_class, &be_lv_obj_class, &be_class_ctypes, "lv_obj_class"); static be_define_ctypes_class(lv_obj_class, &be_lv_obj_class, &be_class_ctypes_bytes, "lv_obj_class");
static be_define_ctypes_class(lv_obj_draw_part_dsc, &be_lv_obj_draw_part_dsc, &be_class_ctypes, "lv_obj_draw_part_dsc"); static be_define_ctypes_class(lv_obj_draw_part_dsc, &be_lv_obj_draw_part_dsc, &be_class_ctypes_bytes, "lv_obj_draw_part_dsc");
static be_define_ctypes_class(lv_point, &be_lv_point, &be_class_ctypes, "lv_point"); static be_define_ctypes_class(lv_point, &be_lv_point, &be_class_ctypes_bytes, "lv_point");
static be_define_ctypes_class(lv_sqrt_res, &be_lv_sqrt_res, &be_class_ctypes, "lv_sqrt_res"); static be_define_ctypes_class(lv_sqrt_res, &be_lv_sqrt_res, &be_class_ctypes_bytes, "lv_sqrt_res");
static be_define_ctypes_class(lv_style_transition_dsc, &be_lv_style_transition_dsc, &be_class_ctypes, "lv_style_transition_dsc"); static be_define_ctypes_class(lv_style_transition_dsc, &be_lv_style_transition_dsc, &be_class_ctypes_bytes, "lv_style_transition_dsc");
static be_define_ctypes_class(lv_timer, &be_lv_timer, &be_class_ctypes, "lv_timer"); static be_define_ctypes_class(lv_timer, &be_lv_timer, &be_class_ctypes_bytes, "lv_timer");
static be_define_ctypes_class(lv_ts_calibration, &be_lv_ts_calibration, &be_class_ctypes, "lv_ts_calibration"); static be_define_ctypes_class(lv_ts_calibration, &be_lv_ts_calibration, &be_class_ctypes_bytes, "lv_ts_calibration");
void be_load_ctypes_lvgl_definitions_lib(bvm *vm) { void be_load_ctypes_lvgl_definitions_lib(bvm *vm) {
ctypes_register_class(vm, &be_class_lv_area, &be_lv_area); ctypes_register_class(vm, &be_class_lv_area, &be_lv_area);

View File

@ -1037,9 +1037,3 @@ be_local_class(LVGL_glob,
be_str_literal("LVGL_glob") be_str_literal("LVGL_glob")
); );
/*******************************************************************/ /*******************************************************************/
void be_load_LVGL_glob_class(bvm *vm) {
be_pushntvclass(vm, &be_class_LVGL_glob);
be_setglobal(vm, "LVGL_glob");
be_pop(vm, 1);
}

View File

@ -225,7 +225,7 @@ ctypes.print_classes = def (module_name)
ctypes.sort(global_classes) ctypes.sort(global_classes)
for elt:global_classes for elt:global_classes
print(string.format("static be_define_ctypes_class(%s, &be_%s, &be_class_ctypes, \"%s\");", elt, elt, elt)) print(string.format("static be_define_ctypes_class(%s, &be_%s, &be_class_ctypes_bytes, \"%s\");", elt, elt, elt))
end end
print() print()

View File

@ -9,19 +9,6 @@
#include "../generate/be_lv_c_mapping.h" #include "../generate/be_lv_c_mapping.h"
extern void be_load_lv_color_class(bvm *vm);
extern void be_load_lv_font_class(bvm *vm);
extern void be_load_LVGL_glob_class(bvm *vm);
/*********************************************************************************************\
* Load all LVGL classes, including widgets
\*********************************************************************************************/
void be_load_lvgl_classes(bvm *vm) {
be_load_lv_color_class(vm);
be_load_lv_font_class(vm);
be_load_LVGL_glob_class(vm);
}
/*********************************************************************************************\ /*********************************************************************************************\
* Retrieve the value of `self._p` * Retrieve the value of `self._p`
\*********************************************************************************************/ \*********************************************************************************************/

View File

@ -715,13 +715,6 @@ be_local_class(lv_{subtype},
(be_str_literal("lv_{subtype}")) (be_str_literal("lv_{subtype}"))
); );
/*******************************************************************/ /*******************************************************************/
""")
# class definitions
print(f"""void be_load_lv_{subtype}_class(bvm *vm) {{
be_pushntvclass(vm, &be_class_lv_{subtype});
be_setglobal(vm, \"lv_{subtype}\");
be_pop(vm, 1);
}}
""") """)
sys.stdout.close() sys.stdout.close()

View File

@ -225,7 +225,7 @@ ctypes.print_classes = def (module_name)
ctypes.sort(global_classes) ctypes.sort(global_classes)
for elt:global_classes for elt:global_classes
print(string.format("static be_define_ctypes_class(%s, &be_%s, &be_class_ctypes, \"%s\");", elt, elt, elt)) print(string.format("static be_define_ctypes_class(%s, &be_%s, &be_class_ctypes_bytes, \"%s\");", elt, elt, elt))
end end
print() print()