USB host library, support isochronous,bulk,interrupt and control.
Dependents: BaseUsbHost_example BaseJpegDecode_example SimpleJpegDecode_example
Import programBaseUsbHost_example
BaseUsbHost example program
Diff: BaseUsbHostIsoEp.cpp
- Revision:
- 3:ae77d63a1eda
- Parent:
- 2:fe1e62051d88
- Child:
- 4:d931d24c2f81
diff -r fe1e62051d88 -r ae77d63a1eda BaseUsbHostIsoEp.cpp --- 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; +}