Dr Zlo
Dr Zlo
У меня нативно все, M1 pro
Dr Zlo
Ruslan
Dr Zlo
Генеришь таймером управляющую последовательность просто
Ruslan
Dr Zlo
Ruslan
тихо, не рассказывай, пусть подумает )))
Dr Zlo
https://narodstream.ru/stm-urok-119-ws2812b-lenta-na-umnyx-svetodiodax-rgb-chast-2/
Dr Zlo
Например
Ruslan
всё испортил
Evgeniy
Генеришь таймером управляющую последовательность просто
Извините, доктор зло, но у вас непонимание основ. Скорее всего на практике вы этого не делали. Я уже объяснял коллеге, который безуспешно пытался собрать решение на базе таймера и ШИМ, почему этот вариант нестабильно работает, слишком сильно грузит проц и излишне переусложнен. Ещё и плохо повторяем на разных процах.
Все дело в весьма малых длительность импульсов на интерфейсе адресных лент.
Единственный надёжный способ - управление через SPI.
Ruslan
Evgeniy
Именно так работают все серийные драйверы адресных лент. Потому что современные ленты - это переход от старого варианта, где было 2 линии: clock & data к варианту с одной линией данных.
Для совместимости как был там SPI, так и остался.
Evgeniy
@ruslanpopov вы тоже не работали с адресными LED лентами, если эту чушь про ШИМ рассказываете. Это как велосипед на квадратных колесах. Ещё и с плохой повторяемостью, излишней сложностью и загрузкой проца.
Ruslan
WS2812B - я вот с этим работал
Evgeniy
@Dr_Zlo13 только не надо рассказывать, что все дураки и потому используют SPI 😁https://ledstripstudio.com/spi-led-controller/
Любые драйверы адресных лент как были на SPI, так и остались.
Evgeniy
Впрочем, нет ни одного драйвера адресной ленты в продаже, где применены таймеры для генерирования цифрового кода.
Потому что у лент цифровой интерфейс 😁
Ruslan
Evgeniy
Любая лента, где можно управлять каждым пикселем - это адресная лента с цифровым интерфейсом
Dr Zlo
Ruslan
Ruslan
https://vk.com/wall19523249_3251
Evgeniy
Ruslan
вот, WS2812B PWM over DMA ))) лично делал
Dr Zlo
Evgeniy
Dr Zlo
Ruslan
Ruslan
код лет пять назад писал, запамятовал
Dr Zlo
Ruslan
я вроде на прерывании сделал, надо будет глянуть, но пока таких задач нет
Dr Zlo
Dr Zlo
Ruslan
я там считал, обычный F100 мог дохрена пикселей обеспечить
Evgeniy
Фишка же в том, что отказавшись от "не нужной" линии clock производители лент сохранили совместимость с существующими драйверами лент. Где только ПО поправить понадобилось.
Ruslan
а есп вроде побыстрее в разы
Evgeniy
Потому на любом хламе запускается на SPI и обычно, с решением на таймерах - возня.
Ruslan
Evgeniy
В том числе на esp, и на stm32f030, может даже на ардуино
Ruslan
Адресная
мне красота решения понравилась, я помню тогда офигел и долго не мог понять как оно вообще работает
Dr Zlo
Evgeniy
Да ладно!
Evgeniy
RAM жрет, да?
Dr Zlo
Да ладно!
Посчитайте мне fps на дисплее в 20к светодиодов?
Evgeniy
А зачем? Для этого pixel pusher ставишь и управляешь
Dr Zlo
Учитывая что блок spi в лучшем случае в камне один
Evgeniy
Так суть в том, чтобы грузить порциями через DMA данные туда в любом кол-ве
Dr Zlo
Тайминги известны, посчитайте сколько времени будет нужно
Evgeniy
Для этого ставят специализированные контроллеры и не заморачиваются. В том числе на несколько выходов.
Dr Zlo
Я понял, вы не работали с промышленным проектами таких дисплеев, вопрос исчерпан.
Dr Zlo
Я там настраивал выгрузку билдов
Dr Zlo
И потом просто vscode обмазал плагинами
Dr Zlo
Табличка сарказма отвалилась, если что.
Ruslan
Ruslan
Ruslan
там CLion 🙁
Anonymous
Эксперты. Имеется строка (очень длинная). Заливаю код на ноуте, отрабатывает идеально. На ардуинке бред какой-то. Самое странное, что это обычная конкатенация строк...
Evgeniy
Anonymous
Dr Zlo
там CLion 🙁
Какая разница для чего устанавливать idf?
Сергей
Вопрос : плату с есп32 nodemcu просто подключаешь к компу по юсб и заливаешь прошивку, а можно вот такой модуль прошить простым переходником юсб уарт?
Сергей