Julio González
/
Nucleo_Usb_JoyMouse
Example of usb mouse on smt32 platform using a analog 2-axis joystick
main.cpp@0:6410755cb90c, 2016-12-16 (annotated)
- 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?
User | Revision | Line number | New 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 | } |