Simple USBHost library for STM32F746NG Discovery board. Only either the Fastspeed or the Highspeed port can be used( not both together)
Dependents: DISCO-F746NG_USB_Host
Fork of KL46Z-USBHost by
Diff: USBHost/USBDeviceConnected.h
- Revision:
- 9:7f9f64cf5ded
- Parent:
- 8:6463cd1964c0
- Child:
- 10:40c7f6788902
--- a/USBHost/USBDeviceConnected.h Fri Jan 31 13:45:07 2014 +0000 +++ b/USBHost/USBDeviceConnected.h Mon Feb 03 13:00:16 2014 +0000 @@ -17,19 +17,25 @@ #include "USBEndpoint.h" #include "USBHostConf.h" +#include "myqueue.h" +#include "mymap.h" class USBEndpoint; -typedef struct { +struct INTERFACE { + INTERFACE() { + in_use = false; + intf_class = 0; + intf_subclass = 0; + intf_protocol = 0; + ep.clear(); + } bool in_use; - uint8_t nb_endpoint; uint8_t intf_class; uint8_t intf_subclass; uint8_t intf_protocol; - USBEndpoint * ep[MAX_ENDPOINT_PER_INTERFACE]; - //FunctionPointer detach; - //char name[10]; -} INTERFACE; + myqueue<USBEndpoint*>ep; +}; /** * USBDeviceConnected class @@ -83,14 +89,6 @@ bool addInterface(uint8_t intf_nb, uint8_t intf_class, uint8_t intf_subclass, uint8_t intf_protocol); /** - * Get a specific interface - * - * @param index index of the interface to be fetched - * @returns interface - */ - INTERFACE * getInterface(uint8_t index); - - /** * Disconnect the device by calling a callback function registered by a driver */ void disconnect(); @@ -122,7 +120,7 @@ USBEndpoint* getEpCtl() { return ep_ctl; } private: - INTERFACE intf[MAX_INTF]; + mymap<int,INTERFACE*>intf; uint8_t hub_nb; uint8_t port; uint16_t vid;