FRDM-K64 USB air mouse demo
Dependencies: FXOS8700Q USBDevice mbed
Fork of FRDM-K64_USB by
USB air mouse demo modified USB Analog Joystick with Low Power Mode Demo
main.cpp@1:b9ea91c4c533, 2015-06-22 (annotated)
- Committer:
- julioefajardo
- Date:
- Mon Jun 22 20:17:43 2015 +0000
- Revision:
- 1:b9ea91c4c533
- Parent:
- 0:d50fb46005fd
- Child:
- 2:cb6377d909e0
FRDM K64F Joystick Mouse
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
APanecatl | 0:d50fb46005fd | 1 | #include "mbed.h" |
APanecatl | 0:d50fb46005fd | 2 | #include "USBMouse.h" |
APanecatl | 0:d50fb46005fd | 3 | |
julioefajardo | 1:b9ea91c4c533 | 4 | DigitalIn RightClick(PTC6); |
julioefajardo | 1:b9ea91c4c533 | 5 | DigitalIn LeftClick(PTA4); |
julioefajardo | 1:b9ea91c4c533 | 6 | DigitalIn Click(PTC10); |
julioefajardo | 1:b9ea91c4c533 | 7 | DigitalOut BlueLed(LED3); |
APanecatl | 0:d50fb46005fd | 8 | |
APanecatl | 0:d50fb46005fd | 9 | USBMouse mouse; |
julioefajardo | 1:b9ea91c4c533 | 10 | |
julioefajardo | 1:b9ea91c4c533 | 11 | AnalogIn AnIn0(A0); |
julioefajardo | 1:b9ea91c4c533 | 12 | AnalogIn AnIn1(A1); |
julioefajardo | 1:b9ea91c4c533 | 13 | |
APanecatl | 0:d50fb46005fd | 14 | int main() |
APanecatl | 0:d50fb46005fd | 15 | { |
julioefajardo | 1:b9ea91c4c533 | 16 | float posx, posy; |
julioefajardo | 1:b9ea91c4c533 | 17 | float pposx, pposy; |
APanecatl | 0:d50fb46005fd | 18 | int16_t x = 0; |
APanecatl | 0:d50fb46005fd | 19 | int16_t y = 0; |
julioefajardo | 1:b9ea91c4c533 | 20 | Click.mode(PullUp); |
APanecatl | 0:d50fb46005fd | 21 | |
APanecatl | 0:d50fb46005fd | 22 | while (1) |
APanecatl | 0:d50fb46005fd | 23 | { |
julioefajardo | 1:b9ea91c4c533 | 24 | if(LeftClick) mouse.release(MOUSE_LEFT); |
julioefajardo | 1:b9ea91c4c533 | 25 | else mouse.press(MOUSE_LEFT); |
julioefajardo | 1:b9ea91c4c533 | 26 | |
julioefajardo | 1:b9ea91c4c533 | 27 | if(RightClick) mouse.release(MOUSE_RIGHT); |
julioefajardo | 1:b9ea91c4c533 | 28 | else mouse.press(MOUSE_RIGHT); |
julioefajardo | 1:b9ea91c4c533 | 29 | |
julioefajardo | 1:b9ea91c4c533 | 30 | BlueLed = Click; |
APanecatl | 0:d50fb46005fd | 31 | |
julioefajardo | 1:b9ea91c4c533 | 32 | posx=AnIn0.read(); |
julioefajardo | 1:b9ea91c4c533 | 33 | posy=AnIn1.read(); |
julioefajardo | 1:b9ea91c4c533 | 34 | x = -800*(posx-pposx); |
julioefajardo | 1:b9ea91c4c533 | 35 | y = 800*(posy-pposy); |
julioefajardo | 1:b9ea91c4c533 | 36 | |
APanecatl | 0:d50fb46005fd | 37 | mouse.move(x, y); |
julioefajardo | 1:b9ea91c4c533 | 38 | |
julioefajardo | 1:b9ea91c4c533 | 39 | pposx = posx; |
julioefajardo | 1:b9ea91c4c533 | 40 | pposy = posy; |
julioefajardo | 1:b9ea91c4c533 | 41 | |
julioefajardo | 1:b9ea91c4c533 | 42 | wait(0.01); |
APanecatl | 0:d50fb46005fd | 43 | } |
APanecatl | 0:d50fb46005fd | 44 | } |