Нет.
Да.
Нужна , только руки кривые, самому не осилить
Так вроде нет секрета, скетч в открытом доступе лежит
первый байт это префикс равный 255 остальные данные о цветах, порядок и количество цветов можно посмотреть в файле конфига программы
Последний раз редактировалось Chip; 01.10.2010 в 11:06.
Ну, там же не исходники
Ты же не передаёшь отступы и прочее на платку...
По моему скромному мнению, самое простое было бы что-то типа:
prefix->RED[0]->GREEN[0]->BLUE[0]->...RED[N]->GREEN[N]->BLUE[N]
где N - номер последней зоны. Или как-то по-другому?
Раз секрета нет, то не мог бы описать структуру данных и команды, если есть что-то кроме записи данных по каналам? Можно исходник хедэра (надеюсь, там все комментарии есть )
Из файла config.txt этого непонятно.
Последний раз редактировалось Chudik; 02.10.2010 в 02:20.
Там именно исходники проги для arduino. В ней стоит ожидание 255, а затем - тупо пихается принимаемое в массив. Из массива именно так все рассылается на ключи R1G1B1R2G2B2...
SBorovkov уже написал
ловим префикс 255 и далее по порядку
С каждой зоны передаются по три байта RGB, первым идет R, второй G, третий B
**********каналы по зонам и в порядке передачи данных**************
Left_X = 0; отступ от левого края в процентах
Left_Y =10; отступ с верху в процентах
Left_W =15; шрина в процентах
Left_H =80; Высота в процентах
Right_X=80; отступ от левого края в процентах
Right_Y=10; отступ с верху в процентах
Right_W=15; шрина в процентах
Right_H=80;
Top_X = 10; отступ от левого края в процентах
Top_Y = 10; отступ с верху в процентах , для пропуска черной полосы на широкоформатных фильмах
Top_W = 80; шрина в процентах
Top_H = 15; Высота в процентах
Bottom_X =10; отступ от левого края в процентах
Bottom_Y =70; отступ с верху в процентах
Bottom_W =80; шрина в процентах
Bottom_H =20; Высота в процентах
------------------------------------
Left1_X=0;
Left1_Y=0;
Left1_W=1;
Left1_H=1;
Right1_X=0; отступ от левого края в процентах
Right1_Y=0; отступ с верху в процентах
Right1_W=1; шрина в процентах
Right1_H=1;
Top1_X = 0; отступ от левого края в процентах
Top1_Y = 0; отступ с верху в процентах , для пропуска черной полосы на широкоформатных фильмах
Top1_W = 1; шрина в процентах
Top1_H = 1; Высота в процентах
Bottom1_X =0; отступ от левого края в процентах
Bottom1_Y =0; отступ с верху в процентах
Bottom1_W =1; шрина в процентах
Bottom1_H =1; Высота в процентах
-------------------------------------
Left2_X = 0; отступ от левого края в процентах
Left2_Y = 0; отступ с верху в процентах
Left2_W =1; шрина в процентах
Left2_H =1; Высота в процентах
Right2_X=0; отступ от левого края в процентах
Right2_Y=0; отступ с верху в процентах
Right2_W=1; шрина в процентах
Righ2t_H=1;
Top2_X = 0; отступ от левого края в процентах
Top2_Y = 0; отступ с верху в процентах , для пропуска черной полосы на широкоформатных фильмах
Top2_W = 1; шрина в процентах
Top2_H = 1; Высота в процентах
Bottom2_X =0; отступ от левого края в процентах
Bottom2_Y =0; отступ с верху в процентах
Bottom2_W =1; шрина в процентах
Bottom2_H =1; Высота в процентах
-------------------------------------
Left3_X = 0; отступ от левого края в процентах
Left3_Y = 0; отступ с верху в процентах
Left3_W = 1; шрина в процентах
Left3_H = 1; Высота в процентах
Right3_X=0; отступ от левого края в процентах
Right3_Y=0; отступ с верху в процентах
Right3_W=1; шрина в процентах
Right3_H=1;
Последний раз редактировалось Chip; 02.10.2010 в 03:05.
А, не посмотрел, что в первом постинге есть исходник для Ардуино.
Т.е. предусматривается, что платка точно знает сколько зон задействовано, так? И вся синхронизация строится на том, что префикс должен прийти только после того, как все каналы переданы. Или предусмотрено, что цвет не может быть равен 0xFF?
Какое максимальное значение для каждого цвета предусмотрено? Как здесь уже отмечалось, разницу в интенсивности свечения между значениями, скажем, в диапазоне 250...255, человеческий глаз скорее всего не заметит, зато можно предусмотреть какие-нибудь ещё команды.
Да, кстати, шифтеры на базе великолепной идеи SBorovkovа я нарисовал и сделал платки (пока только 8 штучек для первого этапа тестирования), но пока не тестировал. Там, правда, и тестировать особо нечего. Каждая плата обслуживает 2 зоны. Если интересно, могу показать схемку и фотку (или 3D картинку из CAD) того, что получилось. Основную плату прототипа заказал, но её запустят в изготовление только 4 октября (раньше там не получилось).
Ну, и чтобы поставить все точки над i, если интересно, конечно . Если неинтересно, то дальше можно не читать.
===============================================
Почему я всё это спрашиваю. Делаю аналогичную систему, но для работы с реальным видеосигналом, т.е. на входе стоит видеодекодер композитного сигнала (любой плейер имеет выход композитного сигнала), информация с него перекодируется в RGB и, соответственно, поступает на входы ШИМов. Далее понятно, вы здесь сами это уже всё обсуждали. Думал на втором этапе брать сигнал с HDMI для компьютерного видео, но потом пришла в голову идея, что поскольку у меня предусмотрена связь с PC через FT245, то почему бы не воспользоваться твоей, Chip, программой для видео, показываемого с HTPC. И тогда останется только одна проблема - как вытащить видео сигнал из ТВ для работы ChudaSvet™ или ChudaLight™, пока ещё не решил ещё и при приёме с эфира. Раньше некоторые ТВ имели выход для записи эфира на видеомагнитофон, но теперь такого, вроде нет.
Последний раз редактировалось Chudik; 02.10.2010 в 11:24.
Среднее значение целой зоны практически невозможно что бы она имела цвет 0xFF ели даже зона и будет иметь такой цвет, то еще нужно изменить размер пакета. Без префикса проверял тоже работает стабильно, по большему счету префикс не нужен это я для совместимости влепил.
По поводу остального, что бы обрабатывать видеосигнал на лету придется писать на ASM-е, какой контроллер хочешь использовать?
Последний раз редактировалось Chip; 02.10.2010 в 11:49.
Предпочитаю иметь подстраховку Юзеры, как правило, чего только не придумают На этом форуме, возможно этого делать не будут. А на том, где я, в основном, обитаюсь, прогнать через полную заливку экрана одним из основных цветов процентов 10 точно захотят. Поэтому я бы предпочёл просто ограничить максимальное значение некоторым значением, близким к максимуму.
Это только когда данные поступают непрерывным потоком. Но даже в этом случае лучше иметь некоторое подобие синхронизации. Стоит это недорого, но гарантирует правильное восстановление информации даже при каком-либо сбое. Так что правильно влепилБез префикса проверял тоже работает стабильно, по большему счету префикс не нужен это я для совместимости влепил.
не контроллерами едиными жив человек На самом деле даже для такой простейшей обработки видео, которая здесь нужна, требуется слишком скоростные DSP или ARM. Сигнал с декодера поступает с частотой 27МГц. Не каждая птица... А это получается слишком дорого. Поэтому использую FPGA и дизайн на Verilog.По поводу остального, что бы обрабатывать видеосигнал на лету придется писать на ASM-е, какой контроллер хочешь использовать?
Последний раз редактировалось Chudik; 02.10.2010 в 13:30. Причина: Небольшие логические исправления.
Я думаю, что даже в том случае, если будет заметное количество зон с цветом 255, за счет динамичности картинки, эти зоны будут меняться. И первый же кадр без цветов 255 приведет к синхронизации передающей и принимающей стороны.
Если будешь использовать мой код и с ним будут проблемы, обращайся. Помню, там было несколько не очень очевидных моментов по оптимизации, когда этот код ваял.
Кстати, ленту я купил, 5 метров, а вот подсветку так и не собрал.
По поводу эфира - не знаю как другие телеки, а мой samsung lcd шлет в видеовыход (тюльпан) эфир, если смотришь эфир или hdmi сигнал. То есть hdmi он не преобразовывает в видео, продолжая слать эфир.
Эту тему просматривают: 14 (пользователей: 0 , гостей: 14)