Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MMA8451Q TSI USBDevice mbed
code.cpp@0:3b80be0917e1, 2017-11-30 (annotated)
- Committer:
- mrbhatter
- Date:
- Thu Nov 30 11:06:46 2017 +0000
- Revision:
- 0:3b80be0917e1
Check USB Mouse Code
Who changed what in which revision?
| User | Revision | Line number | New 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 | } |