API

API

La documentación de la API de la CWIID está en http://abstrakraft.org/cwiid/wiki/libcwiid, a continuación se exponen de forma somera las funciones más relevantes.

    • cwiid_open, establece conexión con un Wiimote.

      cwiid_wiimote_t *cwiid_open(bdaddr_t *bdaddr, int flags);


      bdaddr es el puntero que contendrá la dirección del Wiimote a conectar, si no se desea usar hay que establecerlo a *BDADDR_ANY.
      flags contiene las opciones que se usarán al conectar.

      Devolverá un puntero al gestor del wiimote o NULL en caso de error.

    • cwiid_close, termina la conexión con el Wiimote.

      int cwiid_close(cwiid_wiimote_t *wiimote);

      wiimote es el gestor del Wiimote a desconectar.

      Devolverá cero si se pudo realizar la desconexión o un valor distinto a cero en caso de error.

  • cwiid_get_id, devuelve el identificador asignado al Wiimote que será único en cada proceso.

    int cwiid_get_id(cwiid_wiimote_t *wiimote);

    wiimote es el gestor del Wiimote cuyo identificador se desea obtener.

    Devolverá el identificador en cuestión.
  • cwiid_enable, establece los modos de envío de mensajes del Wiimote, también pueden especificarse mediante el parámetro flags de cwiid_connect. Las diferentes opciones se explicarán más adelante.

    int cwiid_enable(cwiid_wiimote_t *wiimote, int flags);

    wiimote es el gestor del Wiimote cuyo modo de envío de mensajes establecer.
    flags especificará el modo de envío de mensajes.

    Devolverá cero si es pudo establecer el modo y un valor distinto a cero en caso de error.
  • cwiid_disable, desactiva modos de envío de mensajes.

    int cwiid_disable(cwiid_wiimote_t *wiimote, int flags);

    wiimote es el gestor de Wiimote cuyos modos desactivar.
    flags especificará los modos a desactivar.

    Devolverá cero si es pudo establecer el modo y un valor distinto a cero en caso de error.
  • cwiid_set_mesg_callback, establece la función de callback que recibirá los mensajes del Wiimote si está en modo de envío de mensajes.

    typedef void cwiid_mesg_callback_t(cwiid_wiimote_t *, int, union cwiid_mesg [], struct timespec *);
    int cwiid_set_mesg_callback(cwiid_wiimote_t *wiimote, cwiid_mesg_callback_t *callback);


    wiimote es el gestor de Wiimote cuya función de callback se desea establecer.
    callback es el puntero a la función de callback, deberá ser de tipo cwiid_mesg_callback_t.

    Devolverá cero si es pudo establecer el callback y un valor distinto a cero en caso de error.
  • cwiid_get_mesg, obtiene el conjunto de mensajes pendiente de enviar.

    int cwiid_get_mesg(cwiid_wiimote_t *wiimote, int *mesg_count, union cwiid_mesg *mesg[], struct timespec *timestamp)

    wiimote es el gestor de Wiimote a consultar.
    mesg_count es el número de mensajes que se devuelven.
    mesg es un array con los mensajes devueltos.
    timestamp es el instante de obtención del mensaje.

    Devolverá cero en caso de éxito y un valor distinto a cero en caso de error.
  • cwiid_get_state, obtiene el estado actual del wiimote.

    int cwiid_get_state(cwiid_wiimote_t *wiimote, struct cwiid_state *state);

    wiimote es el gestor de Wiimote a consultar.
    state es el estado actual.

    Devolverá cero en caso de éxito y un valor distinto a cero en caso de error.
  • cwiid_command, envía un comando a un Wiimote. Los diferentes comandos se verán más adelante.

    int cwiid_command(cwiid_wiimote_t *wiimote, enum cwiid_command command, int flags);

    wiimote es el gestor del Wiimote al que se enviará el comando.
    command es el comando que se enviará.
    flags son las opciones adicionales relativas al comando.

    Devolverá cero si se pudo enviar el comando y un valor distinto a cero en caso de error.
  • cwiid_set_rpt_mode, determina qué información del Wiimote se recibirá.

    int cwiid_set_rpt_mode(cwiid_wiimote_t *wiimote, uint8_t rpt_mode);

    wiimote es el gestor del Wiimote que se está configurando.
    rpt_mode selecciona la información que se recibirá.

    Devolverá cero si se pudo enviar el comando y un valor distinto a cero en caso de error.
  • cwiid_set_err, establece la función para mostrar los errores de la librería (no es particular de un Wiimote).

    typedef void cwiid_err_t(cwiid_wiimote_t *, const char *, va_list ap);
    int cwiid_set_err(cwiid_err_t *err);


    err es el puntero a la función de callback, deberá ser de tipo cwiid_err_t.

    Devuelve siempre cero.

 

Obra publicada con Licencia Creative Commons Reconocimiento 3.0