USB interface base class. More...
Public Member Functions | |
virtual void | init () |
virtual UsbEndpoint * | getEndpoint (int index)=0 |
virtual void | setup (SetupData *setupData) |
virtual void | checkDescriptor (InterfaceDescriptor *interfaceDesriptor) |
virtual const char * | getLabel () |
Public Attributes | |
UsbDevice * | device |
USB interface base class.
Interface usually has one or more endpoints.
Typical subclass of UsbInterface class looks like:
|
inlinevirtual |
Called when generating interface descriptor.
Called internally from the library.
May be overloaded to modify the default descriptor.
interfaceDesriptor |
|
pure virtual |
Gets endpoint by index.
Must be overloaded by the subclass.
Called internally from the library.
index | zero based in scope of interface |
|
inlinevirtual |
Get string identifier of the interface.
May be overloaded by the subclass.
|
inlinevirtual |
Interface initialization.
Called internally from the library.
UsbEndpoint::init() is responsible for calling init() method of endpoints.
|
inlinevirtual |
Handler of interface control request.
May be overloaded to implement vendor request.
setupData |
UsbDevice* usbd::UsbInterface::device |
Owner device. This property is set internally by the library.