EasyManua.ls Logo

Espressif ESP32-S2 - Page 508

Espressif ESP32-S2
1695 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Chapter 2. API Reference
struct usb_isoc_packet_desc_t
Isochronous packet descriptor.
If the number of bytes in an Isochronous transfer is larger than the MPS of the endpoint, the transfer is split into
multiple packets transmitted at the endpoints specified interval. An array of Isochronous packet descriptors
describes how an Isochronous transfer should be split into multiple packets.
Public Members
int num_bytes
Number of bytes to transmit/receive in the packet. IN packets should be integer multiple of MPS
int actual_num_bytes
Actual number of bytes transmitted/received in the packet
usb_transfer_status_t status
Status of the packet
struct usb_transfer_s
Public Members
uint8_t *const data_buffer
Pointer to data buffer
const size_t data_buffer_size
Size of the data buffer in bytes
int num_bytes
Number of bytes to transfer. Control transfers should include the size of the setup packet. Isochronous
transfer should be the total transfer size of all packets. For non-control IN transfers, num_bytes should
be an integer multiple of MPS.
int actual_num_bytes
Actual number of bytes transferred
uint32_t flags
Transfer flags
usb_device_handle_t device_handle
Device handle
uint8_t bEndpointAddress
Endpoint Address
usb_transfer_status_t status
Status of the transfer
uint32_t timeout_ms
Timeout (in milliseconds) of the packet (currently not supported yet)
usb_transfer_cb_t callback
Transfer callback
void *context
Context variable for transfer to associate transfer with something
const int num_isoc_packets
Only relevant to Isochronous. Number of service periods (i.e., intervals) to transfer data buffer over.
usb_isoc_packet_desc_t isoc_packet_desc[0]
Descriptors for each Isochronous packet
Espressif Systems 497
Submit Document Feedback
Release v4.4

Table of Contents