usbdGetFrame
Finalidad
Obtiene el número de trama y la velocidad actual para los puntos finales isocronos.
Sintaxis
#include <usbdi.h>
USBstatus usbdGetDescriptors(handle, pFrame, pSpeed)
USBhandle handle;
uint16_t *pFrame;
uint8_t *pSpeed;Parámetro
| Elemento | Descripción |
|---|---|
| descriptor de contexto | Manejador de dispositivo lógico USB abierto que devuelve USBD_OPEN_DEVICE fp_ioctl. |
| pFrame | Ubicación para obtener los detalles específicos del dispositivo, como la dirección, el número de configuración y el número de interfaz. |
| pSpeed | Ubicación para almacenar la velocidad actual. |
Descripción
El controlador de cliente USB utiliza esta función para obtener el número de trama actual para el controlador de host al que está conectado el dispositivo. Esta función se utiliza para las tuberías isocronosas.
Si el dispositivo está a toda velocidad, esta solicitud guarda el número de bastidor actual en la ubicación especificada por pFrame y el valor USBD_FULL_SPEED en la ubicación especificada por pSpeed. Si el dispositivo es de alta velocidad, esta solicitud guarda el número de microtrama actual en la ubicación especificada por pFrame y el valor USBD_HIGH_SPEED en la ubicación especificada por pSpeed.
El puntero pSpeed puede ser NULL si el controlador de cliente no necesita conocer el valor.
El valor USBD_X_Unimplementado (definido en el archivo /usr/include/sys/usbdi.h ) se devuelve si isochronous no está soportado en el controlador de host al que está conectado el dispositivo.
Entorno de ejecución
Esta función sólo se puede llamar desde el entorno de proceso de kernel.
Valores de retorno
| Valor | Descripción |
|---|---|
| USBD_SUCCESS | Satisfactorio |
| Todos los demás | Anomalía |