Помощь - Поиск - Пользователи - Календарь
Полная версия: Compro VideoMate H900
ПерехватЪ > Программа "ПерехватЪ" > Плагины
Страницы: 1, 2
Nansen
Возможна ли поддержка иных чипсететов (кроме SAA и Bt), например популярных сейчас решений HW Mpeg от Conexant?
Лично меня интересует конкретная модель Compro VideoMate H900 на одночиповом CX23418. Тюнер комплектуется очень удобным пультом, обидно что работать он может только с комплектной программой, хотя набор команд пульта позволяет управлять чем угодно.

PS В разделе "Загрузки" подходящей тестовой утилиты не нашел sad.gif
gonzales
можно попробовать, хотя я с ними еще не сталкивался. Сообщите пожалуйста для начала Vendor ID и Device ID устройства. Их можно найти в свойствах устройства в диспетчере задач.
По идее должно быть что-то типа Vendor ID - 0x14F1 и Device ID - 0x5B7A
Nansen
Спасибо, до самого девайса доберусь только вечером, вот инфа из драйвера (VideoMate_H900.inf):

[Compro]

;Rev B hardware ID
%CXRAPTOR.DeviceDesc%=RAPTOR, PCI\VEN_14F1&DEV_5B7A&SUBSYS_E100185B

Она совпадает с данными диспетчера (проверял ранее).
gonzales
да, все верно.
попробуйте для начала вот эту программку
Nansen
Цитата(gonzales @ Apr 2 2007, 04:03 PM) *
да, все верно.
попробуйте для начала вот эту программку

ОК, а что именно я должен с ней проделать?
gonzales
это тестовая программа. Во первых она должна найти тюнер. Во вторых там есть таблица некоторых регистров тв-тюнера, при нажатии на кнопки пульта, значения этих регистров меняются. Если тест сработает, Вы увидие, что значение в таблице меняются.
Nansen
Цитата(gonzales @ Apr 2 2007, 05:05 PM) *
это тестовая программа. Во первых она должна найти тюнер. Во вторых там есть таблица некоторых регистров тв-тюнера, при нажатии на кнопки пульта, значения этих регистров меняются. Если тест сработает, Вы увидие, что значение в таблице меняются.

ОК, проверю, о результатах доложу. Но только завтра, посему, чтобы не терять времени, превентивные вопросы:
1. Что я смогу еще проделать, если тест не сработает?
2. Если тест сработает, что мне делать со значениями в таблице?
gonzales
если тест не сработает, я дам Вам другой, но его у меня пока нет.
если сработает, Вы сообщите мне имя регистра, который реагирует на нажатия пульта

ЗЫ. желательно запускать вместе с родным софтом, который априоре реагирует на пульт
Nansen
Спасибо, завтра будут результаты.
Я правильно понял, что родной софт нужен только для индикации работы пульта (миганием в трее), или есть еще какие либо показания?
Не очень хочется его лишний раз ставить, после этого приходится вычищать систему от остатков.

gonzales
тогда попробуйте без него
Nansen
К сожалению, программа не нашла тюнер вообще: No available

Пульт работает: я запустил не весь софт, а только его компонент ComproRemote.exe, который моргал в трее и попытался выключить комп по нажатию Sleep на пульте. Кстати, могу выслать этот самый ComproRemote (RAR 48.5kb), если это поможет делу.
gonzales
ComproRemote у меня есть, поблема в том, как его использовать.
Я сделаю еще один тест, слдеите за темой, выложу сюда

ЗЫ. Вопрос, а ComproRemote работает, если его не устанавливать а просто запустить exe-файл? (то есть полностью удалить все дрова а потом запустить)
Nansen
Что удивительно - работает. Если точнее, то софт был установлен полностью (за исключением программ Ulead), потом полностью удален с системы, включая последующую зачистку мусора с помощью WinTools и regsvr32 /u для всех оставшихся от софта кодеков. Остались только драйвера. Но ComproRemote работает просто запуском екзешника. Правда управляет он чем нибудь или нет я не знаю (нет соотв. софта, такого как PowerDVD и тп), но в спячку комп по нажатию Sleep отправил.
gonzales
я почему то так и думал. Ка бы выцепить теперь оттуда данные
Nansen
Ну как процесс идет, есть ли шансы?
gonzales
давайте попробуем исследовать тюнер с помощью вот этой програмулины. Инструкции внутри.
Ваши значения
Vendor ID -$14F1 и Device ID - $5B7A
Nansen
Спасибо, попробую, завтра доложу.
Если все пойдет успешно, проверять и записывать нужно все кнопки пульта?
Nansen
Докладываю: testing находит устройство, таблица заполняется значениями регистров (4094 записей). Но на пульт ни один из них не реагирует sad.gif
Работоспособность пульта контролировалась. Но 100% гарантии от ошибок не дам: четыре тысячи записей это много, наверное мог пропустить реакцию. Но все регистры просмотрел два раза.
gonzales
Цитата
Но на пульт ни один из них не реагирует


понятно. значит в лоб не получится. Тогда попробуем пойти другим путем. Использовать программу ComproRemote. Для этого попробуйте ее исследовать приложенной программой.

Инструкции:
1. Запустить ComproRemote.
2. Запустить Spyxx. Открывается окно процессов. Если окно процессов неоткрыто нажмите Ctrl+p
3. В процессах найти процесс COMPROREMOTE.
4. Выделяем его, жмем правой кнопкой, из меню выбираем Messages. Открывается окно сообщений от этого процесса.
5. Жмем Ctrl+O, открываются свойства сообщений
6. В окне параметром жмем кнопку select all, выделяются все группы сообщений.
7. Закрываем окно параметров.
8. Начинаем нажимать кнопки пульта, если все получится в окне Messages начнут появляться сообщения.
9. Если да, сделайте скрин, будем дальше смотреть.

удачи.


Nansen
Сделаю, результаты будут завтра.
По ComproRemote есть кое-какая инфа: эта прога может управлять штатным софтом, а также PowerDVD и возможно WinDVD. По идее, она должна также поддерживать некоторые другие модели тюнеров Compro (на других чипах), которые этим софтом комплектуются. И есть небольшая программулина, которая умеет "выдавать" себя за штатный софт (ComproDTV) и таким образом перехватывать команды управления, после чего транслирует их в формате "Generic Interface" для HIP. Вот такая реализована "загогулина" smile.gif
gonzales
Цитата
По ComproRemote есть кое-какая инфа: эта прога может управлять штатным софтом, а также PowerDVD и возможно WinDVD
а настройки у нее какие нить есть?
Цитата
По идее, она должна также поддерживать некоторые другие модели тюнеров Compro
- это было бы очень логично

Цитата
И есть небольшая программулина, которая умеет "выдавать" себя за штатный софт (ComproDTV) и таким образом перехватывать команды управления, после чего транслирует их в формате "Generic Interface" для HIP.
не совсем понял, о чем речь
Nansen
Цитата
а настройки у нее какие нить есть?
В меню иконки есть два пункта: About и Exit smile.gif
Ресторатор показывает "заготовку" диалога в ресурсах программы, с надписью "TODO: Place dialog controls here". Видимо настройки планируются в будущем.

Цитата
не совсем понял, о чем речь

Народ извращается, в целях заставить пульт работать с другими приложениями. В качестве программы управления используют HIP, для приема команд с пульта - ComproRemote. Своего рода "мостом" между этими программами служит еще одна программка - Compro2HIP.exe. Вот цитата из readme:
Цитата
How it works
This program ‘pretends’ to be ComproDTV to the Compro remote program, ComproRemoteDTV. It thus receives the remote button presses from the Compro remote and passes them to the ‘Generic’ Interface of HIP.
Nansen
Вот что получилось: мессаги для всех 37 кнопок пульта.
Процесс обозначился как "Compro Management" Class of Compro Management

ЗЫ Скрины тоже есть, но ИМХО лог поудобней будет.
gonzales
прикольно, что все получилосьsmile.gif.
Осталось только научиться перехватывать теперь эти сообщенияsmile.gif

ЗЫ. по идее все пользователи Compo смогут им пользоваться.

Это лучше чем использовать связку из 4 программ через hip
Nansen
Получилось просто отлично, там еще целая портянка сообщений была, после последней кнопки Sleep: когда комп к спячке стал готовиться. Я их убрал за ненадобностью.
Мне вот интересно, будут ли эти сообщения идти при отсутствии загруженной ComproRemote.
gonzales
конечно не будут, это же окно ComproRemote их в систему выбрасывает
Nansen
Цитата(gonzales @ Apr 12 2007, 12:40 PM) *
конечно не будут, это же окно ComproRemote их в систему выбрасывает

Понятно. А как нибудь отследить обмен между ComproRemote и устройством можно?
Я вот как-то не интересовался этой темой, поэтому плохо представляю как это все работает, к сожалению. Т.е. на "железном" уровне понимание есть (т.е. кодирование, прием и декодирование IR сигнала), а вот как оно с софтом взаимодействует не знаю sad.gif.
gonzales
попробуйте эту прогу, по идее она должна уметь перехватывать сообщения от ComproRemote.

Цитата
А как нибудь отследить обмен между ComproRemote и устройством можно?
Я вот как-то не интересовался этой темой, поэтому плохо представляю как это все работает, к сожалению. Т.е. на "железном" уровне понимание есть (т.е. кодирование, прием и декодирование IR сигнала), а вот как оно с софтом взаимодействует не знаю


отследить как, я не знаю, а вообще идея простая, у каждого pci-устройства есть адресное пространство регистров, в котором хранится всякая внутренняя информация самого устройства, туда поступают сигналы от декодеров и.т.д. Софтовая задача, получить доступ к этим регистрам и считывать нужный.
Nansen
Прогу попробую, но результат тока в понедельник.
Цитата
у каждого pci-устройства есть адресное пространство регистров, в котором хранится всякая внутренняя информация самого устройства

Т.е. задача софтины (напр. ComproRemote) постоянно опрашивать соотв. регистр?
Но почему тогда предыдущим тестом, который нашел тюнер и высветил его регистры, не удалось обнаружить реакцию на пульт? Я потом еще раз посмотрел: реакции не было.
gonzales
Цитата
Т.е. задача софтины (напр. ComproRemote) постоянно опрашивать соотв. регистр?
совершенно верно

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


потому что это было бы возможно только если данные от декодера ДУ-сигналов попадали бы непосредственно в регистр. Как например сделано в старых моделях тюнеров. А современные тюнеры уже имеют схему запрос-ответ, то есть сначало нужно например выставить в каком-нить регистре определенный бит например в единицу, после этого удается считать код, то есть работает как ключ. А так как мы не знаем, ни из какого регистра читать, ни логики "запрос-ответа" то эту задачу решить в лоб не получится
Nansen
Цитата
А так как мы не знаем, ни из какого регистра читать, ни логики "запрос-ответа" то эту задачу решить в лоб не получится

Хмм... когда я смотрел регистры, ComproRemote запущена не была.
Я правильно понял, что ComproRemote может инициировать запрос, получать ответ и имеет смысл смотреть регистры как раз при запущенной ComproRemote?
Если так, то придется повторить тот тест.
gonzales
в принципе да, но опять же не факт что она будет работать, ибо мы не знаем логики обмена между регистрами и ComproRemote
Nansen
Цитата
ибо мы не знаем логики обмена между регистрами и ComproRemote

Но как я понял, если обмен идет именно через регистры, то их состояние можно отследить: как измененное ComproRemote, так и ответное от декодера пульта? В любом случае, поэкспериментирую в выходные.
Nansen
К сожалению, Project1.zip не дает никакой реакции на на пульт и сообщения ComproRemote.
Повторная проверка регистров при запущенной ComproRemote тоже не дала ничего нового - реакции нет sad.gif.
Nansen
Есть еще идеи?
Очень уж хотелось бы научить девайс полноценной работе, да и Вам ИМХО полезно построить плагин под актуальные на данный момент чипсеты.
gonzales
пытаюсь приручить Comproremote, как будут новости, выложу сюда
gonzales
нашел одну интересную вещь. Попробуйте, будет ли у Вас работать

Nansen
Вещь действительно интересная smile.gif
Попробую, а инструкций к ней нет?
Nansen
Работает, причем без загруженной Compro Remote.
Коды кнопок совпадают с кодами из messages, перехваченных ранее из Compro Remote.
Скриншот:
gonzales
а как Вы ей пользовались, что нажимали?
Nansen
Попользоваться в качестве управления чем-либо не удалось: хотя по нажатию Define Key Functions вроде бы можно ассигновать кнопкам действия, в реальности оно не получилось, да я и не особо старался.
А вот в качестве теста пробовал следующее:
1. Нажимаем Get Key Now и в течении неск. секунд жмем кнопки пульта. Результат виден в левой панели. Значение Loop no. меняется по количеству нажатий кнопок, значение Get Key - код кнопки.
2. Нажимаем Hook Now, в поле под кнопкой появляется надпись Receiving, нажимаем кнопки пульта и наблюдаем результат в правой панели. Первое число всегда 116, далее время, значение Key - код кнопки.
Nansen
Есть ли какие-нибудь результаты?
В смежной теме по Gotview вроде бы удалось подтвердить работоспособность с Gotview DVD3, который построен на таком же чипе как и Compro H900 (Conexant CX23418).
gonzales
пока по Compro затык, никак не могу одолеть ихнюю библиотеку. А с GotView все получилось исключительно благодаря библиотеке от производителя. Просто мне дали ее новую версию с поддержкой DVD3
gonzales
этот SDK у меня как раз и есть. Проблема в том, что он сишный, и что то не хочет ложиться на делфи
kirk-home
Вобщем,
во вложении работающий пример на делфе
архив на самом деле .rar

также есть лог нажатия кнопок log.txt
кнопки нажимались с лева на право сверху вниз (включая составные!
например последовательность
...
"GUIDE", <TOP>, "SETUP", "Replay", "Advance", "TV/VIDEO", <DOWN>, "CH. SURF"
...
)

du.jpg - вид пульта

RemoteSDK.pas - можно исключить, он лишний
вместо него RemoteSDKDll.pas
gonzales
спасибо. отлично!!! rolleyes.gif

буду разбираться, если что, спрошу.

Респект kirk-home
gonzales
давайте для начала попробуем этот плагин: вопросов несколько, определяется ли устройство (ComproCard), инициализируются ли кнопки
kirk-home
Цитата(gonzales @ Jun 7 2007, 12:12 PM) *
давайте для начала попробуем этот плагин: вопросов несколько, определяется ли устройство (ComproCard), инициализируются ли кнопки

прийду домой, попробую, сейчас девайса под рукой нету
Nansen
Устройство ComproCard определяется, кнопки инициализируются. Спасибо! smile.gif
Осталось победить один момент: одна кнопка с кодом 00000000 ("PVR/TV") программой не детектится.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2012 Invision Power Services, Inc.