|
Программирование для PSP Вы программист? Welcome сюда... |
08.09.2007, 05:15
|
Сообщение: #1 (510999)
|
Прошивка: 3.40 OE-A
Регистрация: 16.03.2007
Адрес: Москва
Возраст: 38
Сообщений: 9
Вы сказали Спасибо: 5
Поблагодарили 11 раз(а) в 5 сообщениях
Сила репутации: 0Репутация: 4 
(с надеждой на лучшее)
|
Обучаем IrDA
Как известно, для управления техникой при помощи ИК порта нужны коды сигналов передаваемых этой технике. Но зачастую (а это 100% моей домашней техники) эти коды найти практически нереально.
Имеется идея интуитивного обучения PSP этим кодам:
- Переводим ИК порт в режим прослушивания
- При помощи ПДУ нужного нам устройства передаём сигнал
- Указываем какой команде будет соответствовать этот сигнал
- Переводим ИК порт в режим посыла и "палим" в технику полученным сигналом
Почему это не реально, и почему до сих пор ни одно из виданных мною homebrew приложений это не реализует?
|
|
|
08.09.2007, 16:02
|
Сообщение: #2 (511270)
|
Прошивка: Slim&Light 3.90 M33
Другие консоли: SONY PLAYSTATION THREE & Nintendo Wii
Регистрация: 10.03.2006
Адрес: Москва
Сообщений: 2,407
Вы сказали Спасибо: 810
Поблагодарили 2,294 раз(а) в 756 сообщениях
Сила репутации: 1Репутация: 1508 
(обеспечено прекрасное будущее)
|
Сообщение от XProger
Как известно, для управления техникой при помощи ИК порта нужны коды сигналов передаваемых этой технике. Но зачастую (а это 100% моей домашней техники) эти коды найти практически нереально.
Имеется идея интуитивного обучения PSP этим кодам:
- Переводим ИК порт в режим прослушивания
- При помощи ПДУ нужного нам устройства передаём сигнал
- Указываем какой команде будет соответствовать этот сигнал
- Переводим ИК порт в режим посыла и "палим" в технику полученным сигналом
Почему это не реально, и почему до сих пор ни одно из виданных мною homebrew приложений это не реализует?
|
Пробовал я это, делал, не слушается техника. Видимо так какие-то прерывания не учитываются при такой отсылке, вобщем хз, но не пашет такая схема 100%
|
|
|
10.09.2007, 10:39
|
Сообщение: #3 (512615)
|
Прошивка: 5.50 gen-c
Другие консоли: PS3(CECHC 60Gb), DS lite, x360(20Gb/120Gb)
Регистрация: 11.05.2007
Возраст: 43
Сообщений: 2,510
Вы сказали Спасибо: 337
Поблагодарили 986 раз(а) в 579 сообщениях
Сила репутации: 1Репутация: 946 
(это имя известно всем)
|
Последний раз редактировалось l3VGV; 10.09.2007 в 11:13.
|
|
|
18.09.2007, 15:19
|
Сообщение: #4 (518840)
|
Прошивка: 5.50GEN-D3
Другие консоли: ps2
Регистрация: 06.01.2007
Сообщений: 542
Вы сказали Спасибо: 343
Поблагодарили 873 раз(а) в 308 сообщениях
Сила репутации: 1Репутация: 607 
(луч света в тёмном царстве)
|
Я как раз благодаря этой идее попал в этот раздел.
Просто тупое копирование трафика с пульта ДУ и последующее его посылание на целевое устройство не дали результата.
(хотя я потом проверил - трафик передаваемый моей псп был полностью аналогичен тому что был принят).
Тогда я подумал, что при поступлении сигнала (первого байта) надо запустить цикл который будет не просто ловить трафик, но и еще скорость поступления трафика, обозначая в логе специальным символом паузу в сигнале)(скажем потом в случае не поступания сигнала в течении 100-300 мсек означает что сигнал кончился).
В ообщем написать 2 функции:
1. ловит трафик, и когда начинает поступать сигнал - записывать сигнал в лог + отсчитывать паузу в сигнала.
(в идеале вообще было бы хорошо привязать все это к системному времени в псп, а не просто циклом отсчитывать паузу, правда я не знаю, как можно было бы выполнить привязку к системному времени псп)
2. открывает файл с сохраненным сигналом и посылает его через irda.
Последний раз редактировалось anton85; 18.09.2007 в 15:25.
|
|
|
18.09.2007, 15:32
|
Сообщение: #5 (518853)
|
Прошивка: Slim&Light 3.90 M33
Другие консоли: SONY PLAYSTATION THREE & Nintendo Wii
Регистрация: 10.03.2006
Адрес: Москва
Сообщений: 2,407
Вы сказали Спасибо: 810
Поблагодарили 2,294 раз(а) в 756 сообщениях
Сила репутации: 1Репутация: 1508 
(обеспечено прекрасное будущее)
|
Там, возможно я неправ, идёт битовый паттерн. Т.е. например 3 бита отослал, пауза, потом ещё 7 - типа код устройства.. и.т.п.
Потому если ты замеришь время получения 1 байта(или всех) - ты не будешь точно знать где пауза.
ИМХО.
|
|
|
18.09.2007, 16:21
|
Сообщение: #6 (518900)
|
Прошивка: 3.40 OE-A
Регистрация: 16.03.2007
Адрес: Москва
Возраст: 38
Сообщений: 9
Вы сказали Спасибо: 5
Поблагодарили 11 раз(а) в 5 сообщениях
Сила репутации: 0Репутация: 4 
(с надеждой на лучшее)
|
Супер! О паузах я даже и не задумывался...
Попробую отловить их через sceRtcGetCurrentTick
|
|
|
18.09.2007, 16:25
|
Сообщение: #7 (518906)
|
Прошивка: 5.50GEN-D3
Другие консоли: ps2
Регистрация: 06.01.2007
Сообщений: 542
Вы сказали Спасибо: 343
Поблагодарили 873 раз(а) в 308 сообщениях
Сила репутации: 1Репутация: 607 
(луч света в тёмном царстве)
|
XProger, отпишись о результатах, а если не жалко, то выложи код, которым будешь пытаться реализовать.
|
|
|
23.10.2007, 14:22
|
Сообщение: #8 (546972)
|
Прошивка: 5.50GEN-D3
Другие консоли: ps2
Регистрация: 06.01.2007
Сообщений: 542
Вы сказали Спасибо: 343
Поблагодарили 873 раз(а) в 308 сообщениях
Сила репутации: 1Репутация: 607 
(луч света в тёмном царстве)
|
В ообщем я пытался реализовать запись пауз в файл и потом создание пауз при отправке их через ir - но не осилил из-за моего уровня программирования, и неправильного подхода.
В ообщем если кто-то еще захочет в этом покопаться - то сперва надо получить быстрый прием и быструю передачу без потерь данных текста через IR (это можно сделать только на двух псп - чтобы действительно хорошо проконтролировать этот процесс).
После того как прием передача проверены на стабильность - тем или иным способом реализовать паузы, причем проверить чтобы они оказались одинаковыми при приеме и передаче.
После этого думаю все заработает.
tv-control.zip (pass: "www.pspx.ru", 20 кб, src + eboot.pbp)
Последний раз редактировалось anton85; 23.10.2007 в 14:24.
|
|
|
23.10.2007, 15:57
|
Сообщение: #9 (547034)
|
Прошивка: Slim&Light 3.90 M33
Другие консоли: SONY PLAYSTATION THREE & Nintendo Wii
Регистрация: 10.03.2006
Адрес: Москва
Сообщений: 2,407
Вы сказали Спасибо: 810
Поблагодарили 2,294 раз(а) в 756 сообщениях
Сила репутации: 1Репутация: 1508 
(обеспечено прекрасное будущее)
|
Ваще, имхо, открывать инфракрасный порт нада с параметром PSP_O_NOWAIT
т.е. так -
irdafd = sceIoOpen("irda0:", PSP_O_RDWR | PSP_O_NOWAIT, 0);
А то есть подозрение, все твои паузы контроллер ИК-порта переждал в таймауте. А так можно надеяца поймать паузу за хвост...
Хотя конечно муть всё это...
|
|
|
Этот пользователь сказал Спасибо pspowner за это полезное сообщение:
|
|
Этот пользователь сказал Спасибо за это полезное сообщение:
|
|
23.10.2007, 17:57
|
Сообщение: #11 (547173)
|
Прошивка: 5.50GEN-D3
Другие консоли: ps2
Регистрация: 06.01.2007
Сообщений: 542
Вы сказали Спасибо: 343
Поблагодарили 873 раз(а) в 308 сообщениях
Сила репутации: 1Репутация: 607 
(луч света в тёмном царстве)
|
Ну у IRshell'ского плагина хватает скорости на передачу сигнала взятого из pronto-кода, исходя из этого можно думать что скорости чтения тоже должно хватить чтобы получить копию сигнала с пульта.
Я тут смотрел в нете - даже для мобильных есть Java приложения (коммерческие) которые обеспечивают управление через ИК и с функцией обучения кодам.
Последний раз редактировалось anton85; 23.10.2007 в 18:04.
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 05:08. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.
|
|
|