Laser Sensing Display for UI interfaces in the real world

Dependencies:   mbed

Fork of skinGames_forktest by Alvaro Cassinelli

Revision:
24:4e52031a495b
Parent:
22:d87317d7ca91
Child:
25:74cb85b85fd2
--- a/classLaserSensingTrajectory.h	Wed Jun 13 10:09:41 2012 +0000
+++ b/classLaserSensingTrajectory.h	Mon Jun 18 08:00:57 2012 +0000
@@ -5,8 +5,8 @@
 using namespace std;
 
 // CONTRAST RATIO to compute autoThreshold:
-#define MIN_CONTRAST_RATIO 1.6 // 3 seems good when lookup table does not work // This is the minimum contrast between max and min intensity necessary to "accept" a black and white zone
-#define THRESHOLD_FACTOR 0.5//0.75 // 2/3 or 1/2 are good values 
+#define MIN_CONTRAST_RATIO 1.7 // 3 seems good when lookup table does not work // This is the minimum contrast between max and min intensity necessary to "accept" a black and white zone
+#define THRESHOLD_FACTOR 0.55//0.75 // 2/3 or 1/2 are good values 
 
 struct laserSensingPoint {
     // Position and color (after rendering)
@@ -28,13 +28,15 @@
     // METHODS:
     void processSensedData();
     void setDelayMirrors(int); // in general, the delay will depend on the number of points being DISPLAYED (in other terms, on the size of lsdTrajectory).
+    void addDelayMirrors(int add_delay);
 
     // DATA:
     vector <laserSensingPoint> lsdTrajectory;
     unsigned char displayColor;
 
     // software adjustement of mirror delay:
-    unsigned char delayMirrorSamples; // this is required because it will affect the way the blob behaves - it could be in the laser renderer, but by putting it here we can have more per-blob fine tunning
+    unsigned char delayMirrorSamples; // this is required because it will affect the way the blob behaves - it 
+    //could be in the laser renderer, but by putting it here we can have more per-blob fine tunning
 
     // parameters for thresholding:
     unsigned char autoThreshold; // 0 to 255