LINUX.ORG.RU

Embedded GUI/GUI composer

 cortex-m3, , ,


2

2

и так: есть STM32 с 64k SRAM'а; есть SPI графический oled дисплей 128x128 о 16 бит на пиксель;

нужно: найти/реализовать удобную, компактную и производительную GUI либу;

лень подсказывает отрезать 32к от срама под фреймбуфер а далее либо по таймеру гнать фрейм либо использовать транзакцию и гнать фрейм по завершению транзакции. жаба подсказывает (ибо отдавать 1/2 ОЗУ) задуматься о композитинге фрейма из примитивов (битмап, линия, символ[ы], etc) непосредственно во время передачи.

собственно дискач.

О, я тоже дома от скуки потихоньку подобным заняться собираюсь: дисплей 320х240 прикрутить к STM32F103.

Просмотрел несколько вариантов библиотек (т.к. самому шрифты и всякие "кнопочки" рисовать неохота). Глянул пару реализаций работы с экранчиком. Быдлокод зверский и там, и там. Я вообще поражаюсь, что за погромисты такие работают в ST: их SPL — это просто образец рукожопости!

Похоже, для работы с экранчиком придется либо существующее говно использовать (правда, я не уверен, что оно во флеш память МК влезет), либо свое писать (это лучше, но значительно дольше).

Выделять оперативку под фреймбуфер нет нужды: она есть у контроллера экранчика. Просто если надо узнать, что записано в том или ином пикселе, достаточно по SPI считать данные с экрана. Однако, чтобы ускорить процесс отрисовки всяких менюшек-фигнюшек, видимо, таки нужно будет небольшой текстовый буфер сделать: разбить экранчик на фреймы (1 фрейм == 4 буквы) и хранить условное содержимое фрейма.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от mentalmenza

Ты внутрь загляни. Посмотри, сколько полезной памяти тратится на тупейшие операции. Например, установить/сбросить бит на какой-нибудь ноге. А теперь представь, что если там с несчастными GPIO так извратились, что будет с чем-нибудь посложней! И действительно: библиотечку USB, скажем, я дня три перекраивал. Но потом плюнул: свое писать надо, их индусокод править — это жесть!

Eddy_Em ☆☆☆☆☆
()

P.S.

Поэтому многие спецы, когда обращаешься за помощью, если видят, что ты юзаешь SPL, сразу посылают в задницу (т.к. часть проблем может быть по вине SPL)!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

О, я тоже дома от скуки потихоньку подобным заняться собираюсь: дисплей 320х240 прикрутить к STM32F103.

Просмотрел несколько вариантов библиотек (т.к. самому шрифты и всякие «кнопочки» рисовать неохота). Глянул пару реализаций работы с экранчиком. Быдлокод зверский и там, и там. Я вообще поражаюсь, что за погромисты такие работают в ST: их SPL — это просто образец рукожопости!

Похоже, для работы с экранчиком придется либо существующее говно использовать (правда, я не уверен, что оно во флеш память МК влезет), либо свое писать (это лучше, но значительно дольше).

Выделять оперативку под фреймбуфер нет нужды: она есть у контроллера экранчика. Просто если надо узнать, что записано в том или ином пикселе, достаточно по SPI считать данные с экрана. Однако, чтобы ускорить процесс отрисовки всяких менюшек-фигнюшек, видимо, таки нужно будет небольшой текстовый буфер сделать: разбить экранчик на фреймы (1 фрейм == 4 буквы) и хранить условное содержимое фрейма.

я ChibiOS использовал с штатной граф. библиотекой. при прямой попиксельной отрисовке тупит@тормозит. при использовании фреймбуфера все ок.

exception13 ★★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

по поводу чтения из дисплея я х.з. документации на дисплей нет. я тупо отснифал при помощи вачпоинта на регистр данных SPI по jtag что штатная прошивка шлет для отрисовки.

exception13 ★★★★★
() автор топика
28 апреля 2014 г.
Ответ на: комментарий от anonymous

Ага. Универсальные функции с универсальными багами: непредсказуемо одинаково ведут себя на всей линейке микроконтроллеров! ☺

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.