lvgl (GUI-библиотеку) подкрутили под platformio

github.com/littlevgl/lvgl/issues/667

Я уже неоднократно упоминал, что озаботился модной и современной разработкой софта для всяких электронных девайсов. Когда с веб-разработки переключаешься на железки, такое впечатление, что вернулся лет на 10-15 назад в какой-то ад. Обсирать закостенелость эмбедов можно долго и аргументированно, но это не конструктивно. Поэтому речь пойдет о конкретных прикладных задачах и как с ними быть.

Иногда нужно лепить девайсы с мелкими дисплеями и симпатичными интерфейсами. Для примера - те же reflow-паялки. Так вот, трудоемкость правильного интерфейса может значительно превышать все остальное. И чтобы это не погибло под грузом сложностей, нужно несколько вещей:

  • Нельзя “лочить” проект на одном человеке. Всегда должна быть возможность “подкрутить” интерфейс со стороны, не вникая в проект целиком.
  • Нельзя привязывать прототипирование интерфейса к реальному железу. В эмуляторе это делать на порядок быстрее. И этим могут заниматься вовсе не “железячники”.
  • Не надо пытаться рисовать что-то свое. Серьезные дяди и тети составляют документы под названием “interface design guide”. Просто выбираем design guide по вкусу, и быстро делаем по требованиям, которые в нем описаны.
  • Софт должен ставиться легко и быстро.

После изучения легковесных GUI-библиотек я остановился на lvgl. Технически там все довольно неплохо, но надо было решить вопрос с простотой установки-сборки. Поэтому создал тикет о скрещивании с platformio, и этот тикет сегодня благополучно решили. Ура!

Осталось понять как красиво напилить код, чтобы собирался под разные платформы, и оформить это дело в качестве примера для новичков.

  • 910