BaseUsbHost example program
Dependencies: BaseUsbHost FATFileSystem mbed mbed-rtos
example1_UsbMouseHost.cpp@0:2a9734a95d55, 2012-12-04 (annotated)
- Committer:
- va009039
- Date:
- Tue Dec 04 13:39:57 2012 +0000
- Revision:
- 0:2a9734a95d55
- Child:
- 1:80205a2de336
first commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
va009039 | 0:2a9734a95d55 | 1 | #if 0 |
va009039 | 0:2a9734a95d55 | 2 | #include "mbed.h" |
va009039 | 0:2a9734a95d55 | 3 | #include "rtos.h" |
va009039 | 0:2a9734a95d55 | 4 | #include "BaseUsbHost.h" |
va009039 | 0:2a9734a95d55 | 5 | #define DEBUG |
va009039 | 0:2a9734a95d55 | 6 | #include "BaseUsbHostDebug.h" |
va009039 | 0:2a9734a95d55 | 7 | #define TEST |
va009039 | 0:2a9734a95d55 | 8 | #include "BaseUsbHostTest.h" |
va009039 | 0:2a9734a95d55 | 9 | #include "UsbMouseHost.h" |
va009039 | 0:2a9734a95d55 | 10 | |
va009039 | 0:2a9734a95d55 | 11 | Serial pc(USBTX, USBRX); |
va009039 | 0:2a9734a95d55 | 12 | DigitalOut led1(LED1); |
va009039 | 0:2a9734a95d55 | 13 | |
va009039 | 0:2a9734a95d55 | 14 | BaseUsbHost *UsbHost; |
va009039 | 0:2a9734a95d55 | 15 | UsbHub* hub; |
va009039 | 0:2a9734a95d55 | 16 | ControlEp* ctlEp = NULL; |
va009039 | 0:2a9734a95d55 | 17 | UsbMouseHost* mouse; |
va009039 | 0:2a9734a95d55 | 18 | int main() { |
va009039 | 0:2a9734a95d55 | 19 | pc.baud(921600); |
va009039 | 0:2a9734a95d55 | 20 | printf("%s\n", __FILE__); |
va009039 | 0:2a9734a95d55 | 21 | |
va009039 | 0:2a9734a95d55 | 22 | UsbHost = new BaseUsbHost; |
va009039 | 0:2a9734a95d55 | 23 | TEST_ASSERT_TRUE(UsbHost); |
va009039 | 0:2a9734a95d55 | 24 | |
va009039 | 0:2a9734a95d55 | 25 | UsbHub* hub = new UsbHub(); |
va009039 | 0:2a9734a95d55 | 26 | TEST_ASSERT_TRUE(hub); |
va009039 | 0:2a9734a95d55 | 27 | |
va009039 | 0:2a9734a95d55 | 28 | for(int i = 0; i < 4; i++) { |
va009039 | 0:2a9734a95d55 | 29 | ctlEp = hub->PortEp[i]; |
va009039 | 0:2a9734a95d55 | 30 | if (ctlEp) { |
va009039 | 0:2a9734a95d55 | 31 | break; |
va009039 | 0:2a9734a95d55 | 32 | } |
va009039 | 0:2a9734a95d55 | 33 | } |
va009039 | 0:2a9734a95d55 | 34 | |
va009039 | 0:2a9734a95d55 | 35 | mouse = new UsbMouseHost(ctlEp); |
va009039 | 0:2a9734a95d55 | 36 | TEST_ASSERT(mouse); |
va009039 | 0:2a9734a95d55 | 37 | |
va009039 | 0:2a9734a95d55 | 38 | |
va009039 | 0:2a9734a95d55 | 39 | while(1) { |
va009039 | 0:2a9734a95d55 | 40 | uint32_t status; |
va009039 | 0:2a9734a95d55 | 41 | int r = mouse->read(&status); |
va009039 | 0:2a9734a95d55 | 42 | if (r == USB_OK) { |
va009039 | 0:2a9734a95d55 | 43 | printf("%08X\n", status); |
va009039 | 0:2a9734a95d55 | 44 | if (status & 1) { // left |
va009039 | 0:2a9734a95d55 | 45 | led1 = !led1; |
va009039 | 0:2a9734a95d55 | 46 | } else if (status & 2) { // right |
va009039 | 0:2a9734a95d55 | 47 | break; |
va009039 | 0:2a9734a95d55 | 48 | } |
va009039 | 0:2a9734a95d55 | 49 | } |
va009039 | 0:2a9734a95d55 | 50 | } |
va009039 | 0:2a9734a95d55 | 51 | exit(1); |
va009039 | 0:2a9734a95d55 | 52 | } |
va009039 | 0:2a9734a95d55 | 53 | |
va009039 | 0:2a9734a95d55 | 54 | #endif |