Alvaro Cassinelli
/
skinGames_forktest
just a test
Fork of scoreLight_Advanced by
Diff: main.cpp
- 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);