|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||||||
STemWin на STM32F4. Первый опыт. Вопросы.21.12.2013, 23:06. Показов 835273. Ответов 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 |
|
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 26
|
||
| 20.11.2016, 01:13 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 16.09.2016
Сообщений: 33
|
||
| 25.11.2016, 23:54 | ||
Чтение у тебя работает или черные следы от мышки? Выложи, пожалуйста, а то чтение так и не работает, хотя так то я его читаю, а вот к библиотеке не прикручивается.
0
|
||
|
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 26
|
|
| 27.11.2016, 01:01 | |
|
Чтение работает проверял на Alpha blending. Вариант промежуточный, адаптирован под отладку на stm32f4.
[6.53 Кб]
0
|
|
|
0 / 0 / 0
Регистрация: 16.09.2016
Сообщений: 33
|
||
| 29.11.2016, 00:07 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 26
|
||||||
| 11.12.2016, 14:25 | ||||||
|
Форумчане, прошу помочь с WM StemWin. Решил разобраться с особенностями работы WM. Создал окно и callback функцию заполняющую экран заданным цветом (как в примере даташита), 1 виджет (CHECKBOX) и для рисования/перерисовывания использовал GUI_Exec() или WM_Exec() - всё работало. Но вот в чём разнича между этими функциями, с описания даташита не могу понять?
И второй вопрос по поводу функции WM_Paint(). Для примера привожу часть кода:
0
|
||||||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||
| 11.12.2016, 16:40 | ||
Других способов не знаю.
0
|
||
|
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 26
|
||
| 11.12.2016, 18:41 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 72
|
||||||
| 19.12.2016, 21:11 | ||||||
|
Народ, помогите разобраться с чтением из дисплея.
Дисплей ITDB02-5.0 на SSD1963. Использую FlexColor без DMA. Вот мой код для функции чтения из дисплея
0
|
||||||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 19.12.2016, 22:10 | |
|
Да тыщу раз писали, что бракованный он, этот flexColor. Чтение дисплея в нём не фурычит. И никакое ДМА ему не поможет. тут люди уже пытались его оживить. И я в том числе.
Там есть только один способ его использовать, да и тот я совершенно случайно обнаружил - дайте emWin-у большой буфер, типа 3 метра, тогда он это чтение вообще не использует. Если Вы не можете дать ему 3 метра - выкиньте FlexColor нафиг на помойку и используйте кастомный драйвер. Рабочий пример прилагаю. Чтение через ДМА я не делал, оно там не нужно, кастомный драйвер только попиксельно читает. Могу дать свой драйвер SSD1963, там заливки через ДМА, заметно ощутимо. Но у меня SPL, а не HAL. [29.21 Кб]
0
|
|
|
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 72
|
|
| 19.12.2016, 22:24 | |
|
Да, Ваше решение я уже смотрел, монументальная работа, я еще на такой подвиг не способен, во многом еще предстоит разобраться.
К тому же Вы SPL используете, а я начал с HAL и часть Вашего кода придется портировать, при этом нужно разобраться как с HAL так и с SPL. За файлик отдельное спасибо, но я надеялся на решение "попроще", тогда попробуем пока что без чтения прожить. А к переписыванию драйвера буду браться чуть позже, когда немного разгребу более приземленные задачи. Спасибо.
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 20.12.2016, 12:30 | |
|
На SPL там только драйвер FSMC/SSD1963 и PS2 мыши. Можете их своими заменить и, по идее, должно взлететь.
PS2 крысу можно пока вообще выкинуть.
0
|
|
|
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
|
|
| 20.12.2016, 13:35 | |
|
Прикладываю свой драйвер. Реализовано DMA, много всяких плюшек, полная настройка под конкретную матрицу по ДШ (сейчас есть две настройки под 800х480 и 480х272, смена одного экрана на другой меняется выбирается дефайном), аппаратные повороты и отзеркаликания,удобные дефайны для настройки ног с произвольным подключением RS и NE пинов, автоматический выбор банка памяти , максимальная скорость работы, какую только можно выжать с рабочим чтением и сидящей SDROM на этой же шине. В общем подключай и работай. Написано на простом SPL, код читаем, с комментариями. Проверялась работа с SDROM, STemWin также корректно работает. Можно спокойно переводить на HAL. https://www.dropbox.com/s/cm1ylzxs12hka ... 3.rar?dl=0
0
|
|
|
tymkvo
|
|
| 20.12.2016, 15:22 | |
|
Уважаемые форумчане.
У меня такой вопрос по использованию StemWin на STM32F4: Можно ли как-то сделать, чтобы GUI можно было менять и загружать отдельно в контроллер, не перекомпилируя сам проект? Т.е. чтобы пользователь мог легко поменять дизайн кнопочек и пр в GUIbuylder, а потом просто загрузить все это на SD карту, например. А контроллер потом при перезапуске просто должен считать этот проект оттуда. Если это невозможно с STemWin, есть такие библиотеки для STM32, где это возможно? Т.е. чтобы GUI можно было обновлять отдельно от прошивки. Спасибо. |
|
|
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 72
|
||
| 20.12.2016, 21:40 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 16.09.2016
Сообщений: 33
|
||
| 21.12.2016, 00:02 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 72
|
|
| 21.12.2016, 19:25 | |
|
Ну теоретически, можно написать какой то мини интерпритатор который будет брать описание интерфейсов, например из файла на карте памяти и по нему отрисовывать стандартные элементы из библиотеки. С обработчиками также, но только доступ к определенным переменным можно организовать. В общем принцип как в панелях оператора для промышленности.
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 21.12.2016, 19:47 | |
|
Теоретически можно (STemWin поддерживает создание окон и контролов на лету), но на практически не знаю, не делал.
А насчёт обработчиков и диалоговой функции окна - тут уже надо сильно думать, что требуется от такого динамического окна - доступ к функциям, которые уже есть во флеше или что-то совсем новое... 1-й вариант конечно же проще.
0
|
|
|
OtixFyri
|
||||||
| 23.12.2016, 21:51 | ||||||
|
Приветствую форумчан. Предварительно перелапатив всю тему и найдя ответа, обращаюсь за помощью: Делаю проект на SSD1963 7дюймов + 407VG. Работаю в Кейле. Библиотека HAL. Тачскрин и чтение с помощью драйвера flexcolor благодаря этой теме победил!. Не могу разобраться с цветовым оформлением виджетов.
В коллбеке прописываю код
|
||||||
|
0 / 0 / 0
Регистрация: 24.07.2012
Сообщений: 49
|
|
| 24.12.2016, 01:54 | |
|
версия 5.28 и выше использует скины для виджеов, поэтому стандартные ф-ции изменения цвета не работают. Решения 2:
1) Выключить скины для всех виджетов или выключить скин для конкретного виджета. (вариант попроще) 2) Оставить скины и задать обработчик ф-цией <WIDGET>_SetSkin и обрабатывать в нём события (вариант посложнее, задействуется больше ресурсов/времени на перерисовку, но красивее) Может есть ещё варианты, пока не видел.
0
|
|
|
OtixFyri
|
|||||||
| 24.12.2016, 13:55 | |||||||
Добавил в мейне
|
|||||||
| 24.12.2016, 13:55 | |
|
STM32F4-Discovery(подключение и глупые вопросы) STM32F4+ETH(Вопросы по PHY KSZ8863) [решено]stm32f4 ethernet phy вопросы Первый опыт Первый опыт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
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.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|