HMI библиотека LVGL

Создаем свой блок. Вопросы, помощь знатоков.
Ответить
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10.01.2020{, 00:26}
Репутация: 1
Имя: Александр

HMI библиотека LVGL

#1

Сообщение shura2 » 20.10.2020{, 00:53}

Нашел интересную библиотеку для микроконтроллеров. графическое меню, графики, кнопочки, отработка нажатий и прочие вкусности
Примерно так может выглядеть интерфейс:
загруженное.png
достаточно легкая настройка, похоже на css стили:
СпойлерПоказать


lv_obj_t * scr = lv_cont_create(NULL, NULL); // Создание экрана SCR
lv_disp_load_scr(scr);


/* Create simple label */
lv_obj_t *label = lv_label_create(lv_scr_act(), NULL); // Создание объекта label на текущем экране
lv_label_set_text(label, "Hello Arduino! (V7.0)"); // Текст объекта label
lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -50); // Выравнивание объекта label

/* Create a slider in the center of the display */

lv_obj_t * slider = lv_slider_create(lv_scr_act(), NULL); // Создание объекта label на текущем экране
lv_obj_set_width(slider, screenWidth-50); /*Set the width*/
lv_obj_set_height(slider, 50);
lv_obj_align(slider, NULL, LV_ALIGN_CENTER, 0, 0); /*Align to the center of the parent (screen)*/
lv_obj_set_event_cb(slider, slider_event_cb); //Придать slider_event_cb значение слайдера

/* Create a label below the slider */
slider_label = lv_label_create(lv_scr_act(), NULL);
lv_label_set_text(slider_label, "0");
lv_obj_set_auto_realign(slider, true);
lv_obj_align(slider_label, slider, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);

Здесь демо:
https://lvgl.io/demos

Отличная документация
https://docs.lvgl.io/

https://github.com/lvgl

Порт на esp32 для Ардуино
https://github.com/lvgl/lv_arduino

shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10.01.2020{, 00:26}
Репутация: 1
Имя: Александр

HMI библиотека LVGL

#2

Сообщение shura2 » 20.10.2020{, 01:09}

На базе библиотеки сделал набросок из двух экранов

Только надо в папку со сгенерированным ино файлом положить файлы с иконками и вначале файла раскоментировать пару строк LV_IMG_DECLARE.

https://www.dropbox.com/sh/60wrpqzvkn7q ... zCNSa?dl=0

Еще, в основе библиотеки LVGL находится tft-espi. поэтому, сначала надо настроить её на свой дисплей.

прошу сильно не пинать, я в программировании и в микроконтроллерах ноль, поэтому куча костылей в проекте и коде

Pelletizer
Рядовой
Сообщения: 91
Зарегистрирован: 12.09.2019{, 07:10}
Репутация: 5
Имя: Дмитрий

HMI библиотека LVGL

#3

Сообщение Pelletizer » 20.10.2020{, 10:15}

Интересная штука, как бы ее адаптировать в веб интерфейс

shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10.01.2020{, 00:26}
Репутация: 1
Имя: Александр

HMI библиотека LVGL

#4

Сообщение shura2 » 20.10.2020{, 22:34}

Pelletizer писал(а):
20.10.2020{, 10:15}
Интересная штука, как бы ее адаптировать в веб интерфейс
А зачем?

shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10.01.2020{, 00:26}
Репутация: 1
Имя: Александр

HMI библиотека LVGL

#5

Сообщение shura2 » 21.10.2020{, 22:19}

Кому интересно, выкладываю пример ино файла с двумя экранами и подробными комментариями.
proba_09_10.zip
(12.97 КБ) 47 скачиваний

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

HMI библиотека LVGL

#6

Сообщение Ingwar » 21.10.2020{, 23:20}

shura2 писал(а):
21.10.2020{, 22:19}
Кому интересно, выкладываю пример ино файла с двумя экранами и подробными комментариями.
'class TFT_eSPI' has no member named 'setTouch'

Отправлено спустя 30 секунд:
TFT_eSPI-master установлена
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10.01.2020{, 00:26}
Репутация: 1
Имя: Александр

HMI библиотека LVGL

#7

Сообщение shura2 » 21.10.2020{, 23:50}

Ingwar писал(а):
21.10.2020{, 23:21}
'class TFT_eSPI' has no member named 'setTouch'
экранчик с тачскрином? тачскрин инициализирован в библиотеке TFT_eSPI? Я подсматривал это видео с 1.18 минуты

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

HMI библиотека LVGL

#8

Сообщение Ingwar » 21.10.2020{, 23:51}

shura2 писал(а):
21.10.2020{, 23:50}
экранчик с тачскрином?
Я просто хотел посмотреть на скомпилированный размер, Но увы... не компилится пример.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Ответить

Вернуться в «Разработка пользовательских блоков»