USB host library, support isochronous,bulk,interrupt and control.

Dependents:   BaseUsbHost_example BaseJpegDecode_example SimpleJpegDecode_example

Import programBaseUsbHost_example

BaseUsbHost example program

Revision:
4:d931d24c2f81
Parent:
3:ae77d63a1eda
--- a/BaseUsbHostHub.cpp	Sun Jan 06 11:45:18 2013 +0000
+++ b/BaseUsbHostHub.cpp	Fri Jan 25 14:51:33 2013 +0000
@@ -1,8 +1,8 @@
-// BaseUsbHostHub.cpp 2013/1/6
+// BaseUsbHostHub.cpp 2013/1/25
 #include "mbed.h"
 #include "rtos.h"
 #include "BaseUsbHost.h"
-#define DEBUG
+//#define DEBUG
 #include "BaseUsbHostDebug.h"
 #define TEST
 #include "BaseUsbHostTest.h"
@@ -34,17 +34,17 @@
     } else {
         m_ctlEp = ctlEp;
     }
-    uint8_t desc[9];
-    int rc = m_ctlEp->GetDescriptor(1, 0, desc, sizeof(desc));
+    CTASSERT(sizeof(StandardDeviceDescriptor) == 18);
+    StandardDeviceDescriptor devdesc;
+    int rc = m_ctlEp->GetDescriptor(1, 0, reinterpret_cast<uint8_t*>(&devdesc), sizeof(StandardDeviceDescriptor));
     TEST_ASSERT(rc == USB_OK);
     if (rc != USB_OK) {
         return;
     }
-    DBG_HEX(desc, sizeof(desc));
-    TEST_ASSERT_TRUE(desc[0] == 0x12);
-    TEST_ASSERT_TRUE(desc[1] == 0x01);
-    TEST_ASSERT_TRUE(desc[4] == 0x09); // hub
-    if (desc[4] != 0x09) { // hub ?
+    TEST_ASSERT_TRUE(devdesc.bLength == 0x12);
+    TEST_ASSERT_TRUE(devdesc.bDescriptorType == 0x01);
+    TEST_ASSERT_TRUE(devdesc.bDeviceClass == 0x09); // hub
+    if (devdesc.bDeviceClass != 0x09) { // hub ?
         return;
     }
     CTASSERT(sizeof(HubDescriptor) == 9);
@@ -58,7 +58,7 @@
     TEST_ASSERT(hubdesc.bDescLength == 9); // length
     TEST_ASSERT(hubdesc.bDescriptorType == 0x29); // hub
     TEST_ASSERT(hubdesc.bNbrPorts >= 1);
-    TEST_ASSERT(hubdesc.bNbrPorts <= 7);
+    TEST_ASSERT(hubdesc.bNbrPorts <= 16);
 
     m_ctlEp->SetConfiguration(1);