LVGL + STM32 + ST7789 Создаем простой проект и подключаем библиотеку. Графический интерфейс.
Vložit
- čas přidán 21. 04. 2022
- В видео на простом примере рассказывается о графической библиотеке LVGL. LVGL + STM32 + ST7789 - Графический интерфейс, виджеты и примеры кода.
Канал в телеграмм - t.me/vladimir_medintsev
Канал Яндекс.Дзен - zen.yandex.ru/vladimir_medintsev
Канал на RuTube - rutube.ru/channel/1797552/
Канал на CZcams - / vladimirmedintsev
------------------------------------------
Если вы хотите поддержать автора канала номер карты Сбер:
2202-2023-2480-4008
------------------------------------------ - Věda a technologie
Ну и пользуясь случаем может быть кому-то будет нужно декодировать и выводить jpeg на дисплей. Принцип регистрации функций такой же как у lvgl.
Вот ссылки на библиотеку и описание работы:
github.com/cbm80amiga/JpgDecoder_STM
we.easyelectronics.ru/lcd_gfx/biblioteka-dlya-dekodirovaniya-jpeg-na-mk.html
czcams.com/video/kK9MdP6MZYc/video.html
Спасибо за очень полезные ссылки. А LVGL - точно открытая библиотека? Что-то как-то не верится даже.
Рад видеть новые ролики на канале, ставлю вам лайк до просмотра.
спасибо вам очень интересно
Красивенько, приятненько! Спасибо Вам за замечательные ролики, которые не только ликбез, но и подают идеи.
Давно использую эту библиотеку в своих проектах. Нравится хорошая документация, наличие многих примеров и, особенно, симулятора в той же вижле, где можно написать код, быстро проверить, и перенести на мк
Добрый день! Уже несколько часов пытаюсь её установить. Keil не видит функции lv_disp_flush_ready и lv_tick. И я не могу нигде их найти, уже голову сломал. Не собирается, более 500 ошибок, помогите пожалуйста. Следовал всем инструкциям с их сайта. Половина не очень понятна, куда писать, в какой файл, .c, .h и т.д.
должна быть lv_tick_inc. Вы добавили папку lvgl в кейл? Не получается в кейле? Скачайте с официального гитхаба какой-нибудь пример для CubeIDE, посмотрите, как все настроено там
#ЗнанияВмассы.. Спасибо!
Великолепно. Давно работал с этой библиотекой (еще с 6 версии), но на esp32 и nrf52. Все никак не найду времени на stm32 с ней поразбираться. И тут прям кстати Ваше видео 🙂 Замотивировался )))
Доброго времени! У вас получилось?
Владимир, спасибо за интересное видео. Пожалуйста снимите видео как при помощи библиотеки LVGL выводить кириллицу.
Спасибо, как раз эксперементирую с подключением небольших дисплеев, хотелось бы еще роликов по данной тематике. Есть желание перейти с ардуино на stm , частота обновления и другие преимущества подталкивают
Не убавить не прибавить, хорошее видео для тех, кто ещё не знаком с этой замечательной библиотекой. Единственное - в качестве Input device можно зарегистрировать не только сенсорный экран, но так же энкодер или клавиатуру/кнопки, или любое другое вводное устройство, которое по логике работы схоже с вышеуказанными. Очень удобно, имхо.
а как это сделать в среде Sguare line studio?
Было бы очень интересно посмотреть видео на тему обновления версии прошивки на устройстве, в том числе через OTA (over the air).
За пару минут)) с u8g2 разбирался пару дней и то до конца не разобрался) спасибо за информативное видео!
Там вообще монстр. Причем, по моему мнению, ооочень тормознутый. Использую только если надо быстро что то сделать и нет требований на скорость работы графики.
@@aleksandrgordeev3125 да, прорисовывает в буфер довольно неспешно. Зато потом полноэкранный в DMA и едем дальше )
@@SevenNightdreemVeryPavlovny У вас получилось запустить??
@@NoviSavvy либу u8g2? Ну да, ssd1306, uc1608 драйверы норм
@@SevenNightdreemVeryPavlovny нет, lvgl. У меня больше 2 недель не получается её собрать. Мало что из этого видео соответствует тому, что получается у меня. На данный момент остановился на 8 ошибках, в начале было около 450 ошибок. Не все файлы есть в библиотеке, многие структуры типа lv_disp_drv Кейл просто не понимает, хотя я все пути ко всему указал
Владимир спасибо что продолжаете выкладывать видео. В прошлом году бодался с этой библиотекой для esp32 но в итоге ушел на GUIslice. Пользуясь случаем - имеете что-то на примете с примерами работы по wolfssl/wolfssh для stm32?
Я на ней ГУЙ под Qt на компе сначала пишу, а затем уже на устройство заливаю. Пишу на С++ и вместо убогих калбаков лямбды по месту написанные в неё закидываю, очень удобно получается.
прикольная либа, использую ее на sbc под линуксами и на стм 32
👍👍👍
Использую в своем проекте. Спасибо🤝
Доброго времени! Подскажите пожалуйста, как у вас это получилось? Я повторил в точности- больше 100 ошибок, не компилится, очень кривая библиотека как будто
@ViktorSapronov1998 Библиотека которую используют десятки тысяч программистов кривой быть не может. Если большое кол-во ошибок, значит вы пути неправильно в проекте прописали.
@@VladimirMedintsev я пробовал очень много разных вариантов, в Кейле, начиная каждый раз с нуля. И через их сайт, и даже готовый пример взял. Не компилится никак. Чем больше файлов подключаю, даже если они не используются, тем больше ошибок. Не знаю, что уже делать. И 1 в 1 как на видео, естественно, тоже начав с нуля. Отдельно без lvgl, конечно, всё хорошо, дисплей показывает что ему говорят. Lvgl не компилится. Я не понимаю почему, такого не может быть, я ВСЁ проверил.
@@NoviSavvy @ViktorSapronov1998 Ну спорить не буду. У меня компилируется без ошибок.
@@VladimirMedintsev что я мог сделать не так?
блин... как же всё красивенько...
я в своих проекты если добавляю настройки или какие-то меню, то это +BLE модуль на плату управления и +приложение для андроид. Ещё недавно можно было телефон на андроиде с дисплеем 4-5" купить за 1400руб и просто рядом с каждым устройством приклеивать или пользователю давать как пульт управления. За такую цену вряд-ли можно приобрести аналогичный дисплей, а ещё надо добавить нормальный контроллер на котором хватит памяти развернуть GUI для визуализации и управления.
А вообще классный подход у библиотеки. Я уже не раз встречаю именно такой метод регистрации функций в библиотеках.
nextion есть
@@kalobyte есть такие модули. В таком случае есть несколько вопросов:
Какая доступность? Какая стоимость? Есть ли законченные решения в корпусе? Какая сложность или совместимость при переносе проекта с одного модели на другую? Какие манипуляции необходимо сделать конечному пользователю при изменении функционала?
Забегая вперёд - у меня по BLE и обновление прошивки проходит, а apk пользователь получает через любой мессенджер или электронную почту.
@@sozdatelEd
это hmi panel
к ней идет софт для виндовса и там ты рисуеш все контролы и заливаеш в панель, а она работает через модбас
ну и вроде там еще можно и через юарт через какой-то свой протокол
корпуса нет, чисто модуль
но если ты хочеш панель на андроиде, то есть тоже софт российский, только контролы там страшные
можеш в новых версиях допилили
забыл только как он называется
@@kalobyte я знаю как работает некстион.
Я Вам задал вопросы ответив на которые вы поймёте, что дешевле использовать сотовый телефон на андроиде, чем городить встраивать дисплей в проект.
@@sozdatelEd
смотря для чего и какой телефон
не везде влезет телефон или пройдет по потреблению
а так я и говорю, что есть прога под андроид для своих панелей
есть еще matric для управления компутером и там можно свои кнопки рисовать, есть хттп
красивые кнопки там есть в наборах от разных пользователей
Добрый день. Подскажите, пытаюсь сделать lable с динамическим отображение переменной(которая меняется), в seput всё инициализировано, другие эллементы в виде кнопок работают. А вот сделать изменение текста в lable не получается. Помогите(
Может у кого есть возможность, обьяснить как создать проект на стм32 под OS Zephyr, по документации не понимаю, как и что требуется для этого
Здравствуйте, два небольших вопроса по библиотеке: компилируется ли эта красота в MX CubeID? Помнится пробовал компилировать TouchGFX кубом - потратил кучу времени, а результат нулевой. Не хочется повторения. И второй - есть ли здесь возможность сначала накидать нужные кнопки, прогресс бары и все остальное в графическом приложении, например как в том же TouchGFX, а потом скомпилировать? Спасибо.
TouchGFX, точно так же как и LVGL собирается в CubeIDE без каких-либо особых проблем.
Да, для LVGL есть пара проектов для визуального редактирования экранов.
Здравствуйте. Вопрос про буфер, который необходимо выделить. Насколько я понимаю, необходимо выделить 240х240х2 байт в памяти для данного дисплея. А если всего памяти 128к, например stn32f411. Получается, что кроме библиотеки с буфером больше ничего и не влезет ?
Нет, можно выделить 1/4 или 1/16 памяти.
@@VladimirMedintsev Пока не понял как это возможно. Надо будет внимательно посмотреть, как это работает. Сначала надо разобраться с Кубом. После перегенерации проекта перестал стартовать stm32f411. До этого все нормально пересоьиралось и работало.
На отметке 3:47 "Действительно, два раза ДВОЕТОЧИЕ, для того, чтобы подняться на верхний уровень...". Дмитрий, прошу не запутывать ;))
Спасибо Вам за ваш труд! Библиотеки упрощают жизнь. В том плане, что решая основные задачи, не тратишь время на рисование каких нибудь регуляторов громкостей или чекбоксов...
Владимир добрый день.
Есть ли минимальное допустимое разрешение дисплея для этой библиотеки? Потому как я подключил к ней TFT дисплей 160 x 128 на ST7735. Все цвета, формы объектов, их расположение - в порядке, но показывает определенную часть, то что влезает в окно этого дисплея. Остальное как будто за его границами.
Спасибо.
Разрешение любое. Видимо что-то с буфером у вас.
@@VladimirMedintsev В файлах lcd_lvgl.c и lcd_lvgl.h ?
у меня почему то эта библиотека блокирует мышь
Хорошо если бы вы Владимир, полностью перешли на стм32кубайди. Это конечно же просто пожелание. Силу привычек никто не отменял.
Нет абсолютно никакой разницы, какую IDE использовать.
@@VladimirMedintsev можно тогда пример как в CodeVisionAVR собрать проект для stm32?🧐
Столкнулся с переполнением Flash при сборке в Stm32CubeIDE "region `FLASH' overflowed by 52496 bytes". Может кто подскажет что делаю не так?
Слишком мало памяти у вас и слишком много функций включено.
@@VladimirMedintsev Может что конкретнее можно отключить в библиотеке LVGL (примерно 100 кб лишних, шрифты все выкинул кроме 1 шт)
@@VladimirMedintsev я где то в видео услышал про (итого) 2 Килобайта🙂
Все бы ничего, но не могу найти бесплатных графических редакторов для LVGL. Есть SquareLineStudio, но с ограничением 5 экранов макс, 50 виджетов макс. Конечно же, быстро уперся в это ограничение по виджетам, дальше только танцы с бубном... Есть еще GuiGuider от NXP, но в сгенерированных файлах написано, что работать будет только с NXP. А у меня STM32F103VET6. TougchGFX не совместима с ним.
Стоп стоп стоп, я только сегодня более менее разобрался с touchgfx
а заодно просветился как ещё быстрее собирать проекты в LVGL😁
Всегда привык разрабатывать собственные библиотеки ибо всегда и во всем чужом очень быстро нахожу косяки: вот в этой либе например - предустановлены шрифты и я так понимаю что локализации у них нет и также выбор одного шрифта для всех контролов. Использовать это в своих проектах, а потом ловить "мелкие" неприятности и думать как их решить - да ну его - разве что поковырять исходный код - иногда что-то бывает интересное можно найти.
RTFM. У них на сайте есть генератор шрифтов, т.е. можете загрузить свой файл шрифтов и получите сишные файлы + поддержка всяких экзотичных языков, где написание справа налево и иероглифы.
@@Beatleman91 из файла шрифтов автоматом более менее нормально получаются программно символы большого размера, автоматом получить символы размером например 8х6 пикселей ну никак не получится.
@@user-rx4rp5yb5j используйте шрифты, которые в таком мелком формате на экране монитора Можга различить, например Terminus
@@Beatleman91 глупости не говорите - я не теоретик, а практик - программно нельзя создать мелкие шрифты таких размеров - результат будет ужасным. Мелкие шрифты всегда нужно создавать самому. А в Terminus есть только латиница.
@@user-rx4rp5yb5j прагматик, который думал, что в LVGL один фиксированный шрифт. Ну-ну
А где сам проект Кейла готовый? Люди собрать неделями не могут 😂
Люди собрать не могут по одной простой причине - не знают язык Си. И готовый проект им только навредит.
Адафрут пошёл курить в сторону :)
Будет ли работать на STM32F103C8T6 с дисплеем 320х240? При сборке проекта выдает
c:/gcc/10 2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: build/LESSON_2.elf section `.bss' will not fit in region `RAM'
c:/gcc/10 2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: region `RAM' overflowed by 112440 bytes
Разумеется не будет. Совсем.