A raíz de las notas que he tomado y las pruebas realizadas he escrito una breve documentación de la biblioteca cwiid para python. No está completa y seguramente contenga errores y equivocaciones, por lo que si veis alguna cosa rara o tenéis alguna sugerencia no dudéis en comentarlo.
(revisión 1.0)
cwiid.__doc__
CWiid Wiimote Interface
cwiid.__file__
/var/lib/python-support/python2.5/cwiid.so
cwiid.__name__
cwiid
Constantes
BATTERY_MAX
Indica el nivel máximo de batería, se utiliza para determinar el nivel actual de batería
BTN_UP
BTN_DOWN
BTN_LEFT
BTN_RIGHT
BTN_A
BTN_B
BTN_1
BTN_2
BTN_MINUS
BTN_PLUS
BTN_HOME
Botones del Wiimote
CLASSIC_BTN_A
CLASSIC_BTN_B
CLASSIC_BTN_DOWN
CLASSIC_BTN_HOME
CLASSIC_BTN_L
CLASSIC_BTN_LEFT
CLASSIC_BTN_MINUS
CLASSIC_BTN_PLUS
CLASSIC_BTN_R
CLASSIC_BTN_RIGHT
CLASSIC_BTN_UP
CLASSIC_BTN_X
CLASSIC_BTN_Y
CLASSIC_BTN_ZL
CLASSIC_BTN_ZR
CLASSIC_LR_MAX
CLASSIC_L_STICK_MAX
CLASSIC_R_STICK_MAX
Botones del mando clásico
CMD_LED
CMD_RPT_HOME
CMD_RUMBLE
CMD_STATUS
En la biblioteca de Python no tienen aplicación
ERROR_COMM
ERROR_DISCONNECT
Tipos de error
EXT_NONE
EXT_NUNCHUK
EXT_CLASSIC
EXT_UNKNOWN
Las distintas extensiones que soporta el mando
FLAG_CONTINUOUS
Habilita informes continuos del Wiimote
FLAG_MESG_IFC
Habilita el interfaz basado en mensajes (a través de callback)
FLAG_NONBLOCK
Provoca que get_mesg() se falle en lugar de bloquearse esperando un mensaje si la cola está vacia
FLAG_REPEAT_BTN
Se envía un mensaje por cada botón pulsado, aunque este no haya cambiado de estado
IR_SRC_COUNT
IR_X_MAX
IR_Y_MAX
Definiciones para el IR
LED1_ON
LED2_ON
LED3_ON
LED4_ON
Valores para encender/apagar los led
MAX_READ_LEN
Longitus máxima que puede leerse
MESG_ACC
MESG_BTN
MESG_CLASSIC
MESG_ERROR
MESG_IR
MESG_NUNCHUK
MESG_STATUS
MESG_UNKNOWN
Tipos de mensaje recibidos
NUNCHUK_BTN_C
NUNCHUK_BTN_Z
Botones del Nunchuk
RPT_ACC
RPT_BTN
RPT_CLASSIC
RPT_EXT
RPT_IR
RPT_NUNCHUK
RPT_STATUS
Establecen los distintos tipos de informe (reporting mode) del wiimote. Cada uno determina que dispositivo está activo y que datos deben ser enviados al host. Cada flag especifica un bit, por lo que deben establecerse por medio de funciones OR
RW_DECODE
RW_EEPROM
RW_REG
Flags para los registros del wiimote
X
Y
Z
Identificadores de los distintos ejes del wiimote
Métodos
Wiimote(bt_addrs)
Parámetros
bt_addrs: Dirección Bluetooth del wiimote
Descripción
Conecta con el Wiimote especificado o con el primero que encuentre si no se especifica mando
Valor de retorno
Un objeto Wiimote si la conexión ha tenido éxito
Class Wiimote()
Una vez creado un objeto de tipo Wiimote a través de cwiid.Wiimote() disponemos de los siguientes atributos y métodos para esta clase
Atributos
state
Diccionario con el estado actual del mando
mesg_callback
Función para tratar los mensajes enviados por el wiimote. Una vez se pone a funcionar el mando en un modo RPT_XXX este envía mensajes cada vez que sucede un evento. Estos mensajes son tratados con la función indicada en este atributo (La función debe haber sido declarada anteriormente)
rpt_mode
Modo de informes del mando: RPT_ACC, RPT_BTN, RPT_CLASSIC, RPT_IR, RPT_EXT, RPT_NUNCHUK, RPT_STATUS
led
Atributo para activar/desactivar los led
Ej: wiimote.led = cwiid.LED1_ON
wiimote.led = not cwiid.LED1_ON
rumble
Atributo para activar/desactivar la vibración
Ej: wiimote.rumble = 1
Métodos
close()
Descripción
Cierra la conexión con un objeto Wiimote
enable(flags)
Parámetros
FLAG_CONTINUOUS, FLAG_MESG_IFC, FLAG_NONBLOCK, FLAG_REPEAT_BTN
Descripción
Habilita los flags indicados
disable(flags)
Parámetros
FLAG_CONTINUOUS, FLAG_MESG_IFC, FLAG_NONBLOCK, FLAG_REPEAT_BTN
Descripción
Deshabilita los flags indicados
get_acc_cal(extension)
Parámetros
EXT_NONE, EXT_NUNCHUK, EXT_CLASSIC, EXT_UNKNOWN
Descripción
Devuelve una tupla ( (X,Y,Z) , (X,Y,Z) ) con la información sobre la calibración del acelerómetro
Valor de retorno
Tupla ( (X,Y,Z) , (X,Y,Z) )
get_mesg()
Descripción
Devuelve un mensaje de la cola, estos mensajes se recuperan por medio de "callback" o de esta función
Valor de retorno
Mensaje mas antiguo de la cola
read(flags, offset, lenght)
Parámetros
flags: RW_EEPROM, RW_REG, RW_DECODE
offset: Dirección de inicio
lenght: Longitud
Descripción
Lee datos desde el Wiimote, utiliza los flags RW_EEPROM, RW_REG (mutuamente exclusivos)para leer desde la memoria EEPROM o desde el registro. El flag RW_DECODE realiza cualquier decodificación de los datos leídos si es necesario.
Valor de retorno
Los datos leídos
write(flags, offset, buffer)
Parámetros
flags: RW_EEPROM, RW_REG, RW_DECODE
offset: Dirección de inicio
buffer: Información a escribir
Descripción
Escribe datos en el Wiimote, utiliza los flags RW_EEPROM, RW_REG (mutuamente exclusivos)para leer desde la memoria EEPROM o desde el registro. El flag RW_DECODE es ignorado.
request_status()
??
Referencia
http://abstrakraft.org/cwiid/wiki/libcwiid
No hay comentarios:
Publicar un comentario