Switch to lvgl 9.3.0 in PlatformIO Registry (#169)

This commit is contained in:
Manuel
2025-07-23 14:17:44 +02:00
committed by GitHub
parent 86a09a7360
commit f677b0b1ea
3 changed files with 28 additions and 27 deletions
+2 -1
View File
@@ -1,4 +1,5 @@
message(STATUS "Fetching LVGL ...")
set(LV_BUILD_CONF_DIR "include")
add_compile_definitions(LV_LVGL_H_INCLUDE_SIMPLE)
add_compile_definitions(LV_CONF_INCLUDE_SIMPLE)
add_compile_definitions(LV_COMP_CONF_INCLUDE_SIMPLE)
@@ -7,7 +8,7 @@ add_compile_definitions(LV_USE_LIBINPUT=1)
add_compile_definitions(LV_LIBINPUT_XKB=1)
FetchContent_Declare(lvgl
GIT_REPOSITORY https://github.com/lvgl/lvgl.git
GIT_TAG "9c043167685fc08fbcd30ddf2c285ea1089be82d"
GIT_TAG v9.3.0
)
FetchContent_MakeAvailable(lvgl)
target_include_directories(lvgl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
+1 -1
View File
@@ -21,7 +21,7 @@
"headers": ["DeviceScreen.h", "SharedQueue.h"],
"dependencies": {
"ArduinoThread": "https://github.com/meshtastic/ArduinoThread/archive/7c3ee9e1951551b949763b1f5280f8db1fa4068d.zip",
"lvgl/lvgl": "https://github.com/lvgl/lvgl/archive/9c043167685fc08fbcd30ddf2c285ea1089be82d.zip",
"lvgl/lvgl": "9.3.0",
"greiman/SdFat": "https://github.com/mverch67/SdFat/archive/152a52251fc5e1d581303b42378ea712ab229246.zip",
"nanopb/Nanopb": "0.4.91"
},
+25 -25
View File
@@ -258,8 +258,8 @@ bool TFTView_320x240::setupUIConfig(const meshtastic_DeviceUIConfig &uiconfig)
lv_obj_set_state(objects.nodes_filter_unknown_switch, LV_STATE_CHECKED, filter.unknown_switch);
lv_obj_set_state(objects.nodes_filter_offline_switch, LV_STATE_CHECKED, filter.offline_switch);
lv_obj_set_state(objects.nodes_filter_public_key_switch, LV_STATE_CHECKED, filter.public_key_switch);
// lv_dropdown_set_selected(objects.nodes_filter_channel_dropdown, filter.channel, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.nodes_filter_hops_dropdown, filter.hops_away, LV_ANIM_OFF);
// lv_dropdown_set_selected(objects.nodes_filter_channel_dropdown, filter.channel);
lv_dropdown_set_selected(objects.nodes_filter_hops_dropdown, filter.hops_away);
// lv_obj_set_state(objects.nodes_filter_mqtt_switch, LV_STATE_CHECKED, filter.mqtt_switch);
lv_obj_set_state(objects.nodes_filter_position_switch, LV_STATE_CHECKED, filter.position_switch);
lv_textarea_set_text(objects.nodes_filter_name_area, filter.node_name);
@@ -1038,7 +1038,7 @@ void TFTView_320x240::ui_event_NodeButton(lv_event_t *e)
THIS->chooseNodeSignalScanner = false;
ui_event_signal_scanner(NULL);
// restore previous filter
lv_dropdown_set_selected(objects.nodes_filter_hops_dropdown, THIS->selectedHops, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.nodes_filter_hops_dropdown, THIS->selectedHops);
THIS->updateNodesFiltered(true);
THIS->updateNodesStatus();
} else if (THIS->chooseNodeTraceRoute) {
@@ -1287,8 +1287,8 @@ void TFTView_320x240::ui_event_OnlineNodesButton(lv_event_t *e)
lv_obj_set_state(objects.nodes_filter_offline_switch, LV_STATE_CHECKED, false);
lv_obj_set_state(objects.nodes_filter_public_key_switch, LV_STATE_CHECKED, false);
lv_obj_set_state(objects.nodes_filter_position_switch, LV_STATE_CHECKED, false);
lv_dropdown_set_selected(objects.nodes_filter_channel_dropdown, 0, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.nodes_filter_hops_dropdown, 0, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.nodes_filter_channel_dropdown, 0);
lv_dropdown_set_selected(objects.nodes_filter_hops_dropdown, 0);
lv_textarea_set_text(objects.nodes_filter_name_area, "");
THIS->ui_set_active(objects.nodes_button, objects.nodes_panel, objects.top_nodes_panel);
THIS->updateNodesFiltered(true);
@@ -1649,7 +1649,7 @@ void TFTView_320x240::ui_event_role_button(lv_event_t *e)
{
lv_event_code_t event_code = lv_event_get_code(e);
if (event_code == LV_EVENT_CLICKED && THIS->activeSettings == eNone && THIS->db.config.has_device) {
lv_dropdown_set_selected(objects.settings_device_role_dropdown, THIS->role2val(THIS->db.config.device.role), LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_device_role_dropdown, THIS->role2val(THIS->db.config.device.role));
lv_obj_clear_flag(objects.settings_device_role_panel, LV_OBJ_FLAG_HIDDEN);
lv_group_focus_obj(objects.settings_device_role_dropdown);
THIS->disablePanel(objects.controller_panel);
@@ -1662,7 +1662,7 @@ void TFTView_320x240::ui_event_region_button(lv_event_t *e)
{
lv_event_code_t event_code = lv_event_get_code(e);
if (event_code == LV_EVENT_CLICKED && THIS->activeSettings == eNone && THIS->db.config.has_lora) {
lv_dropdown_set_selected(objects.settings_region_dropdown, THIS->db.config.lora.region - 1, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_region_dropdown, THIS->db.config.lora.region - 1);
lv_obj_clear_flag(objects.settings_region_panel, LV_OBJ_FLAG_HIDDEN);
lv_group_focus_obj(objects.settings_region_dropdown);
THIS->disablePanel(objects.controller_panel);
@@ -1676,7 +1676,7 @@ void TFTView_320x240::ui_event_preset_button(lv_event_t *e)
lv_event_code_t event_code = lv_event_get_code(e);
if (event_code == LV_EVENT_CLICKED && THIS->activeSettings == eNone && THIS->db.config.has_lora) {
THIS->activeSettings = eModemPreset;
lv_dropdown_set_selected(objects.settings_modem_preset_dropdown, THIS->db.config.lora.modem_preset, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_modem_preset_dropdown, THIS->db.config.lora.modem_preset);
char buf[60];
sprintf(buf, _("FrequencySlot: %d (%g MHz)"), THIS->db.config.lora.channel_num,
@@ -1712,7 +1712,7 @@ void TFTView_320x240::ui_event_language_button(lv_event_t *e)
{
lv_event_code_t event_code = lv_event_get_code(e);
if (event_code == LV_EVENT_CLICKED && THIS->activeSettings == eNone) {
lv_dropdown_set_selected(objects.settings_language_dropdown, THIS->language2val(THIS->db.uiConfig.language), LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_language_dropdown, THIS->language2val(THIS->db.uiConfig.language));
lv_obj_clear_flag(objects.settings_language_panel, LV_OBJ_FLAG_HIDDEN);
lv_group_focus_obj(objects.settings_language_dropdown);
THIS->disablePanel(objects.controller_panel);
@@ -1782,7 +1782,7 @@ void TFTView_320x240::ui_event_theme_button(lv_event_t *e)
{
lv_event_code_t event_code = lv_event_get_code(e);
if (event_code == LV_EVENT_CLICKED && THIS->activeSettings == eNone) {
lv_dropdown_set_selected(objects.settings_theme_dropdown, THIS->db.uiConfig.theme, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_theme_dropdown, THIS->db.uiConfig.theme);
lv_obj_clear_flag(objects.settings_theme_panel, LV_OBJ_FLAG_HIDDEN);
lv_group_focus_obj(objects.settings_theme_dropdown);
THIS->disablePanel(objects.controller_panel);
@@ -1857,7 +1857,7 @@ void TFTView_320x240::ui_event_input_button(lv_event_t *e)
lv_dropdown_set_options(objects.settings_mouse_input_dropdown, ptr_dropdown.c_str());
std::string current_ptr = THIS->inputdriver->getCurrentPointerDevice();
uint32_t ptrOption = lv_dropdown_get_option_index(objects.settings_mouse_input_dropdown, current_ptr.c_str());
lv_dropdown_set_selected(objects.settings_mouse_input_dropdown, ptrOption, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_mouse_input_dropdown, ptrOption);
std::vector<std::string> kbd_events = THIS->inputdriver->getKeyboardDevices();
std::string kbd_dropdown = _("none");
@@ -1867,7 +1867,7 @@ void TFTView_320x240::ui_event_input_button(lv_event_t *e)
lv_dropdown_set_options(objects.settings_keyboard_input_dropdown, kbd_dropdown.c_str());
std::string current_kbd = THIS->inputdriver->getCurrentKeyboardDevice();
uint32_t kbdOption = lv_dropdown_get_option_index(objects.settings_keyboard_input_dropdown, current_kbd.c_str());
lv_dropdown_set_selected(objects.settings_keyboard_input_dropdown, kbdOption, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_keyboard_input_dropdown, kbdOption);
lv_dropdown_get_selected_str(objects.settings_keyboard_input_dropdown, THIS->old_val1_scratch, sizeof(old_val1_scratch));
lv_dropdown_get_selected_str(objects.settings_mouse_input_dropdown, THIS->old_val2_scratch, sizeof(old_val2_scratch));
@@ -1898,7 +1898,7 @@ void TFTView_320x240::ui_event_alert_button(lv_event_t *e)
}
}
lv_dropdown_set_selected(objects.settings_ringtone_dropdown, THIS->db.uiConfig.ring_tone_id - 1, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_ringtone_dropdown, THIS->db.uiConfig.ring_tone_id - 1);
lv_obj_clear_flag(objects.settings_alert_buzzer_panel, LV_OBJ_FLAG_HIDDEN);
lv_group_focus_obj(objects.settings_alert_buzzer_switch);
THIS->disablePanel(objects.controller_panel);
@@ -2545,7 +2545,7 @@ void TFTView_320x240::loadMap(void)
for (auto it : mapStyles) {
lv_dropdown_add_option(objects.map_style_dropdown, it.c_str(), pos);
if (it == db.uiConfig.map_data.style) {
lv_dropdown_set_selected(objects.map_style_dropdown, pos, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.map_style_dropdown, pos);
MapTileSettings::setTileStyle(db.uiConfig.map_data.style);
savedStyleOK = true;
}
@@ -2554,7 +2554,7 @@ void TFTView_320x240::loadMap(void)
if (!savedStyleOK) {
// no such style on SD, pick first one we found
char style[20];
lv_dropdown_set_selected(objects.map_style_dropdown, 0, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.map_style_dropdown, 0);
lv_dropdown_get_selected_str(objects.map_style_dropdown, style, sizeof(style));
MapTileSettings::setTileStyle(style);
}
@@ -2699,7 +2699,7 @@ void TFTView_320x240::ui_event_signal_scanner_node(lv_event_t *e)
{
THIS->chooseNodeSignalScanner = true;
THIS->selectedHops = lv_dropdown_get_selected(objects.nodes_filter_hops_dropdown);
lv_dropdown_set_selected(objects.nodes_filter_hops_dropdown, 7, LV_ANIM_OFF); // 0 hops away
lv_dropdown_set_selected(objects.nodes_filter_hops_dropdown, 7); // 0 hops away
THIS->ui_set_active(objects.nodes_button, objects.nodes_panel, objects.top_nodes_panel);
THIS->updateNodesFiltered(true);
THIS->updateNodesStatus();
@@ -3230,7 +3230,7 @@ void TFTView_320x240::ui_event_statistics_table(lv_event_t *e)
void TFTView_320x240::requestSetup(void)
{
ui_set_active(objects.settings_button, objects.initial_setup_panel, objects.top_setup_panel);
lv_dropdown_set_selected(objects.setup_region_dropdown, 0, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.setup_region_dropdown, 0);
lv_obj_clear_flag(objects.initial_setup_panel, LV_OBJ_FLAG_HIDDEN);
lv_group_focus_obj(objects.setup_region_dropdown);
THIS->disablePanel(objects.controller_panel);
@@ -3524,7 +3524,7 @@ void TFTView_320x240::setLocale(meshtastic_Language lang)
void TFTView_320x240::setLanguage(meshtastic_Language lang)
{
char buf1[20], buf2[40];
lv_dropdown_set_selected(objects.settings_language_dropdown, language2val(lang), LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_language_dropdown, language2val(lang));
lv_dropdown_get_selected_str(objects.settings_language_dropdown, buf1, sizeof(buf1));
lv_snprintf(buf2, sizeof(buf2), _("Language: %s"), buf1);
lv_label_set_text(objects.basic_settings_language_label, buf2);
@@ -3561,7 +3561,7 @@ void TFTView_320x240::setBrightness(uint32_t brightness)
void TFTView_320x240::setTheme(uint32_t value)
{
char buf1[30], buf2[30];
lv_dropdown_set_selected(objects.settings_theme_dropdown, value, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_theme_dropdown, value);
lv_dropdown_get_selected_str(objects.settings_theme_dropdown, buf1, sizeof(buf1));
lv_snprintf(buf2, sizeof(buf2), _("Theme: %s"), buf1);
lv_label_set_text(objects.basic_settings_theme_label, buf2);
@@ -3670,7 +3670,7 @@ void TFTView_320x240::ui_event_ok(lv_event_t *e)
uint32_t numChannels = LoRaPresets::getNumChannels(region, THIS->db.config.lora.modem_preset);
// if (numChannels == 0) {
// // region not possible for selected preset, revert
// lv_dropdown_set_selected(objects.settings_region_dropdown, THIS->db.config.lora.region - 1, LV_ANIM_OFF);
// lv_dropdown_set_selected(objects.settings_region_dropdown, THIS->db.config.lora.region - 1);
// return;
// }
@@ -3759,7 +3759,7 @@ void TFTView_320x240::ui_event_ok(lv_event_t *e)
uint32_t numChannels = LoRaPresets::getNumChannels(region, THIS->db.config.lora.modem_preset);
if (numChannels == 0) {
// region not possible for selected preset, revert
lv_dropdown_set_selected(objects.settings_region_dropdown, THIS->db.config.lora.region - 1, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_region_dropdown, THIS->db.config.lora.region - 1);
return;
}
@@ -4246,7 +4246,7 @@ void TFTView_320x240::ui_event_modem_preset_dropdown(lv_event_t *e)
uint32_t numChannels = LoRaPresets::getNumChannels(THIS->db.config.lora.region, preset);
if (preset == meshtastic_Config_LoRaConfig_ModemPreset_VERY_LONG_SLOW || numChannels == 0) {
// preset deprecated or not possible for this region, revert
lv_dropdown_set_selected(dropdown, THIS->db.config.lora.modem_preset, LV_ANIM_OFF);
lv_dropdown_set_selected(dropdown, THIS->db.config.lora.modem_preset);
numChannels = LoRaPresets::getNumChannels(THIS->db.config.lora.region, THIS->db.config.lora.modem_preset);
return;
}
@@ -4649,7 +4649,7 @@ void TFTView_320x240::updateNode(uint32_t nodeNum, uint8_t ch, const meshtastic_
char buf1[30], buf2[40];
lv_dropdown_set_selected(objects.settings_device_role_dropdown,
role2val(meshtastic_Config_DeviceConfig_Role(cfg.role)), LV_ANIM_OFF);
role2val(meshtastic_Config_DeviceConfig_Role(cfg.role)));
lv_dropdown_get_selected_str(objects.settings_device_role_dropdown, buf1, sizeof(buf1));
lv_snprintf(buf2, sizeof(buf2), _("Device Role: %s"), buf1);
lv_label_set_text(objects.basic_settings_role_label, buf2);
@@ -5751,7 +5751,7 @@ void TFTView_320x240::updateDeviceConfig(const meshtastic_Config_DeviceConfig &c
db.config.has_device = true;
char buf1[30], buf2[40];
lv_dropdown_set_selected(objects.settings_device_role_dropdown, role2val(cfg.role), LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_device_role_dropdown, role2val(cfg.role));
lv_dropdown_get_selected_str(objects.settings_device_role_dropdown, buf1, sizeof(buf1));
lv_snprintf(buf2, sizeof(buf2), _("Device Role: %s"), buf1);
lv_label_set_text(objects.basic_settings_role_label, buf2);
@@ -5809,7 +5809,7 @@ void TFTView_320x240::updateLoRaConfig(const meshtastic_Config_LoRaConfig &cfg)
lv_label_set_text(objects.basic_settings_region_label, region);
char buf1[20], buf2[32];
lv_dropdown_set_selected(objects.settings_modem_preset_dropdown, cfg.modem_preset, LV_ANIM_OFF);
lv_dropdown_set_selected(objects.settings_modem_preset_dropdown, cfg.modem_preset);
lv_dropdown_get_selected_str(objects.settings_modem_preset_dropdown, buf1, sizeof(buf1));
lv_snprintf(buf2, sizeof(buf2), _("Modem Preset: %s"), buf1);
lv_label_set_text(objects.basic_settings_modem_preset_label, buf2);