Example of usb mouse on smt32 platform using a analog 2-axis joystick

Dependencies:   USBDEVICE mbed

Committer:
julgonmej
Date:
Sat Apr 29 11:53:58 2017 +0000
Revision:
5:b3c465e3e54e
Parent:
0:6410755cb90c
Child:
6:989396ea046f
LED

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jamike 0:6410755cb90c 1 #include "mbed.h"
jamike 0:6410755cb90c 2
jamike 0:6410755cb90c 3 #include <math.h>
jamike 0:6410755cb90c 4
jamike 0:6410755cb90c 5 #include "USBMouse.h"
jamike 0:6410755cb90c 6
jamike 0:6410755cb90c 7 USBMouse mouse(ABS_MOUSE);
julgonmej 5:b3c465e3e54e 8 DigitalOut myled(LED1);
jamike 0:6410755cb90c 9
jamike 0:6410755cb90c 10 int main(void) {
jamike 0:6410755cb90c 11 int x_center = (X_MAX_ABS - X_MIN_ABS)/2;
jamike 0:6410755cb90c 12 int y_center = (Y_MAX_ABS - Y_MIN_ABS)/2;
jamike 0:6410755cb90c 13 int16_t x_screen = 0;
jamike 0:6410755cb90c 14 int16_t y_screen = 0;
julgonmej 5:b3c465e3e54e 15 myled = 0;
jamike 0:6410755cb90c 16
jamike 0:6410755cb90c 17 int32_t x_origin = x_center;
jamike 0:6410755cb90c 18 int32_t y_origin = y_center;
jamike 0:6410755cb90c 19 int32_t radius = 5000;
jamike 0:6410755cb90c 20 int32_t angle = 0;
jamike 0:6410755cb90c 21
jamike 0:6410755cb90c 22 while (1) {
julgonmej 5:b3c465e3e54e 23 myled = !myled;
jamike 0:6410755cb90c 24 x_screen = x_origin + cos((double)angle*3.14/180.0)*radius;
jamike 0:6410755cb90c 25 y_screen = y_origin + sin((double)angle*3.14/180.0)*radius;
jamike 0:6410755cb90c 26 printf("cos: %f, sin: %f\r\n", cos((double)angle*3.14/180.0)*radius, sin((double)angle)*radius);
jamike 0:6410755cb90c 27
jamike 0:6410755cb90c 28 mouse.move(x_screen, y_screen);
jamike 0:6410755cb90c 29 angle += 3;
jamike 0:6410755cb90c 30 wait(0.01);
jamike 0:6410755cb90c 31 }
jamike 0:6410755cb90c 32 }