TJPS

Dependencies:   mbed

Fork of Laser_Rangefinder by jim hamblen

Revision:
1:d576753ebd76
Parent:
0:ccc26a94788d
--- a/main.cpp	Sun Nov 06 02:08:57 2011 +0000
+++ b/main.cpp	Mon Feb 24 22:51:57 2014 +0000
@@ -1,50 +1,28 @@
 #include "mbed.h"
-//Demo program for the Parallax Laser Range Finder
-//
-DigitalOut myled(LED1);
+#include "string.h"
+#include "LRF.h"
+
 Serial pc(USBTX, USBRX);
-Serial lrf(p9,p10);
+extern DigitalOut myled;
+extern Serial lrf;
+
+#define TRIANGLE 3
+#define RECTANGLE 2
+#define CIRCLE 1
 
 int main() {
-    int mm_range=0;
-    char lrfchar=0;
-
-//Print prompt
-    pc.printf("\f\nLaser Range Finder demo program\n\r");
-//Delay for lrf power on startup
-    wait(2.5);
-    lrf.baud(115200);
+    int shape;
+    
+    LRFinit();
+    shape=GetShape();
+    pc.printf("Shape:\n");
+    
+    if(shape == TRIANGLE) pc.printf("Triangle\n");
+    else if(shape == RECTANGLE) pc.printf("Rectangle\n");
+    else pc.printf("Circle\n");
+    
 
-// lrf autobaud setup
-    do {
-        lrf.putc('U');
-        pc.putc('.');
-        wait(.2);
-        if (lrf.readable()) lrfchar = lrf.getc();
-    } while (lrfchar != ':');
-    pc.printf("\n\r");
-    // clear out any extra characters - just in case
-    while (lrf.readable()) {
-        lrfchar = lrf.getc();
+
     }
 
 
-// Loop taking range readings forever
-    while (1) {
-        myled=1;
-        lrf.putc('B'); //Take Binary range reading
-        // read in the four bytes for the range in mm (MSB first)
-        mm_range=0;
-        mm_range=lrf.getc();
-        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 != ':');
-        //Display readings on PC Virtual Com port via USB cable
-        pc.printf("Range is %d mm\n\r",mm_range);
-    }
-}