test
Dependencies: MMA8451Q USBDevice mbed-rtos mbed
Revision 0:d270a9981e69, committed 2013-12-16
- Comitter:
- trisjph
- Date:
- Mon Dec 16 11:04:05 2013 +0000
- Commit message:
- Inital;
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MMA8451Q.lib Mon Dec 16 11:04:05 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/emilmont/code/MMA8451Q/#c4d879a39775
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/USBDevice.lib Mon Dec 16 11:04:05 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/USBDevice/#4f6df64750bd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Dec 16 11:04:05 2013 +0000 @@ -0,0 +1,73 @@ +#include "mbed.h" +#include "rtos.h" +#define MMA8451_I2C_ADDRESS (0x1d<<1) +#include "MMA8451Q.h" +#include "USBMouseKeyboard.h" +#define PI 3.14159265 + +PwmOut led1(LED2); +MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); +AnalogIn ain(PTC2); +Serial pc(USBTX, USBRX); +USBMouseKeyboard key_mouse; +Mutex USB_mutex; +//USBHID key_mouse; + +void click_thread(void const *args) +{ + int press; + while(true) { + if( (ain.read()>0.3) && (press == 0) ) { + press = 1; + led1 != led1; + pc.printf("%i\n", press); + USB_mutex.lock(); + key_mouse.press(MOUSE_LEFT); + USB_mutex.unlock(); + } else if ( (ain.read()<0.3) && (press == 1) ) { + press = 0; + pc.printf("%i\n", press); + USB_mutex.lock(); + key_mouse.release(MOUSE_LEFT); + USB_mutex.unlock(); + } + Thread::wait(100); + } +} + +void mouse_thread(void const *args) +{ + while(true) { + + USB_mutex.lock(); + key_mouse.move(-acc.getAccX()*10, 0); + key_mouse.move(0, acc.getAccY()*10); + USB_mutex.unlock(); + Thread::wait(1); + } +} + +void heartbeat_thread(void const *args) +{ + int i; + led1.period(0.001); + while(true) { + for(i=0; i<180; i++) { + led1 = sin(i*PI/180); + Thread::wait(10); + } + } + +} + +int main() +{ + Thread click(click_thread); + Thread mouse(mouse_thread); + Thread heartbeat(heartbeat_thread); + + led1 = 1.0; + + while (true) { + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-rtos.lib Mon Dec 16 11:04:05 2013 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/users/mbed_official/code/mbed-rtos/#29007aef10a4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon Dec 16 11:04:05 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/a9913a65894f \ No newline at end of file