Superhans v1 (index finger click and second finger 'q')
Dependencies: MMA8451Q USBDevice mbed-rtos mbed
Fork of Super_Hans_USB by
Diff: main.cpp
- Revision:
- 2:034f34663c45
- Parent:
- 1:e1a1bf8c36d9
--- a/main.cpp Fri Dec 27 22:04:23 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -#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(); - pc.printf("%f, %f, %f\n", acc.getAccX(), acc.getAccY(), acc.getAccZ() ); - - if (acc.getAccZ() - - key_mouse.move(-acc.getAccZ()*10, 0); - key_mouse.move(0, acc.getAccX()*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) { - } -}