USB host library, support isochronous,bulk,interrupt and control.
Dependents: BaseUsbHost_example BaseJpegDecode_example SimpleJpegDecode_example
Import programBaseUsbHost_example
BaseUsbHost example program
Diff: BaseUsbHostHub.cpp
- 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);