Графическое меню на дисплее 128x64 st7920

Как реализовать графическое меню?

Вопросы от новичков
av
Лейтенант
Сообщения: 641
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 32
Имя: Алексей

Графическое меню на дисплее 128x64 st7920

#21

Сообщение av » 10.09.2019{, 19:22}

rusincor писал(а):
09.09.2019{, 19:23}
Дисплей обычный монохромный подключен по SPI
Да я его уже подключал.
И какими блоками пользовались для проверки позвольте поинтересоваться ? Как решали проблему которая все еще актуальна ? Вы даже не удосужились прикрепить проект в котором у вас не решилось.
rogerwaters, прав насчет того, что этот дисплей вероятно не популярный.
Я бы вам помог с этим меню, но у меня нет такой железки и пользовательских блоков для этого дисплея. Не получится в слепую сваять нужное меню.

Ilgam
Рядовой
Сообщения: 1
Зарегистрирован: 10.09.2019{, 17:28}
Репутация: 0
Имя: Илгам

Графическое меню на дисплее 128x64 st7920

#22

Сообщение Ilgam » 10.09.2019{, 21:35}

Предлагаю часы с озвучкой
Вложения
Часы с озвучкой времени.flp
(2.81 МБ) 18 скачиваний

rusincor
Рядовой
Сообщения: 15
Зарегистрирован: 01.09.2019{, 21:28}
Репутация: 0
Имя: Руслан

Графическое меню на дисплее 128x64 st7920

#23

Сообщение rusincor » 10.09.2019{, 23:13}

av писал(а):
10.09.2019{, 19:22}
Вы даже не удосужились прикрепить проект в котором у вас не решилось.
Прикрепил !

Отправлено спустя 1 минуту 4 секунды:
Там особо прикреплять та нечего
три картинки меню а как в подменю входить ума не приложу
Вложения
NTCN.flp
(538.66 КБ) 17 скачиваний

av
Лейтенант
Сообщения: 641
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 32
Имя: Алексей

Графическое меню на дисплее 128x64 st7920

#24

Сообщение av » 11.09.2019{, 00:47}

rusincor, посмотрел ваш проект. Для начала нужно создать меню ! А уже потом управлять графикой и текстом исходя какой пункт меню выбран. По вашим картинкам в 4 посте вырисовывается многоуровневое меню. В левой колонке 3 главных пункта меню (если быть точнее групповые ), а с права отображаются подменю выбранного главного пункта. В штатном блоке меню есть выходы которые активируются ( установкой галочки: Группа параметров, выход активности пункта меню ).
Группа параметров создает подменю вот как раз в подменю создаете пункты которые вам нужны их может быть множество ( в вашем случае исходя из картинки это где все связанное с ...опой ). Вообщем ищите темы по созданию меню, скачивайте проекты изучайте создавайте. А прикрутить графику и текст будет проще.

rusincor
Рядовой
Сообщения: 15
Зарегистрирован: 01.09.2019{, 21:28}
Репутация: 0
Имя: Руслан

Графическое меню на дисплее 128x64 st7920

#25

Сообщение rusincor » 13.09.2019{, 22:01}

av,
Уважаемый AV я так и не могу понять как вывести строки меню одновременно на дисплей.
просто запара какаято. Вы не могли бы ткнуть носом где расписано как это реализовать или может на своем проекте покажите пару пунктов как выводится :smile198: :smile198: :smile198:

а по наглядному уже проще будет. :smile469:

rogerwaters
Рядовой
Сообщения: 24
Зарегистрирован: 17.05.2019{, 18:38}
Репутация: 1
Имя: Александр

Графическое меню на дисплее 128x64 st7920

#26

Сообщение rogerwaters » 13.09.2019{, 23:24}

Как вы относитесь к крититике проекта?

rusincor
Рядовой
Сообщения: 15
Зарегистрирован: 01.09.2019{, 21:28}
Репутация: 0
Имя: Руслан

Графическое меню на дисплее 128x64 st7920

#27

Сообщение rusincor » 14.09.2019{, 00:20}

rogerwaters,
Нормально если критика конструктивная а не просто срач

rogerwaters
Рядовой
Сообщения: 24
Зарегистрирован: 17.05.2019{, 18:38}
Репутация: 1
Имя: Александр

Графическое меню на дисплее 128x64 st7920

#28

Сообщение rogerwaters » 14.09.2019{, 14:42}

Смените дисплей на другой, например TFT- 320х240 ILI9341. Тогда поможем 100%. :yes:

av
Лейтенант
Сообщения: 641
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 32
Имя: Алексей

Графическое меню на дисплее 128x64 st7920

#29

Сообщение av » 16.09.2019{, 13:01}

rusincor, извиняюсь ,что не сразу ответил в данный момент запарка со временем. Постараюсь сегодня вечером показать как сделать меню, но как всегда есть проблемы. А именно проблема с пользовательскими блоками. Те блоки которые для дисплея в вашем проекте рассчитаны всего лишь на две строки текста, чтобы добавить еще строк блок не позволяет добавить его дважды. В связи с этим нужно искать другие пользовательские блоки для этого дисплея.
Но меню мы все же создадим !

Отправлено спустя 3 часа 56 минут 49 секунд:
rusincor, начнем создавать меню !

Для начала вытаскиваем штатный блок меню на плату. Заходим в настройки блока. Создаем 3 пункта меню исходя из вашего рисунка в посте № 4 как раз видны 3 графических пункта.
СпойлерПоказать
1.1.jpg
Далее нужно их сделать групповыми с выходами активности этих пунктов.
СпойлерПоказать
1.2.jpg
При повороте вала энкодера эти пункты будут выбираться по кругу для этого переходим на вкладку "Управление меню" и устанавливаем галочки как на рисунке.
СпойлерПоказать
1.3.jpg
Когда будет выбран один из пунктов группового меню на выходе соответствующий этому пункту появится единица, которая в свою очередь будет активировать инверсию графического символа тем самым указывая на выбор нужного пункта.
Чтобы отображать строковые пункты меню не заходя в подменю автор программы любезно позаботился об этом графой "Дополнительные строки" ими и воспользуемся.
СпойлерПоказать
1.4.jpg
Для создания подменю физического в котором будет изменяться нужная вам настройка нажмите на "Добавить подменю".

Да простят меня админы :smile44: за некорректность и невежество находящихся на следующем рисунке. Я не специально это сделано для полного понимания топикстартером исходя из его же рисунков.
СпойлерПоказать
1.5.jpg
И так добавляете сколько вам нужно подменю в пределах 1 главного пункта меню. Такие же манипуляции проводим и с другими двумя групповыми пунктами.
Я не знаю доходчиво ли вам объясняю ? Сделайте как описал, дайте названия пунктам меню и пришлите мне проект с ним и будем работать.

av
Лейтенант
Сообщения: 641
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 32
Имя: Алексей

Графическое меню на дисплее 128x64 st7920

#30

Сообщение av » 16.09.2019{, 22:42}

rusincor, примерно так будет выглядеть блок меню.
СпойлерПоказать
1.6.jpg
Вкратце опишу как создать дополнительные строки верней покажу на рисунках :D
Дополнительные строки для пункта меню М-1.1
СпойлерПоказать
1.7.jpg
И для остальных пунктов группового меню 1 "НАСТРОЙКИ". Обратите внимание на графу "Дополнительные строки" в разных пунктах они разные ! Это сделано с целью правильного перебора пунктов при прокрутке по кольцу, то есть за последним четвертым пунктом следует первый
СпойлерПоказать
1.8.jpg
СпойлерПоказать
1.9.jpg
СпойлерПоказать
1.10.jpg
Таким же образом нужно создать дополнительные строки и в других групповых пунктах меню. При добавлении доп.строк выходы строк блока меню создаются автоматически. Допустим в следующем групповом меню №2 доп.строк будет меньше (3 строки), но в первом груп.пункте №1 их было создано (4 строки). Они автоматически появляются в количестве в котором были созданы в начале т.е. 4 штуки с маркировкой "Не определен". Двойным щелчком мыши выбираем первую в графе Доп.строки и вписываем то имя пункта меню которое требуется. Если не изменить маркировку " Не определен" , то на соответсвующем выходе строки будет пустая строка.
СпойлерПоказать
1.11.jpg

Но если удалить доп.строку кнопкой удаления строка так же удалится из всех групповых пунктов. Лучше не удалять, а просто оставлять маркер "Не определен".
Вот как то так. Из меня объясняльщик еще тот, прошу прощения если не донес суть своих мыслей :smile44:

av
Лейтенант
Сообщения: 641
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 32
Имя: Алексей

Графическое меню на дисплее 128x64 st7920

#31

Сообщение av » 17.09.2019{, 15:48}

Продолжим !
Допустим блок меню создан с нужными именами пунктов меню. Теперь эти пункты нужно вывести на дисплей да и часть из них будет графической. Графическими пунктами будут групповые пункты меню ( из предидущего поста на картинках это пункты "НАСТРОЙКА", "ОПЦИИ", "КАЛИБРОВКИ" ). Для них нужно создать растровые рисунки с определенными размерами или иконки (так же возможны символы). Для этих целей есть множество приложений. Я использую:

для рисования
LCDFontMaker.zip
(1.06 МБ) 5 скачиваний
и для перевода в код
Image2Code.7z
(608.69 КБ) 4 скачивания


Нарисовав иконку Домик из рисунка топикстартера и переведя в код вставляем в пользовательский блок уважаемого aidar_i, по это ссылке.Описание как это сделать в посте №2 по вышеуказанной ссылке.
СпойлерПоказать
дом.bmp
дом.bmp (1.94 КБ) 110 просмотров
Увы но здесь присутствует проблема ! Так как блок для отрисовки рисунка возможно использовать в проекте только один раз. И в этом случае мы можем вывести только одну иконку используя этот пользовательский блок :( . Возможно есть какие то вариант переделать блок, но моих познаний в области кода не достаточно.

Представим что блок может выводить несколько растровых рисунков (в нашем случае 3), а так же инвертировать их изображение. Тогда делаем анимацию выбора пункта группового меню инвертировав выбранную иконку выходами блока меню (М-1, М-2, М-3 см. первый рисунок в спойлере из поста №30). В этот же момент в правой части дисплея выводим дополнительные строки с выходов (AStr1-AStr4). При прокрутке нужной нам иконки энкодером в строках будут отображаться пункты подменю соответсвующие групповому пункту меню. Выбрали нужный пункт группового меню нажимаем на кнопку энкодера переходим в подменю. В подменю отображаются строки с именами подменю. Первой строкой будет выводиться выход "Name" и в координатах этой же строки но справа выводиться изменяемое значение выбранного подменю. В строках 2, 3, 4 будут выводиться дополнительные строки настроенные в пунктах подменю рисунок в втором спойлере поста №30.

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

av
Лейтенант
Сообщения: 641
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 32
Имя: Алексей

Графическое меню на дисплее 128x64 st7920

#32

Сообщение av » 19.09.2019{, 19:57}

Что то топикстартер молчит, наверное уже передумал :D .

Ответить

Вернуться в «Начинающим»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость