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

Dependencies:   USBDEVICE mbed

Committer:
jamike
Date:
Fri Dec 16 15:24:34 2016 +0000
Revision:
0:6410755cb90c
Child:
5:b3c465e3e54e
Nucleo_usbmouse : version 1

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);
jamike 0:6410755cb90c 8
jamike 0:6410755cb90c 9 int main(void) {
jamike 0:6410755cb90c 10 int x_center = (X_MAX_ABS - X_MIN_ABS)/2;
jamike 0:6410755cb90c 11 int y_center = (Y_MAX_ABS - Y_MIN_ABS)/2;
jamike 0:6410755cb90c 12 int16_t x_screen = 0;
jamike 0:6410755cb90c 13 int16_t y_screen = 0;
jamike 0:6410755cb90c 14
jamike 0:6410755cb90c 15 int32_t x_origin = x_center;
jamike 0:6410755cb90c 16 int32_t y_origin = y_center;
jamike 0:6410755cb90c 17 int32_t radius = 5000;
jamike 0:6410755cb90c 18 int32_t angle = 0;
jamike 0:6410755cb90c 19
jamike 0:6410755cb90c 20 while (1) {
jamike 0:6410755cb90c 21 x_screen = x_origin + cos((double)angle*3.14/180.0)*radius;
jamike 0:6410755cb90c 22 y_screen = y_origin + sin((double)angle*3.14/180.0)*radius;
jamike 0:6410755cb90c 23 printf("cos: %f, sin: %f\r\n", cos((double)angle*3.14/180.0)*radius, sin((double)angle)*radius);
jamike 0:6410755cb90c 24
jamike 0:6410755cb90c 25 mouse.move(x_screen, y_screen);
jamike 0:6410755cb90c 26 angle += 3;
jamike 0:6410755cb90c 27 wait(0.01);
jamike 0:6410755cb90c 28 }
jamike 0:6410755cb90c 29 }