
RC800
=====

RC800 es un plugin para Girder o ARC2000 que le permitir utilizar el mando a distancia
de su tarjeta capturadora de vdeo o televisin para controlar su ordenador.
Gracias a su amplia configurabilidad y a un mtodo de deteccin avanzado
incorporado en el plugin, se podr configurar fcilmente para cualquier tarjeta que
utilice un mando a distancia conectado a los puertos GPIO del chip de la tarjeta.

Los siguientes chips estn soportados:

- BT848
- BT849
- BT878
- BT879
- CX23880
- CX23881
- CX23882
- CX23883
- SAA7130
- SAA7133
- SAA7134
- SAA7135
- SAA7146

Para utilizar este plugin necesita el programa Girder o el ARC2000.

Puede descargar Girder en:
http://www.promixis.com/

Puede descargar ARC2000 en:
http://www.mikecrash.com/

El primero es de pago pero puede descargar una versin de prueba, tambin puede buscar
versiones antiguas del programa que no eran de pago, por ejemplo la 3.2.

El segundo es gratuito y forma parte de un conjunto de aplicaciones para tarjetas
capturadoras.


Autor
=====

Jeroni Paul - jeroni_paul@hotmail.com

Web: http://campus.uab.es/~2106707/


Licencia de uso
===============

Este software se licencia bajo los trminos de:

		  GNU LESSER GENERAL PUBLIC LICENSE
		       Version 2.1, February 1999

Vea el fichero lgpl.txt que acompaa al software para ms informacin o visite
http://www.gnu.org/home.html

Est disponible una traduccin no oficial al Castellano de la LGPL en:
http://gugs.sindominio.net/licencias/lgpl-es.html

El cdigo fuente del plugin se puede descargar en:
http://campus.uab.es/~2106707/RC800


Agradecimientos
===============

Desde aqu agradecemos a todo el equipo de DScaler por su magnfico software y driver
de cdigo abierto, a Mike Crash por su programa ARC2000 y a Ron Bessems
por Girder.

Proyecto DScaler: http://deinterlace.sourceforge.net/
Proyecto ARC2000: http://www.mikecrash.com/
Proyecto Girder : http://www.promixis.com/


Instalacin en Girder
=====================

Cierre completamente el programa Girder haciendo clic con el botn secundario 
del ratn en su icono y seleccionando Exit. A continuacin acceda al directorio
donde instal el programa y entre en la carpeta Plugins. Normalmente ser
C:\Archivos de programa\girder32\Plugins
o
C:\Archivos de programa\Promixis\Girder\Plugins
y copie el fichero Rc800.dll que ha descargado.

Si no tiene el programa DScaler instalado copie los ficheros DSDrv4.sys
y DSDrv4.vxd en el directorio del programa o del plugin.

Ejecute Girder y en la ventana principal acceda al men
File -> Settings y seleccione la pestaa Plugins.
Busque en la lista la entrada RC800 - BT8x8/CX2388x/SAA713x. Active su casilla
y pulse Apply para activar el plugin. Si es la primera vez que lo ejecuta
se abrir la ventana de configuracin, vea la seccin de Configuracin ms abajo para
ms informacin.

Instalacin en ARC2000
======================

Cierre completamente el programa ARC2000 haciendo clic con el botn secundario 
del ratn en su icono y seleccionando Exit.
A continuacin acceda al directorio donde instal el programa y acceda a la carpeta
Remotes. Normalmente ser:
C:\Archivos de programa\AMC2000\ARC2000\Remotes
y copie el fichero Rc800.dll que ha descargado.

Si no tiene el programa DScaler instalado copie los ficheros DSDrv4.sys
y DSDrv4.vxd en el directorio del programa o del plugin.

Ejecute ARC2000 y acceda al men Options, pestaa Remote. Seleccione Rc800 en el
desplegable Remote control y pulse OK. Si es la primera vez que lo ejecuta
se abrir la ventana de configuracin, vea la seccin de Configuracin ms abajo para
ms informacin.

Si no es la primera vez y desea reconfigurar el plugin, acceda al men Remote
Control -> Configure.


Parmetros para tarjetas conocidas
==================================

En la pgina Web de Rc800 puede encontrar configuraciones para tarjetas
conocidas.

Si encuentra los parmetros correctos para modelos de tarjetas no listados en la web,
por favor enve sus configuraciones a jeroni_paul@hotmail.com para ser aadidas.
Gracias por su colaboracin.

 
Configuracin
=============

La ventana de configuracin le permitir configurar los parmetros necesarios para
que el plugin funcione correctamente con su marca y modelo de tarjeta. Si no entiende
o no sabe como determinar los valores a introducir, intente utilizar la deteccin
automtica o la configuracin de otra tarjeta similar a la suya.

* Primera seccin: configuracin de la tarjeta

- Tarjeta: si tiene ms de una tarjeta instalada en su sistema puede seleccionar
la tarjeta que se utilizar en este desplegable.

- Intervalo de muestreo (ms): Indica cada cuanto tiempo se acceder a la tarjeta para
determinar si se ha pulsado o no un botn. El valor indica el tiempo en milisegundos.

* Segunda seccin: configuracin del mando

En esta seccin se configuran los puertos del chip donde est conectado el chip
receptor de infrarrojos. La conexin fsica depende del fabricante de la placa y
puede ser distinta incluso entre modelos y revisiones de placas. La forma ms fcil
de establecer los valores correctos es utilizando la autodeteccin (vean ms
abajo), pero si la autodeteccin no lo consigue es posible experimentar introduciendo
manualmente la configuracin de los puertos del chip. Si la autodeteccin ha funcionado
correctamente no es necesario que prosiga con este apartado.

La configuracin de los puertos del chip se representa mediante tres valores
hexadecimales de 8 dgitos cada uno. Cada dgito representa a 4 puertos GPIO
y los valores de 0 a F permiten establecer cualquier combinacin de ellos como
activo o inactivo, de acuerdo con la siguiente tabla.

0: 0000     8: 1000
1: 0001     9: 1001
2: 0010     A: 1010
3: 0011     B: 1011
4: 0100     C: 1100
5: 0101     D: 1101
6: 0110     E: 1110
7: 0111     F: 1111

Por ejemplo el valor 00001F00 se traduce como:
0000 0000 0000 0000 0001 1111 0000 0000

El bit de ms a la derecha del valor convertido representa el terminal GPIO_0 del
chip y el de ms a la izquierda el GPIO_32. Para los chips con 24 o 28 puertos GPIO,
los bits ms altos son ignorados.

El ejemplo anterior significa que se han activado los puertos del GPIO_8 al GPIO_12.
A continuacin detallamos lo que significa haber activado un puerto GPIO segn
la casilla donde se haga:

- Bit de pulsacin: Establece los puertos GPIO que se escucharn para determinar si
se ha pulsado un botn del mando a distancia. Los bits con valor 1 son puertos que
se sondearn y cuando se detecte el valor correcto en ellos se reportar el cdigo
del botn ledo al programa. Lo normal es que solo exista un bit activo, aunque
el plugin puede funcionar si no se activa ninguno.

- Valor: Estado en el que se hallarn los puertos activos del parmetro anterior para
que se interprete como un botn pulsado.

- Mscara de datos: Establece los puertos GPIO del chip donde se leer el cdigo del
botn pulsado. Los bits en estado 1 indican que dicho puerto se tomar como uno de
los bits del cdigo. Lo habitual es que existan 5 o 6 bits activados.

- Ignorar cambios de datos: Con este parmetro desactivado, el plugin considerar que se
ha pulsado un botn cuando el cdigo ledo cambie, a pesar que no se active el bit de
pulsacin. Por el contrario, si activa este parmetro se considerar que se ha pulsado
un botn solo cuando lo indique el bit de pulsacin. Si lo desactiva no es necesario
que configure el bit de pulsacin pero puede recibir pulsaciones indeseadas al soltar
un botn.

- Datos ledos: Se muestra el estado de los puertos del chip en tiempo real y sin ningn
tipo de filtrado. Aqu puede visualizar las seales aplicadas a todos los puertos GPIO
de su tarjeta para observar las que cambian cuando pulsa botones en su mando a
distancia y por lo tanto deducir la configuracin correcta para la mscara de datos.
Puede empezar probando con la mscara de pulsacin a cero y la opcin Ignorar cambios
de datos desactivada.

- Resultado: Muestra el cdigo del botn pulsado tal y como se enviar a la aplicacin
segn la mscara de datos introducida.


* Tercera seccin: configuracin de seales de salida

La mayora de tarjetas existentes al mercado no precisan configurar este apartado.
Los modelos que precisen ajustes en esta seccin se documentarn en la web a medida
que se vayan conociendo. No se recomienda jugar con estos valores porque es posible
daar la tarjeta introduciendo valores inapropiados. Hecha la advertencia de rigor,
es muy poco probable daarla pero no me responsabilizo de los daos y perjuicios 
ocasionados.

Si el mando no funciona, lo primero a intentar es instalar sus drivers oficiales.
Los drivers podran activar el chip de control remoto correctamente o configurar
el acuse de recibo, siendo innecesario hacerlo manualmente en este apartado.
Si los drivers no lo activan o entran en conflicto, se puede configurar el plugin
para que active el chip del sensor y le enve acuses de recibo.

Los puertos GPIO se pueden configurar como entradas de datos o como salidas. Algunos
fabricantes utilizan algunos de estos puertos en modo salida para encender el chip
receptor de infrarrojos o indicarle que ya se han ledo los datos. En tal caso, en
este apartado se podrn indicar los puertos GPIO a utilizar como salida de activacin
y/o como salida de acuse de recibo.

- Activacin del chip: Los bits activos indican los puertos GPIO que se utilizarn
como salida de activacin. Habitualmente solo se necesitar un bit.

- Valor: Indica el estado en que se establecern los puertos seleccionados en el
parmetro anterior para activar el chip. Un bit 0 indica una salida a nivel de tensin
bajo (0V) y un 1 indica nivel de tensin alto (5V).

- Notificacin al chip: Los bits activos indican los puertos GPIO que se utilizarn
como salidas para notificar al chip que ya se ha ledo el cdigo del botn pulsado.
Algunos chips necesitan recibir esta notificacin para continuar estando receptivos
a nuevas pulsaciones. Habitualmente solo ser necesario activar un bit.

- Valor: Indica el estado en el que se establecern los puertos seleccionados en el
parmetro anterior para enviar la notificacin al chip. En estado de reposo, el
puerto se mantendr en el estado opuesto al indicado.

- Duracin del pulso: tiempo en milisegundos que se mantendr la seal de notificacin
al chip tras recibir un nuevo cdigo.

- Enviar notificacin en cada lectura: Active esta casilla si el chip necesita la
notificacin incluso si no se pulsa ningn botn. Si habilita esta opcin se
enviar una notificacin en cada acceso se reciba o no un nuevo cdigo de botn.

- Botn Iniciar: aplica los parmetros introducidos para ver en tiempo real el
efecto sobre los datos ledos.

- Botn Enviar: enva una notificacin de recepcin al chip segn los datos
introducidos. Mientras la ventana de configuracin est abierta, la notificacin al
chip se desactiva automticamente para permitir ver el valor ledo en Datos ledos.

Nota: al iniciar la autodeteccin se activa la notificacin de recepcin.

* Cuarta seccin: Deteccin automtica

La deteccin automtica es un proceso mediante el cual el plugin intentar deducir
las configuraciones correctas para el bit y valor de pulsacin y la mscara de
datos. Los pasos a realizar son los siguientes:

- Sin pulsar ningn botn del mando, haga clic en el botn Autodeteccin.

- Espere unos segundos hasta que aparezca en la ventana inferior un mensaje indicando
que puede proseguir. Es muy importante que durante este tiempo de espera no pulse
ningn botn de su mando a distancia. Durante este tiempo se sondean todos los 
puertos GPIO para detectar y descartar aquellos que ya se estn utilizando para otros
propsitos.

- Pulse uno tras otro todos los botones de su mando a distancia. El objetivo es
generar todos los cdigos posibles, si su mando posee un botn de funcin
alternativa, utilcelo con todos los botones. Mientras va pulsando debera ver
un contador incrementando, si no es as el plugin no est leyendo los datos ya sea
porque el mando no est conectado en los puertos GPIO o porque se debe activar el
chip o configurar la notificacin de recibo correctamente.

- Una vez acabe de pulsar todos los botones, haga clic en Finalizar. En este momento
el plugin realizar un anlisis minucioso de todos los datos obtenidos para
calcular las configuraciones ms ptimas.


Preguntas ms frecuentes
========================

P: Recibo un mensaje de error informando que se necesitan los ficheros DSDrv4.sys y
DSDrv4.vxd.

R: Estos ficheros se deben copiar en la carpeta donde se ha instalado Girder o ARC2000.
Si el problema persiste, pruebe a copiarlos en la carpeta de plugins junto a la dll
o en el directorio de sistema de Windows (C:\WINDOWS\System32).

P: Se cuelga nada ms iniciar el plugin y busca algo en la disquetera

R: Esto puede ocurrir si se ha iniciado alguna vez un programa desde un disquete que
utilizara los drivers DScaler. Para arreglarlo, ponga un disquete que no contenga los
drivers, y ponga los drivers en su lugar (vea pregunta anterior).
Una vez que los cargue de su lugar ya no volver a buscarlos en la disquetera.

P: La autodeteccin dice que no tiene suficientes datos para configurar.
P: Los datos ledos no cambian por mucho que pulse botones en el mando.

R: Si el programa parece no ver los botones que se pulsan puede ocurrir que:
- El mando no tenga pilas o el sensor est mal conectado u otro problema de hardware
- Algunos chips parecen funcionar aleatoriamente en tarjetas Best Buy - pruebe a apagar
  completamente el PC y volverlo a encender tras medio minuto.
- La tarjeta utilice un mando conectado en el bus I2C
- Exista otro software leyendo el mando y enviando acuses de recibo al chip. Pruebe
  a cerrar cualquier utilidad del software original relacionada con el control remoto.
  Si entonces aparece el primer cdigo pulsado y no responde a ningn otro botn, ser
  necesario habilitar el envo de acuse de recibo con el cdigo correcto en el apartado
  de configuracin correspondiente.
- Sea necesario inicializar el chip o enviar acuses de recibo. Este plugin se puede
  configurar para hacer ambas cosas pero es necesario conocer qu puertos se deben
  establecer para iniciar el chip y/o enviar acuses de recibo.

P: El plugin empieza a enviar cdigos aleatorios al utilizar la tarjeta con otro programa.

R: La mscara de datos o de pulsacin tiene demasiados bits activados. Pruebe a
autodetectar nuevamente con el otro programa en funcionamiento.

P: La tarjeta deja de funcionar correctamente al iniciar el plugin.

R: Pruebe a desactivar la inicializacin del chip o el envo de acuses de recibo
estableciendo a ceros los cuatro valores de configuracin de salida. Una
configuracin incorrecta de estos parmetros puede interferir en el funcionamiento
normal de la tarjeta. En algunos casos puede ser necesario apagar el equipo
completamente para restablecer su funcionamiento.

P: Cuando pulso un botn hace como si lo hubiera pulsado muchas veces.
P: Debo mantener pulsado un botn mucho tiempo para que lo detecte o debo insistir.
P: Como cambio el ritmo de repeticin de un botn?

R: No hay una forma directa de controlar el ritmo de repeticin de un botn porque
depende del chip utilizado como receptor/descodificador IR en la tarjeta. Pero
estableciendo el tiempo entre muestras adecuadamente es posible corregir en gran
medida este tipo de problemas. Si al pulsar hay problemas de repeticin excesivamente
rpida, aumente el tiempo entre muestras, si por el contrario el sistema parece
tener dificultades en detectar una pulsacin, redzcalo.

P: Hay algunos botones del mando que generan el mismo cdigo

R: Este problema ocurre cuando no se han activado bits en la mscara de datos que
forman parte del cdigo del botn. Si se ha utilizado la deteccin automtica puede ocurrir
que no se hayan pulsado todos los botones del mando durante el proceso o que se
hubieran pulsado botones durante los segundos de espera iniciales donde se pide que
no se pulse ningn botn. Pruebe a repetir la autodeteccin siguiendo las instrucciones
correctamente. Tambin puede ocurrir si se configura incorrectamente la activacin del chip
o la notificacin de recepcin.

P: El plugin queda enviando cdigos pulse o no un botn

R: Para empezar pruebe a activar la casilla Ignorar cambios de datos. Si tras Aceptar
el problema persiste, desactive Ignorar cambios de datos y pruebe a establecer a cero
la mscara de pulsacin y pulse Aceptar.

P: El plugin queda enviando cdigos excepto cuando se pulsa un botn

R: Cambie todos los ceros por unos y los unos por ceros en la casilla Valor ubicada a
la derecha del parmetro Bit de pulsacin.

