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

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

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

Сообщение shura2 »

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

[spoiler]

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);

[/spoiler]


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

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

https://github.com/lvgl

Порт на esp32 для Ардуино
https://github.com/lvgl/lv_arduino
У вас нет необходимых прав для просмотра вложений в этом сообщении.
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

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

Сообщение shura2 »

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

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

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

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

прошу сильно не пинать, я в программировании и в микроконтроллерах ноль, поэтому куча костылей в проекте и коде
Pelletizer
Рядовой
Сообщения: 91
Зарегистрирован: 12 сен 2019, 07:10
Имя: Дмитрий

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

Сообщение Pelletizer »

Интересная штука, как бы ее адаптировать в веб интерфейс
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

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

Сообщение shura2 »

Pelletizer писал(а): 20 окт 2020, 10:15 Интересная штука, как бы ее адаптировать в веб интерфейс
А зачем?
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

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

Сообщение shura2 »

Кому интересно, выкладываю пример ино файла с двумя экранами и подробными комментариями.
proba_09_10.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

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

Отправлено спустя 30 секунд:
TFT_eSPI-master установлена
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

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

Сообщение shura2 »

Ingwar писал(а): 21 окт 2020, 23:21 'class TFT_eSPI' has no member named 'setTouch'
экранчик с тачскрином? тачскрин инициализирован в библиотеке TFT_eSPI? Я подсматривал это видео https://www.youtube.com/watch?v=OXUZEHMFFwc&t=7s с 1.18 минуты
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя