Airmouse project for MPOA

Dependencies:   mbed FXOS8700Q USBDEVICE

Committer:
miroslavklein
Date:
Mon Jan 20 22:04:56 2020 +0000
Revision:
1:94aad97c077a
Parent:
0:cafb23b6a1e5
Public depository for MPOA project - Airmouse

Who changed what in which revision?

UserRevisionLine numberNew contents of line
miroslavklein 0:cafb23b6a1e5 1
miroslavklein 0:cafb23b6a1e5 2 #include "mbed.h"
miroslavklein 0:cafb23b6a1e5 3 #include "USBMouse.h"
miroslavklein 0:cafb23b6a1e5 4 #include "FXOS8700Q.h"
miroslavklein 0:cafb23b6a1e5 5
miroslavklein 0:cafb23b6a1e5 6 USBMouse mouse;
miroslavklein 0:cafb23b6a1e5 7
miroslavklein 0:cafb23b6a1e5 8 FXOS8700Q_acc acc( PTE25, PTE24, FXOS8700CQ_SLAVE_ADDR1); // Proper Ports and I2C Address for K64F Freedom board
miroslavklein 0:cafb23b6a1e5 9 FXOS8700Q_mag mag( PTE25, PTE24, FXOS8700CQ_SLAVE_ADDR1); // Proper Ports and I2C Address for K64F Freedom board
miroslavklein 0:cafb23b6a1e5 10
miroslavklein 0:cafb23b6a1e5 11 Serial pc(USBTX, USBRX);
miroslavklein 0:cafb23b6a1e5 12
miroslavklein 0:cafb23b6a1e5 13 MotionSensorDataUnits mag_data;
miroslavklein 0:cafb23b6a1e5 14 MotionSensorDataUnits acc_data;
miroslavklein 0:cafb23b6a1e5 15
miroslavklein 0:cafb23b6a1e5 16 MotionSensorDataCounts mag_raw;
miroslavklein 0:cafb23b6a1e5 17 MotionSensorDataCounts acc_raw;
miroslavklein 0:cafb23b6a1e5 18
miroslavklein 0:cafb23b6a1e5 19 int main() {
miroslavklein 0:cafb23b6a1e5 20
miroslavklein 0:cafb23b6a1e5 21 acc.enable();
miroslavklein 0:cafb23b6a1e5 22
miroslavklein 0:cafb23b6a1e5 23 int16_t x = 0;
miroslavklein 0:cafb23b6a1e5 24 int16_t y = 0;
miroslavklein 0:cafb23b6a1e5 25
miroslavklein 0:cafb23b6a1e5 26 float accX;
miroslavklein 0:cafb23b6a1e5 27 float accY;
miroslavklein 0:cafb23b6a1e5 28
miroslavklein 0:cafb23b6a1e5 29 float Xkoef = 10;
miroslavklein 0:cafb23b6a1e5 30 float Ykoef = 10;
miroslavklein 0:cafb23b6a1e5 31
miroslavklein 0:cafb23b6a1e5 32 while (1) {
miroslavklein 0:cafb23b6a1e5 33
miroslavklein 0:cafb23b6a1e5 34 acc.getAxis(acc_data);
miroslavklein 0:cafb23b6a1e5 35
miroslavklein 0:cafb23b6a1e5 36 accY = acc_data.x;
miroslavklein 0:cafb23b6a1e5 37 accY *= Ykoef;
miroslavklein 1:94aad97c077a 38 y = (int16_t) accY;
miroslavklein 0:cafb23b6a1e5 39
miroslavklein 0:cafb23b6a1e5 40
miroslavklein 0:cafb23b6a1e5 41 accX = acc_data.y;
miroslavklein 0:cafb23b6a1e5 42 accX *= Xkoef;
miroslavklein 0:cafb23b6a1e5 43 x = - (int16_t) accX;
miroslavklein 0:cafb23b6a1e5 44
miroslavklein 0:cafb23b6a1e5 45
miroslavklein 0:cafb23b6a1e5 46 mouse.move(x, y);
miroslavklein 0:cafb23b6a1e5 47 wait(0.001);
miroslavklein 0:cafb23b6a1e5 48
miroslavklein 0:cafb23b6a1e5 49
miroslavklein 0:cafb23b6a1e5 50 }
miroslavklein 0:cafb23b6a1e5 51 }