Video e Audio > Desenvolvimento

Irfake

(1/2) > >>

Jefferson:
Neste tópico do moservices você aprende várias coisas:

http://www.moservices.org/forum/viewtopic.php?f=12&t=179

Com o programa "irfake" é possível fazer com que um determinado MP responda aos comandos de controle remoto de outro. Algo muito importante quando você está testando o firmware de outro MP no seu. Cada remoto é definido em uma seção do arquivo irfake.conf

O tópico também explica a estrutura dos códigos do controle remoto, que inclui até o fabricante. O que me leva a crer que não seja possível, mesmo com o irfake, usar um controle remoto genérico, como Philips e Samsung. Parece que precisa ser um controle remoto específico para MP Realtek.

Mais adiante no tópico você verá que existe um trabalho em andamento para tornar o MP Realtek compatível com HDMI CEC (poder operar tudo ligado por HDMI com um remoto só).

RobertoZoom:
bom dia a todos,

apenas a dizer que acompanho as contribuições do Ryan para a scene dos players mediatek (tive um philips 3100 e posteriores) e agora realtek 1073 . Estou com um S9 nas mãos (melhor coisa que já fiz) , e esperando chegar um S10 (com leitor de DVD, e parece-me que usa o mesmo firmware, assim vou substituir meu philips) , não sou especialista então vou estar aqui mais tentando colaborar como beta-tester, quando houver alguma modificação nos fws.

aí já deixo um pedido, uma atenção especial na implementação o mais fácil possivel do YAMJ (another movie jukebox) que o Ryan já colocou fotos acima, isto é um must-have que faz a diferença. Outra coisa que não sei se é possivel mudar (ou se é fácil) , os botões do controle remoto são MUITO mal posicionados,  o avanço e retrocesso tem que ser feitos em mínúsculos e mal posiconados botões embaixo, no entanto temos os botôes maiores em forma de pétala que presumiriam-se ser para isto (mas não tem utilidade quando o filme está rodando) , quem sabe atribuir-lhes também a função FF e FW ? . Sei que o trabalho vai no rítimo que tiver que ir, estou apenas dando uns toques, e todos saberemos ser pacientes .

[]s

Editado pela administração
Este tópico foi construído com posts de outro tópico, por isso Roberto Zoom faz referência a informações que estão aqui: http://ryan.com.br/smf/index.php?topic=706.0

Jefferson:
RobertoZoom,

Eu acredito que, usando o irfake, mudar o mapeamento dos botões do controle remoto seja algo trivial.

Porém é essencial que isso possa ser escolhido pelo usuário.

A propósito, é bom citar uma outra característica interessante do firmware Realtek: Embora mudar os menus que você vê pela TV não seja fácil, é possível instalar uma grande variedade de opções acessíveis pela interface web do aparelho. Isso já pode ser "testado" usando o firmware alternativo de Xanti. E uma das muitas opções que podemos instalar pode ser definir que mapeamento você deseja.

Em resumo: dificilmente nós vamos fazer um firmware com o mapeamento trocado, porque isso vai atrapalhar outros usuários. Porém é praticamente certo que coloquemos essa opção na interface web. 

Jefferson:
Com o irfake instalado no firmware é possível comandar o S9 para entrar em um menu automaticamente ao ser ligado. Por exemplo, se você quase sempre entra no menu MOVIES é um saco ter que apertar 4 vezes o botão RIGHT e depois o ENTER, sempre.

Isso pode ser contornado editando o arquivo /usr/local/etc/rcS. No final do arquivo acrescente as seguintes linhas:


--- Código: ---echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e1e1bf00' > /sys/devices/platform/VenusIR/fakekey

--- Fim de código ---
Infelizmente o comando sleep do Linux não tem suporte a pausa de fração de segundo, assim o processo irá levar 4 segundos. Não adianta remover as pausas porque o aparelho não suporta receber comandos na máxima velocidade do shell.

Vou tentar encontrar um meio simples de dar uma pausa fracionária, de preferência usando algo já incluso no s9.

rictad:

--- Citação de: Jefferson em Julho 24, 2011, 09:18:09 pm ---Com o irfake instalado no firmware é possível comandar o S9 para entrar em um menu automaticamente ao ser ligado. Por exemplo, se você quase sempre entra no menu MOVIES é um saco ter que apertar 4 vezes o botão RIGHT e depois o ENTER, sempre.

Isso pode ser contornado editando o arquivo /usr/local/etc/rcS. No final do arquivo acrescente as seguintes linhas:

echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e1e1bf00' > /sys/devices/platform/VenusIR/fakekey

Infelizmente o comando sleep do Linux não tem suporte a pausa de fração de segundo, assim o processo irá levar 4 segundos. Não adianta remover as pausas porque o aparelho não suporta receber comandos na máxima velocidade do shell.

Vou tentar encontrar um meio simples de dar uma pausa fracionária, de preferência usando algo já incluso no s9.

--- Fim de citação ---

Olá Ryan!

Algumas implementações do sleep aceitam ponto flutuante, como .5 ou .2. Se esse não for o caso, pode-se tentar o comando usleep. O usleep funciona como o sleep, porém em microssegundos: usleep 1000000 = sleep 1.

Caso o comando usleep não esteja disponível no bash dos realtek, podemos fazer uma pequena gambiarra: usar a seguinte linha (com ajustes na quantidade de loops) no lugar de cada sleep:


--- Código: ---for i in {1..100000}; do :; done
--- Fim de código ---

O comando : (dois pontos) é o NOP do bash. No exemplo, o comando será repetido 100 mil vezes. Mas caso isso seja rápido demais e precise ser ajustado para valores muito altos (ou caso o comando : não esteja disponível), podemos modificar um pouco:


--- Código: ---for i in {1..10000}; do echo > /dev/null; done
--- Fim de código ---

ou


--- Código: ---for i in {1..10000}; do echo ""> /dev/null; done
--- Fim de código ---

os comandos echo > /dev/null ou echo "" > /dev/null não produzem nada (como o NOP), mas como requerem um certo processamento, levam mais tempo. Em computadores bem parrudos, 100000 já dura em torno de 2 décimos de segundo. Acho que 10000 vezes (ou menos) nos realtek já vai dar um bom resultado.

Navegação

[0] Índice de mensagens

[#] Página seguinte

Responder

Ir para versão completa