Перейти к содержанию
    

Программист GUI под STM32

Есть дисплей 480x272 с тачскрином, на stm32h745. Есть базовые графические библиотеки (по большей части самописные) и текущий юзер-интерфейс (он умеет рисовать графики, приборную панель, гистограмму, бегать по менюшкам). Библиотека - отрисовывать текстуры, накладывать шрифты, все с субпиксельной точностью и прозрачностью). Есть базовые графические примитивы (привет Брезенхему), но их нужно будет доработать до субпиксельного обсчета или взять что-то готовое, подходящее под наши задачи.

Нужно в этот юзер-интерфейс добавить продвинутый просмотрищик графиков (примерно функционал осциллографа, но каналов на 60 и с дополнительными фишками), и другие вещи. Все должно быть красиво, с субпиксельной отрисовкий, сплайнами/кривыми безье, каналом прозрачности при наложении. Реакция на тач тоже продвинутая - с прокруткой по инерции, просчетом ускорений, замедлений)

Графические элементы есть кому рисовать. Нужно чувство эстетики, внимание к деталям и к мелким недочетам. Т.е. задача - программирование интерфейса, добавление в библиотеки недостающего функционала. И работа с данными, которые собираем-отображаем-меняем (приходящие в реальном времени данные буферизируются, пишутся на sd карту, возможно в разных масштабах для ускорения загрузки при большим масштабировании; просмотрищиком графиков нужный кусок собирается из буферов ram и/или sd карты, масштабируется и отображается).

По срокам - хорошо бы в пределах месяца на минимальный функионал по отрисовке графиков (чтоб как-то можно было пользоваться), потом добавление фишек, доведение и вылизывание эстетики (несколько месяцев)

Территориально - Москва, м. калужская.

jeka (а) 2x4 тчк ru или личка, тут можно задат вопросы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обратите внимане на библтиотеку OpenVG .

Есть опыт отвызывания OpenVG от OpenGL (что в дефолтовой имплементации импользуется для демонстрации) - для работы с одним или более видеобуферами (без операционной системы).

Все нужные Вам фичи в этой библиотеке есть, чисто софтовое. Антиалиасинг "Из коробки".

Исходники всего (и "подпиленой" к современному с++ библиотеки) у меня на гитхабе.

ua1arn/hftrx at develop (github.com)


hftrx/lib/OpenVG at develop · ua1arn/hftrx (github.com)

 

Из дсотоинств - можно когоо-то на линукс машине типа малины или под виндой засадить разрабатывать UI и потом перенести код в целевое устройство.

 

(6) OpenVG Demo - YouTube

 

 

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15.04.2021 в 11:51, jeka сказал:

Есть дисплей 480x272 с тачскрином, на stm32h745. Есть базовые графические библиотеки (по большей части самописные) и текущий юзер-интерфейс (он умеет рисовать графики, приборную панель, гистограмму, бегать по менюшкам). Библиотека - отрисовывать текстуры, накладывать шрифты, все с субпиксельной точностью и прозрачностью). Есть базовые графические примитивы (привет Брезенхему), но их нужно будет доработать до субпиксельного обсчета или взять что-то готовое, подходящее под наши задачи.

Нужно в этот юзер-интерфейс добавить продвинутый просмотрищик графиков (примерно функционал осциллографа, но каналов на 60 и с дополнительными фишками), и другие вещи. Все должно быть красиво, с субпиксельной отрисовкий, сплайнами/кривыми безье, каналом прозрачности при наложении. Реакция на тач тоже продвинутая - с прокруткой по инерции, просчетом ускорений, замедлений)

Графические элементы есть кому рисовать. Нужно чувство эстетики, внимание к деталям и к мелким недочетам. Т.е. задача - программирование интерфейса, добавление в библиотеки недостающего функционала. И работа с данными, которые собираем-отображаем-меняем (приходящие в реальном времени данные буферизируются, пишутся на sd карту, возможно в разных масштабах для ускорения загрузки при большим масштабировании; просмотрищиком графиков нужный кусок собирается из буферов ram и/или sd карты, масштабируется и отображается).

По срокам - хорошо бы в пределах месяца на минимальный функионал по отрисовке графиков (чтоб как-то можно было пользоваться), потом добавление фишек, доведение и вылизывание эстетики (несколько месяцев)

Территориально - Москва, м. калужская.

jeka (а) 2x4 тчк ru или личка, тут можно задат вопросы.

Под это всё дело надо брать LVGL. Это как раз UI библиотека для микроконтроллеров. Есть поддержка тем, анимаций, субпиксельности и т.д. Сам её портировал в U-Boot и в ядро Linux (прямо внутрь) для отображения UI на процессоре F1C100s. Так же легко запускается с помощью SDL. Это означает, что GUI можно разрабатывать не имея под рукой микроконтроллер на любом "интеле" (десктопе/ноутбуке), а переносить наработки на микроконтроллер - это просто (ну, грубо говоря) компиляция того же самого кода, только с указанием другого компилятора.

А писать свою UI библиотеку, конечно, можно, но просто если посмотреть на число строк LVGL, то столько и надо будет примерно разработать в любом случае. И это ещё не считая проработку архитектуры. В общем, проще взять LVGL и на основе её уже и пилить. Только надо смотреть что там по лицензии на эту библиотеку. Если она позволяет просто так взять, то в путь да и только.

Выглядит так, что надо брать открытую библиотеку LVGL и на её основе и делать весь UI. LVGL - это библиотека по построению UI для микроконтроллеров. Легко портируется. Есть темы, анимации, прозрачности, субпиксельности, шрифты и т.д. Для неё даже есть UI Builder.

Сам пользуюсь ею для создания и отрисовки UI на микросхеме F1C100s.

 

Что-то глюкнуло и первое сообщение сначала просто пропало, а потом как запостилось :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, lvgl  уже подключил. На первый взгляд очень понравилось - документация адекватная, архитетура сделана по уму. openvg интересная наработка, будет время попробую.

Откликов как-то не густо. Сложностью испугал или ценник не озвучил? платить готовы достойно, главное получить результат. Лучше конечно в перспективе рассматривать как длительное сотрудничество, а не разовую задачу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, jeka said:

Да, lvgl  уже подключил. На первый взгляд очень понравилось - документация адекватная, архитетура сделана по уму. openvg интересная наработка, будет время попробую.

Откликов как-то не густо. Сложностью испугал или ценник не озвучил? платить готовы достойно, главное получить результат. Лучше конечно в перспективе рассматривать как длительное сотрудничество, а не разовую задачу.

Еще LVGL UI Designer осталось освоить и будет полное счастье

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20.04.2021 в 14:51, x893 сказал:

Еще LVGL UI Designer осталось освоить

Что-то не нашел его, хотелось посмотреть на это чудо, ибо если смотреть исходники демок - там очень много кода, не руками же его писать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, mantech said:

Что-то не нашел его, хотелось посмотреть на это чудо

Я, например, видел демонстрацию на ютубе

и оттуда есть ссылка на бету: https://forum.lvgl.io/t/v0-1-beta-is-out/4818

Насколько оно юзабельно - не знаю. Я ручками писал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 часов назад, DisplayName сказал:

Насколько оно юзабельно - не знаю. Я ручками писал.

Ой, ну это же прошлый век, свою разработку ГУЯ сначала тоже писал ручками, но когда появилось десяток проектов, да еще клиентам нано что-то добавить\изменить - ну его нафиг...

8 часов назад, DisplayName сказал:

ссылка на бету: https://forum.lvgl.io/t/v0-1-beta-is-out/4818

Скачал - не запускается, либо это уж очень бета, или ей только 64бита надо вообщем пока никак...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похоже сейчас этим занимается NXP https://www.nxp.com/design/software/development-software/gui-guider:GUI-GUIDER?tab=Design_Tools_Tab

Я не могу скачать с сайта NXP, почему-то верификация email при регистрации завершается ошибкой. Не подскажете где можно скачать? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

56 минут назад, uriy сказал:

Не подскажете где можно скачать? 

Похоже на санкции. Попробуйте пройти верификацию email с домена .сom и/или через vpn.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, uriy said:

Похоже сейчас этим занимается NXP

Занимается. Я использую для генерации под stm32f746-disco

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Темная история. Если иду по ссылке через VPN сайт nxp пишет access denied. Если делаю регистрацию на gmail письмо не приходит, спам проверил.

Может вас не затруднит кинуть инсталлятор куда-нибудь в облака? Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...