Dependencies:   mbed C12832 MMA7660 USBDevice

main.cpp

Committer:
knasp
Date:
2019-10-17
Revision:
14:116f94a428c9
Parent:
11:73e8c1bb5467
Child:
15:19bac11ed885

File content as of revision 14:116f94a428c9:

#include "mbed.h"
#include "USBKeyboard.h"
#include "MMA7660.h"
#include "C12832.h"

MMA7660         Accelerometer (p28,p27);
USBKeyboard     Usbkeyboard;
C12832          LCD (p5,p7,p6,p8,p11);
DigitalOut      led(p23);



int main (void)
{
        //enum Orientation {Up, Down,Right, Left,Back, Front,Unknown};
        MMA7660::Orientation myOrientation;
        
        while (true) {
            
            myOrientation = Accelerometer.getOrientation ();
            
            if (myOrientation == MMA7660::Up){
            
                LCD.printf("Up");
                Usbkeyboard.keyCode (UP_ARROW);
            }
            else if (myOrientation == MMA7660::Down){
            
                LCD.printf("Down");
                Usbkeyboard.keyCode (DOWN_ARROW);
            }
            else if (myOrientation == MMA7660::Left){
            
                LCD.printf("Left");
                Usbkeyboard.keyCode (LEFT_ARROW);
            }
            else if (myOrientation == MMA7660::Right){
            
                LCD.printf("Right");
                Usbkeyboard.keyCode (RIGHT_ARROW);
            }
            else if (myOrientation == MMA7660::Front){
            
                LCD.printf("Front");
            }
            else if (myOrientation == MMA7660::Unknown){
            
             LCD.printf("Don't Know");
            }
         
/*
    float Acc_X = 0;
    float Acc_Y = 0;
    float Acc_Z = 0;

    while (true) {

        Acc_X = Accelerometer.x ();
        Acc_Y = Accelerometer.y ();
        Acc_Z = Accelerometer.z ();

        LCD.cls ();                         //LCD display showing the coordinates (turn off when submitting the program as only per programing
        LCD.locate (0,0);
        LCD.printf("X Axis: %f",Acc_X);
        LCD.locate (0,10);
        LCD.printf("Y Axis: %f",Acc_Y);
        LCD.locate (0,20);
        LCD.printf("Z Axis: %f",Acc_Z);

        wait (0.00000000001);

        if (led=1);

        if (Acc_Y>0.08) {                   //Y axis program
            //  Usbkeyboard.printf("w\0");
            Usbkeyboard.keyCode (UP_ARROW);
        } else if (Acc_Y<0.08) {
            //  Usbkeyboard.printf("s\0");
            Usbkeyboard.keyCode (DOWN_ARROW);
        }
        if (Acc_X>0.08) {                   //X axis program
            //Usbkeyboard.printf("w\0");
            Usbkeyboard.keyCode (LEFT_ARROW);
        } else if (Acc_X<0.0) {
            //Usbkeyboard.printf("s\0");
            Usbkeyboard.keyCode (RIGHT_ARROW);
        }
        /*
        if (Acc_Z>1.5) {                   //Z axis program - work in progress
            Usbkeyboard.printf("w\0");
            //Usbkeyboard.keyCode (LEFT_ARROW);
        } elses if (Acc_Z<1.5) {
            Usbskeyboard.printf("s\0");
            //Ussbkeyboard.keyCode (RIGHT_ARROW);
        }
        */
        }
    return false;
}