You are viewing an older revision! See the latest version
USBHostMouse
mbed OS 2 and mbed OS 5
This is the handbook for mbed OS 2. If you’re working with mbed OS 5, please see the new handbook and API References.
The USBHostMouse interface is used to communicate with a USB mouse.
Library in Beta!
This library is in Beta. If you have any problems using the USBHost library, please send a bug report at support@mbed.org
The USB Host connector should be attached to
- p31 (D+), p32 (D-) and GND for the LPC1768
- add two 15k resistors tied to GND on D+ and D-
Hello World¶
Import program
00001 #include "mbed.h" 00002 #include "USBHostMouse.h" 00003 00004 DigitalOut led(LED1); 00005 00006 void onMouseEvent(uint8_t buttons, int8_t x, int8_t y, int8_t z) { 00007 printf("buttons: %d, x: %d, y: %d, z: %d\r\n", buttons, x, y, z); 00008 } 00009 00010 void mouse_task(void const *) { 00011 00012 USBHostMouse mouse; 00013 00014 while(1) { 00015 // try to connect a USB mouse 00016 while(!mouse.connect()) 00017 Thread::wait(500); 00018 00019 // when connected, attach handler called on mouse event 00020 mouse.attachEvent(onMouseEvent); 00021 00022 // wait until the mouse is disconnected 00023 while(mouse.connected()) 00024 Thread::wait(500); 00025 } 00026 } 00027 00028 int main() { 00029 Thread mouseTask(mouse_task, NULL, osPriorityNormal, 256 * 4); 00030 while(1) { 00031 led=!led; 00032 Thread::wait(500); 00033 } 00034 }
API¶
Import library
Public Member Functions |
|
USBHostMouse () | |
Constructor.
|
|
bool | connect () |
Try to connect a mouse device.
|
|
bool | connected () |
Check if a mouse is connected.
|
|
void | attachEvent (void(*ptr)(uint8_t buttons, int8_t x, int8_t y, int8_t z)) |
Attach a callback called when a mouse event is received.
|
|
void | attachButtonEvent (void(*ptr)(uint8_t buttons)) |
Attach a callback called when the button state changes.
|
|
void | attachXEvent (void(*ptr)(int8_t x)) |
Attach a callback called when the X axis value changes.
|
|
void | attachYEvent (void(*ptr)(int8_t y)) |
Attach a callback called when the Y axis value changes.
|
|
void | attachZEvent (void(*ptr)(int8_t z)) |
Attach a callback called when the Z axis value changes (scrolling)
|
Troobleshooting
If your mbed board is automatically resetted when you plug a USB device, you should consider to use an external power supply