USBHostMouse

Table of Contents

  1. Hello World
  2. API
  3. Related

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