supported GR-PEACH original: http://developer.mbed.org/users/va009039/code/USBHostC270_example/ The function of Isochronous has moved to USBHost_AddIso library.
Dependencies: USBHost_custom_Addiso
Fork of USBHostC270_example_GR-PEACH by
Diff: USBHostC270/USBHostC270.cpp
- Revision:
- 11:6a8eef89eb22
- Parent:
- 10:387c49b2fc7e
- Child:
- 13:fa85d3614acf
--- a/USBHostC270/USBHostC270.cpp Sun Mar 17 13:22:13 2013 +0000
+++ b/USBHostC270/USBHostC270.cpp Mon Mar 18 12:34:47 2013 +0000
@@ -17,9 +17,9 @@
_formatIndex = formatIndex;
_frameIndex = frameIndex;
_interval = interval;
- m_isoEp = NULL;
clearOnResult();
host = USBHost::getHostInst();
+ m_isoEp = new IsochronousEp;
init();
}
@@ -35,13 +35,11 @@
bool USBHostC270::connected()
{
- C270_DBG("dev_connected: %d", dev_connected);
return dev_connected;
}
bool USBHostC270::connect()
{
- C270_DBG("dev_connected: %d", dev_connected);
if (dev_connected) {
return true;
}
@@ -51,15 +49,15 @@
C270_DBG("Trying to connect C270 device\r\n");
- if(host->enumerate(dev, this))
+ if(host->enumerate(dev, this)) {
break;
-
+ }
if (c270_device_found) {
USB_INFO("New C270 device: VID:%04x PID:%04x [dev: %p - intf: %d]", dev->getVid(), dev->getPid(), dev, c270_intf);
dev->setName("C270", c270_intf);
host->registerDriver(dev, c270_intf, this, &USBHostC270::onDisconnect);
int addr = dev->getAddress();
- m_isoEp = new IsochronousEp(addr, C270_EN, C270_MPS);
+ m_isoEp->init(addr, C270_EN, C270_MPS);
uint8_t buf[26];
memset(buf, 0, sizeof(buf));
buf[2] = _formatIndex;
@@ -92,11 +90,10 @@
void USBHostC270::onDisconnect()
{
C270_DBG("dev_connected: %d", dev_connected);
- // TODO
- if (m_isoEp) {
- m_isoEp->disconnect();
+ if (dev_connected) {
+ m_isoEp->disconnect();
+ init();
}
- init();
}
/*virtual*/ void USBHostC270::setVidPid(uint16_t vid, uint16_t pid)
