Jump to content

    
Sign in to follow this  
us4llu

стрелочный индикатор на ЖКИ

Recommended Posts

4 hours ago, us4llu said:

а потом по dma выливать его через spi.

Судя по фото это индикатор на чём то типа ILI9341. Если так, то учтите, что вывод на него довольно медленный. Передача всего экрана занимает несколько сотен миллисекунд. Для динамической отрисовки стрелки (путём переписывания всего экрана) это очень много.

 

Что касается поворота символов - у вас картинка с повёрнутыми символами (фон, я так понимаю) фиксированная, или может меняться? Если первое, то нарисуйте её в любом графическом редакторе и зашейте в FLASH именно картинкой (можно пожать чем нибудь легковесным)

Share this post


Link to post
Share on other sites

Около 10 лет назад коллега на работе ваял свою GUI под конкретный проект: довольно безобидная задача - несколько чисел и простая графика.

Помню протрахался он по времени очень и очень много, хотя на тот момент уже были готовые GUI.

Потом чел уволился, а "наследие" его осталось. Проект достался другом спецу, а тот уже без долгих раздумий довольно быстро приладил готовую GUI и переписал что требовалось.

С тех пор сопровождение и внесение новых фишек в тот проект идет как по маслу ;)

 

Я лично пользую emWIN (относительно простые проекты на типовых экранах на базе SSD1963 и подобных контролеров), коллега - touchGFX (у него жирный камень с RGB).

Серьезные проекты уже под linux + Qt. Но тут пока все ходим как коты вокруг сметаны ))

Share this post


Link to post
Share on other sites
31 minutes ago, Arlleex said:

А под монохромный WG12864? В свое время я тоже ваял свое.
Вылилось в большууущий такой switch-case-автомат с деревом состояний-меню.

Да какая там графика? Там вполне хватает текстовых полей разного шрифта, а уж это делается довольны быстро на коленке и с нуля.

Только нужна прога, которая умеет делать с-файлы из виндовских шрифтов.

Нынче таких полно, как правило они входят в состав любой встраиваемой GUI, как необходимый инструментарий.

Однажды так и делал. Потом этот труд кочевал из одного проекта в другой практически без изменений. Рисовал в ОЗУ, а в одной из задач просто оно целиком циклично (5...10 раз в сек) перегонялось в подобный монохромный ЖКИ экран.

Так обеспечивал строгая детерминированность вызова функции отрисовки текста и мьютексы поэтому не нужны, если рисовать нужно из разных задач.

 

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

Таким образом можно делать вращающиеся символы, если очень надо.

Но рожать изза этого самодельную GUI со стрелками, графиками и т.п. на монохроме - это уж имхо античность ))

 

 

Share this post


Link to post
Share on other sites
3 minutes ago, Arlleex said:

Я делал на таком экране вполне себе развесистое меню со всякими анимациями и пиктограммами.

Меню это понятно, оно из текста.

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

В мелких проектах такой самописный гуи - это уже из разряда мазохизма, цель - доказать себе типа "я могу" )

На практике вот уж точно не стану создавать свую GUI, хватит, наелся с самоделками, надоказывался ))

Share this post


Link to post
Share on other sites
1 minute ago, Arlleex said:

У нас начальство захотело именно с преферансом и крутизанками:wink:
Изделий всего 2-3 штуки, но стоимость каждого как две лады гранты:biggrin:

А экран - монохромный .... Бизнес по-русски, не иначе )))

Share this post


Link to post
Share on other sites
1 минуту назад, Forger сказал:

А экран - монохромный .... Бизнес по-русски, не иначе )))

Ну корелляция между монохромным экраном и ценой не сильно видна:smile:
Я уже и не вспомню, почему выбрали именно такой, но какие-то предпосылки точно были.

Относительно размеров самого блока экран занимает процента 3, причем экран - не самая важная деталь в той конструкции:smile:

Share this post


Link to post
Share on other sites
5 минут назад, Arlleex сказал:

сначала мне на простецкое меню говорили "этого достаточно"

Мне сначала заказывали дисплейчик 4.3, говорили хватит на все, я взял 5.0, в итоге сделали на 7 дюймов. Теперь разговор идет о 10. :biggrin:

Share this post


Link to post
Share on other sites

1.Найти прямоугольные координаты всех точек знакоместа в позиции посередине

2.Пересчитать координаты в полярные.

Это в виде таблицы, можно сделать один раз. Потом применять для всех символов.

3. Повернуть на нужный угол.

4. Пересчитать в прямоугольные координаты.

Придумалось вот так.

Про монохром - для красного словца. Конечно будет делаться под тфт. Для начала 160х128. 

 

Edited by us4llu

Share this post


Link to post
Share on other sites
44 минуты назад, Vasily_ сказал:

Мне сначала заказывали дисплейчик 4.3...

И такое тоже было)) В одном проекте дисплей TFT на 4.3" взяли, говорили - круто. В итоге 7" в железках:smile:

Share this post


Link to post
Share on other sites
10 часов назад, us4llu сказал:

именно в этом проекте пытался найти функцию, которая поворачивает символы, но не нашел ничего по-моему похожего. или не так искал, или не то.

Вам же уже сказали: Алгоритм Брезенхема. Поворачивать любые битовые маски (в том числе - символы) можно по тому же принципу.

 

3 часа назад, xvr сказал:

Судя по фото это индикатор на чём то типа ILI9341. Если так, то учтите, что вывод на него довольно медленный. Передача всего экрана занимает несколько сотен миллисекунд.

Это не правда.

 

Цитата

Для динамической отрисовки стрелки (путём переписывания всего экрана) это очень много.

Как всегда - если руки кривые можно любую идею угробить.  :unknw:

В сети есть примеры, где люди видео на нём воспроизводят.

У меня в проекте он целиком обновляется с частотой до ~30FPS. Для динамической индикации этого вполне достаточно. А если учесть, что у него есть возможности по частичному обновлению отдельных прямоугольных областей экрана, то и подавно.

И это при том, что у меня экран = 320x240, а у ТС = 160х128. А значит частоту обновления у него вполне возможно получится поднять ещё выше. Может даже выше 100Гц. :smile:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this