kL46Z-Lab1-lodz
Dependencies: MMA8451Q USBDevice mbed
main.cpp
- Committer:
- wue
- Date:
- 2014-04-16
- Revision:
- 0:bcba7139305f
File content as of revision 0:bcba7139305f:
#include "mbed.h" #include "USBMouse.h" #include "MMA8451Q.h" #define LED_ON 0 //outON, pwmON #define LED_OFF 1 //outOFF,pwmOFF #define PRESS_ON 0 #define PRESS_OFF 1 #define LED_PERIOD 150 //[ms] #define MMA8451_I2C_ADDRESS (0x1d<<1) struct KL46_SENSOR_DATA { int sw1state; int sw2state; float accValX; float accValY; float accValZ; } sensorData; int main(void) { USBMouse mouse; MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); DigitalOut gLED(LED_GREEN); //PTD5 PwmOut rLED(LED_RED); //PTE29 DigitalIn sw1(PTC3); //if(sw1) Release else Press DigitalIn sw2(PTC12); //while(sw3); wait for Press sw1.mode(PullUp); sw2.mode(PullUp); gLED = LED_ON; rLED = LED_OFF; rLED.period(LED_PERIOD); while (1) { sensorData.accValX = acc.getAccX(); sensorData.accValY = acc.getAccY(); sensorData.accValZ = acc.getAccZ(); sensorData.sw1state = sw1; sensorData.sw2state = sw2; rLED = abs(sensorData.accValZ); mouse.move(sensorData.accValX*16.0, sensorData.accValY*16.0); if(sensorData.sw1state == PRESS_ON) mouse.press(MOUSE_LEFT); else mouse.release(MOUSE_LEFT); if(sensorData.sw2state == PRESS_ON) mouse.press(MOUSE_RIGHT); else mouse.release(MOUSE_RIGHT); wait(0.05); } }