Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: GR-PEACH_HVC-P2_sample_client mbed-os-storage-access GR-PEACH_Digital_Signage GR-PEACH_Audio_Playback_Sample ... more
Fork of USBHost by
Diff: USBHost/USBHost.h
- Revision:
- 8:93da8ea2708b
- Parent:
- 6:1571e517a91b
- Child:
- 9:7671b6a8c363
diff -r e7e63ac7ae5f -r 93da8ea2708b USBHost/USBHost.h
--- a/USBHost/USBHost.h Wed Mar 13 17:30:42 2013 +0000
+++ b/USBHost/USBHost.h Thu Mar 14 11:49:53 2013 +0000
@@ -1,20 +1,18 @@
-/* Copyright (c) 2010-2012 mbed.org, MIT License
-*
-* Permission is hereby granted, free of charge, to any person obtaining a copy of this software
-* and associated documentation files (the "Software"), to deal in the Software without
-* restriction, including without limitation the rights to use, copy, modify, merge, publish,
-* distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
-* Software is furnished to do so, subject to the following conditions:
-*
-* The above copyright notice and this permission notice shall be included in all copies or
-* substantial portions of the Software.
-*
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-* BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
+/* 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.
+ */
#ifndef USBHOST_H
#define USBHOST_H
@@ -27,7 +25,10 @@
#include "dbg.h"
#include "USBHostHub.h"
-// singleton class
+/**
+* USBHost class
+* This class is a singleton. All drivers have a reference on the static USBHost instance
+*/
class USBHost : public USBHALHost {
public:
/**
@@ -127,6 +128,13 @@
USB_TYPE enumerate(USBDeviceConnected * dev, IUSBEnumerator* pEnumerator);
/**
+ * reset a specific device
+ *
+ * @param dev device which will be resetted
+ */
+ USB_TYPE resetDevice(USBDeviceConnected * dev);
+
+ /**
* Get a device
*
* @param index index of the device which will be returned
@@ -136,13 +144,6 @@
USBDeviceConnected * getDevice(uint8_t index);
/*
- * reset a specific device
- *
- * @param dev device which will be resetted
- */
- USB_TYPE resetDevice(USBDeviceConnected * dev);
-
- /**
* If there is a HID device connected, the host stores the length of the report descriptor.
* This avoid to the driver to re-ask the configuration descriptor to request the report descriptor
*
@@ -186,6 +187,17 @@
}
}
+ friend class USBHostHub;
+
+protected:
+
+ /**
+ * Virtual method called when a transfer has been completed
+ *
+ * @param addr list of the TDs which have been completed
+ */
+ virtual void transferCompleted(volatile uint32_t addr);
+
/**
* Virtual method called when a device has been connected
*
@@ -204,22 +216,6 @@
* @param addr list of the TDs which have been completed to dequeue freed TDs
*/
virtual void deviceDisconnected(int hub, int port, USBHostHub * hub_parent, volatile uint32_t addr);
-
- /**
- * Free a specific device
- *
- * @param dev device to be freed
- */
- void freeDevice(USBDeviceConnected * dev);
-
-protected:
-
- /**
- * Virtual method called when a transfer has been completed
- *
- * @param addr list of the TDs which have been completed
- */
- virtual void transferCompleted(volatile uint32_t addr) ;
private:
@@ -347,6 +343,13 @@
*/
USB_TYPE setConfiguration(USBDeviceConnected * dev, uint8_t conf);
+ /**
+ * Free a specific device
+ *
+ * @param dev device to be freed
+ */
+ void freeDevice(USBDeviceConnected * dev);
+
USB_TYPE controlTransfer( USBDeviceConnected * dev,
uint8_t requestType,
uint8_t request,
