Помогите себе и другим! Примите участие в проекте JTVRemote
JTV Host - TV on PC
EnglishRussian
о сайте
новости
проекты
файлы
заметки
ссылки
гостинная

Mail to JTVHost


  Проекты для всех

JTVRemote: Создание оптимальных драйверов пультов дистанционного управления для различных TV-плат, использующих контроллеры BT8x8, под JTV. Предполагается участие всех заинтересованных лиц, поскольку для реализации проекта необходимо иметь эти самые платы, которых у меня (кроме AverMedia TVPhone98 w/VCR), естественно, нет. :-(

05.02.2002. Создан и выложен драйвер ПДУ для TV-карты Eline Vision TVMaster. Таблицу кодов прислал Emma. В процессе разработки выяснилось, что он должен годиться также для Genuis Video Wonder Pro II V2/FM и семейства FlyVideo 98/II. Одновременно были выявлены ошибки в ранее созданных драйверах для этих плат.
Оказалось, что при создании этих драйверов был не замечен тот факт, что два кода кнопок пульта (0x48 и 0xc8) повторяются, привязаны каждый к двум разным кнопкам (ChannelUp - Left и ChannelDown - Empty) и, соответственно, были привязаны в драйвере к двум разным командам (Key_ChannelUp - Key_Left и Key_ChannelDown - Key_Empty) каждый. Это должно было привести к нечеткости функционирования пульта.
Хотелось бы получить от владельцев указанных моделей информацию о пригодности нового драйвера в сравнении со старыми, для решения их дальнейшей судьбы.

23.11.2001. Мишунин прислал новую (вторую) версию драйвера пульта дистанционного управления JTV для платы Tekram M205 Pro. Теперь он работает под Windows 2000 при наличии установленных bt8x8 WDM-драйверов от Ивана Ускова (www.iulab.com) через IOCtrl.dll. В новой версии драйвера исправлен вызов функций, его размер уменьшен до 9кб (было 157кб), он оптимизирован под Pentium и изменены значения задержек по умолчанию. Кроме того, автор прислал отдельную примочку для включения звука.

01.01.2001. В связи с интересом пользователей TV-платы AverTV Studio к JTV и их желанием получить драйвер пульта ДУ для этой платы могу сообщить следующее. Таблица кодов пульта AverTV Studio, присланная Александром Петровым, как справедливо отметил автор, практически полностью совпадает с таблицей для Aver TVPhone98 w/VCR за исключением того, в определенной позиции регистра GPIO_DATA вместо значений "7" или "f" стоят "6" или "e", например вместо 00857ff3 - 00856ff3. Это конечно, неважно, но важно то, что при этом собственные коды ненажатых кнопок отсутствуют вообще, т.е. совпадают с кодами нажатых кнопок пульта.
Поскольку у меня имеется именно TVPhone98 w/VCR, я решил попробовать как-то имитировать ситуацию, переработал драйвер JTVRemote для пульта TV-платы TVPhone98 w/VCR и обнаружил, что если в указанную позицию, например с помощью Bt8x8RT, записать значения 0,2,4,6 (первый разряд полубайта равен "0"), то моя плата ведет себя в точности как TV Studio - изменения кодов при отпущенных кнопках отсутствуют. Соответственно, запись 1,3,5,7 (первый разряд полубайта равен "1") возвращает все на место - появляются изменения кодов при отпущенных кнопках. Я постарался сделать так, чтобы переработанный драйвер, при загрузке JTVRemote, производил нужные изменения регистра. У меня это работает, возможно будет работать и с AverTV Studio. Пишите.
Валерий Быков подтвердил (01.07.01), что пульт AverTV Studio Model 103 нормально работает с драйвером Aver98vcr4 в программах JTVRemote и BTRemote под Win98SE. Таким образом, по крайней мере для этой ТВ карты, предложенный метод "исправления" кодов пульта срабатывает.

10.10.2000. Разработан еще один вариант драйвера пульта для TV-платы PixelView PV-BT878P+ (LG: PAL-DK+BG). Резко отличается по таблице кодов пульта от аналогичного драйвера, выпущенного ранее. Драйвер соответствует спецификации JTVRemote v1.2. Исходник прилагается. Прислал таблицу кодов и проверил драйвер (JTV3wip12.6, Win98) Андрей.
Как следует из информации, полученной от автора таблицы и на странице PixelView Play TV PAK речь, видимо, идет именно о TV-плате PixelView Play TV PAK - (Model: PV-BT878P+ REV 4E), тогда как предыдущий драйвер (от 05/04) соответствовал плате PixelView Play TV pro - (Model: PV-BT878P+ REV 4C).

Просьба к пользователям JTV! Мне кажется, следовало бы упорядочить и сделать более информативной базу настроек программы. На сайте JTVHost - это файл jtvcardlib.zip, а на JTVRus - файл changed.zip. В связи с этим убедительно прошу скачать файл с инструкциями, внести дополнительную информацию и прислать на адрес сайта файлы (crd, tun и dll - драйвер пульта), которые каждый использует со своей TV-платой. Думаю, выиграют все.

30.05.2000. Андрей Самусев sandys@rbc.ru, разработал, проверил с JTV 12.5 и прислал оптимизированный вариант драйвера пульта для TV-платы FlyVideo 98 (Temic PAL DK) адаптированной, - по видимому изготовителем, - для России (SECAM_DK). Железо: PII400 BX/ 128M/ 12G/ ASUS 3400 TV io/ SB 64AWE Gold. Драйвер выполнен по рекомендациям спецификации JTVRemote v1.2. Исходник прилагается. Приглашаю всех владельцев указанной платы, если есть желание, принять участие в тестировании.

28.03.2000. Разработан оптимизированный вариант драйвера пульта для TV-платы PixelView Play TV Pro 878+FM. Таблицу кодов прислал Олег Костюченко <oleg@ps.kiev.ua>. Выполнен по рекомендациям спецификации JTVRemote v1.2. Исходник прилагается. Приглашаю всех владельцев указанной платы принять участие в тестировании.
05.04.2000. Устранена найденная ошибка.
18.04.2000. Текущий статус: проверен. Олег Костюченко, oleg@ps.kiev.ua сообщил: "Протестировал, все работает великолепно! Огромное спасибо!"

16.03.2000. Была предпринята попытка разработки драйвера пульта для TV-платы Tekram CaptureTV M205. Неудача. Команды пульта воспринимаются родным софтом, но не программами-тестерами регистров. Звук в JTV также отсутствует (Win98/wip12.5). Если у кого-либо есть конкретные предложения или советы, прошу поделиться.

14.03.2000. Разработан оптимизированный вариант драйвера пульта для TV-платы Genius Video Wonder Pro II V2/FM, проверен под Windows 98. Выполнен по рекомендациям спецификации JTVRemote v1.2. Исходник прилагается. По-видимому, годится также для плат серии FlyVideo II/98. В данной версии драйвера задержка после первого срабатывания кнопки установлена, по умолчанию, на 200 мс в связи с обнаружившейся нестабильностью удержания трактом дистанционного управления кода нажатой кнопки. Возможно, это случайная ошибка конкретного варианта TV-платы.

16.02.2000. Скорректирована и дополнена спецификация проекта JTVRemote. На основе текущей версии (1.2), с помощью Дмитрия, переработаны драйверы для плат AverMedia: TVPhone/Capture и TVPhone/Capture98 w/VCR. Получилось очень неплохо. Реализована возможность настройки задержек при срабатывании клавиш пульта. Рекомендую.
В связи с этим обновились почти все другие файлы Проекта.

13.02.2000. Вниманию JTV-сообщества, главным образом разработчикам, предлагается первый вариант общей спецификации проекта JTVRemote, которой рекомендуется следовать при разработке драйверов пультов для JTV. Следует отметить, что часть рекомендаций уже используется в русской версии JTV. Все рекомендации направлены на повышение удобства пользования пультом. Присылайте ваши замечания и предложения.

03.02.2000. Просто удивительно, что выдумывают производители различных плат расширения даже в пределах одной фирмы. Возьмем TV-платы от AverMedia. Ну хорошо, улучшают они те или иные параметры, вводят новые возможности. Но зачем же портить то, что было сделано хорошо и просто. Это я говорю о пультах дистанционного управления к платам.
В TVPhone/Capture (95) система кодов и команд была простая и очевидная: каждая кнопка имела 2 кода - в нажатом и отжатом положении. Соответственно был простым и однозначным алгоритм отработки команд. Ну и что же они сделали с TVPhone/Capture98? Только 6 кнопок имеют по 2 кода, а все остальные - только один. Вероятно, программисты AverMedia ищут трудных путей, а может быть их вынудили на это разработчики "железа", позавидовав их спокойной жизни. И верно, программисты не очень стараются, а иначе с чего бы у них софт такой кривой и неудобный - хоть с JTV сравните.
Правда, уже в TVPhone/Capture98 w/VCR вернулись к нормальной 2-х кодовой системе. И за это спасибо! Вообще-то все это неважно, если пользоваться родным софтом, но почему-то не хочется.
А написал я все это под впечатлением того, что мне стало известно от владельца TVCapture98, с которым мы вчера начали реализацию проекта для его платы. Пока результаты неважные, интересующиеся могут отследить их по файлу averc98.zip. Если есть интерес - помогайте!

28.01.2000. Начальное состояние и история проекта.
Итак, я думаю что любой пользователь TV-платы, для чего бы она ему ни была нужна, хочет время от времени расслабиться, завалиться на диван и, лениво нажимая на кнопки пульта, перебирать TV программы или выполнять с помощью пульта другие действия. Не тут-то было. Существует два аспекта проблемы: аппаратный и программный.

Что касается аппаратного аспекта, то с этим более-менее все ясно: команды с пульта или ловятся, или не ловятся, причем лично у меня бывает как то, так и другое. Или пульт работает откуда угодно в пределах комнаты с первого раза, или работает только с каждого третьего - пятого раза чуть не вплотную к ИК приемнику. Эта проблема, связанная, вероятно, с недостаточной чувствительностью ИК приемника, активно обсуждается на форумах и, полагаю, решение будет найдено.
Что касается программного аспекта, то здесь все проще - по крайней мере в JTV. Достаточно написать хороший драйвер, и все дела. Когда я начал переделывать драйвер от TVPhone (95) под свою плату, я сначала переопределил коды кнопок, добавил те, которых в драйвере не было - и все. Пульт заработал, я обрадовался, но скоро почувствовал, что пользоваться им неудобно. Может быть оригинал хорошо работает с родной TV-платой, но мне кажется это не так.

У меня была проблема в том, что нужно было очень точно нажимать на кнопки, чтобы получить желаемый результат. В противном случае пульт или не успевал сработать, или успевал сработать несколько раз в режиме автоповтора. С другой стороны, я обнаружил, что в родном софте от AverMedia паузы в режиме автоповтора неоправданно затянуты, примерно до 1 секунды.
Я решил не ломать голову и посмотреть, а как эта проблема решена в телевизоре. Все оказалось очень просто. Паузы после первого и последующих срабатываний пульта отличались примерно на порядок. Более того, это было справедливо только для настроек громкости, яркости и т.д., тогда как при переключении каналов паузы оставались значительными. Разумно.

Тогда я переделал код под эту последовательность, установив паузу после первого срабатывания - 1 секунда, а после следующих - на порядок меньше. Результат - в файле aver98vcr3.zip. Ну, небо и земля. Мне сразу стало жалко всех тех, кто, как я подозреваю, пользуется неоптимальными драйверами в JTV. Тут-то я и подумал, а что мне мешает помочь всем, кто этого хочет. Существуют программы, позволяющие считать код нажатой кнопки пульта и другие регистры контроллеров BT8x8 (мне нравится BTTool.exe), есть переработанный мной исходник в качестве образца и Интернет. Спасение утопающих - дело рук самих утопающих!

Процесс участия в создании драйвера пульта для любой TV-платы достаточно прост:
1. С этого сайта нужно скачать файл jtvremkey.zip в котором содержится программа считывания кодов кнопок, шаблоны текстовых файлов для заполнения и инструкция по применению.
2. Затем отредактировать и заполнить один из шаблонов так, чтобы он точно соответствовал используемой плате и пульту. Желательно также нарисовать, хотя бы схематично, раскладку кнопок пульта и привести все надписи на кнопках и самом пульте, - это можно сделать, например, в Word'е.
3. Заполненный файл (или файлы) выслать на адрес сайта или мой адрес.
4. Я, если смогу, разрабатываю драйвер, выкладываю его на сайт и высылаю автору для тестирования.
Если не смогу разработать сам - пытаюсь привлечь к этому других.
5. Мы все вместе обсуждаем, что получилось - заведена гостевая книга (Форум).
При желании и некотором умении, каждый может создать драйвер сам, на этом сайте лежит файл jtvremddk.zip с workspace под Microsoft Visual C++ 6.0, которым я сам пользуюсь при компиляции. Если нетрудно, пришлите мне Ваши результаты и я их выложу для всеобщего пользования.
Единственная просьба! Давайте не будем выдумывать новых названий кнопок для одних и тех же функций без необходимости и, пожалуйста, начинайте   определения кнопок с общей "Key_" последовательности для ВСЕХ TV-плат - подробности и примеры смотрите в архивах и спецификации проекта.

Кстати, на уровне драйвера (во всяком случае для моей платы) легко организовать выполнение команд по ОТЖАТОЙ кнопке или только при загруженном JVT. В качестве примера я сделал перемещение курсора мыши в соответствующих направлениях для отжатых кнопок 1 - 9 при незагруженном JTV и включенной эмуляции мыши, не знаю только кому это может понадобиться. : - ))

  Copyright © 2000-2002,  Иван Колин   ivkolin@mail.ru Наверх