Форум Beholder http://beholder.ru/bb/ | |
Beholder M6 http://beholder.ru/bb/viewtopic.php?f=11&t=5399 |
Страница 2 из 4 |
Автор: | igk72 [ 31 авг 2007, 14:02 ] |
Заголовок сообщения: | |
Пишу сюда - потому как уже все мозги "сломал" Проблема в том что никак не считывается код клавиши пульта из декодера пульта. Вот кусок кода для этого (после отлова GPIO): Код: dev->i2c_client.addr = 0x5a >> 1;
data = 0; if (4 != (err = i2c_master_recv(&dev->i2c_client, (char *)data, 4))) { printk("read error %d\n", err); return -EIO; } *ir_key = (u32)data; Вопрос - что я делаю не так? К тех.поддержке - считывание коде пульта делается первыми 4-ми байтами ??? |
Автор: | igk72 [ 01 сен 2007, 10:08 ] |
Заголовок сообщения: | |
Придеться ответить самому себе Адрес считывания кода клавиши пульта правильный, НО надо считавать не 4-ре байта, а 12 байт (!). И в 10-м байте код клавиши пульта. Полный уникальный код - байты с 9-го по 12-й. Спасибо за информацию и подсказку Андрею Мельникову, чей вопрос о 609-м был замечен мной в списке рассылки проекта video4linux (подсистема ядра linux). Ссылку на свой текущий патч для M6 (возможно и серии 6xx) размещу здесь через один-два дня. Пояснения будут прилагатся. А постоянная поддержка в ядре будет в скором будущеи, как только решатся некоторые увязки в программном коде ядра. Теперь опять вопрос к тех.поддержке Что и как нужно чтобы инициализировать MPEG-кодировщик? Модуль-драйвер linux распознает чип и создает устройство. Но более оттуда ничего. |
Автор: | Admin [ 03 сен 2007, 10:55 ] |
Заголовок сообщения: | |
Проблема в том, что вы считываете не с 8-го, а с нулевого сабадреса. Для считывания данных с нужного сабадреса вам нужно использовать или другой вызов функции (аналогично работе с памятью EPROM), если таковой есть, или в рамках одной транзакции по шине I2C сначала записать в блок ARPC один байт сабадреса (8), затем тут же считать 4 байта данных. Также следует отметить, что если вы берёте 2 байта начиная с 10-го, то вы получаете только код клавиши без кода пульта. Таким образом вы не сможете работать со сторонними пультами под Linux. Вам желательно использовать все 4 байта в качестве кода кнопки, тогда вы сможете настроить сразу несколько пультов. |
Автор: | igk72 [ 04 сен 2007, 01:57 ] |
Заголовок сообщения: | |
К Admin: Спасибо за ответ. Проблемы уже нет - сам догадался. И конечно читаю все 4-ре байта. В Linux используется сразу и raw-code (u32) и key-code (char). Да вообще пульт в систему видится как обычное устройство ввода, как клавиатура или мышь. Вопросы: 1) Что насчёт особенностей инициализации аппаратного кодировщика???? Понимаю что вопрос не совсем точный, но все же... 2) Я сделал патч (файл изменений) для поддержки всех тюнеров Beholder в ядре Linux 2.6.x (не хватает только mpeg). Информацию брал из форума, интернет, и inf-файла windows-драйвера. Кстати, не такое уж и сложное дело оказалось. Потратил примерно в общем 20 часов. Инфраструктура модуля-драйвера saa713x уже была и есть - нужно было просто всего лишь заполнить идентификаторы и допрограммировать одну функцию для чтения кодов при gpio-i2c. Конечно я опубликую патч в ядро и здесь на форуме. Может быть лучше сделать это отдельной темой, а вы как админ проставите этой теме признак "прилепленна" (выш6 всех). Таким образом людям будет удобно - сразу видно нужное - патч для поддержки все линейки тюнеров. Ведь пока изменения попадут в ядро, пока дистрибутивы обновят само ядро. |
Автор: | Admin [ 04 сен 2007, 10:47 ] |
Заголовок сообщения: | |
С аппаратным энкодером всё намного сложней. Где-то в сообществе линукс ходил файл для работы с SAA6752HS, поищите. |
Автор: | igk72 [ 04 сен 2007, 13:32 ] |
Заголовок сообщения: | |
В принципе ответ понятен своей осторожностью. |
Автор: | igk72 [ 04 сен 2007, 15:30 ] |
Заголовок сообщения: | |
Сделал поддержку тюнеров Behold M6 и 609. Пульт работает. Нет пока только поддержки аппаратного MPEG. Только для тюнеров Beholder серий 60x и M6, http://www.igk.ru/linux/files/v4l/v4l2- ... x-m6.patch Только для тюнеров Beholder серии M6 http://www.igk.ru/linux/files/v4l/v4l2- ... r-m6.patch Ядро в общем случае перекомпилировать не надо. Минимально для компиляции моделей нужно наличии: patch make gcc glibc-devel ncurses-devel alsa-lib-devel kernel-devel и всего другого нужного для этих пакетов. Нужные патчи положить в папку v4l-dvb и и пропатчить коммандой: patch -p1 имя_патч.patch При появении слова FAILED, разбираться из-за чего смотря в файла с расширением .rej Затем в той папке выполнить команды: make Если нет ошибок, то выполнить комманду: make install далее править файл /etv/modprobe.conf добавить строки: options saa7134 secam=d |
Автор: | igk72 [ 08 сен 2007, 05:19 ] |
Заголовок сообщения: | |
К Admin: Можете хоть чем-то помочь с SAA6752HS на M6? Ведь с пультом хорошо получилось. Написать хотя бы минимальную последовательность работы c SAA6752HS и главного чипа. Филипсовский даташит я нашел. Понимаю что вопрос неконкретный, но все же. Заранее спасибо. |
Автор: | Admin [ 10 сен 2007, 11:30 ] |
Заголовок сообщения: | |
Вот это вам ничем не поможет? Поймите, заставить работать энкодер и получить с него поток на самом деле не так просто, чтобы можно было это просто изложить. Пользуйтесь открытыми исходниками и документацией. |
Автор: | igk72 [ 11 сен 2007, 01:25 ] |
Заголовок сообщения: | |
спасибо за "ссылку" Очень забавно получилось - вы отправили меня в тот же текст модуля, который каждый день вижу и знаю. Возможно я не обладаю супер-обширными знаниями о работе tv-тунеров, но как программисту и админу было сложно не заметить файл модуля энкодера рядом с файлом модуля тюнера, патч для которого создавал. И все же я не понимаю почему нельзя внятно и грамотно описать схему иницилизации энкодера??? Вы ведь в компании как-то знаете, сотрудники драйвера пишут на основе какой-то информации. Они то как-то это усвоили и поняли? Понятно что они специалисты, но вас же спрашивает не кулинар или домохозяйка. (ничего плохого о кулинарах и домохозяйках не думаю) Ладно, попробую посмотреть и четко изложить что делается в текущем модуле, и по этому описанию уже спрашивать. Можете ответить - есть ли отступления от референса Philips (Empress) ? |
Автор: | Admin [ 11 сен 2007, 10:36 ] |
Заголовок сообщения: | |
писал(а): Ладно, попробую посмотреть и четко изложить что делается в текущем модуле, и по этому описанию уже спрашивать. Да, так будет лучше. Кроме того, не забывайте про даташит. Мы всё делали на основании даташита. писал(а): Можете ответить - есть ли отступления от референса Philips (Empress) ?
Вопрос не понятен. Что вы имеете ввиду под референсом Philips? |
Автор: | Dimchik [ 13 сен 2007, 16:06 ] |
Заголовок сообщения: | |
igk72 - респект! только вот ты не указал для какой версии ядра патчи! я то и так все сделал, но людям полезно будет. А что касательно товарищей админов (не в обиду будет сказано), то наблюдая за форумом, создается впечатление, что они или секретничают (что, понятное дело, глупо), или боятся ошибиться, или просто ни сами не знают, ни узнать не могут! В общем с детским видом застенчиво шаркают ногой по земле... Так вот долгим методом тыка поднимали сначала 4хх, 5хх а теперь будем 6xx долго ковырять! Дали бы сырцы драйверов и БехолдТВ тогда что ли |
Автор: | Admin [ 14 сен 2007, 10:09 ] |
Заголовок сообщения: | |
писал(а): они или секретничают (что, понятное дело, глупо) Вы знаете, нам почему-то не понятно, почему хранить технологические решения в секрете глупо. писал(а): или просто ни сами не знают, ни узнать не могут! Самим стало интересно, чего же такого мы не знаем в наших же тюнерах... писал(а): Так вот долгим методом тыка поднимали сначала 4хх, 5хх а теперь будем 6xx долго ковырять! Мы уже не раз говорили. Если есть конкретные вопросы от квалифицированных пользователей, способных что-то сделать – мы ответим. И эта тема – тому пример. писал(а): Дали бы сырцы драйверов и БехолдТВ тогда что ли
Блестящая идея! Как мы сами до этого раньше не додумались. Вот только думаю, куда... может сразу на РуБорде их выложить? Уважаемый Dimchik, не скатывайтесь во флуд. Если вы сами программист и готовы помочь пользователю igk72 (пользуясь случаем, выражаем ему огромную благодарность от имени нашей компании за его ценный труд по поддержке наших тюнеров), то кооперируйтесь с ним, задавайте конкретные вопросы и получите на них конкретные ответы. А просто влезать в тему, чтобы наговорить каких-то эээ... глупостей... не следует. |
Автор: | Dimchik [ 15 сен 2007, 13:39 ] |
Заголовок сообщения: | |
Ну вот, говорил же без обид.... Цитата: Вы знаете, нам почему-то не понятно, почему хранить технологические решения в секрете глупо. Никто не говорил, что хранить технологические решения глупо, речь вообще то шла о простых инструкциях о том как завести ту или иную функцию тюнера. Цитата: Самим стало интересно, чего же такого мы не знаем в наших же тюнерах...
Нам тоже интересно, почему вы ссылаетесь на SAA6752hs.c, который мы уже проштудировали много раз, вместо того чтобы сказать мол так и так, нужно по такому адресу записать то, из этого почитать вот это ну и тд.... Ладно, хватит, "влезать в тему и скатываться во флуд" А конкретный вопрос вроде бы был задан - как инициализировать аппаратные кодировщики mpeg и ac3??? |
Автор: | Admin [ 17 сен 2007, 11:16 ] |
Заголовок сообщения: | |
Это не есть конкретный вопрос. Это всё равно, как спросить "опишите нам, как работать с чипсетом". Вопрос слишком обширен, чтобы на него можно было ответить, да и всё это уже расписано в соответствующих даташитах. Сложность заключается в том, что для работы с аппаратным энкодером необходимо настраивать не только энкодер, но и чипсет SAA7135. Невозможно просто писать и читать что-то в какие-то регистры. Чипсет должен получать транспортный поток от энкодера и самостоятельно перекидывать его по DMA в оперативную память ПК. Сама процедура инициализации энкодера также зависит от того, какие параметры кодирования вы хотите задать. В указанном исходнике есть списки всех параметров, все необходимые для инициализации структуры и функции. А уж какую конкретно комбинацию параметров вы хотите от энкодера – зависит от вас. |
Страница 2 из 4 | Часовой пояс: UTC + 3 часа |