USB control endpoint implementation class. More...
Public Member Functions | |
void | init () |
void | txComplete () |
void | setup (SetupData *setupData) |
![]() | |
virtual void | checkDescriptor (EndpointDescriptor *deviceDesriptor) |
virtual void | rxComplete (int length) |
void | startTx (int length) |
void | stall () |
Public Attributes | |
unsigned char | rxBuffer [64] |
unsigned char | txBuffer [64] |
![]() | |
unsigned char * | rxBufferPtr |
unsigned int | rxBufferSize |
unsigned int | rxPacketSize |
unsigned char * | txBufferPtr |
unsigned int | txBufferSize |
unsigned int | txPacketSize |
EndpointTransferType | transferType = INTERRUPT |
unsigned int | index |
UsbInterface * | interface |
UsbDevice * | device |
USB control endpoint implementation class.
This class does not need to be subclassed. It may be used as is as member of UsbDevice subclass.
Implements standard device requests. And forwards vendor specific requests to device, interfaces and endpoints.
|
inlinevirtual |
Endpoint initialization.
Called internally from the library.
UsbEndpoint::init() sets packet sizes based on buffer sizes, so the subclass should call super method after setting of rxPacketSize and txPacketSize properties.
Reimplemented from usbd::UsbEndpoint.
|
inlinevirtual |
Handler of endpoint control request.
May be overloaded to implement vendor request.
setupData |
Reimplemented from usbd::UsbEndpoint.
|
inlinevirtual |
Called when data transmitted.
May be overloaded to recognize completed data transmission.
Reimplemented from usbd::UsbEndpoint.
unsigned char usbd::UsbControlEndpoint::rxBuffer[64] |
unsigned char usbd::UsbControlEndpoint::txBuffer[64] |