mirror of
https://github.com/m5stack/meshtastic-device-ui.git
synced 2026-05-20 11:51:03 -07:00
Switch to lvgl 9.3.0 in PlatformIO Registry (#169)
This commit is contained in:
+2
-1
@@ -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
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user