Easyelectronics.ru

Электроника для всех
Текущее время: 25 фев 2018, 02:38

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 18:41 
Заглядывает иногда

Зарегистрирован: 15 янв 2018, 18:52
Сообщения: 159
Eddy_Em писал(а):
Угу, будут абдуринщики орать, что им 128кБ для мигания светодиодом не хватает, надо брать камень с мегабайтом флеша!
=D


"На душе спокойнее, когда в запасе есть лишняя сотня ног и сотня мегегерц." (с) Leonidd


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 18:54 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2223
Откуда: КЧР, поселок Нижний Архыз
Вот не пойму, неужто абдуринщикам лень 150-страничный RM на STM8 почитать и перейти на более приличные МК, нежели дурацкие аврки?
Там же вообще элементарно все делается, регистров немного... На L-серии можно девайсы с батарейным питанием делать, да и стоят они недорого (я недавно прикупил 5 STM8L051 за 3.3 бакса).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 19:02 
Заглядывает иногда

Зарегистрирован: 15 янв 2018, 18:52
Сообщения: 159
Eddy_Em писал(а):
Вот не пойму, неужто абдуринщикам лень 150-страничный RM на STM8 почитать и перейти на более приличные МК, нежели дурацкие аврки?
Там же вообще элементарно все делается, регистров немного... На L-серии можно девайсы с батарейным питанием делать, да и стоят они недорого (я недавно прикупил 5 STM8L051 за 3.3 бакса).

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 20:06 
Старожил
Аватара пользователя

Зарегистрирован: 19 фев 2015, 17:37
Сообщения: 1130
Откуда: void
BusMaster писал(а):
графику в основном рисуем с помощью DMA2D-ускорителя. Причем, это не только банальные заливки, но и в том числе bmp-декодер. Рисуется намного быстрее, чем программно. Кстати, если обращали внимание, то плата поставляется с демо-прошивкой, в которой есть небольшая демо-игрушка, и в ней есть кнопочка - Soft/ChomeArt процессинг (или как-то так называется), наглядно показывающая скорость отрисовки графики в режиме чисто софтовом и в режиме хром-арт ускорителя.

Про DMA2D я читал в даташите, но пока не запустил, не хватает какого-нибудь годного helloworld'a на эту тему. Демку видел, кнопочку тыкал, впечатляет.
BusMaster писал(а):
Например, та же самая кнопка. Можно ее рисовать программно, "по пикселям". А как делаю например я.
Вот к примеру есть у меня красивая кнопочка, с градиентной заливкой, рамочкой, бликами, находящаяся в монохромном bmp с градациями серого - универсальная кнопочка для случая кнопочек разных цветов. Мне нужно из этих кнопочек сделать числовую клавиатуру с циферками. Что я делаю: беру видеоускоритель DMA2D, настраиваю нижний его слой на эту кнопочку, настраиваю там же закраску кнопочки цветами из таблицы индексных цветов, а второй слой ускорителя настраиваю на массив растрового шрифта, на нужную циферку, указывая так же ей нужный цвет. Указываю координаты вывода из ускорителя, как смещение в теневом буфере кадра. Ну и запускаю DMA2D. По прерыванию от него повторяю процедуру для остальных кнопочек, меняя лишь указатель на циферку и указатель на координаты вывода. Учитывая, что эта штука работает по прерыванию, то ядро переключается на другой код, пока идет рисование кнопочки. Таким образом, получаем во-первых, красивенькую кнопочку (а не топорную квадратную одноцветную), и во-вторых, красивая кнопка рисуется даже гораздо быстрее, чем простая топорная.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 20:10 
Старожил
Аватара пользователя

Зарегистрирован: 19 фев 2015, 17:37
Сообщения: 1130
Откуда: void
Вообще, я ожидал, что тут снова будет срач про Arduino, но не думал, что так скоро. Может попросить модераторов почистить тему?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 21:13 
Старожил

Зарегистрирован: 18 июл 2016, 21:17
Сообщения: 673
Градиентные растровые кнопочки и в попиксельном режиме очень быстро отрисовываются, незаметно для глаза. Даже не на полной частоте мк.
Но что их надо делать объемными и градиентными - это совершенно точно, совсем другое впечатление на народ производят.
Для себя достаточно простейших плоских или даже текстовых строчек :) (с инверсией при нажатии)


Последний раз редактировалось bw429 21 янв 2018, 21:17, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 21:17 
Старожил

Зарегистрирован: 18 июл 2016, 21:17
Сообщения: 673
Если ардуино подобный подход популярен, то непонятна причина спора - однозначно надо работать в этом направлении. Если удастся, то и стараться заработать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 21:23 
Старожил

Зарегистрирован: 18 июл 2016, 21:17
Сообщения: 673
Цитата:
Я сам пробовал - заливка большого дисплея попиксельно в цикле - это жуть.

А что делать, когда надо закрасить треугольную или круглую фигуру?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 21:48 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 756
Откуда: Китай, Пекин
это какая то странная спираль...

именно подобной фигнёй с попиксельной отрисовкой я занимался в 1997 году на JAVA, а в 2000 у меня был рабочий проект отрисовки 3D из dxf файла.

чем изобретать колесо, тупо ищите проекты JAVA в версии JDK 1.1 связанные с отрисовкой.
SWING к примеру.
благо синтаксис java и C во многом совпадает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 22:42 
Старожил
Аватара пользователя

Зарегистрирован: 19 фев 2015, 17:37
Сообщения: 1130
Откуда: void
Алгоритмы попиксельной заливки круга есть в BSP библиотеке от STM, это не проблема. Я так рисовал скругления углов на кнопке (четыре круга по углам). Другое дело, что результат средний. Но пока для тестов сойдет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 23:01 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1177
Прозрачность задается альфа-каналом, который может как присутствовать в исходных битмапах, так и устанавливаться вручную. Там довольно много вариантов смешивания слоев и получения выходного потока, в том числе тоже с альфа-каналом для прозрачности.
Круг большого диаметра можно закрасить, разбив его на вписанный квадрат со стороной R*0,707, отправив квадрат на рисование ускорителем, а в это время попиксельно закрасить оставшиеся 4 прямугольника, содержащие сектора круга.

Градиентная кнопочка в количестве одной штуки то рисуется недолго. А представим, что этих кнопочек будет штук 30-40, экранная текстовая клавиатура - ну и как? Кстати говоря, такие штуки удобно рисовать не прямо в буфере экрана, а в теневом, не активном в данный момент буфере. То есть, сначала составить полную картинку и хранить ее в SDRAM. А потом, когда появится нужда в экранной клавиатуре, банально выводим этот буфер на диспплей. То есть, сложные и часто используемые композиции выгоднее хранить в ОЗУ уже просчитанными и готовыми, чем каждый раз заново считать.

cheblin, едрёна картошка, мы только что тут обсуждали то, насколько ускоряет графику аппаратный ускоритель, а вы опять вылезли со своим уставом в чужой монастырь и предлагаете программную рисовалку по пикселям.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 23:35 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1235
DMA2D с антиэлайзингом наверное не поможет ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 23:42 
Старожил
Аватара пользователя

Зарегистрирован: 19 фев 2015, 17:37
Сообщения: 1130
Откуда: void
mazahakka v2.0 писал(а):
"На душе спокойнее, когда в запасе есть лишняя сотня ног и сотня мегегерц." (с) Leonidd

Черт побери, это шикарная цитата, она достойна быть высеченной в камне! :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 21 янв 2018, 23:50 
Старожил
Аватара пользователя

Зарегистрирован: 19 фев 2015, 17:37
Сообщения: 1130
Откуда: void
BusMaster писал(а):
Прозрачность задается альфа-каналом, который может как присутствовать в исходных битмапах, так и устанавливаться вручную. Там довольно много вариантов смешивания слоев и получения выходного потока, в том числе тоже с альфа-каналом для прозрачности.

Я не совсем понимаю, на каком этапе происходит смешивание в DMA2D? В SDRAM есть два буфера, для верхнего и нижнего слоев, каждый со своим значением прозрачности, итоговая картинка, которая выводится на дисплей, получается на выходе? То есть на нижнем слое лежит сама кнопка, в черно-белом градиенте, а на верхнем просто цвет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 22 янв 2018, 00:09 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1177
x893 писал(а):
DMA2D с антиэлайзингом наверное не поможет ?

Нет, с такой штукуй DMA2D не поможет. Все же это довольно простой акселератор, который умеет рисовать только вдоль и поперек :)) Любая наклонная линия для него уже непосильна.
Хотя, если ему подсунуть битмапу в градациях серого, как альфа-канал, он через нее может пропустить наклонную линию и выполнить сглаживание.

-----------
Смешивание в DMA2D может происходить в разных режимах. Есть два одинаковых блока - FG (передний слой) и BG (задний слой). Каждый из этих блоков может быть представлен либо в виде фиксированного цвета, задаваемого в регистре цвета, причем с альфой прозрачности, либо представлен в виде ссылки (адреса) растрового массива пикселей, которые могут быть так же представлены в различных цветовых моделях (форматах пикселя) - от 32-битного ARGB8888 до 4-битного A4 и L4. Так же каждый блок имеет индивидуальную таблицу индексирования цветов CLUT для форматов L4, AL44, AL88, L8, L88.
Возможных комбинаций получается немало. На выход так же уходит в нескольких цветовых форматах - от 32-битного ARGB8888 до 16-битного RGB565. Назначение выхода - адрес в ОЗУ, например в SDRAM. Адрес в буфере - это и есть координаты начала вывода. Причем, DMA2D способен самостоятельно учитывать X-Y пространство и вычислять координаты окна вывода в зависимости от ширины.
Кстати говоря, CLUT дает дополнительные возможности по закрашиванию. Таблица представляет собой значение цвета в RGB (или ARGB), сопоставленное входному 8-битному (или 4-битному) значению в градациях серого, либо вообще в произвольных индексах цветов. Например, в исходной битмапе значение 1 - красный цвет, значение 2 - желтый, 3 - зеленый ... и тд. В CLUT это как раз и надо записать, последовательно занося RGB-значения для каждого индекса исходной битмапы. 1 = 0x00FF0000, 2 = 0x00FFFF00, 1 = 0x0000FF00 и тд. Таким образом получим еще одну "степень свободы", так сказать. Небольшая битмапа с 4 битами на пиксель (16 фиксированных цветов из 16-милионной палитры) будет занимать в 6 раз меньше места, чем аналогичная битмапа в RGB888 формате. И при этом ее преобразование произойдет автоматически без участия кода.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 22 янв 2018, 01:22 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2223
Откуда: КЧР, поселок Нижний Архыз
bw429 писал(а):
Если ардуино подобный подход популярен, то непонятна причина спора - однозначно надо работать в этом направлении.

Популярно первый кАнал смотреть. И брехливые "новости" по нему (равно как и по всем остальным каналам). Что же — всем заменить мозг опилками?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 22 янв 2018, 02:19 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1235
BusMaster писал(а):
DMA2D с антиэлайзингом наверное не поможет ?

Я специально храню библиотеку с поддержкой antialising (рисует конечно медленнее, но картинка лучше).
Где нашел - не помню. Коммерческие конечно поддерживают, но жаба душит их брать.

Думал - может я в DMA2D упустил что-то на эту тему.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 22 янв 2018, 02:27 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2223
Откуда: КЧР, поселок Нижний Архыз
Что за DMA2D? У каких-то чипов младших поколений есть аппаратная поддержка вывода на экран?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 22 янв 2018, 02:49 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 429
Eddy_Em писал(а):
Что за DMA2D? У каких-то чипов младших поколений есть аппаратная поддержка вывода на экран?

DMA2D - это не вывод на экран, просто можно прямоугольники копировать с прозрачностью и преобразованием форматов. Нужен минимум F429, причем есть мк с поддержкой RGB интерфейса и без DMA2D, а есть и наоборот :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 22 янв 2018, 02:51 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2223
Откуда: КЧР, поселок Нижний Архыз
Ничего не понял, но пофиг: мне 429-е не нужны. Обычно за глаза STM8 хватает, ну или STM32F0xx.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 22 янв 2018, 03:03 
Только пришел

Зарегистрирован: 14 май 2017, 19:45
Сообщения: 23
Eddy_Em писал(а):
Ничего не понял, но пофиг: мне 429-е не нужны. Обычно за глаза STM8 хватает, ну или STM32F0xx.

Восьмибитки уже всё. Цена stm32 и stm8 почти одинаковая. Потребление у STM32 меньше. Про остальное и не говорю. Единственное преимущество это 5В питание. Не нужны преобразователи уровней. Много устройств работают от 5В.
Хотя зачем я это всё рассказываю.. Сам сижу на устаревших аврках :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 22 янв 2018, 03:04 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 429
Eddy_Em писал(а):
Ничего не понял, но пофиг: мне 429-е не нужны. Обычно за глаза STM8 хватает, ну или STM32F0xx.

Допустим хочешь ты прицепить достаточно большой и дешевый экран, в эту категорию попадают 320x480 с 16-ти битной шиной, потому как если брать хотя бы 3'', то они будут дешевле чем 320x240. Как подключать будешь? У F1 есть FSMC, у F0 его нет, у STM8 еще и порты 8-ми битные...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 22 янв 2018, 03:19 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 3181
Откуда: Кемеровская область, Киселевск
Reflector писал(а):
Eddy_Em писал(а):
Ничего не понял, но пофиг: мне 429-е не нужны. Обычно за глаза STM8 хватает, ну или STM32F0xx.

Допустим хочешь ты прицепить достаточно большой и дешевый экран, в эту категорию попадают 320x480 с 16-ти битной шиной, потому как если брать хотя бы 3'', то они будут дешевле чем 320x240. Как подключать будешь? У F1 есть FSMC, у F0 его нет, у STM8 еще и порты 8-ми битные...


Он не хочет подключать такие экраны. Ему хватает простеньких мк. Предполагаю нет потребности в этом.
Но, если вдруг.. если нет аппаратного блока, тогда через GPIO ноги если их хватит. Либо приколхозить сдвиговые регистры.
Только нахрена таким мк такой дисплей.
Смахивает на попытки выкопать яму ложечкой, когда давно изобрели лопату или технику покрупнее.

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 22 янв 2018, 03:25 
Только пришел

Зарегистрирован: 14 май 2017, 19:45
Сообщения: 23
Oxford писал(а):
Но, если вдруг.. если нет аппаратного блока, тогда через GPIO ноги если их хватит.

И ног хватит и скорости для нормального обновления картинки. Только это будет предел.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Discoduino
СообщениеДобавлено: 22 янв 2018, 03:27 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 3181
Откуда: Кемеровская область, Киселевск
Предел чего?

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 5 часов


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB