A game for Lab 4 of ECE 4180

Dependencies:   4DGL-uLCD-SE LSM9DS1_Library SDFileSystem mbed-rtos mbed wave_player

Revision:
2:623f29bad35c
Parent:
0:6a49493943be
Child:
3:27889fffc2f7
--- a/InputHandler.cpp	Thu Mar 10 20:10:35 2016 +0000
+++ b/InputHandler.cpp	Thu Mar 10 22:51:12 2016 +0000
@@ -3,16 +3,15 @@
 #define START_THREAD 1
 
 InputHandler::InputHandler(PinName sda, PinName scl, uint8_t xgAddr, uint8_t mAddr, PinName digitalIn)
-    :thread(&InputHandler::threadStarter, this, osPriorityNormal,1024),
-     imu(sda, scl, xgAddr, mAddr),
+    :imu(sda, scl, xgAddr, mAddr),
      pushButton(digitalIn, PullUp)
 {
     imu.begin();
 //    imu.calibrate(1);
 }
 
-void InputHandler::start() {
-    thread.signal_set(START_THREAD);  
+Thread* InputHandler::start() {
+    return new Thread(&InputHandler::threadStarter, this, osPriorityNormal,1024);
 }
 
 float InputHandler::getXAccel() {
@@ -49,7 +48,6 @@
 }
         
 void InputHandler::retrieveInputs() {
-    thread.signal_wait(START_THREAD);
     
     while(true) {
         imu.readAccel();
@@ -59,7 +57,7 @@
         yAccel = -imu.calcAccel(imu.ay);     
         zAccel = -imu.calcAccel(imu.az);
         isPushed = pushButton.read() == 0;
-        //printf("xAccel: %.6f\n\ryAccel: %.6f\n\risPushed: %s", xAccel, yAccel, isPushed ? "true" : "false");
+        //printf("\t\txAccel: %.6f\n\ryAccel: %.6f\n\risPushed: %s", xAccel, yAccel, isPushed ? "true" : "false");
         stdio_mutex.unlock();
         
         Thread::wait(20); // ~60Hz