just a test

Dependencies:   mbed

Fork of scoreLight_Advanced by Alvaro Cassinelli

Revision:
14:0fc33a3a7b4b
Parent:
13:9f03eac02700
Child:
16:2ff1cb2ae1b1
--- a/main.cpp	Thu Apr 12 09:50:47 2012 +0000
+++ b/main.cpp	Thu Apr 12 13:02:59 2012 +0000
@@ -19,7 +19,7 @@
 //#define LOOPTIMECOMPUTE
 
 // To get serial commands (for debug, or other things using a Terminal - for instance, a laser scan)
-//#define SERIAL_COMMANDS
+#define SERIAL_COMMANDS
 
 //----------  ETHERNET / OSC related (in the future, put somewhere else...): -------------------------------------------
 // mbed IP address (server):
@@ -108,9 +108,10 @@
 //    blobconf.addOneElasticLoopContractCentral();
 //  blobconf.addOneElasticContourFollowing();
 
-    blobconf.addOneRigidLoopBouncing();
+//    blobconf.addOneRigidLoopBouncing();
 //  blobconf.addOneRigidLoopBouncing();
-//blobconf.addOneRigidLoopFollowing();
+blobconf.addOneRigidLoopFollowing();
+blobconf.addOneRigidLoopFollowing();
 
 
 //blobconf.addOneRigidLoopTest();
@@ -232,7 +233,7 @@
 //interpretCommand(const char& address[2][], const int& data[2]) {
 void interpretCommand() {
     // (I) =========================================== SPECIAL FUNCTIONS (reset, rescan LUT, etc) ====================================================
-    if ( !strcmp(address[0], "takeSnapshot" ) ) { // will reset all the spots, but the 0, and use it for taking measures:
+    if ( !strcmp(address[0], "takeSnapshot" ) ) { 
 
         // for test:
         for (int i=0; i<2 ; i++) {
@@ -420,6 +421,7 @@
 
     while (pc.readable()>0) {
 
+
         char val =pc.getc();
         // pc.printf("Got :%d\n", incomingByte);
         //pc.putc(incomingByte);
@@ -478,13 +480,24 @@
                 // Finally, start again threaded display:
                 timerForRendering.attach(&lsr, &simpleLaserSensingRenderer::laserRenderThread, RENDER_INTERVAL);
                 // timerForRendering.attach(&lsr, &simpleLaserSensingRenderer::laserRenderThreadONEBLOBONLY, RENDER_INTERVAL);
-            }
+            } 
+            else if (!strcmp(stringCommand , "REDON"))   IO.setRedPower(1); // pc.printf("%d\n",incomingByte);
 
-            if (!strcmp(stringCommand , "REDON"))   IO.setRedPower(1); // pc.printf("%d\n",incomingByte);
+            else if (!strcmp(stringCommand , "REDOFF"))  IO.setRedPower(0);
+
+            else if  (!strcmp(stringCommand , "READVALUE")) pc.printf("Value read: %f", lockin.getSmoothValue());//lockin.getLastValue());/
 
-            if (!strcmp(stringCommand , "REDOFF"))  IO.setRedPower(0);
-
-            if  (!strcmp(stringCommand , "READVALUE")) pc.printf("Value read: %f", lockin.getSmoothValue());//lockin.getLastValue());/
+            else if (!strcmp(stringCommand , "mbedReset"))  mbed_reset();
+            
+            else if (!strcmp(stringCommand , "calibrate")) {
+             // First, we need to disable the threaded display for the loop:
+        timerForRendering.detach();
+        // RESCAN (and save LUT table):
+        IO.scanLUT();
+        // Finally, start again threaded display:
+        timerForRendering.attach(&lsr, &simpleLaserSensingRenderer::laserRenderThread, RENDER_INTERVAL);
+        // timerForRendering.attach(&lsr, &simpleLaserSensingRenderer::laserRenderThreadONEBLOBONLY, RENDER_INTERVAL);
+        }
 
             // FINALLY, interpret commands (but only after parsing):
             //  interpretCommand();//address, data);