Test application for Freedom KL25Z, mouse driven by accelerometer and click with TSI interface
Dependencies: MMA8451Q TSI USBDevice mbed
Fork of Airmouse by
main.cpp@1:e92bdcecbfb5, 2016-06-16 (annotated)
- Committer:
- tono88
- Date:
- Thu Jun 16 01:06:05 2016 +0000
- Revision:
- 1:e92bdcecbfb5
- Parent:
- 0:a7df8e8cc00c
Lab5
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Future_FThierry | 0:a7df8e8cc00c | 1 | #include "mbed.h" |
Future_FThierry | 0:a7df8e8cc00c | 2 | #include "USBMouse.h" |
tono88 | 1:e92bdcecbfb5 | 3 | #include "USBKeyboard.h" |
Future_FThierry | 0:a7df8e8cc00c | 4 | #include "MMA8451Q.h" |
Future_FThierry | 0:a7df8e8cc00c | 5 | #include "TSISensor.h" |
Future_FThierry | 0:a7df8e8cc00c | 6 | |
Future_FThierry | 0:a7df8e8cc00c | 7 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
Future_FThierry | 0:a7df8e8cc00c | 8 | |
Future_FThierry | 0:a7df8e8cc00c | 9 | USBMouse mouse; |
tono88 | 1:e92bdcecbfb5 | 10 | USBKeyboard keyboard; |
Future_FThierry | 0:a7df8e8cc00c | 11 | Serial pc(USBTX, USBRX); // tx, rx |
Future_FThierry | 0:a7df8e8cc00c | 12 | |
tono88 | 1:e92bdcecbfb5 | 13 | |
Future_FThierry | 0:a7df8e8cc00c | 14 | int main() |
Future_FThierry | 0:a7df8e8cc00c | 15 | { |
Future_FThierry | 0:a7df8e8cc00c | 16 | float click =0; |
Future_FThierry | 0:a7df8e8cc00c | 17 | int16_t x = 0; |
Future_FThierry | 0:a7df8e8cc00c | 18 | int16_t y = 0; |
tono88 | 1:e92bdcecbfb5 | 19 | int16_t corrimiento = 0; |
Future_FThierry | 0:a7df8e8cc00c | 20 | TSISensor tsi; |
Future_FThierry | 0:a7df8e8cc00c | 21 | MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); |
Future_FThierry | 0:a7df8e8cc00c | 22 | |
Future_FThierry | 0:a7df8e8cc00c | 23 | while (1) { |
Future_FThierry | 0:a7df8e8cc00c | 24 | x = -10*acc.getAccY(); |
Future_FThierry | 0:a7df8e8cc00c | 25 | y = 10*acc.getAccX(); |
Future_FThierry | 0:a7df8e8cc00c | 26 | |
tono88 | 1:e92bdcecbfb5 | 27 | // pc.putc(x); |
tono88 | 1:e92bdcecbfb5 | 28 | //mouse.move(x, y); |
Future_FThierry | 0:a7df8e8cc00c | 29 | |
Future_FThierry | 0:a7df8e8cc00c | 30 | click=tsi.readPercentage(); |
Future_FThierry | 0:a7df8e8cc00c | 31 | //pc.printf("%f\n",click); |
tono88 | 1:e92bdcecbfb5 | 32 | |
tono88 | 1:e92bdcecbfb5 | 33 | |
tono88 | 1:e92bdcecbfb5 | 34 | if (y>-5) |
tono88 | 1:e92bdcecbfb5 | 35 | corrimiento=0; |
tono88 | 1:e92bdcecbfb5 | 36 | else |
tono88 | 1:e92bdcecbfb5 | 37 | corrimiento =3; |
tono88 | 1:e92bdcecbfb5 | 38 | |
Future_FThierry | 0:a7df8e8cc00c | 39 | if (click>0.70) |
tono88 | 1:e92bdcecbfb5 | 40 | //mouse.press(MOUSE_LEFT); |
Future_FThierry | 0:a7df8e8cc00c | 41 | |
tono88 | 1:e92bdcecbfb5 | 42 | keyboard._putc(97+corrimiento); |
tono88 | 1:e92bdcecbfb5 | 43 | // else |
tono88 | 1:e92bdcecbfb5 | 44 | // mouse.release(MOUSE_LEFT); |
Future_FThierry | 0:a7df8e8cc00c | 45 | |
tono88 | 1:e92bdcecbfb5 | 46 | if((click<0.60)&&(click>0.30)) |
tono88 | 1:e92bdcecbfb5 | 47 | keyboard._putc(98+corrimiento); |
tono88 | 1:e92bdcecbfb5 | 48 | //mouse.press(MOUSE_RIGHT); |
tono88 | 1:e92bdcecbfb5 | 49 | //else |
tono88 | 1:e92bdcecbfb5 | 50 | //mouse.release(MOUSE_RIGHT); |
Future_FThierry | 0:a7df8e8cc00c | 51 | |
tono88 | 1:e92bdcecbfb5 | 52 | if((click<0.30)&&(click>0)) |
tono88 | 1:e92bdcecbfb5 | 53 | keyboard._putc(99+corrimiento); |
tono88 | 1:e92bdcecbfb5 | 54 | |
tono88 | 1:e92bdcecbfb5 | 55 | wait(0.1); |
Future_FThierry | 0:a7df8e8cc00c | 56 | |
Future_FThierry | 0:a7df8e8cc00c | 57 | } |
Future_FThierry | 0:a7df8e8cc00c | 58 | } |