Страница 1 из 1

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

Добавлено: 20 окт 2020, 00:53
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

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

Добавлено: 20 окт 2020, 01:09
shura2
На базе библиотеки сделал набросок из двух экранов

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

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

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

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

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

Добавлено: 20 окт 2020, 10:15
Pelletizer
Интересная штука, как бы ее адаптировать в веб интерфейс

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

Добавлено: 20 окт 2020, 22:34
shura2
Pelletizer писал(а): 20 окт 2020, 10:15 Интересная штука, как бы ее адаптировать в веб интерфейс
А зачем?

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

Добавлено: 21 окт 2020, 22:19
shura2
Кому интересно, выкладываю пример ино файла с двумя экранами и подробными комментариями.
proba_09_10.zip

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

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

Отправлено спустя 30 секунд:
TFT_eSPI-master установлена

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

Добавлено: 21 окт 2020, 23:50
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 минуты

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

Добавлено: 21 окт 2020, 23:51
Ingwar
shura2 писал(а): 21 окт 2020, 23:50 экранчик с тачскрином?
Я просто хотел посмотреть на скомпилированный размер, Но увы... не компилится пример.