Serpentine / Mbed 2 deprecated serpentine_foodcontroller_final

Dependencies:   MMA8451Q TSI mbed

Fork of foodcontroller_NoWiFi by Serpentine

Revision:
7:c19655dbdef7
Parent:
6:57b9a6427bc2
Child:
8:047d427da574
diff -r 57b9a6427bc2 -r c19655dbdef7 foodController.cpp
--- a/foodController.cpp	Thu Jun 09 18:42:57 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/**
-    Food Controller
-    foodController.cpp
-    Purpose:    This function runs on a FRDM KL25Z. It uses the accelerometer to measure the tilt of the board.
-                It outputs a 2 bit number that describes the direction. The board is also fitted with four LEDS
-                oriented in the following configuration: o8o to provide feedback to the user. This board also 
-                makes use of the touch sensor input to set a variable speed for the food, indicated by RGB LED
-    @author Daniel Lock
-    @author Jamie Gnodde
-    @version
-*/
-
-#include "mbed.h"
-#include "TSISensor.h"
-#include "MMA8451Q.h"
-
-#define MMA8451_I2C_ADDRESS (0x1d<<1)
-Serial pc(USBTX, USBRX); // tx, rx  used for printing to the PC screen during debugging
-
-DigitalOut gled(LED_GREEN);                         //Indicator for touch sensor Output speed 1
-DigitalOut bled(LED_BLUE);                          //Indicator for touch sensor Output speed 2
-DigitalOut rled(LED_RED);                           //Indicator for touch sensor Output speed 3
-TSISensor tsi;                                      //Setup touch sensor
-MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);    //Setup accelerometer
-DigitalOut lefthigh(PTC7);                          //LED for left
-DigitalOut leftlow(PTA1);
-DigitalOut righthigh(PTC4);                         //LED for right
-DigitalOut rightlow(PTA12);
-DigitalOut forwardhigh(PTC0);                       //LED for forward
-DigitalOut forwardlow(PTC3);
-DigitalOut backwardhigh(PTA2);                      //LED for backward
-DigitalOut backwardlow(PTD4);
-
-int Direction;                                      //2 bit number to describe direction 0 forward assigned CW
-int Velocity;                                       //2 bit number to vary velocity in game
-
-bool right;                                         //Right or left? right = 1
-bool forward;                                       //Forward or Backward? forward = 1
-
-int main()
-{
-    while (1) 
-    {
-         
-        float accX=acc.getAccX();                   //Measure acceleration in X direction
-        float accY=acc.getAccY();                   //Measure acceleration in Y direction
-
-         if (tsi.readDistance() != 0)               //Only execute if the touch sensor is being pressed
-        {          
-            if (tsi.readDistance() <= 13)           //Length of touch sensor divided into three distinct zones, this defines top zone
-            {
-                Velocity = 3;                       //Top zone -> highest velocity (varies 1-3)
-                rled = 0;                           //Use the RGB LED as an indicator for which speed is selected
-                bled = 1;
-                gled = 1;
-            }
-            if (tsi.readDistance() > 13 && tsi.readDistance() < 26)         //Middle zone of touch sensor
-            {
-                Velocity = 2;                       //Middle zone -> middle velocity
-                rled = 1;                           //Use the RGB LED as an indicator for which speed is selected
-                bled = 0;
-                gled = 1;              
-            }
-            if (tsi.readDistance() >= 26)
-            {
-                Velocity = 1;                       //Bottom zone -> lowest velocity
-                rled = 1;                           //Use the RGB LED as an indicator for which speed is selected
-                bled = 1;
-                gled = 0;
-            }
-                             
-            printf("x=%d\r\n",Velocity);            //Print the velocity to the serial for debugging
-           
-            wait(0.2);                              //May be left over from debugging?
-
-        }//endif touch sensor 
-     
-        //Establish whether the board is tilted left or right         
-        if (accX > 0.1) 
-        {
-            right = false;
-            //printf("left \r\n");
-        }//endif
-
-        if (accX < -0.1) 
-        {
-            right = true;
-            //printf("right \r\n");
-        }//endif
-        
-        wait(0.1);                                  //May be left over from debugging?
-
-        //Establish whether the board is tilted front or back
-        if (accY > 0.1) 
-        {
-            forward = false;
-            //printf("back \r\n");
-        }//endif
-
-        if (accY < -0.1) 
-        {
-            forward = true;            
-            //printf("for \r\n");
-        }//endif
-        
-        wait(0.1);                                  //May be left over from debugging?
-        
-        //Establish the main axis of tilting so that the control outputs one direction        
-        if(abs(accY) > abs(accX))
-        {
-            if(forward == true)
-            {
-                Direction = 0;                  //Direction variable is a two bit number 0-3 0 is forward
-                
-                lefthigh = 0;                   //Light up the forward LED, make sure all others are off
-                leftlow = 0;
-                righthigh = 0;
-                rightlow = 0;
-                forwardhigh = 1;
-                forwardlow = 0;
-                backwardhigh = 0;
-                backwardlow = 0;                
-            
-            }//endif
-            else
-            {
-                Direction = 2;                  //Direction variable is a two bit number 0-3 2 is backward
-                
-                lefthigh = 0;                   //Light up the backward LED, make sure all others are off
-                leftlow = 0;
-                righthigh = 0;
-                rightlow = 0;
-                forwardhigh = 0;
-                forwardlow = 0;
-                backwardhigh = 1;
-                backwardlow = 0;
-                   
-            }//endelse
-        }//endif
-        else
-        {
-            if(right == true)
-            {
-                Direction = 1;                  //Direction variable is a two bit number 0-3 1 is right
-                
-                lefthigh = 0;                   //Light up the right LED, make sure all others are off
-                leftlow = 0;
-                righthigh = 1;
-                rightlow = 0;
-                forwardhigh = 0;
-                forwardlow = 0;
-                backwardhigh = 0;
-                backwardlow = 0;
-             
-            }//endif
-            else
-            {
-                Direction = 3;                  //Direction variable is a two bit number 0-3 3 is left
-                
-                lefthigh = 1;                   //Light up the left LED, make sure all others are off
-                leftlow = 0;
-                righthigh = 0;
-                rightlow = 0;
-                forwardhigh = 0;
-                forwardlow = 0;
-                backwardhigh = 0;
-                backwardlow = 0;                
-                    
-            }//endelse
-        }//endelse
-        
-        printf("Direction = %d \r\n", Direction);           //Print the direction variable to screen for debugging
-        
-    }//endwhile
-}//endmain
-