Test application for Freedom KL25Z, mouse driven by accelerometer and click with TSI interface

Dependencies:   MMA8451Q TSI USBDevice mbed

Fork of Airmouse by Frederic Thierry

Committer:
tono88
Date:
Thu Jun 16 01:06:05 2016 +0000
Revision:
1:e92bdcecbfb5
Parent:
0:a7df8e8cc00c
Lab5

Who changed what in which revision?

UserRevisionLine numberNew 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 }