Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of scoreLight_Advanced by
Revision 48:7633d8e7b0d3, committed 2014-12-02
- Comitter:
- mbedalvaro
- Date:
- Tue Dec 02 04:28:42 2014 +0000
- Parent:
- 47:2312a8dc9658
- Commit message:
- this is the working version of the skin games sowtware (aka, scorelight but with pre-determined "games")
Changed in this revision
--- a/blobConfig.cpp Tue Apr 01 14:57:37 2014 +0000 +++ b/blobConfig.cpp Tue Dec 02 04:28:42 2014 +0000 @@ -81,7 +81,7 @@ for (i=0; i<numblobs ; i++) { float anglaux=1.0*i/numblobs*2*PI; addOneRigidLoopBouncing(vector2Df(CENTER_AD_MIRROR_X+200*cos(anglaux), CENTER_AD_MIRROR_Y+200*sin(anglaux)), - vector2Df(cos(anglaux),sin(anglaux))*10); + vector2Df(5*cos(anglaux),sin(anglaux))*10); } break; case VERTICAL_PINBALL_GAME:
--- a/classLaserSensingTrajectory.h Tue Apr 01 14:57:37 2014 +0000 +++ b/classLaserSensingTrajectory.h Tue Dec 02 04:28:42 2014 +0000 @@ -14,7 +14,7 @@ //(1) Autothreshold: // CONTRAST RATIO to compute autoThreshold: // MIN_CONTRAST_RATIO is the minimum contrast between max and min intensity necessary to "accept" a black and white zone: -#define MIN_CONTRAST_RATIO 1.8//1.7 // 3 seems good when lookup table does not work +#define MIN_CONTRAST_RATIO 2.0//2.5//1.6//1.8//1.7 // 3 seems good when lookup table does not work // THRESHOLD_FACTOR is where the threshold is actually placed between the min and max detected (with good contrast): #define THRESHOLD_FACTOR 0.5 //0.75 // 2/3 or 1/2 are good values #define MIN_ACCEPTABLE_INTENSITY 16 // if maxI< this then we consider all the saccade on something black
--- a/hardwareIO/hardwareIO.h Tue Apr 01 14:57:37 2014 +0000 +++ b/hardwareIO/hardwareIO.h Tue Dec 02 04:28:42 2014 +0000 @@ -36,8 +36,8 @@ //**** MIRRORS: //The DAC is 12 bytes capable (Max=4096), but we will limit this a little. -#define MAX_AD_MIRRORS 3845 // note: 4095 is the absolute maximum for the SPI voltage (5V). This is for checking hardware compliance, but max and min angles can be defined for X and Y in each LivingSpot instance. -#define MIN_AD_MIRRORS 250 // note: 0 is 0 volts for the SPI voltage. +#define MAX_AD_MIRRORS 4000//3845 // note: 4095 is the absolute maximum for the SPI voltage (5V). This is for checking hardware compliance, but max and min angles can be defined for X and Y in each LivingSpot instance. +#define MIN_AD_MIRRORS 155//250 // note: 0 is 0 volts for the SPI voltage. // We assume that the center of the mirror is at MAX_AD_MIRRORS/2 = 2000: #define CENTER_AD_MIRROR_X 2047 // This MUST BE the direction of the photodetector. #define CENTER_AD_MIRROR_Y 2047 // This MUST BE the direction of the photodetector.
--- a/myVectorClass.h Tue Apr 01 14:57:37 2014 +0000 +++ b/myVectorClass.h Tue Dec 02 04:28:42 2014 +0000 @@ -405,7 +405,7 @@ inline float vector2D<T>::angleDeg( const vector2D<T>& vec ) const { return (float)(atan2( x*vec.y-y*vec.x, x*vec.x + y*vec.y )*RAD_TO_DEG); } - + template <class T> inline float vector2D<T>::angleRad( const vector2D<T>& vec ) const { return atan2( x*vec.y-y*vec.x, x*vec.x + y*vec.y );
--- a/rigidLoop.cpp Tue Apr 01 14:57:37 2014 +0000 +++ b/rigidLoop.cpp Tue Dec 02 04:28:42 2014 +0000 @@ -86,7 +86,7 @@ setColor(0x04); blueTouch=false; - saccadeRadius=45;//+rand()%20; + saccadeRadius=50;//+rand()%20; // default (initial) shape (the scafold belongs to the base class): bluePrint.buildCircularScafold(saccadeRadius, vector2Dd(0,0), 18); //(float _radius, vector2D _pos,vector2D _vel, int _numScafoldPoints); @@ -144,7 +144,7 @@ blueTouch=false; // default (initial) shape (the scafold belongs to the base class): - saccadeRadius=25; + saccadeRadius=18; bluePrint.buildCircularScafold(saccadeRadius, vector2Dd(0,0), 20); //(float _radius, vector2D _pos,vector2D _vel, int _numScafoldPoints); // Note: We may assume NO MASS for the center of the contour following loop. Adding mass may be interesting though (smooth motion). @@ -203,7 +203,7 @@ setColor(0x05); blueTouch=false; - saccadeRadius=30;//+rand()%20; + saccadeRadius=50;//+rand()%20; // default (initial) shape (the scafold belongs to the base class): bluePrint.buildCircularScafold(saccadeRadius, vector2Dd(0,0), 18); //(float _radius, vector2D _pos,vector2D _vel, int _numScafoldPoints); @@ -530,7 +530,7 @@ // ================================================================ case SPOT_TRACK: if (displaySensingBuffer.lightTouched) { - centerMass.pos +=recenteringVectorLoop; + centerMass.pos +=recenteringVectorLoop*0.6; centerMass.posOld=centerMass.pos; // this is necessary to compute bouceOffWalls using Verlet method... (MAKE A new variable INTEGRATION METHOD?) centerMass.bounceOffWalls(); // constrain position (and compute wall "hit") @@ -542,7 +542,7 @@ } else if (displaySensingBuffer.lightState==ALL_DARK) { // not touched nor on something white: SEARCH MODE saccadeRadius+=20; - if (saccadeRadius>800) saccadeRadius=saccadeRadius_initial; + if (saccadeRadius>200) saccadeRadius=saccadeRadius_initial; bluePrint.buildCircularScafold(saccadeRadius, vector2Dd(0,0), numPoints); justSearched=true; }