Funciones necesarias
Funciones necesarias
La comunicación con el Wiimote puede realizarse de dos formas: informando de datos y estados (mediante reports) o escribiendo en registros. Hasta ahora este detalle ha sido transparente para el usuario, pero es necesario bajar a este nivel para generar sonidos.
cwiid_send_rpt se usa para enviar reports. Existe en las versiones más recientes de CWIID aunque no en la 0.6.00 (puede comprobarse en cwiid.h) por lo que para disponer de ella es necesario usar la versión de CWIID disponible en https://github.com/abstrakraft/cwiid.
int cwiid_send_rpt(cwiid_wiimote_t *wiimote, uint8_t flags, uint8_t report, size_t len, const void *data);
wiimote es el gestor del Wiimote al que se enviará el report.
flags son las opciones asociadas al envío aunque en realidad no se usan.
report es el tipo de report que se envía.
len es la longitud del dato que se envía.
data es el dato que se envía como report.Devuelve -1 si se produjo un error y 0 en caso contrario.
exec_write_seq sirve para enviar secuencias de reports y escrituras en registro.
int exec_write_seq(struct wiimote *wiimote, unsigned int len, struct write_seq *seq);
wiimote es el gestor del Wiimote al que se enviará la secuencia.
len es la longitud de la secuencia a enviar.
seq es la secuencia a enviar.Devuelve -1 si se produjo un error y 0 en caso contrario.
Las secuencias a enviar mediante exec_write_seq son arrays de write_seq, estructura compuesta por los siguientes elementos:
- type, tipo de secuencia definido por el enumerado write_seq_type.
- report_offset, ubicación del registro a escribir o número del report a enviar.
- data, dato a enviar.
- len, longitud del dato a enviar.
- flags, opciones asociadas al envío.