Lol smth

Dependencies:   LocalPositionSystem MMA8451Q Motor_Driver Sensors mbed

Fork of TDP_main_BartFork by Yelfie

Files at this revision

API Documentation at this revision

Comitter:
Bartas
Date:
Mon Mar 23 12:32:32 2015 +0000
Parent:
25:8be440e10126
Commit message:
asd

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
sensor_measure.h Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Sun Mar 22 23:55:20 2015 +0000
+++ b/main.cpp	Mon Mar 23 12:32:32 2015 +0000
@@ -1,13 +1,8 @@
-// TESTING REPO COMMIT
-
 /*
 ****** MAIN PROGRAM ******
 
-
-
 Please consider that although it is an embedded envrionment we are NOT creating a HARD-TIME real time system - delays can be dealt with
 
-
 Sensors are mapped on the global variable sensorsCheckSum,
 which multiplies the sensor number by itself to then decode,
  which sensors are off and which are on
@@ -16,21 +11,14 @@
     ...
 */
 
-
-
 #include "mbed.h"
 #include "sensor_measure.h"
 #include "Motor_Driver.h"
 #include "shooter.h"
-//#include "Sensors.h"
 
 #define PWM_PERIOD_US 10000
 
-
-//DigitalOut led(LED1);
-
 Serial HC06(PTE0,PTE1); //TX,RX
-//Serial pc(USBTX, USBRX);
 
 Timer measureTimer; //Timer used for measurement
 
@@ -45,33 +33,33 @@
 
 
 void measureSensors () {
-    sensorsCheckSum = 0; //zero it when first going into the routine
-    int iterationNumber = NUMBER_SENSORS_REGULAR;
-    if (driveMode == SQUARE) {
+     sensorsCheckSum = 0; //zero it when first going into the routine
+     int iterationNumber = NUMBER_SENSORS_REGULAR;
+     if (driveMode == SQUARE) {
           iterationNumber += NUMBER_SENSORS_SQUARE;
-    }
-    for (int i = 0; i < iterationNumber;i++){
+     }
+     for (int i = 0; i < iterationNumber;i++){
         //pc.printf("%i  iteration%i ",i,iterationNumber);
-        if (measure(sensorArray[i]) == 1) {//if sensor is white 
+         if (measure(sensorArray[i]) == 1) {//if sensor is white 
             sensorsCheckSum += (i+1)*(i+1);
-        }
-    }
-    if (oldValues[0] != sensorsCheckSum) {
+         }
+     }
+     if (oldValues[0] != sensorsCheckSum) {
         for (k = 5; k > 0; k--) {
             oldValues[k] = oldValues[k-1];
         }
         oldValues[0] = sensorsCheckSum;
-    }
+     }
     //pc.printf("sensorsCheckSum is %i",sensorsCheckSum);
 }
 
 void printBluetooth() { //for debugging
-    pc.printf("LLU%i  LRU%i               rlu%i rru%i\n",sensorArray[7]->state,sensorArray[6]->state,sensorArray[1]->state,sensorArray[0]->state);
-    pc.printf("LLD%i  LRD%i               rld%i rrd%i\n\n",sensorArray[5]->state,sensorArray[4]->state,sensorArray[3]->state,sensorArray[2]->state);
+    HC06.printf("LLU%i  LRU%i               rlu%i rru%i\n",sensorArray[7]->state,sensorArray[6]->state,sensorArray[1]->state,sensorArray[0]->state);
+    HC06.printf("LLD%i  LRD%i               rld%i rrd%i\n\n",sensorArray[5]->state,sensorArray[4]->state,sensorArray[3]->state,sensorArray[2]->state);
     //HC06.printf("%i  %i               %i %i",sensorArray[NUMBER_SENSORS_REGULAR-3]->state,sensorArray[NUMBER_SENSORS_REGULAR-4]->state,sensorArray[3]->state,sensorArray[2]->state);
     //HC06.printf("%i      %i/n%i      %i,sensorArray[NUMBER_SENSORS_REGULAR]->state,sensorArray[NUMBER_SENSORS_REGULAR+1]->state,sensorArray[NUMBER_SENSORS_REGULAR+2]->state,sensorArray[NUMBER_SENSORS_REGULAR+3]->state);        
     //HC06.printf("%f                      %f",motor.getLeftSpeed(),motor.getRightSpeed());
-    pc.printf("sensorCheckSum%i\n\n",sensorsCheckSum);
+     HC06.printf("sensorCheckSum%i\n\n",sensorsCheckSum);
     //HC06.printf("passedTime1 %i passedTime2 \n\n",passedTime1,passedTime2);
 }
 
@@ -79,7 +67,7 @@
         
     Motor_Driver motors(PTA5, PTC9, PTC8,PTD4, PTA12, PTA4, PWM_PERIOD_US);
     
-  //  motors.setSpeed(0.1f);
+//    motors.setSpeed(0.1f);
 //    motors.forward();
 //    motors.start();
 //    wait(2);
@@ -97,8 +85,7 @@
 //    motors.setRightSpeed (0.1f);
 //    wait(5);
 //    motors.stop();
-    
-    //wait(1);
+//    wait(1);
 //    motors.reverse();
 //    wait(5);
 //    motors.stop();
@@ -107,34 +94,24 @@
 //    wait(5);
 //    motors.stop();
 //    wait(1);
-//    motors.reverse();
-    
-   
-//motors.start();
-    
-   // setup_counter(1000, 0);
-   // float frequency = measure_frequency(CHANNEL_1);
+//    motors.reverse();   
+//    motors.start();
+
+//    setup_counter(1000, 0);
+//    float frequency = measure_frequency(CHANNEL_1);
     measureTimer.start();
     driveMode = REGULAR; //initialise drivemoder
     sensor_initialise(); // initialise sensor values
     wait(1); //give time to set up the system
-    
     sensorTimer.start(); // start timer for sensors
-//    float normalSpeed = 0.01f;
-//    HC06.baud(9600);
-//    HC06.printf("working..");
-//    motors.setSpeed(normalSpeed);
-//    motors.forward();
-//    motors.start();
-//    
-//    
-//    
-//    wait(3);
- //   while(1){
-//        if (pc.getc() == 'r') {
-//        measureSensors();
-        //measureTimer.reset();
-//        printBluetooth();
+    pc.printf("Hello");
+    while(1){
+        if (HC06.getc() == 'r') {
+        measureSensors();
+        measureTimer.reset();
+        printBluetooth();
+        wait(1);
+        }
         //passedTime1 = measureTimer.read_ms();
         //if (sensorsCheckSum == 0) {
 //            motors.setSpeed(normalSpeed);
@@ -155,21 +132,14 @@
 //    }
 //HC06.printf("AT");
 //HC06.printf("AT+PIN5555");
-    
-
-   // pc.printf("Start...");
-    
 //    int testOtherCases = 0; //needed for control statements
-
-
-
-    while (1) {
-       
+//    while (1) {
+//       
        if (driveMode == REGULAR) {
           measureSensors();
-        switch (sensorsCheckSum) {
-        case 0: // all black, turn around by 180 degrees
-                for (k=0;k<6;k++) {        //right turn situation
+          switch (sensorsCheckSum) {
+         case 0: // all black, turn around by 180 degrees or a possible turn on the left
+                for (k=0;k<6;k++) {        //left turn situation
                 if (oldValues[k] == 194) {
                 motors.stop();
                 motors.setSteeringMode(NORMAL);
@@ -177,6 +147,7 @@
                 motors.setSpeed(0.1f);
                 motors.start();
                 wait(1);
+                motors.stop();
             } else {            
                 motors.stop();
                 motors.setSteeringMode(NORMAL);
@@ -197,6 +168,8 @@
             } 
             break;
         case 30: //all right are white, left all black >> turn right(move left wheel)
+            motors.setSteeringMode(NORMAL);
+            motors.forward();
             motors.setRightSpeed(0.15f);
             motors.setLeftSpeed(0.5f);
             break;
@@ -204,10 +177,10 @@
 //            motors.setRightSpeed(0.15f);
 //            motors.setLeftSpeed(0.1f);
 //            break;
-        case 94: //normal starting position, half of right and half of left are white, (move right wheel)
+        case 94: //normal <<STARTING POSITION>>, half of right and half of left are white
             motors.setSteeringMode(NORMAL);
+            motors.forward();
             motors.setSpeed(0.1f);
-            motors.forward();
             motors.start();
             break;
         case 104: //right all white, left half white >> turn right
@@ -250,27 +223,11 @@
             break;
         }
     }
-}
-}
-}
-}
-
 //        if (testOtherCases == 1) {
 //            if (sensorsCheckSum < 96){ // adjust right
-//                }   
-//            else   {//adjust left
-//                }
+//            } else {//adjust left
+//            }
 //            testOtherCases = 0;
-//        }           
-//              
-//        
-//           
-//        }
-//       else { //if (driveMode == SQUARE}
-//        //implement the square searching thing..
-//       
-//       }
-//       
-//       
-//    }
-//    
+//        } else { //if (driveMode == SQUARE}  //implement the square searching thing.
+        }
+    }
--- a/sensor_measure.h	Sun Mar 22 23:55:20 2015 +0000
+++ b/sensor_measure.h	Mon Mar 23 12:32:32 2015 +0000
@@ -1,5 +1,4 @@
 /*
-
 Sensor measurement header file. 
 Contains the pin declarations and variables for all sensors-related work
 
@@ -21,14 +20,14 @@
 #define NUMBER_SENSORS_SQUARE 0
 
 //define pinout for all the sensors
-DigitalIn pin_right_right_up(PTE29);
-DigitalIn pin_right_left_up(PTC1);
-DigitalIn pin_right_right_down(PTC2);
-DigitalIn pin_right_left_down(PTE30);
-DigitalIn pin_left_right_down(PTB2);
-DigitalIn pin_left_left_down(PTE22); //pte22
-DigitalIn pin_left_right_up(PTB3); //pte29
-DigitalIn pin_left_left_up(PTE23);
+DigitalIn pin_right_right_up(PTC2);
+DigitalIn pin_right_left_up(PTE30);
+DigitalIn pin_right_right_down(PTE29);
+DigitalIn pin_right_left_down(PTC1);
+DigitalIn pin_left_right_down(PTB3);
+DigitalIn pin_left_left_down(PTE22); 
+DigitalIn pin_left_right_up(PTE23);
+DigitalIn pin_left_left_up(PTB2);
 
 
 //timer used by the sensor