Filip Maksimovic HW2 repository

Dependencies:   MMA8451Q TSI TextLCD USBDevice mbed tsi_sensor

main.cpp

Committer:
fil
Date:
2014-09-12
Revision:
0:6ee2b447a1c5
Child:
1:e6873017e1d2

File content as of revision 0:6ee2b447a1c5:

#include "mbed.h"
#include "MMA8451Q.h"
#include "TSISensor.h"
#include "USBKeyboard.h"
#define MMA8451_I2C_ADDRESS (0x1d<<1)
 
int main(void) {
    MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
    TSISensor tsi;
    PwmOut rled(LED_RED);
    PwmOut gled(LED_GREEN);
    PwmOut bled(LED_BLUE);
    Serial pc(USBTX, USBRX);
    USBKeyboard keyboard;
    
    rled = 1.0; bled = 0.0; gled = 1.0;
     
    // Begin the big fat fatty loop
    while (1) {
        gled = 1.0; bled = 0.0; rled = 1.0;
            
        // Instantiate the touch 'buffer'
        int x[2] = {0,0};
    
        // Get touch pad sensor reading
        int t = tsi.readDistance();
        
        // Test if the touch pad is being groped
        x[0] = tsi.readDistance();
        
        while(t != 0) {
            gled = 0.0;
            x[1] = x[0];
            x[0] = tsi.readDistance();
            // test for a left swipe
            if (x[0] > x[1] + 20) {
                // i swiped right
                // key = spacebar
                bled = 0.0; rled = 1.0; gled = 1.0;
                keyboard.keyCode(' ',0);
            }
            // from experience, x[1] is the actual output 'value' booya :)
            x[1] = x[0]; x[0] = tsi.readDistance();
            
            if (tsi.readDistance() == 0)
                break; // get out of the fucking loop you piece of shit
            
            // built-in loop delay    
            wait(0.1);
        }
        
        // now i get into the nitty gritty - how do i extract the keys themselves
        wait(0.1);
    }
}