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/USBEndpoint.h
- Revision:
- 8:6463cd1964c0
- Parent:
- 5:10bfc10afcc8
- Child:
- 9:7f9f64cf5ded
--- a/USBHost/USBEndpoint.h Tue Jan 28 06:50:12 2014 +0000 +++ b/USBHost/USBEndpoint.h Fri Jan 31 13:45:07 2014 +0000 @@ -1,22 +1,54 @@ +/* mbed USBHost Library + * Copyright (c) 2006-2013 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #pragma once #include "USBHostTypes.h" +#include "USBDeviceConnected.h" +class USBDeviceConnected; class USBEndpoint { public: - USBEndpoint() : data01_toggle(DATA0),address(0),MaxPacketSize(8) {} + USBEndpoint() : data01_toggle(DATA0),address(0),MaxPacketSize(8) { + dev = NULL; + } + void setDevice(USBDeviceConnected* _dev) { dev = _dev; } void setState(uint8_t st){}; // dummy + void setLengthTransferred(int len) { transferred = len; }; void setSize(int size) { MaxPacketSize = size; } + void setType(ENDPOINT_TYPE _type) { type = _type; }; void setAddress(uint8_t addr) { address = addr; } void setData01(uint8_t data01) { data01_toggle = data01; } + + USBDeviceConnected* getDevice() { return dev; } + ENDPOINT_TYPE getType() { return type; }; + int getLengthTransferred() { return transferred; } uint8_t getAddress(){ return address; }; int getSize() { return MaxPacketSize; } + ENDPOINT_DIRECTION getDir() { return (address & 0x80) ? IN : OUT; } uint8_t getData01() { return data01_toggle; } void toggleData01() { data01_toggle = (data01_toggle == DATA0) ? DATA1 : DATA0; } private: + ENDPOINT_TYPE type; + ENDPOINT_DIRECTION dir; + USBDeviceConnected* dev; uint8_t data01_toggle; // DATA0,DATA1 uint8_t address; + int transferred; int MaxPacketSize; };