Karkhana Makerspace / Mbed 2 deprecated USBMouse

Dependencies:   MMA8451Q TSI USBDevice mbed

Committer:
mrbhatter
Date:
Thu Nov 30 11:06:46 2017 +0000
Revision:
0:3b80be0917e1
Check USB Mouse Code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mrbhatter 0:3b80be0917e1 1 /*Air mouse using USB HID with Sensitivity adjustment.
mrbhatter 0:3b80be0917e1 2 4 values of sensitivity and option is taken from user through serial.*/
mrbhatter 0:3b80be0917e1 3
mrbhatter 0:3b80be0917e1 4 #include "mbed.h"
mrbhatter 0:3b80be0917e1 5 #include "USBMouse.h"
mrbhatter 0:3b80be0917e1 6 #include "MMA8451Q.h"
mrbhatter 0:3b80be0917e1 7 #include "TSISensor.h"
mrbhatter 0:3b80be0917e1 8
mrbhatter 0:3b80be0917e1 9 #define MMA8451_I2C_ADDRESS (0x1d<<1)
mrbhatter 0:3b80be0917e1 10
mrbhatter 0:3b80be0917e1 11 MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
mrbhatter 0:3b80be0917e1 12 Serial pc(USBTX, USBRX); // tx, rx
mrbhatter 0:3b80be0917e1 13 TSISensor tsi;
mrbhatter 0:3b80be0917e1 14 USBMouse mouse;
mrbhatter 0:3b80be0917e1 15
mrbhatter 0:3b80be0917e1 16 int main()
mrbhatter 0:3b80be0917e1 17 {
mrbhatter 0:3b80be0917e1 18 int16_t x = 0;
mrbhatter 0:3b80be0917e1 19 int16_t y = 0;
mrbhatter 0:3b80be0917e1 20 int s=10;
mrbhatter 0:3b80be0917e1 21 char c='b';
mrbhatter 0:3b80be0917e1 22 pc.printf("Enter level of sensitivity (a-d) : ");
mrbhatter 0:3b80be0917e1 23
mrbhatter 0:3b80be0917e1 24 while(1)
mrbhatter 0:3b80be0917e1 25 {
mrbhatter 0:3b80be0917e1 26 if (pc.readable())
mrbhatter 0:3b80be0917e1 27 {
mrbhatter 0:3b80be0917e1 28 c = pc.getc();
mrbhatter 0:3b80be0917e1 29
mrbhatter 0:3b80be0917e1 30 switch(c)
mrbhatter 0:3b80be0917e1 31 {
mrbhatter 0:3b80be0917e1 32 case 'a': s = 20; break;
mrbhatter 0:3b80be0917e1 33 case 'b': s = 40; break;
mrbhatter 0:3b80be0917e1 34 case 'c': s = 80; break;
mrbhatter 0:3b80be0917e1 35 case 'd': s = 100; break;
mrbhatter 0:3b80be0917e1 36 default: s = 10; break;
mrbhatter 0:3b80be0917e1 37 }
mrbhatter 0:3b80be0917e1 38 }
mrbhatter 0:3b80be0917e1 39
mrbhatter 0:3b80be0917e1 40 x = -s*(acc.getAccX());
mrbhatter 0:3b80be0917e1 41 y = s*acc.getAccY();
mrbhatter 0:3b80be0917e1 42
mrbhatter 0:3b80be0917e1 43 mouse.move(x,y);
mrbhatter 0:3b80be0917e1 44
mrbhatter 0:3b80be0917e1 45 //left click
mrbhatter 0:3b80be0917e1 46 if (tsi.readPercentage() > 0.7)
mrbhatter 0:3b80be0917e1 47 {
mrbhatter 0:3b80be0917e1 48 mouse.press(MOUSE_LEFT);
mrbhatter 0:3b80be0917e1 49 }
mrbhatter 0:3b80be0917e1 50 else
mrbhatter 0:3b80be0917e1 51 {
mrbhatter 0:3b80be0917e1 52 mouse.release(MOUSE_LEFT);
mrbhatter 0:3b80be0917e1 53 }
mrbhatter 0:3b80be0917e1 54
mrbhatter 0:3b80be0917e1 55 //right click
mrbhatter 0:3b80be0917e1 56 if (tsi.readPercentage() < 0.3 && tsi.readPercentage() > 0)
mrbhatter 0:3b80be0917e1 57 {
mrbhatter 0:3b80be0917e1 58 mouse.press(MOUSE_RIGHT);
mrbhatter 0:3b80be0917e1 59 }
mrbhatter 0:3b80be0917e1 60 else
mrbhatter 0:3b80be0917e1 61 {
mrbhatter 0:3b80be0917e1 62 mouse.release(MOUSE_RIGHT);
mrbhatter 0:3b80be0917e1 63 }
mrbhatter 0:3b80be0917e1 64 }
mrbhatter 0:3b80be0917e1 65 }