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

Dependents:   BaseUsbHost_example BaseJpegDecode_example SimpleJpegDecode_example

Import programBaseUsbHost_example

BaseUsbHost example program

Revision:
3:ae77d63a1eda
Parent:
2:fe1e62051d88
Child:
4:d931d24c2f81
--- a/BaseUsbHostIsoEp.cpp	Tue Dec 11 15:26:54 2012 +0000
+++ b/BaseUsbHostIsoEp.cpp	Sun Jan 06 11:45:18 2013 +0000
@@ -1,4 +1,4 @@
-// BaseUsbHostIsoEp.cpp 2012/12/11
+// BaseUsbHostIsoEp.cpp 2012/12/31
 #include "mbed.h"
 #include "rtos.h"
 #include "BaseUsbHost.h"
@@ -46,18 +46,9 @@
     DBG_ED(m_pED);
 }
 
-void IsochronousEp::reset()
+void IsochronousEp::reset(int delay_ms)
 {
-    m_FrameNumber = LPC_USB->HcFmNumber + 100; // 100msec
-}
-
-void IsochronousEp::irqWdhHandler(HCTD* td)
-{
-    osStatus st = m_queue.put(td);
-    if (st != osOK) {
-        //led4_error = 1;
-    }
-    //led2 = !led2;
+    m_FrameNumber = LPC_USB->HcFmNumber + delay_ms;
 }
 
 HCITD* IsochronousEp::new_HCITD()
@@ -89,7 +80,6 @@
     return itd;
 }
 
-
 HCITD* IsochronousEp::isochronousReveive(int millisec)
 {
     TEST_ASSERT(m_itd_queue_count >= 0);
@@ -108,7 +98,7 @@
         m_pED->TailTd = reinterpret_cast<HCTD*>(blank_itd);
         m_itd_queue_count++;
         //DBG_IED(m_pED);
-        LPC_USB->HcControl |= OR_CONTROL_PLE; // Enable Periodic
+        enable(); // Enable Periodic
     }
     
     HCITD* itd = get_queue_HCITD(millisec);
@@ -145,3 +135,8 @@
     }
     return NULL;
 }
+
+void IsochronousEp::enable()
+{
+    LPC_USB->HcControl |= OR_CONTROL_PLE;
+}