Simple USBHost library for Nucleo F446RE/F411RE/F401RE FRDM-KL46Z/KL25Z/F64F LPC4088/LPC1768
Dependents: F401RE-BTstack_example F401RE-USBHostMSD_HelloWorld
Fork of KL46Z-USBHost by
簡易USBホストライブラリです。
official-USBHostの下位互換で対応プログラムを僅かな修正で動かすことが出来ます。
Platforms
- Nucleo F446RE
- Nucleo F411RE
- Nucleo F401RE
- FRDM-K64F
- FRDM-KL46Z
- FRDM-KL25Z
- LPC4088
- LPC1768
Nucleo F446RE/F411RE/F401REのUSB接続方法
ST morpho | USB |
---|---|
U5V (CN10-8) | VBUS (1 RED) |
PA11 (CN10-14) | DM (2 WHITE) |
PA12 (CN10-12) | DP (3 GREEN) |
GND (CN10-20) | GND (4 BLACK) |
Examples
Import programF446RE-USBHostMouse_HelloWorld
USBHostMouse Hello World for ST-Nucleo-F446RE
Import programF401RE-USBHostMSD_HelloWorld
Simple USBHost MSD(USB flash drive) for Nucleo F401RE/FRDM-KL46Z test program
Import programF401RE-USBHostC270_example
Simple USBHost WebCam test program
Import programK64F_USBHostC270_example
Simple USBHost C270 example
Import programF401RE-BTstack_example
BTstack for Nucleo F401RE/FRDM-KL46Z example program
Import programUSBHostRSSI_example
Bluetooth device discovery example program.
Import programKL46Z-USBHostGPS_HelloWorld
Simple USBHost GPS Dongle Receiver for FRDM-KL46Z test program
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;