|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||||||
STemWin на STM32F4. Первый опыт. Вопросы.21.12.2013, 23:06. Показов 835278. Ответов 1103
Метки нет (Все метки)
Вот, задумавшись о GUI, решил попробовать эту либу.
Моё железо - STM32F4 (Dyscovery) и дисплей с Ebay разрешением 800х480 на контроллере SSD1963 с 16-битным интерфейсом. Эта аппаратная связка давно обкатана и работает. Под это дело я писал свои драйверы и библиотеки. Работал с дисплеем через DMA и без него. Всё прекрасно. Т.к. никаких заводских плат со встроенными дисплеями у меня нет, мне пришлось править и переписывать под себя конфигурационные модули STemWin. Для старта взял стандартный пример из ST-шного архива. Дальше стартовой заставки я не продвинулся, т.к. там нужен тач, а я пока не разобрался, как туда подключить мой драйвер тача. Но и тут проблемы. В итоге получилось 2 варианта - на драйвере FlexColor (штатный драйвер STemWin, поддерживающий SSD1963) и мой собственный. Оба прилагаю. В целом оба варианта запустились в общем-то с пол-оборота, но есть ряд непоняток: 1. На драйвере FlexColor некоторые строчки текста на экране выглядят как некий мусор. Я понимаю, что я мог где-то ошибиться, но тогда бы не работало ни-че-го, т.к. пользовательский драйвер для Flex-Color представляет собой 4 функции - запись команды/данных и запись/чтения блока. По сути это функции работы с FSMC. Плюс функция низкоуровневой инициализации SSD1963. 2. На моём драйвере все строчки рисуются нормально, но нету стрелочки курсора мыши, который есть на FlexColor. Подозреваю, что это из-за отсутствия функции вывода картинки на дисплей. В драйвере дисплея она у меня есть, но я не понял, куда её запихать в ST-шную прослойку. Да и тормозит заметно в сравнении с FlexColor. Если кто разбирался, подскажите пожалуйста. Если надо, я выложу полные проекты на кокосе. Блок CRC включён (просто знаю, что на этом многие ловятся, но это не мой случай). Ещё один вопрос про память для GUI. Я видел конструкцию
Внешней памяти у меня нет, в силу урезанности FSMC на 100-ногих процах. Или что, оно работает только на 429-Dyscovery, где стоит 8-метровый чип SDROM? Охренеть... Дал ей пока 64К, но рекомендаций по этим объёмам я не нашёл. Сколько ей надо? Спасибо. [23.93 Кб] [18.45 Кб]
1
|
||||||
| 21.12.2013, 23:06 | |
|
Ответы с готовыми решениями:
1103
Измерение уровней звука. Вопросы. Первый опыт. Сравнительно мистический баг в Coocox: stemwin и stm32f4 Вопросы по STM32F4 |
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||||||
| 29.12.2013, 13:54 | ||||||
|
Чё-то ни хрена с русскими буквами не получается. Кракозяблы рисует.
Уже и индивидуально на контрол в InitDialog вешал:
GUI_SetDefaultFont ( GUI_RUSSIAN_FONT ); Ни фига. Ладно, займусь пока остальным... Кстати и вот это: FROMEWIN_SetTextAlign ( fwHomdle, GUI_TA_HCENTER | GUI_TA_VCENTER ); тож не срабатывает. Заголовок окна слева остаётся.
0
|
||||||
|
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 300
|
|
| 29.12.2013, 19:17 | |
|
Попробовал фонт от M1X. Пишет русскими буквами. Есть в библиотеке SetupFontCvt_V522, с его помощью можно создать нужный шрифт, думаю проблем нет. А вот почему не перерисовывается изображение не нажатой кнопки не знаю. Может дребезг? Как бороться с дребезгом?
Создал свой шрифт из windows-кого Arial26. Без проблем рисует.
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 29.12.2013, 23:06 | |
|
omdries5, а как Вы подключаете этот шрифт к библиотеке? Может я не въехал..
Если можно, дайте кусочек кода. Вообще, с тачами возни много... Я плюнул, подключил мышу ... Все глюки разом пропали. Потом с тачем ещё повожусь.
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 300
|
||||||||||||||||
| 29.12.2013, 23:07 | ||||||||||||||||
|
hd44780, вкратце расскажу как.
Запуск установленного FontCVT V5.22. Далее выбираю "8 bit ASCII + ISO 8859", потом выбор конвертируемого шрифта, например "Times New Romon", "полужирный", "Размер = 26", "Кириллица". "Ок". В меню "Save as...". Создается файл фонта "Times New Romon26.c". В нем есть строка для копирования :
Не, а мне тач понравился. Правда все в Keil-е. [146.91 Кб]
0
|
||||||||||||||||
|
5 / 5 / 5
Регистрация: 20.11.2010
Сообщений: 173
|
|
| 30.12.2013, 00:31 | |
|
Можно extern пользовать непосредственно перед заданием шрифта. По примеру выше:
extern GUI_CONST_STORAGE GUI_FONT GUI_FontTimesNewRomon26; BUTTON_SetFont(hItem, &GUI_FontTimesNewRomon26);
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 31.12.2013, 16:40 | |
|
Всех с Новым годом!
На меня тут вдохновение пришло, сделал дерево и кнопочку с русским именем сделал. FROMEWIN русский сделать пока не пытался. Пишу в кокосе.
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 300
|
||
| 31.12.2013, 17:26 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
|
| 31.12.2013, 21:01 | |
|
С Новым Годом!
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 31.12.2013, 22:10 | |
|
__bt__, и Вас с Новым Годом!
omdries5, ну не любитель я праздновать по несколько дней ... PS. Вот сделал я это дерево. Теперь сижу и не понимаю, как тыкать в него тачем? Разве что палочкой какой-то...
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 300
|
|
| 01.01.2014, 01:39 | |
|
А что, очень маленькие кнопки?
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 01.01.2014, 13:38 | |
|
Да. Для нажимания пальцем мелкие. Спичкой тыкать сойдёт, если работу тача довести до ума, чтобы его не колбасило.
Для мышки - нормально. Увеличить вроде можно, задав дереву другой шрифт, покрупнее, типа того Вашего TimesNewRomon. Hо увеличатся ли при этом значки для разворачивания узлов дерева - не знаю, пока не проверял.
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 300
|
|
| 01.01.2014, 15:52 | |
|
Так ведь размер кнопок задаете Вы, а не шрифт надписи. У меня тач работает устойчиво, за исключением того, что остается иногда кнопка изображенной как нажатая. Думаю найду как решить.
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 01.01.2014, 21:37 | |
|
Размер кнопок - да.
А в дереве я пока не понял, как задавать размер узлов, и тех плюсиков, которыми узлы разворачиваются.
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 300
|
||||||
| 02.01.2014, 01:31 | ||||||
|
Есть такое:
Взято отсюда: http://www.segger.com/emwin-widgets.html#treeview
0
|
||||||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||||||
| 02.01.2014, 14:20 | ||||||
|
Это для SPINBOX...
Я тут с другой проблемой столкнулся. Хочу использовать TREEVIEW_SetUserData для хранения в узлах дерева путей на флэшке. Но на ней проц железно вылетает в DefaultHomdler. По стеку видно, что вылетает на функции memcpy в недрах STemWin.. Код:
0
|
||||||
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
||
| 02.01.2014, 15:32 | ||
Проверьте с маленьким деревом и с короткими путями.
0
|
||
|
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,503
|
|
| 02.01.2014, 18:52 | |
|
Получил досточку с экранчиком, и в примерах в либах есть STemWinLibrary522_4x9i
И софтинка для создания интерфейсов GUIBuilder. Но пока смотрю на них как баран на новые ворота.
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 300
|
|
| 03.01.2014, 01:33 | |
|
Мучился, но не смог запустить на STemWin 5.22 emWin dryver GUIDRV_CompactColor_16. Для SSD1289 экрана. Все собрал, компилируется без ошибок, но в работе уходит в ошибку в GUI_init после вызова
LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS); .Видимо ошибка распределения памяти, но как найти не знаю. Буду пытаться прицепить по SPI другой экран к STM32F103RB. А с SSD1289 видать не судьба.
0
|
|
|
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,503
|
|
| 03.01.2014, 10:30 | |
|
Вообще то скоростью отрисовки в демо примерах не впечатлен, прямо скажем.
Видео (mjpeg) так раза в два медленней идет, чем при воспроизведении на компе. Это из-за использования SPI вместо прямого доступа к памяти экранчика (забыл, как режим называется)? Или я слишком многого хочу? И по либе - она только в бинариках доступна? За исходники мани мани гони?
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 03.01.2014, 12:10 | |
|
OtyxPM, про память я в курсе :) Не первый раз я с деревьями и с контроллерами дело имею :)
В дереве у меня было 2 - 3 узла, и строчки я пытался присобачить вида "0:/" - т.к. у меня 3 накопителя (USB+2SD). Да и на строчках из одного знака "/" оно очень стабильно подыхает ... Что делать - не знаю, только писать проход по узлам вверх до корня диска. Да и то не знаю - получится ли. Не изучил ещё до конца возможности ихнего дерева. Маразм. Да и не в памяти дело, т.к. если TREEVIEW_SetUserData не использовать, оно глотает до фигища узлов и прекрасно себе работает... Памяти ей дал 64 кил. omdries5, я тоже родной драйвер для моего SSD1963 не смог запустить. Завёлся он с полпинка, работает, но на мелких шрифтах вместо букв какая-то каша. 3 дня промучился, достало оно меня, написал кастомный. Так и живу на нём. Понимаю, что уродство, но деваться, похоже, некуда. Pymkvym, исходников нет. Если хотите, берите Segger ucGUI, ворованных исходников вагон ...
0
|
|
| 03.01.2014, 12:10 | |
|
STM32F4-Discovery(подключение и глупые вопросы) STM32F4+ETH(Вопросы по PHY KSZ8863) [решено]stm32f4 ethernet phy вопросы Первый опыт Первый опыт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|