For IEEE Robotics

Dependencies:   Adafruit-16-Ch-PWM-Servo-Driver HCSR04 PID PololuQik2 QEI Sharp mbed-rtos

Revision:
3:b7b4780a7f6e
Parent:
0:1b64a0cedc5d
Child:
6:75259c3306dd
--- a/ShapeDetect.cpp	Mon Mar 03 22:30:34 2014 +0000
+++ b/ShapeDetect.cpp	Thu Mar 13 17:06:34 2014 +0000
@@ -2,8 +2,7 @@
 #include "ShapeDetect.h"
 
 LocalFileSystem local("local");   
-DigitalOut myled(LED1);
-Serial lrf(p9,p10);
+Serial lrf(p13,p14);
 extern Serial pc;
 
 
@@ -32,7 +31,7 @@
 
 void lrf_baudCalibration(void){
     wait(2.5);
-    lrf.baud(115200);  
+    //lrf.baud(115200);  
     do {
         lrf.putc('U');
         pc.putc('.');
@@ -273,23 +272,27 @@
        //clear bounds of detected blacks           
 }   
 
-int shapeDetection_mass(void){
-    
+
+int shapeDetection_mass(void)
+{
+
     centerMass(&xcoord_val, &ycoord_val, &s_area_val);
-    if(s_area_val > 2800){
+    pc.printf("\ncentriod calculated\n\r");
+    pc.printf("\nCenter of Mass is at X: %d    Y: %d\n\r", xcoord_val, ycoord_val, s_area_val);
+    pc.printf("\nThe area of the Mass is: %d\n\r", s_area_val);
+    if(s_area_val > SQUARE_AREA_TRESHOLD) {
         pc.printf("\nSQUARE DETECTECD\n\r");
         return 3;
-        } else if (s_area_val < 2200){
-            pc.printf("\nTRIANGLE DETECTECD\n\r");
-            return 1;
-            }else{
-                pc.printf("\nCIRCLE DETECTECD\n\r");
-                return 2;
-                }
-    
+    } else if (s_area_val < TRIANGE_AREA_TRESHOLD) {
+        pc.printf("\nTRIANGLE DETECTECD\n\r");
+        return 1;
+    } else {
+        pc.printf("\nCIRCLE DETECTECD\n\r");
+        return 2;
     }
-int laserDistance(void){
-        myled=1;
+}
+
+int getDistance(void){
         lrf.putc('B'); //Take Binary range reading
         // read in the four bytes for the range in mm (MSB first)
         mm_range=0;
@@ -297,12 +300,11 @@
         mm_range=(mm_range<<8)|lrf.getc();
         mm_range=(mm_range<<8)|lrf.getc();
         mm_range=(mm_range<<8)|lrf.getc();
-        myled=0;
         //eat CR & ":" command prompt
         do {
             lrfchar=lrf.getc();
         } while (lrfchar != ':');
-        return 1;
+        return mm_range;
 }
+
     
-