testing n-Bed with a Logitech C270 camera

Dependencies:   USBHost mbed

Fork of USBHostC270_example by Norimasa Okamoto

Revision:
11:6a8eef89eb22
Parent:
10:387c49b2fc7e
--- 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)