From 8c7558dc05da7dca7633ab51c32b1cbf8d5f9033 Mon Sep 17 00:00:00 2001 From: Ken Van Hoeylandt Date: Mon, 2 Mar 2026 20:53:16 +0100 Subject: [PATCH] Add new symbols --- Modules/lvgl-module/source/symbols.c | 10 ++++++++++ TactilityC/Source/symbols/stl.cpp | 19 ++++++++++++++++++- TactilityC/Source/tt_init.cpp | 15 +++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/Modules/lvgl-module/source/symbols.c b/Modules/lvgl-module/source/symbols.c index 9ef79ff0..aea82af5 100644 --- a/Modules/lvgl-module/source/symbols.c +++ b/Modules/lvgl-module/source/symbols.c @@ -60,6 +60,8 @@ const struct ModuleSymbol lvgl_module_symbols[] = { DEFINE_MODULE_SYMBOL(lv_obj_get_group), DEFINE_MODULE_SYMBOL(lv_obj_get_user_data), DEFINE_MODULE_SYMBOL(lv_obj_get_state), + DEFINE_MODULE_SYMBOL(lv_obj_get_scroll_bottom), + DEFINE_MODULE_SYMBOL(lv_obj_get_scroll_y), DEFINE_MODULE_SYMBOL(lv_obj_has_flag), DEFINE_MODULE_SYMBOL(lv_obj_has_flag_any), DEFINE_MODULE_SYMBOL(lv_obj_has_state), @@ -158,7 +160,15 @@ const struct ModuleSymbol lvgl_module_symbols[] = { DEFINE_MODULE_SYMBOL(lv_obj_set_style_min_height), DEFINE_MODULE_SYMBOL(lv_obj_set_style_max_height), // lv_font + DEFINE_MODULE_SYMBOL(lv_font_get_bitmap_fmt_txt), DEFINE_MODULE_SYMBOL(lv_font_get_default), + DEFINE_MODULE_SYMBOL(lv_font_get_glyph_bitmap), + DEFINE_MODULE_SYMBOL(lv_font_get_glyph_dsc), + DEFINE_MODULE_SYMBOL(lv_font_get_glyph_dsc_fmt_txt), + DEFINE_MODULE_SYMBOL(lv_font_get_glyph_static_bitmap), + DEFINE_MODULE_SYMBOL(lv_font_get_glyph_width), + DEFINE_MODULE_SYMBOL(lv_font_get_line_height), + DEFINE_MODULE_SYMBOL(lv_font_set_kerning), // lv_theme DEFINE_MODULE_SYMBOL(lv_theme_get_color_primary), DEFINE_MODULE_SYMBOL(lv_theme_get_color_secondary), diff --git a/TactilityC/Source/symbols/stl.cpp b/TactilityC/Source/symbols/stl.cpp index 56426854..7bc96f60 100644 --- a/TactilityC/Source/symbols/stl.cpp +++ b/TactilityC/Source/symbols/stl.cpp @@ -5,6 +5,19 @@ #include +#include + +extern "C" { + +// std::map / std::set red-black tree non-template helpers. +// We use the mangled names directly (same pattern as string.cpp) to avoid +// ambiguity from the overloaded const/non-const variants in stl_tree.h. +void* _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(void*); +void* _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(void*); +void _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(bool, void*, void*, void*); + +} + const esp_elfsym stl_symbols[] = { // Note: You have to use the mangled names here { "_ZSt17__throw_bad_allocv", (void*)&(std::__throw_bad_alloc) }, @@ -12,7 +25,11 @@ const esp_elfsym stl_symbols[] = { { "_ZSt25__throw_bad_function_callv", (void*)&(std::__throw_bad_function_call) }, { "_ZSt20__throw_length_errorPKc", (void*)&(std::__throw_length_error) }, { "_ZSt19__throw_logic_errorPKc", (void*)&std::__throw_logic_error }, - // { "", (void*)&(std::) }, + { "_ZSt24__throw_out_of_range_fmtPKcz", (void*)&std::__throw_out_of_range_fmt }, + // std::map / std::set (red-black tree internals) + DEFINE_MODULE_SYMBOL(_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base), + DEFINE_MODULE_SYMBOL(_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base), + DEFINE_MODULE_SYMBOL(_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_), // delimiter ESP_ELFSYM_END }; diff --git a/TactilityC/Source/tt_init.cpp b/TactilityC/Source/tt_init.cpp index a065045a..695702b2 100644 --- a/TactilityC/Source/tt_init.cpp +++ b/TactilityC/Source/tt_init.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -43,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -220,6 +222,7 @@ const esp_elfsym main_symbols[] { ESP_ELFSYM_EXPORT(strtod), ESP_ELFSYM_EXPORT(strrchr), ESP_ELFSYM_EXPORT(strtol), + ESP_ELFSYM_EXPORT(strtoul), ESP_ELFSYM_EXPORT(strcspn), ESP_ELFSYM_EXPORT(strncat), ESP_ELFSYM_EXPORT(strpbrk), @@ -392,6 +395,7 @@ const esp_elfsym main_symbols[] { ESP_ELFSYM_EXPORT(gpio_config), ESP_ELFSYM_EXPORT(gpio_get_level), ESP_ELFSYM_EXPORT(gpio_set_level), + ESP_ELFSYM_EXPORT(gpio_reset_pin), // driver/i2s_common.h ESP_ELFSYM_EXPORT(i2s_new_channel), ESP_ELFSYM_EXPORT(i2s_del_channel), @@ -408,6 +412,17 @@ const esp_elfsym main_symbols[] { ESP_ELFSYM_EXPORT(i2s_channel_reconfig_std_clock), ESP_ELFSYM_EXPORT(i2s_channel_reconfig_std_slot), ESP_ELFSYM_EXPORT(i2s_channel_reconfig_std_gpio), + // miniz.h + ESP_ELFSYM_EXPORT(tinfl_decompress), + ESP_ELFSYM_EXPORT(tinfl_decompress_mem_to_callback), + ESP_ELFSYM_EXPORT(tinfl_decompress_mem_to_heap), + ESP_ELFSYM_EXPORT(tinfl_decompress_mem_to_mem), + // ledc + ESP_ELFSYM_EXPORT(ledc_update_duty), + ESP_ELFSYM_EXPORT(ledc_set_freq), + ESP_ELFSYM_EXPORT(ledc_channel_config), + ESP_ELFSYM_EXPORT(ledc_set_duty), + ESP_ELFSYM_EXPORT(ledc_timer_config), // delimiter ESP_ELFSYM_END };