реклама на сайте
подробности

 
 
8 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> 32F769IDISCOVERY + MIPI DSI 720p (1280x720)?, Не получается подключить разрешение 720p
Sanya_kv
сообщение Sep 13 2017, 07:28
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Не у кого нет опыта реализации разрешения 720p (1280x720) на плате 32f769 Discovery через MIPI DSI. В описании упоминается что МК в состоянии вывести 720p через DSI, но по факту ни чего не выходит.
Для тестирования разрешений использую переходник DSI to HDMI от ST. Ситуация ещё омрачается тем что нет полного описания на чип adv7533 используемый в переходнике.
В Общем буду благодарен за любую помощь.
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 13 2017, 10:40
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Sanya_kv @ Sep 13 2017, 10:28) *
В описании упоминается что МК в состоянии вывести 720p через DSI, но по факту ни чего не выходит.


Ну, как говорят, на заборе много что написано...

Сколько бит на пиксель выводите, если 24, то посчитайте при таком разрешении, битности и частоте кадров, на сколь это все грузит довольно медленную память, и прослезитесь....
Go to the top of the page
 
+Quote Post
golf2109
сообщение Sep 20 2017, 01:30
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 15-04-10
Из: Kiev
Пользователь №: 56 654



Цитата(Sanya_kv @ Sep 13 2017, 09:28) *
Не у кого нет опыта реализации разрешения 720p (1280x720) на плате 32f769 Discovery через MIPI DSI. В описании упоминается что МК в состоянии вывести 720p через DSI, но по факту ни чего не выходит.
Для тестирования разрешений использую переходник DSI to HDMI от ST. Ситуация ещё омрачается тем что нет полного описания на чип adv7533 используемый в переходнике.
В Общем буду благодарен за любую помощь.

а с меньшим разрешением выходит?
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Sep 20 2017, 11:51
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



stm, даже седьмая - это 1024, что вы её мучаете
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Sep 22 2017, 13:01
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(golf2109 @ Sep 20 2017, 05:30) *
а с меньшим разрешением выходит?

Завелась на 1024х768 32 бит / 50Гц.
Переключить adv7533 на 16 бит пока не как не получается, не могу вычислить нужную конфигурацию регистров.
В планах подключить переходник на базе sn65dsi83 и выводить картинку через lvdc в разрешении 1200х800.
В AN4861 пишут при 16 бит и 30 Гц можно получить разрешение 1920 x1080.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Sep 22 2017, 13:30
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



О!
как перключить MIPI-DSI процессора в режим LVDS (FlatLink на sn65dsi83 ) ?

Сообщение отредактировал Genadi Zawidowski - Sep 22 2017, 13:30
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Sep 22 2017, 14:33
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Genadi Zawidowski @ Sep 22 2017, 17:30) *
О!
как перключить MIPI-DSI процессора в режим LVDS (FlatLink на sn65dsi83 ) ?

Пока ни чего не могу сказать, переходник в процессе изготовления.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Sep 22 2017, 18:12
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Перепутал... Вопрос вообще ко всем - можно ли процессор обучить формату, что принимает SN75LVDS82DGG - TI называет это FlatLink

Сообщение отредактировал Genadi Zawidowski - Sep 23 2017, 12:46
Go to the top of the page
 
+Quote Post
x893
сообщение Sep 23 2017, 12:33
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Немного не в тему, но вдруг кто-то сталкивался с IT6661FN
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 24 2017, 17:09
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Genadi Zawidowski @ Sep 22 2017, 21:12) *
Перепутал... Вопрос вообще ко всем - можно ли процессор обучить формату, что принимает SN75LVDS82DGG - TI называет это FlatLink


"Смешались в кучу кони, люди"... Вы как вообще себе это представляете?? Это все равно, что сказать, как HDMI выход контроллера напрямую подключить к LVDS матрице wacko.gif

DSI - Это совсем другой протокол, хоть и "ходит" по LVDS линиям.

Цитата(Sanya_kv @ Sep 22 2017, 16:01) *
Завелась на 1024х768 32 бит / 50Гц.


Поздравляю! А теперь попробуйте, в режиме работы дисплея "покидать" скажем, 3-5МБ с помощью DMA...
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Sep 24 2017, 22:35
Сообщение #11


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



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

Сообщение отредактировал Genadi Zawidowski - Sep 24 2017, 22:36
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 25 2017, 08:04
Сообщение #12


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Genadi Zawidowski @ Sep 25 2017, 01:35) *
что флатлинк это какое-то подмножество от dsi.


Это обычный LVDS для матриц и ничего более.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Sep 25 2017, 11:08
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(mantech @ Sep 24 2017, 21:09) *
Поздравляю! А теперь попробуйте, в режиме работы дисплея "покидать" скажем, 3-5МБ с помощью DMA...

При слое 16 бит (RGB565) с двойной буферизацией, вроде все красиво. Или я что-то делаю не так.
Судя по ответу у Вас есть опыт использования данного контроллера. Не хотите поделиться.


Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 25 2017, 12:10
Сообщение #14


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Sanya_kv @ Sep 25 2017, 14:08) *
При слое 16 бит (RGB565) с двойной буферизацией, вроде все красиво. Или я что-то делаю не так.
Судя по ответу у Вас есть опыт использования данного контроллера. Не хотите поделиться.


Опыт есть, но не этого конкретно, был двухядерник LPC, номер уже не помню, сдрам 32 бита, пытался "выжать" 32 бит ARGB8888 1024х768, и таки выжал, но "шаг вправо, шаг влево" любое другое занятие памяти (копирование картинок) приводило к срыву синхры на дисплее. После этого понял, что такие параметры только на МК с ДДР2(3) памятью.

ЗЫ. В вашем случае (16 бит), и в однослойном режиме может и "прокатит".

Сообщение отредактировал mantech - Sep 25 2017, 12:11
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Sep 25 2017, 14:29
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(mantech @ Sep 25 2017, 16:10) *
Опыт есть, но не этого конкретно, был двухядерник LPC, номер уже не помню, сдрам 32 бита, пытался "выжать" 32 бит ARGB8888 1024х768, и таки выжал, но "шаг вправо, шаг влево" любое другое занятие памяти (копирование картинок) приводило к срыву синхры на дисплее. После этого понял, что такие параметры только на МК с ДДР2(3) памятью.

ЗЫ. В вашем случае (16 бит), и в однослойном режиме может и "прокатит".

Делал картинку на lpc1788 16 бит sdram и 16бит на цвет при разрешении 800х480. На сколько я помню пришлось повозиться с приоритетами прежде чем заработало как хочется. Проект закрыл года 3-4 назад. Получилось даже очень хорошо. В итоге на этой платформе было реализовано несколько проектов.
У STM, DSI может работать в командном режиме для дисплеев со своим контроллером. В этом случае картинка копируется только при необходимости обновления. Нужно только подходящий дисплей с найти. Сейчас параллельно подыскиваю такой.
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 25 2017, 17:55
Сообщение #16


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Sanya_kv @ Sep 25 2017, 17:29) *
Сейчас параллельно подыскиваю такой.


Как найдете, киньте сюда посмотреть, я год назад искал, и ничего, кроме мелких экранциков для телефона не нашел.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Sep 25 2017, 20:43
Сообщение #17


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mantech @ Sep 24 2017, 17:09) *
Поздравляю! А теперь попробуйте, в режиме работы дисплея "покидать" скажем, 3-5МБ с помощью DMA...

поставить второй чип sdram, не ?
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Sep 26 2017, 06:43
Сообщение #18


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Огурцов @ Sep 26 2017, 00:43) *
поставить второй чип sdram, не ?

Шина то одна.

Цитата(mantech @ Sep 25 2017, 21:55) *
Как найдете, киньте сюда посмотреть, я год назад искал, и ничего, кроме мелких экранциков для телефона не нашел.

Как вариант innolux
В разрешении WXGA на 7", 8" и 10".
Либо что-нибудь от сюда или отсюда
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Sep 26 2017, 07:24
Сообщение #19


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Sanya_kv @ Sep 26 2017, 06:43) *
Шина то одна.

да ведь не совсем одна, может достаточно чтобы один банк готовить, второй читать/писать
иначе зачем st такое разрабатывал
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 26 2017, 07:53
Сообщение #20


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Sanya_kv @ Sep 26 2017, 09:43) *
Либо что-нибудь от сюда или отсюда

Спасибо, хороший "справочник".
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Sep 29 2017, 17:30
Сообщение #21


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Кому интересно, о результатах тестирования графики связки 32F769IDISCOVERY + B-LCDAD-HDMI1 + монитор по HDMI (до этого использовал переходник на с HDMI на DVI который подглючивал ).
Выполнял отрисовку различных элементов с использованием DMA2D на двух слоях + использование прозрачности слоёв , все в режиме RGB565. Дополнительно копировал MemToMem из внутренней во внешнюю 300 кб.
Получил следующие результаты:
В режиме 2-х слоёв максимальное разрешение 1024х768 на 42Гц работает нормально на 45Гц картинка начинает поддергиваться.
В режиме 1-го слоя максимальное разрешение 1280х800 на 45Гц работает нормально на 50Гц картинка начинает поддергиваться.
Дополнительно пришлось сделать схему тройного буфера, для исключения "кракозябр". Один выводится, второй на очереди, в третьем рисуется.
В принципе результатами я доволен. Для работы будет достаточно одного слоя +DMA2D, более чем.

Осталось дождаться платы конвертера MIPI DSI в LVDS и проверить все там.
Go to the top of the page
 
+Quote Post
golf2109
сообщение Sep 30 2017, 03:41
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 15-04-10
Из: Kiev
Пользователь №: 56 654



кстати RGB565 очень некачественно воспроизводит цвета по сравнению с ARGB888
я вот сейчас переделываю проект из за этого
заказчику очень не понравились цвета в RGB565
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 30 2017, 15:21
Сообщение #23


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(golf2109 @ Sep 30 2017, 06:41) *
кстати RGB565 очень некачественно воспроизводит цвета по сравнению с ARGB888


Дык, как бы очевидно, 16бит на пиксель против 32х. Только на стм 24бита цвет плюс альфа-канал прокатит макс. на 640х480...
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 1 2017, 05:53
Сообщение #24


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(golf2109 @ Sep 30 2017, 07:41) *
кстати RGB565 очень некачественно воспроизводит цвета по сравнению с ARGB888

Цвета воспроизводятся одинаково, только в случае RGB565 их меньше, 64к против 16м. Для вывода графики может это и критично. Для вывода пользовательского интерфейса, абсолютно нет. Можете потестить это на своем мониторе
Прикрепленное изображение

(Скриншот сделан в режиме 16бит. )
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 1 2017, 06:44
Сообщение #25


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Sanya_kv @ Oct 1 2017, 08:53) *
Для вывода графики может это и критично. Для вывода пользовательского интерфейса, абсолютно нет.


Именно для графики, GUI я и на 8 битах запущу - никто не заметит biggrin.gif
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 2 2017, 09:23
Сообщение #26


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(mantech @ Sep 30 2017, 19:21) *
Дык, как бы очевидно, 16бит на пиксель против 32х. Только на стм 24бита цвет плюс альфа-канал прокатит макс. на 640х480...

В исходниках к плате 32F769IDISCOVERY, есть пример использования платы в разрешении 800x480 в режиме ARGB8888 (24 бита с альфа каналом).
Уверен что плата также заработает в этом режиме с разрешением 1024х768.
Согласен с вами что для вывода качественной графики имеет смысл использовать что-нибудь посущественнее и с разрешением хотя бы Full HD. Хотя и с STM при использовании "командного режима" можно добиться этих характеристик. К сожалению найти дисплей с поддержкой этого режима мне пока не удалось.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 2 2017, 11:16
Сообщение #27


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Sanya_kv @ Oct 1 2017, 06:53) *
против 16м. Для вывода графики может это и критично

графику нужно преобразовывать до вывода - вы и не заметите разницы
даже если индексный 8 бит
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 2 2017, 11:29
Сообщение #28


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Огурцов @ Oct 2 2017, 15:16) *
даже если индексный 8 бит

Кстати, отличное решение, можно существенно сэкономить ресурсы.
СПАСИБО за подсказку!!!.
Обязательно опробую этот вариант.
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 2 2017, 19:51
Сообщение #29


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 2 2017, 14:16) *
графику нужно преобразовывать до вывода - вы и не заметите разницы
даже если индексный 8 бит


8 бит выдавать куда, в дисплейную память, или какое-то устройство преобразования? Конверсией 24 бита в 8 индексный какое устройство занимается, или программно, тогда какое время преобразования полноэкранной картинки?
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 2 2017, 22:23
Сообщение #30


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mantech @ Oct 2 2017, 20:51) *
8 бит выдавать куда, в дисплейную память, или какое-то устройство преобразования? Конверсией 24 бита в 8 индексный какое устройство занимается, или программно, тогда какое время преобразования полноэкранной картинки?

я имею в виду какой-нибудь православный графический редактор, на компьютере, с соответствующими фильтрами для преобразования, а не абы какой пайнтбраш
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 3 2017, 07:25
Сообщение #31


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 3 2017, 01:23) *
я имею в виду какой-нибудь православный графический редактор, на компьютере, с соответствующими фильтрами для преобразования, а не абы какой пайнтбраш


Так-то так, только вот клиенты нынче хотят много и за бесплатно, например, просто переписать картинку из инета на карточку устройства и чтоб "все работало"... Если я им порекомендую конвертить это в хитрых редакторах - у них взрыв мозга произойдет biggrin.gif
Go to the top of the page
 
+Quote Post
golf2109
сообщение Oct 3 2017, 07:49
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 15-04-10
Из: Kiev
Пользователь №: 56 654



Цитата(mantech @ Sep 30 2017, 17:21) *
Дык, как бы очевидно, 16бит на пиксель против 32х. Только на стм 24бита цвет плюс альфа-канал прокатит макс. на 640х480...

гы...у меня "катит" ARGB888 (32bit) при разрешении 800x480 - что я делаю не так ?
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 3 2017, 08:17
Сообщение #33


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(golf2109 @ Oct 3 2017, 10:49) *
гы...у меня "катит" ARGB888 (32bit) при разрешении 800x480 - что я делаю не так ?


Слоев сколько используется? И "катит" графика, а остальное? В смысле скорости распаковки картинок и копирования в памяти?
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 3 2017, 08:19
Сообщение #34


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mantech @ Oct 3 2017, 08:25) *
Так-то так, только вот клиенты нынче хотят много и за бесплатно, например, просто переписать картинку из инета на карточку устройства и чтоб "все работало"... Если я им порекомендую конвертить это в хитрых редакторах - у них взрыв мозга произойдет

встройте фильтры в мк, это несложно, хоть и бессмысленно - не понимаю, зачем юзеру менять графику, это что фоторамки какие ?
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 3 2017, 08:34
Сообщение #35


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 3 2017, 11:19) *
встройте фильтры в мк, это несложно, хоть и бессмысленно - не понимаю, зачем юзеру менять графику, это что фоторамки какие ?


Вендинговое оборудование, всяческие картинки, рекламки и т.д. biggrin.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 3 2017, 08:53
Сообщение #36


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mantech @ Oct 3 2017, 09:34) *
Вендинговое оборудование, всяческие картинки, рекламки и т.д. biggrin.gif

интернет магазин на stm ?
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 3 2017, 16:50
Сообщение #37


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 3 2017, 11:53) *
интернет магазин на stm ?


На МХ6 и не магазин, а автомат на подобии кофе-машины. На контроллере сделан весь функционал аппарата, кроме расширителя каналов силового управления.

По началу думал, что можно и на стм перекинуть, удешевить, так сказать, но потом понял что слабоват он для данной задачи...
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 4 2017, 07:12
Сообщение #38


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mantech @ Oct 3 2017, 17:50) *
На МХ6 и не магазин, а автомат на подобии кофе-машины. На контроллере сделан весь функционал аппарата, кроме расширителя каналов силового управления.

По началу думал, что можно и на стм перекинуть, удешевить, так сказать, но потом понял что слабоват он для данной задачи...

я бы разделил задачи, слишком разные - функции управления на stm, а гуй под линуксом, на любой, пусть даже полностью закрытой железке
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 4 2017, 07:35
Сообщение #39


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 4 2017, 10:12) *
я бы разделил задачи, слишком разные - функции управления на stm, а гуй под линуксом, на любой, пусть даже полностью закрытой железке


Сначала думал так же, но это влечет ряд проблем, во первых, это несколько различных программ, которые требуют обновления клиентом, а это, при учете, что клиенты могут только пополнять расходники и с техникой многие не знакомы вообще - очень проблематично. Во вторых, если в стм программа, как правило, не портится от времени, то линуксы на сд карте, уже проблема, т.к. если с карта выйдет из строя, клиенту придется все восстановить самостоятельно, а это не просто даже для меня.
Выбрал компромиссное решение - вся программа в одном месте, на сд карте в виде скриптов, которые крутятся на вирт. машине контроллера МХ6. Если что-то происходит с картой, клиент покупает новую, просто переписывает несколько файлов из архива на нее и вставляет в аппарат - все! Карта работает с фат32, т.ч. форматировать ничего не нужно, копировать можно на любом ПК.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 4 2017, 09:24
Сообщение #40


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



что там обновлять в линуксе ? зачем в нём какие-то программы ?
копировать флешку можно каким-нибудь акронисом
а stm должна обновляться сама, по команде юзера
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 4 2017, 15:27
Сообщение #41


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 4 2017, 12:24) *
что там обновлять в линуксе ? зачем в нём какие-то программы ?
копировать флешку можно каким-нибудь акронисом
а stm должна обновляться сама, по команде юзера


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

а stm должна обновляться сама, по команде юзера - это как? Юзер сначала должен залить куда-то новую прошивку, которая по команде блока управления должна будет обновиться в стм, так что-ли? Причем, если во время обновления что-то зависло или отключилось питание, потом все автоматом восстановилось... И зачем мне весь этот гемор, если все с одной карточки уже работает laughing.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 4 2017, 15:47
Сообщение #42


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mantech @ Oct 4 2017, 16:27) *
Юзер сначала должен залить куда-то новую прошивку

слушайте, ну зачем вы сочиняете, imx у вас обновляется, а stm с линуксом почему-то не обновляется
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 4 2017, 17:16
Сообщение #43


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 4 2017, 18:47) *
слушайте, ну зачем вы сочиняете, imx у вас обновляется, а stm с линуксом почему-то не обновляется


Обновляться может что угодно, вопрос - каким образом. Что для юзера проще, скопировать несколько файлов на компе с фат32 или обновить прошивку на планшете и еще на отдельном контроллере? Просто к тому, что прошивку на линуксовой плате обновить не проще, чем планшет.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 4 2017, 18:04
Сообщение #44


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



в смысле, вам на самом деле нужен какой-то мой совет или вы просто спорите ?
вообще, для юзера я бы сделал какую-то волшебную кнопку или ключ для загрузки через интернет, а юзерские данные, исключительно, положил на sd-карту
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 4 2017, 19:44
Сообщение #45


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 4 2017, 21:04) *
в смысле, вам на самом деле нужен какой-то мой совет или вы просто спорите ?
вообще, для юзера я бы сделал какую-то волшебную кнопку или ключ для загрузки через интернет, а юзерские данные, исключительно, положил на sd-карту

Зачем мне спорить, я уже выбрал вариант, который самый удобный для юзеров, что до этого разговора - просто проконстатировал, что для меня стм на данном этапе развития, слабоват и только.

ЗЫ. Инет для обновления стараюсь использовать в крайнем случае - далеко не у всех юзеров аппараты подключены к нему и обязывать их подключать не считаю нужным.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 4 2017, 19:59
Сообщение #46


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



просто топик про stm, а к stm гораздо проще добавить внешний контроллер lcd или контроллер с линуксом, нежели переползать на очередной недокамень
нет инета - тогда sd-карта
Go to the top of the page
 
+Quote Post
golf2109
сообщение Oct 5 2017, 04:28
Сообщение #47


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 15-04-10
Из: Kiev
Пользователь №: 56 654



Цитата(Огурцов @ Oct 4 2017, 21:59) *
просто топик про stm, а к stm гораздо проще добавить внешний контроллер lcd или контроллер с линуксом, нежели переползать на очередной недокамень
нет инета - тогда sd-карта

какой то оксюморон сами говорите, что тема о STM32, и сами же предлагаете другие контроллеры
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 5 2017, 05:57
Сообщение #48


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(golf2109 @ Oct 5 2017, 04:28) *
какой то оксюморон сами говорите, что тема о STM32, и сами же предлагаете другие контроллеры

не знаю, что у вас за юморон, но я предлагаю, как не уходить на другие мк, но расширить возможности stm
я например хочу 1080p, как это сделать на stm без дополнительного расширения ? и вообще, странно, что такого ещё никто не сделал
Go to the top of the page
 
+Quote Post
golf2109
сообщение Oct 6 2017, 00:24
Сообщение #49


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 15-04-10
Из: Kiev
Пользователь №: 56 654



Цитата(Огурцов @ Oct 5 2017, 07:57) *
не знаю, что у вас за юморон, но я предлагаю, как не уходить на другие мк, но расширить возможности stm
я например хочу 1080p, как это сделать на stm без дополнительного расширения ? и вообще, странно, что такого ещё никто не сделал

оксюморон - сочетание противоречащих друг другу понятий
подробнее в вики...
а насчет 1080 читаем первоисточники
http://www.st.com/content/ccc/resource/tec....DM00287603.pdf
стр. 39
а "не сделал" - значит нет потребности
и кроме того, попробуйте найти дисплей 1080 с RGB интерфейсом
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 6 2017, 07:01
Сообщение #50


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(golf2109 @ Oct 6 2017, 04:24) *
и кроме того, попробуйте найти дисплей 1080 с RGB интерфейсом

Там есть MIPI DSI интерфейс. К нему уже найти дисплей без особых проблем.

Ни кто не баловался с DMA2D. Не получается залить картинку цветом с прозрачностью в режиме RGB565. Пытаюсь сделать эффект затемнения за диалоговым окном на одном слое.
С двумя слоями работает без проблем при разрешении 1024x768.
Но мне нужно в разрешении 1280х800, а там тянет только 1 слой.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 6 2017, 07:50
Сообщение #51


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(golf2109 @ Oct 6 2017, 00:24) *
оксюморон - сочетание противоречащих друг другу понятий

вы не поняли один юморон, и я не удивлён, что вы не поняли и другой

Цитата(golf2109 @ Oct 6 2017, 00:24) *
а насчет 1080 читаем первоисточники

что именно в первоисточнике ? 30 кадров 8 бит ?

Цитата(golf2109 @ Oct 6 2017, 00:24) *
а "не сделал" - значит нет потребности

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

Цитата(golf2109 @ Oct 6 2017, 00:24) *
и кроме того, попробуйте найти дисплей 1080 с RGB интерфейсом

в том вам и вопрос, а зачем ?
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 6 2017, 08:16
Сообщение #52


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 5 2017, 08:57) *
я например хочу 1080p, как это сделать на stm без дополнительного расширения ? и вообще, странно, что такого ещё никто не сделал


В таблице ясно написано, что такое разрешение только на 1 слое и в 16битах, при 32х битной сдрам, что тут может быть непонятного, если достаточно таких параметров - должно работать...

Почему не делают, по себе скажу, что кроме собственно отрисовки картинки с таким разрешением, ее еще нужно как-то подготовить, а в случае анимированных - еще и обеспечить скорость распаковки-обновления, а с этим такие МК не справляются однозначно..
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 6 2017, 09:19
Сообщение #53


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mantech @ Oct 6 2017, 08:16) *
В таблице ясно написано, что такое разрешение только на 1 слое и в 16битах, при 32х битной сдрам, что тут может быть непонятного, если достаточно таких параметров - должно работать...

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

недостаточно, нужно 24 бита, или 32 - для удобства
вот пусть stm (да хоть avr) и занимается подготовкой и распаковкой
и что совсем прекрасно - в асинхронном режиме
а отрисовкой пусть занимается внешний, по отношению к stm, контроллер lcd - не понятно, что тут непонятно
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Oct 6 2017, 09:59
Сообщение #54


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Sanya_kv @ Oct 6 2017, 10:01) *
Ни кто не баловался с DMA2D. Не получается залить картинку цветом с прозрачностью в режиме RGB565. Пытаюсь сделать эффект затемнения за диалоговым окном на одном слое.

В чем именно проблема, напишите подробнее? У меня такой вариант работает без проблем. Да и почти вся графика работает через DMA2D.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 6 2017, 10:28
Сообщение #55


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Шаманъ @ Oct 6 2017, 13:59) *
В чем именно проблема, напишите подробнее? У меня такой вариант работает без проблем. Да и почти вся графика работает через DMA2D.

Скажите, в своём проекте Вы RGB565 режим используете?

Пытался делать заливку цветом в формате ARGB8888, как оказалось для режима RGB565 он выкидывает alpha канал в функции DMA2D_SetConfig.
Понял что не так делал.
Сейчас пытаюсь разобраться как это сделать правильно.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 6 2017, 12:05
Сообщение #56


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Шаманъ @ Oct 6 2017, 09:59) *
Да и почти вся графика работает через DMA2D

а dma2d может работать со статической памятью и с отключенным ltdc ?
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Oct 6 2017, 13:40
Сообщение #57


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Sanya_kv @ Oct 6 2017, 13:28) *
Скажите, в своём проекте Вы RGB565 режим используете?

Я разные режимы использую, но фреймбуфер в RGB565.

Цитата
Пытался делать заливку цветом в формате ARGB8888, как оказалось для режима RGB565 он выкидывает alpha канал в функции DMA2D_SetConfig.

Что такое SetConfig я не знаю - STMовскими либами не пользуюсь.

Чтобы сделать то, что Вы хотите Вам нужно сконфигурировать DMA2D для полной обработки (режим Memory-to-memory with blending, см. описание регистра DMA2D->CR). Далее в качестве переднего плана указать формат цвета А8, с заменой альфа канала на указанное Вами значение, установить регистр DMA2D->FGCOLR в требуемый цвет, в качестве заднего плана нужно использовать тот же кусок фреймбуфера куда будете рисовать.

Тогда у Вас будет прочитано исходное изображение произведен блендинг с указанным Вами цветом переднего плана и прозрачностью, и результат записан обратно. В Reference Manual DMA2D блок достаточно хорошо описан - там нет ничего сложного.

Надеюсь Вы поняли меня sm.gif


Цитата(Огурцов @ Oct 6 2017, 15:05) *
а dma2d может работать со статической памятью и с отключенным ltdc ?

Да, это независимый блок. Может и с внутренней и со статической, читать из флеша может и т.д.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 6 2017, 14:58
Сообщение #58


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Шаманъ @ Oct 6 2017, 17:40) *
Надеюсь Вы поняли меня sm.gif

Спасибо за развернутый ответ. Честно говоря уже и не рассчитывал. sm.gif
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 9 2017, 14:52
Сообщение #59


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Шаманъ @ Oct 6 2017, 17:40) *
Чтобы сделать то, что Вы хотите Вам нужно сконфигурировать DMA2D для полной обработки (режим Memory-to-memory with blending, см. описание регистра DMA2D->CR). Далее в качестве переднего плана указать формат цвета А8, с заменой альфа канала на указанное Вами значение, установить регистр DMA2D->FGCOLR в требуемый цвет, в качестве заднего плана нужно использовать тот же кусок фреймбуфера куда будете рисовать.

Тогда у Вас будет прочитано исходное изображение произведен блендинг с указанным Вами цветом переднего плана и прозрачностью, и результат записан обратно. В Reference Manual DMA2D блок достаточно хорошо описан - там нет ничего сложного.

Сделал как вы рекомендовали, все завилось с пол пинка. Попутно избавился от СТМовских библиотек в LTDC и DMA2D, лишнего там ... .
Ещё раз благодарю "Шаманъ" за помощь . Неизвестно сколько мне одному пришлось разбираться. По началу банально не был уверен в позитивном результате.
На будущие, может кому пригодится, примерный набросок рабочей функции заливки области цветом с прозрачностью.
CODE
//=============== Заполнить буфер цветом с коэффициентом прозрачности ========
void LCD_DRV_LL_FillBufferAlphaColor(uint32_t BufferAddr, uint32_t xSize, uint32_t ySize, uint32_t OffLine, uint32_t OutputColorMode, uint32_t ColorRGB888, uint8_t Alpha)
{
// Копирование с замешиванием
MODIFY_REG(DMA2D->CR, DMA2D_CR_MODE, DMA2D_M2M_BLEND);

//Конфигурация переднего плана
DMA2D->FGPFCCR = (DMA2D_FGPFCCR_CM & DMA2D_INPUT_A8)// Формат цвета
|(DMA2D_FGPFCCR_AM & (1 << DMA2D_FGPFCCR_AM_Pos))//Замена альфа канала
|(DMA2D_FGPFCCR_ALPHA & (Alpha << DMA2D_FGPFCCR_ALPHA_Pos));//Алфа канал

DMA2D->FGCOLR = ColorRGB888;
DMA2D->FGMAR = BufferAddr;
DMA2D->FGOR = OffLine;

//Конфигурация заднего плана
DMA2D->BGPFCCR = DMA2D_BGPFCCR_CM & OutputColorMode;// Формат цвета

DMA2D->BGMAR = BufferAddr;
DMA2D->BGOR = OffLine;


//Выходной буфер
// Формат цвета
DMA2D->OPFCCR = DMA2D_OPFCCR_CM & OutputColorMode;


DMA2D->OMAR = BufferAddr;//адрес буфера для заполнения
DMA2D->OOR = OffLine; // установка смещения (xSize + OffLine = LayerXSize)

// установка количества пикселей на линию и количество линий
DMA2D->NLR = (DMA2D_NLR_NL|DMA2D_NLR_PL) & (ySize| (xSize << DMA2D_NLR_PL_Pos));

//Запуск
DMA2D->CR |= DMA2D_CR_START;

if((DMA2D->CR & DMA2D_CR_START) != RESET)
{
uint32_t tickstart = HAL_GetTick();
__IO uint32_t DMA2D_ISR;
uint32_t ErrorCode;
//Ожидаем конца выполнения рисования
while(((DMA2D_ISR = DMA2D->ISR) & DMA2D_FLAG_TC) == RESET)
{
if ((DMA2D_ISR & (DMA2D_FLAG_CE|DMA2D_FLAG_TE)) != RESET)
{//Ошибка
if ((DMA2D_ISR & DMA2D_FLAG_CE) != RESET)
{
ErrorCode |= HAL_DMA2D_ERROR_CE;
}
if ((DMA2D_ISR & DMA2D_FLAG_TE) != RESET)
{
ErrorCode |= HAL_DMA2D_ERROR_TE;
}

DMA2D->IFCR = DMA2D_FLAG_TC | DMA2D_FLAG_CTC;
return;//произошла ошибка
}
if((HAL_GetTick() - tickstart ) > DMA2D_TIMEOUT)
{//Вышло время ожидания
DMA2D->CR |= DMA2D_CR_ABORT;//
DMA2D->IFCR = DMA2D_FLAG_TC | DMA2D_FLAG_CTC;
return;
}
}
}
DMA2D->IFCR = DMA2D_FLAG_TC|DMA2D_FLAG_CTC;
}
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 23 2017, 02:40
Сообщение #60


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



ещё вопрос: есть мысли как подключить к stm второй дисплей ? с разными картинками, конечно
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 23 2017, 13:37
Сообщение #61


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Огурцов @ Oct 23 2017, 06:40) *
ещё вопрос: есть мысли как подключить к stm второй дисплей ? с разными картинками, конечно

Можно. Только если у второго дисплея будет свой графический контроллер.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Oct 23 2017, 14:23
Сообщение #62


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Огурцов @ Oct 23 2017, 05:40) *
ещё вопрос: есть мысли как подключить к stm второй дисплей ? с разными картинками, конечно

Кроме варианта озвученного выше можно сильно извратиться и подключить пару одинаковых дисплеев (безконтроллерных) так, что каждая "четная" точка будет отображаться на первом, а каждая "нечетная" на втором, думаю все догадались как это сделать (да, потребуется немного внешней логики). Естественно возможны и вариации на тему (типа два дисплея с 12-ти битным цветом, тут хватит возможностей самого МК, внешняя логика не потребуется) и т.д. Только в чем смысл?
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 23 2017, 14:32
Сообщение #63


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Sanya_kv @ Oct 23 2017, 16:37) *
Можно. Только если у второго дисплея будет свой графический контроллер.


Если в таком ключе, то можно и 2 и 3 подключить biggrin.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 23 2017, 15:36
Сообщение #64


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Шаманъ @ Oct 23 2017, 15:23) *
каждая "четная" точка

а dma2d по отдельности чётные-нечётные получится рисовать ?

Цитата(Шаманъ @ Oct 23 2017, 15:23) *
12-ти битным цветом

вообще не вариант

Цитата(Шаманъ @ Oct 23 2017, 15:23) *
Только в чем смысл?

странный вопрос
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 23 2017, 17:37
Сообщение #65


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 23 2017, 18:36) *
а dma2d по отдельности чётные-нечётные получится рисовать ?


вообще не вариант


странный вопрос


Вопрос действительно странный, ибо для этих целей есть другие мк с соотв. возможностями.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 24 2017, 13:42
Сообщение #66


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Огурцов @ Oct 23 2017, 05:40) *
ещё вопрос: есть мысли как подключить к stm второй дисплей ? с разными картинками, конечно

Интерфейс SPI позволяет подключить не только второй, но и гораздо больше дисплеев без каких-либо проблем. И не только к STM.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Oct 25 2017, 12:28
Сообщение #67


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Огурцов @ Oct 23 2017, 18:36) *
а dma2d по отдельности чётные-нечётные получится рисовать ?

И да, и нет. В общем случае не позволяет, но некоторые вещи ускорить можно. Например, можно нарисовать горизонтальную линию, но не прямоугольник.

Можно рисовать в буфер за пределами экрана с помощью DMA2D, потом им же можно перенести все в основной буфер одной операцией с учетом "шагания через одну точку". В таком варианте будет полноценное использование DMA2D.

Цитата
странный вопрос

Ну я бы в случае если мне нужно было бы пару полноценных дисплеев поискал бы что-то другое (в первую очередь с бОльшей пропускной способностью подсистемы памяти), а если нужно маленький экранчик, так сказать в дополнение, так полно мелких дисплеев со своим контроллером.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 25 2017, 12:42
Сообщение #68


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Огурцов @ Oct 23 2017, 18:36) *
а dma2d по отдельности чётные-нечётные получится рисовать ?

Лучше добавить немного логики, и сделать side by side. Но два экрана на STM - это изврат.
По нынешним меркам ему вообще не нужен интерфейс к экрану, т.к. всякая мелочь цепляется через SPI/I2C, а для нормального экрана сам STM уже мелочь.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 25 2017, 12:51
Сообщение #69


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Шаманъ @ Oct 25 2017, 15:28) *
Можно рисовать в буфер за пределами экрана с помощью DMA2D, потом им же можно перенести все в основной буфер одной операцией с учетом "шагания через одну точку". В таком варианте будет полноценное использование DMA2D.

А в чём выигрыш от рисования в видеобуфере с помощью DMA2D? Чем оно лучше чисто процессорного рисования?
В моём текущем проекте на STM32F4 отрисовка в видеобуфер делается процессором. Имеет ли смысл как-то задействовать сюда DMA2D?
Видеобуфер у меня просто во внутренней памяти МК, без привязки к железу.

Наиболее частые операции у меня:
Рисование разных шрифтов с наложением OR поверх другого изображения (однотонного) с отсечением по границам экрана или по границам произвольной прямоугольной области.
И рисование закрашенных прямоугольников. Тоже с отсечением.
И разными цветами. 16 цветов.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Oct 25 2017, 16:13
Сообщение #70


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(jcxz @ Oct 25 2017, 15:51) *
А в чём выигрыш от рисования в видеобуфере с помощью DMA2D? Чем оно лучше чисто процессорного рисования?

На многих операциях через DMA2D быстрее, а даже если не быстрее рисование выполняется параллельно с работой ЦП. Т.е. нагрузка на ЦП уменьшается в любом случае (ну конечно если не выводить через DMA2D по одной точке sm.gif).

Цитата
В моём текущем проекте на STM32F4 отрисовка в видеобуфер делается процессором. Имеет ли смысл как-то задействовать сюда DMA2D?

Зависит от того, что рисуется и чем Вас не устраивает нынешний вариант. В общем случае с DMA2D должно получиться более быстрое рисование и разгрузка процессора - если это интересно, то используйте DMA2D.

Я почти все делаю через DMA2D.Рисование через DMA2D было всегда быстрее, за исключением одной очень специфической операции (которая в итоге была реализована напрямую) - с ней разницы по времени не было, но напрямую было проще.

Цитата
Наиболее частые операции у меня:
Рисование разных шрифтов с наложением OR поверх другого изображения (однотонного) с отсечением по границам экрана или по границам произвольной прямоугольной области.
И рисование закрашенных прямоугольников. Тоже с отсечением.
И разными цветами. 16 цветов.

Это все можно легко сделать через DMA2D. На маленьком дисплее, правда выигрыш будет наверное не очень большой.

Сообщение отредактировал Шаманъ - Oct 25 2017, 16:17
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 25 2017, 23:15
Сообщение #71


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(aaarrr @ Oct 25 2017, 13:42) *
Лучше добавить немного логики, и сделать side by side

если добавлять, то можно добавить много, просто не понятно, как сделать side by side на логике ?
вот если бы горизонтальное поле дисплей позволял увеличить в пару раз, тогда да
или то же самое по вертикали
но не позволяет


Цитата(Шаманъ @ Oct 25 2017, 13:28) *
можно нарисовать горизонтальную линию, но не прямоугольник

можете привести пример ? или какое поле нужно заполнить в структуре DMA2D_InitTypeDef чтобы нарисовать горизонтальную линию точками ?

Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 25 2017, 23:17
Сообщение #72


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Огурцов @ Oct 26 2017, 02:11) *
если добавлять, то можно добавить много, просто не понятно, как сделать side by side на логике ?

Маскировать CLK и DE на половину строки, если допуск по частоте CLK дисплея позволяет.
Если нет, тогда "много логики" - буфер на строку.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 25 2017, 23:31
Сообщение #73


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mantech @ Oct 23 2017, 18:37) *
есть другие мк с соотв. возможностями.

stm32 - хороший вариант микроконтроллера, одновременно с производительностью первых пентиумов, на которые никто вообще-то не жаловался вплоть до 1280x1024


Цитата(aaarrr @ Oct 26 2017, 00:17) *
Маскировать CLK и DE на половину строки, если допуск по частоте CLK дисплея позволяет.

вот первый попавшийся дисплей https://www.waveshare.com/w/upload/4/44/4.3...-UserManual.pdf
605 vs 480 или 399 vs 272 - ни в то, ни в то второй дисплей не входит

Цитата(aaarrr @ Oct 26 2017, 00:17) *
Если нет, тогда "много логики" - буфер на строку.

это как раз понятно

Сообщение отредактировал Огурцов - Oct 25 2017, 23:33
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 25 2017, 23:40
Сообщение #74


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Огурцов @ Oct 26 2017, 02:31) *
605 vs 480 или 399 vs 272 - ни в то, ни в то второй дисплей не входит


Цитата
Маскировать CLK и DE на половину строки



Цитата(Огурцов @ Oct 26 2017, 02:31) *
stm32 - хороший вариант микроконтроллера, одновременно с производительностью первых пентиумов, на которые никто вообще-то не жаловался вплоть до 1280x1024

В те блаженные времена никто особо не жаловался на отсутствие альфа-канала, скоростной анимации на весь экран и прочих современных must have плюшек.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 25 2017, 23:54
Сообщение #75


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата
Маскировать CLK и DE на половину строки

не, а такое прокатит ? в смысле прерывать подачу клока

Цитата(aaarrr @ Oct 26 2017, 00:40) *
В те блаженные времена никто особо не жаловался на отсутствие альфа-канала, скоростной анимации на весь экран и прочих современных must have плюшек.

и кто придумал этот must have ? если даже spi в качестве интерфейса не гнушаются предлагать

Сообщение отредактировал Огурцов - Oct 25 2017, 23:56
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 25 2017, 23:59
Сообщение #76


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Огурцов @ Oct 26 2017, 02:54) *
не, а такое прокатит ?

А что, кто-то запрещает?

Цитата(Огурцов @ Oct 26 2017, 02:54) *
и кто придумал этот must have ? если даже spi не гнушаются предлагать

Так требования рынка. 256 цветов могут долго существовать только в условиях плановой экономики.
SPI для всякой ерунды типа 128x64.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 26 2017, 00:26
Сообщение #77


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(aaarrr @ Oct 26 2017, 00:59) *
А что, кто-то запрещает?

привычка, для тв-сигнала не приемлемо

Цитата(aaarrr @ Oct 26 2017, 00:59) *
256 цветов

я не говорил про 256 цветов, а про 24 бита говорил
прозрачность как бы не сильно нужна, но она требуется для выравнивания размера пикселя на 4 байта


Сообщение отредактировал Огурцов - Oct 26 2017, 00:29
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 26 2017, 00:46
Сообщение #78


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Огурцов @ Oct 26 2017, 03:26) *
я не говорил про 256 цветов, а про 24 бита говорил

1280x1024 24bpp во времена первых пентиумов? Не было такого в массовом сегменте.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 26 2017, 01:14
Сообщение #79


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(aaarrr @ Oct 26 2017, 01:46) *
1280x1024 24bpp во времена первых пентиумов? Не было такого в массовом сегменте.

правильно, но вы смешиваете разные посты - 480x272 в 10 раз меньше, чем 1280x1024
и даже если взять 640x480, всё равно остаётся запас
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 26 2017, 01:32
Сообщение #80


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Вот 480x272, пожалуй, еще как-то можно окучивать STM. А выше забираться я бы не стал.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 26 2017, 05:51
Сообщение #81


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(aaarrr @ Oct 26 2017, 02:59) *
SPI для всякой ерунды типа 128x64.

Хм... у меня сейчас вполне себе нормально работает LCD по SPI на 320x240x16bpp. 3D-шутеры на нём показывать не надо.
Вся динамическая информация отображается вполне бодро: всякие счётчики (текстовые отображения меняющихся чисел) на экране бегут очень даже шустро.
Конечно, если бы в этом LCD (и МК) был quad-SPI (или LCD по интерфейсу поддерживал бы режимы с меньшей разрядностью цвета) - было бы вообще за глаза. На quad-SPI и в 2 раза больший экран нормально пойдёт.

Цитата(aaarrr @ Oct 26 2017, 04:32) *
Вот 480x272, пожалуй, еще как-то можно окучивать STM. А выше забираться я бы не стал.

По какому интерфейсу? Параллельному? По параллельному STM32 должен много больше нормально обслуживать. Ну если руки конечно прямые rolleyes.gif
У меня сейчас работает проектик:
По SPI идёт 320x240x16bpp на SCLK=40МГц, параллельно этот же CPU декодирует MP3 на 320кб/c, парсит поток с ESP8266 (WiFi) и ещё много чего успевает. На экране в это время бегут несколько быстро меняющихся счётчиков, процедура отрисовки пока построена неоптимально - при каждом изменении видеобуфер стирается полностью, потом строится новый кадр заново (затем отправляется на LCD) - поэтому при любой модификации на экране контроллеру LCD отправляются все пикселы 320x240. При всём при этом загрузка процессора составляет ~55%. И частота МК не максимальная == 160МГц. И измерено это на исходнике скомпилённом с Low оптимизацией (IAR) выполняющемся из RAM/SDRAM.

Если-б этот МК (и контроллер ILI9341) имели dual- или quad-SPI была-бы вообще красота. cool.gif
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Oct 26 2017, 06:51
Сообщение #82


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(aaarrr @ Oct 26 2017, 02:40) *
В те блаженные времена никто особо не жаловался на отсутствие альфа-канала, скоростной анимации на весь экран и прочих современных must have плюшек.

Цитата(aaarrr @ Oct 26 2017, 04:32) *
Вот 480x272, пожалуй, еще как-то можно окучивать STM. А выше забираться я бы не стал.

У меня на экране 800х480х16бит крутится можно сказать анимация почти на весь экран с несколькими слоями прозрачности. Перерисовка всего кадра занимает от 10 до 30мс при одновременном выводе с частотой кадров около 29к/с. Загрузка процессора при этом от 5 до 14% (процессор параллельно занят разными своими делами - вычислениями БПФ, фильтрацией сигнала, обслуживанием подключенных к нему устройств, USB, запись/чтение с SD карты и т.д). Наверное я что-то делаю не так, но меня полностью устраивает в этом плане stm32 laughing.gif

Как по мне, то 800х480х16бит без проблем вообще, 1024х600х16бит наверное рубеж, для большего нужно как минимум перейти на 32битную SDRAM либо на другую платформу.

Цитата(Огурцов @ Oct 26 2017, 02:15) *
можете привести пример ?

Все просто - в регистр смещения до следующей линии (OOR/BGOR) записываете смещение до следующей точки/штриха от окончания нарисованного элемента, размер по горизонтали устанавливаете равным длине штриха (или в 1 если точки рисуете), кол-во линий (размер по вертикали) равным кол-ву точек/штрихов в линии, вот собственно и все.
Например, линия 3 точки рисуем, потом 5 точек пропускаем, общая длина 80 точек:
Код
   int m = 3; //Кол-во точек которые рисуем
   int s = 5; //Кол-во точек которые пропускаем
   int l = 80; //Длина линии
  
   DMA2D->OOR = s;
   DMA2D->NLR = DMA2D_NLR_PL_0 * m + DMA2D_NLR_NL_0 * (l/(m+s));

Остальное инициализируете, как обычно при рисовании, например, прямоугольника. Если нужна прозрачность, то регистр BGOR инициализируете так же, как OOR.
Код
   DMA2D->BGOR = s;


Цитата
или какое поле нужно заполнить в структуре DMA2D_InitTypeDef чтобы нарисовать горизонтальную линию точками ?

HALом не пользуюсь, поэтому что там в структурах надо инициализировать не подскажу.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 26 2017, 09:16
Сообщение #83


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Шаманъ @ Oct 26 2017, 06:51) *
DMA2D->OOR = s;
DMA2D->NLR = DMA2D_NLR_PL_0 * m + DMA2D_NLR_NL_0 * (l/(m+s));

ок, надо перевести на нормальный язык
а почему так нельзя рисовать прямоугольники ? вроде самое оно, если ширина регистра позволяет

Цитата(Шаманъ @ Oct 26 2017, 06:51) *
HALом не пользуюсь

я тоже

олл, почему дисплей подёргивается, когда dma2d работает ? т.е. картинка как бы сдвигается в сторону
это синхра слетает или что, или это нормально, куда копать ?


Цитата(aaarrr @ Oct 26 2017, 01:32) *
Вот 480x272, пожалуй, еще как-то можно окучивать STM. А выше забираться я бы не стал.

800x600 считается нормально, т.е. 2x640x480 обязано работать
а больше вроде бы как и не надо
т.е. надо, но уже как-то иначе и это будет уже совсем другая история

Сообщение отредактировал Огурцов - Oct 26 2017, 09:21
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 26 2017, 09:19
Сообщение #84


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Oct 26 2017, 08:51) *
По SPI идёт 320x240x16bpp на SCLK=40МГц...

320 * 240 * 16 / 40M = 30.72 мс = 32.55 к/с

Цитата(Шаманъ @ Oct 26 2017, 09:51) *
Перерисовка всего кадра занимает от 10 до 30мс при одновременном выводе с частотой кадров около 29 к/с.


Ну вот, а у нормального UI перерисовка не должна занимать больше 16 мс (т.е. обеспечивать 60 к/с), иначе плавной анимации не будет по определению.
Да, TFT-экран, конечно, надо обслуживать с частотой 60, а не 30. Даташит позволяет, но пользователей тоже надо уважать.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 26 2017, 10:21
Сообщение #85


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Шаманъ @ Oct 25 2017, 16:28) *
Например, можно нарисовать горизонтальную линию, но не прямоугольник.

Прямоугольник рисовать можно, Пример:

Цитата(Sanya_kv @ Oct 9 2017, 18:52) *
CODE

void LCD_DRV_DrawFillRectAlpha(uint32_t LayerAddr, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint32_t ColorRGB888, uint8_t Alpha)
{
if (y0 > y1)
{
uint16_t bak;
bak = y1;
y1 = y0;
y0 = bak;
}
if (x0 > x1)
{
uint16_t bak;
bak = x1;
x1 = x0;
x0 = bak;
}
uint16_t Width = x1 - x0;
uint16_t Height = y1 - y0;
#if (LCD_PIXEL_BYTES == 2)
uint32_t Xaddress = LayerAddr + 2*(LCD_DRV_GetXSize()*y0 + x0);
#else
uint32_t Xaddress = LayerAddr + 4*(LCD_DRV_GetXSize()*y0 + x0);
#endif

LCD_DRV_LL_DMA2D_FillBufferAlphaColor(Xaddress, Width, Height, (LCD_DRV_GetXSize() - Width), DMA2D_OUTPUT_RGB565, ColorRGB888, Alpha, true);
}
//=============== Заполнить область цветом с коэффициентом прозрачности ========
void LCD_DRV_LL_DMA2D_FillBufferAlphaColor(uint32_t BufferAddr, uint32_t xSize, uint32_t ySize, uint32_t OffLine, uint32_t OutputColorMode, uint32_t ColorRGB888, uint8_t Alpha, uint8_t wait)
{
LCD_DRV_DMA2D_WaitEND();//Дождаться конца выполнения предыдущего вывода
// Замешивание
MODIFY_REG(DMA2D->CR, DMA2D_CR_MODE, DMA2D_M2M_BLEND);

//Конфигурация переднего плана
DMA2D->FGPFCCR = (DMA2D_FGPFCCR_CM & DMA2D_INPUT_A8)// Формат цвета
|(DMA2D_FGPFCCR_AM & (1 << DMA2D_FGPFCCR_AM_Pos))//Замена альфа канала
|(DMA2D_FGPFCCR_ALPHA & (Alpha << DMA2D_FGPFCCR_ALPHA_Pos));//Алфа канал

DMA2D->FGCOLR = ColorRGB888;
DMA2D->FGMAR = BufferAddr;
DMA2D->FGOR = OffLine;

//Конфигурация заднего плана
DMA2D->BGPFCCR = DMA2D_BGPFCCR_CM & OutputColorMode;// Формат цвета

DMA2D->BGMAR = BufferAddr;
DMA2D->BGOR = OffLine;


//Выходной буфер
// Формат цвета
DMA2D->OPFCCR = DMA2D_OPFCCR_CM & OutputColorMode;

DMA2D->OMAR = BufferAddr;//адрес буфера для заполнения
DMA2D->OOR = OffLine; // установка смещения (xSize + OffLine = LayerXSize)

// установка количества пикселей на линию и количество линий
DMA2D->NLR = (DMA2D_NLR_NL|DMA2D_NLR_PL) & (ySize| (xSize << DMA2D_NLR_PL_Pos));

//Запуск
DMA2D->CR |= DMA2D_CR_START;

if(wait)LCD_DRV_DMA2D_WaitEND();
}



Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 26 2017, 10:27
Сообщение #86


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(aaarrr @ Oct 26 2017, 12:19) *
Ну вот, а у нормального UI перерисовка не должна занимать больше 16 мс (т.е. обеспечивать 60 к/с), иначе плавной анимации не будет по определению.
Да, TFT-экран, конечно, надо обслуживать с частотой 60, а не 30. Даташит позволяет, но пользователей тоже надо уважать.

У меня в UI есть бегущие строки - на глаз бегут вполне плавно. Так что FPS==30Гц - вполне ок. Тащить 8+ проводов только на LCD - сильно накладно.
В планах есть модификация всего алгоритма отрисовки UI (чтобы при изменении одного элемента только он перерисовывался, а не весь экран).
Это позволит пересылать на LCD не весь экран, а только минимальный прямоугольник, охватывающий изменения (ILI9341 позволяет и моя граф.либа позволяет) и поднять средний FPS.
Но потребуется сильно усложнить весь алгоритм отрисовки UI. Не уверен, что это усложнение реально нужно.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 26 2017, 10:31
Сообщение #87


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Огурцов @ Oct 26 2017, 13:16) *
олл, почему дисплей подёргивается, когда dma2d работает ? т.е. картинка как бы сдвигается в сторону
это синхра слетает или что, или это нормально, куда копать ?

Причин может быть 2:
Либо у Вас высокая частота вывода, медленная память, 16 бит память. Или Вы выводите картинку и рисуете её в одном буфере.

На 32 битной памяти (в 32F769IDISCOVERY) без проблем выводится разрешение 1280х800 RGB565 1 слой 42 гц. С помощью DMA2d вывожу анимацию частотой 42 гц.
После того как разобрался с DMA2d, во втором слое не вижу необходимости.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 26 2017, 10:54
Сообщение #88


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Oct 26 2017, 13:27) *
У меня в UI есть бегущие строки - на глаз бегут вполне плавно. Так что FPS==30Гц - вполне ок.

Так-таки и ок?

ИМХО, когда дело касается UI, нельзя идти на компромиссы. Производительности должно не просто хватать, она должна в разы перекрывать потребности. Тогда можно работать.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 26 2017, 11:19
Сообщение #89


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Sanya_kv @ Oct 26 2017, 11:31) *
Или Вы выводите картинку и рисуете её в одном буфере.

да, в одном, а какая разница, где я её рисую ? если бы она просто мерцала на месте перерисовки, я бы даже не спрашивал, но она куда-то улетает - каков механизм этого ?


Цитата(aaarrr @ Oct 26 2017, 11:54) *
ИМХО, когда дело касается UI, нельзя идти на компромиссы

вся электроника - это сплошные компромиссы

Сообщение отредактировал Огурцов - Oct 26 2017, 11:20
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 26 2017, 11:21
Сообщение #90


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Огурцов @ Oct 26 2017, 15:19) *
да, в одном, а какая разница, где я её рисую ? если бы она просто мерцала, я бы даже не спрашивал, но она куда-то улетает - каков механизм этого ?

Попробуйте понизить частоту вывода.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 26 2017, 12:22
Сообщение #91


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(aaarrr @ Oct 26 2017, 13:54) *

У меня скорость бегущих строк намного ниже чем по этой ссылке. Если с такой большой скоростью строка будет бежать, она будет нечитабельна на любой FPS.
На бегущих счётчиках тоже не видно никаких артефактов, дёрганий и т.п.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 26 2017, 12:30
Сообщение #92


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Oct 26 2017, 15:22) *
У меня скорость бегущих строк намного ниже чем по этой ссылке.

Речь не о скорости, а о плавности.

Цитата(jcxz @ Oct 26 2017, 15:22) *
На бегущих счётчиках тоже не видно никаких артефактов, дёрганий и т.п.

Не видно ровно до тех пор, пока рядом не окажется счетчика с 60 FPS.
30 - это практически нижняя граница комфортного восприятия движения.
Go to the top of the page
 
+Quote Post
Obam
сообщение Oct 26 2017, 13:46
Сообщение #93


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(aaarrr @ Oct 26 2017, 16:30) *
Речь не о скорости, а о плавности.


Не видно ровно до тех пор, пока рядом не окажется счетчика с 60 FPS.
30 - это практически нижняя граница комфортного восприятия движения.

Кино - 24 fps и ничего, никно не жужжит… или это не те fps?


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 26 2017, 13:51
Сообщение #94


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Obam @ Oct 26 2017, 16:46) *
Кино - 24 fps и ничего, никно не жужжит… или это не те fps?

Так ведь не от хорошей жизни 24 FPS выбрали, просто плёнка дюже дорога была.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 26 2017, 14:16
Сообщение #95


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Obam @ Oct 26 2017, 17:46) *
Кино - 24 fps и ничего, никно не жужжит… или это не те fps?

В кино каждый кадр в отдельности смазан. Тема эта достаточно обширна, описана боле менее здесь https://habrahabr.ru/post/338796/ (раскрывается в комментариях).
На хабаре так же есть статья, как сделать нормальную анимацию с низким FPS. Найти сейчас не смог. Читал пару лет назад.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Oct 26 2017, 15:31
Сообщение #96


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Огурцов @ Oct 26 2017, 12:16) *
а почему так нельзя рисовать прямоугольники ? вроде самое оно, если ширина регистра позволяет

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

Цитата
олл, почему дисплей подёргивается, когда dma2d работает ? т.е. картинка как бы сдвигается в сторону

Не хватает производительности подсистемы памяти.

Цитата(aaarrr @ Oct 26 2017, 12:19) *
Ну вот, а у нормального UI перерисовка не должна занимать больше 16 мс (т.е. обеспечивать 60 к/с), иначе плавной анимации не будет по определению.
Да, TFT-экран, конечно, надо обслуживать с частотой 60, а не 30. Даташит позволяет, но пользователей тоже надо уважать.

У меня все плавно. Я как-то по этому поводу проводил эксперименты - если делать с умом, то начиная от 22..24fps все можно сделать, чтобы выглядело плавно.

Посмотрите с каким fps Вы смотрите фильмы, и ничего не дергается...

В любом случае есть хороший запас - у меня память 16бит, ожно перейти на 32бита, но под мою задачу смысла нет.

Цитата(Sanya_kv @ Oct 26 2017, 13:21) *
Прямоугольник рисовать можно, Пример:

Это будет обычный прямоугольник, а вопрос был про через одну точку, так не выйдет.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 26 2017, 15:54
Сообщение #97


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Шаманъ @ Oct 26 2017, 18:31) *
...если делать с умом, то начиная от 22..24fps все можно сделать, чтобы выглядело плавно.

Вот с этого момента можно подробнее, какие техники применяются для обеспечения плавности?
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 26 2017, 23:50
Сообщение #98


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Шаманъ @ Oct 26 2017, 15:31) *
Обычный прямоугольник можно, но вопрос был про "рисование через одну точку" - так уже прямоугольник не выйдет.

всё правильно
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 27 2017, 02:20
Сообщение #99


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Sanya_kv @ Oct 26 2017, 11:31) *
Либо у Вас высокая частота вывода

в общем да, была пропущена установка прескалера RCC_PLLSAIDivR_Div8
что даёт где-то восьмикратный запас по разрешению

зы: кстати, в 32 битном (vs 24) режиме даже без прескалера не дёргается


Сообщение отредактировал Огурцов - Oct 27 2017, 03:01
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 28 2017, 07:46
Сообщение #100


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Огурцов @ Oct 23 2017, 06:40) *
ещё вопрос: есть мысли как подключить к stm второй дисплей ? с разными картинками, конечно

Побаловался с MIPI DSI в командном режиме. Идея его в том, что на индикаторе используется графический контроллер со своей GRAM памятью (например OTM8009A), передача данных происходит при необходимости изменения картинки. Соответственно к DSI шине вполне возможно подключить несколько индикаторов.

"Шаманъ" Случайно не проверяли, что быстрее копирует DMA2D или просто DMA. Имеется в виду режим MemToMem
Go to the top of the page
 
+Quote Post

8 страниц V   1 2 3 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 00:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.02709 секунд с 7
ELECTRONIX ©2004-2016