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

 
 
8 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> 32F769IDISCOVERY + MIPI DSI 720p (1280x720)?, Не получается подключить разрешение 720p
Огурцов
сообщение 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

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 02:31
Рейтинг@Mail.ru


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