BaseUsbHost example program

Dependencies:   BaseUsbHost FATFileSystem mbed mbed-rtos

example1_UsbMouseHost.cpp

Committer:
va009039
Date:
2012-12-05
Revision:
1:80205a2de336
Parent:
0:2a9734a95d55

File content as of revision 1:80205a2de336:

#if 0
#include "mbed.h"
#include "rtos.h"
#include "BaseUsbHost.h"
#define DEBUG
#include "BaseUsbHostDebug.h"
#define TEST
#include "BaseUsbHostTest.h"
#include "UsbMouseHost.h"

Serial pc(USBTX, USBRX);
DigitalOut led1(LED1);

BaseUsbHost *UsbHost;
UsbHub* hub;
ControlEp* ctlEp = NULL;
UsbMouseHost* mouse;
int main() {
    pc.baud(921600);
    printf("%s\n", __FILE__);

    UsbHost = new BaseUsbHost;
    TEST_ASSERT_TRUE(UsbHost);

    UsbHub* hub = new UsbHub();
    TEST_ASSERT_TRUE(hub);

    for(int i = 0; i < MAX_HUB_PORT; i++) {
        if (UsbMouseHost::check(hub->PortEp[i])) {
            ctlEp = hub->PortEp[i];
            break;
        }
    }
    if (ctlEp == NULL) {
        error("USB Mouse not found\n");
    }

    mouse = new UsbMouseHost(ctlEp);
    TEST_ASSERT(mouse);
 
    while(1) {
        uint32_t status;
        int r = mouse->read(&status);
        if (r == USB_OK) {
            printf("%08X\n", status);
            if (status & 1) { // left 
                led1 = !led1;
            } else if (status & 2) { // right 
                break;
            }
        }
    }
    exit(1);
}

#endif