Bharath Upadhya
/
Nucleo_usbmouse
program created
main.cpp@0:36621055fc03, 2017-10-22 (annotated)
- Committer:
- kayman2329
- Date:
- Sun Oct 22 09:42:01 2017 +0000
- Revision:
- 0:36621055fc03
program created;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kayman2329 | 0:36621055fc03 | 1 | #include "mbed.h" |
kayman2329 | 0:36621055fc03 | 2 | |
kayman2329 | 0:36621055fc03 | 3 | #include <math.h> |
kayman2329 | 0:36621055fc03 | 4 | |
kayman2329 | 0:36621055fc03 | 5 | #include "USBMouse.h" |
kayman2329 | 0:36621055fc03 | 6 | |
kayman2329 | 0:36621055fc03 | 7 | InterruptIn button(USER_BUTTON); |
kayman2329 | 0:36621055fc03 | 8 | |
kayman2329 | 0:36621055fc03 | 9 | USBMouse mouse(ABS_MOUSE); |
kayman2329 | 0:36621055fc03 | 10 | volatile bool send=true; |
kayman2329 | 0:36621055fc03 | 11 | void handlerbutton() |
kayman2329 | 0:36621055fc03 | 12 | { |
kayman2329 | 0:36621055fc03 | 13 | send=!send; |
kayman2329 | 0:36621055fc03 | 14 | } |
kayman2329 | 0:36621055fc03 | 15 | int main(void) { |
kayman2329 | 0:36621055fc03 | 16 | int x_center = (X_MAX_ABS - X_MIN_ABS)/2; |
kayman2329 | 0:36621055fc03 | 17 | int y_center = (Y_MAX_ABS - Y_MIN_ABS)/2; |
kayman2329 | 0:36621055fc03 | 18 | int16_t x_screen = 0; |
kayman2329 | 0:36621055fc03 | 19 | int16_t y_screen = 0; |
kayman2329 | 0:36621055fc03 | 20 | |
kayman2329 | 0:36621055fc03 | 21 | int32_t x_origin = x_center; |
kayman2329 | 0:36621055fc03 | 22 | int32_t y_origin = y_center; |
kayman2329 | 0:36621055fc03 | 23 | int32_t radius = 5000; |
kayman2329 | 0:36621055fc03 | 24 | int32_t angle = 0; |
kayman2329 | 0:36621055fc03 | 25 | button.rise(&handlerbutton); |
kayman2329 | 0:36621055fc03 | 26 | |
kayman2329 | 0:36621055fc03 | 27 | while (1) { |
kayman2329 | 0:36621055fc03 | 28 | x_screen = x_origin + cos((double)angle*3.14/180.0)*radius; |
kayman2329 | 0:36621055fc03 | 29 | y_screen = y_origin + sin((double)angle*3.14/180.0)*radius; |
kayman2329 | 0:36621055fc03 | 30 | printf("cos: %f, sin: %f\r\n", cos((double)angle*3.14/180.0)*radius, sin((double)angle)*radius); |
kayman2329 | 0:36621055fc03 | 31 | |
kayman2329 | 0:36621055fc03 | 32 | if (send) mouse.move(x_screen, y_screen); |
kayman2329 | 0:36621055fc03 | 33 | angle += 3; |
kayman2329 | 0:36621055fc03 | 34 | wait(0.01); |
kayman2329 | 0:36621055fc03 | 35 | } |
kayman2329 | 0:36621055fc03 | 36 | } |