Laser Sensing Display for UI interfaces in the real world

Dependencies:   mbed

Fork of skinGames_forktest by Alvaro Cassinelli

Revision:
40:3ba2b0ea9f33
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textData.h	Wed Oct 16 16:14:27 2013 +0000
@@ -0,0 +1,1281 @@
+// This is sort of a hack: the idea is to use FLASH (memory program) to store data (here the trajectory for the letters). 
+// There are several ways to do that, one being for instance to actually WRITE that in a static array on FLASH, but the following is easy to code...
+
+float auxbuffer[50];// this is, max 25 points per letter
+
+int fillAuxBuffer(char ch) {
+ int numpoints;
+ switch(ch){
+    default: 
+        numpoints = 0;
+        break;
+        
+    case 'A':
+        numpoints = 10;
+        auxbuffer[0] = 0; auxbuffer[1] = 3;
+        auxbuffer[2] = 2; auxbuffer[3] = 9;
+        auxbuffer[4] = 4; auxbuffer[5] = 15;
+        auxbuffer[6] = 6; auxbuffer[7] = 15;
+        auxbuffer[8] = 8; auxbuffer[9] = 9;
+        auxbuffer[10] = 4; auxbuffer[11] = 9;
+        auxbuffer[12] = 2; auxbuffer[13] = 9;
+        auxbuffer[14] = 4; auxbuffer[15] = 9;
+        auxbuffer[16] = 8; auxbuffer[17] = 9;
+        auxbuffer[18] = 10; auxbuffer[19] = 3;
+        break;
+        
+    case 'B':
+        numpoints = 16;
+        auxbuffer[0] = 1; auxbuffer[1] = 3;
+        auxbuffer[2] = 1; auxbuffer[3] = 7;
+        auxbuffer[4] = 1; auxbuffer[5] = 11;
+        auxbuffer[6] = 1; auxbuffer[7] = 15;
+        auxbuffer[8] = 6; auxbuffer[9] = 15;
+        auxbuffer[10] = 8; auxbuffer[11] = 14;
+        auxbuffer[12] = 9; auxbuffer[13] = 12;
+        auxbuffer[14] = 8; auxbuffer[15] = 10;
+        auxbuffer[16] = 6; auxbuffer[17] = 9;
+        auxbuffer[18] = 1; auxbuffer[19] = 9;
+        auxbuffer[20] = 6; auxbuffer[21] = 9;
+        auxbuffer[22] = 8; auxbuffer[23] = 8;
+        auxbuffer[24] = 9;auxbuffer[25] = 6;
+        auxbuffer[26] = 8; auxbuffer[27] = 4;
+        auxbuffer[28] = 6;auxbuffer[29] = 3;
+        auxbuffer[30] = 1; auxbuffer[31] = 3;
+        break;
+        
+    case 'C':
+        numpoints = 14;
+        auxbuffer[0] = 9; auxbuffer[1] = 12;
+        auxbuffer[2] = 8; auxbuffer[3] = 14;
+        auxbuffer[4] = 6; auxbuffer[5] = 15;
+        auxbuffer[6] = 4; auxbuffer[7] = 15;
+        auxbuffer[8] = 2;
+        auxbuffer[9] = 14;
+        auxbuffer[10] = 1;
+        auxbuffer[11] = 13;
+        auxbuffer[12] = 0;
+        auxbuffer[13] = 11;
+        auxbuffer[14] = 0;
+        auxbuffer[15] = 7;
+        auxbuffer[16] = 1;
+        auxbuffer[17] = 5;
+        auxbuffer[18] = 2;
+        auxbuffer[19] = 4;
+        auxbuffer[20] = 4;
+        auxbuffer[21] = 3;
+        auxbuffer[22] = 6;
+        auxbuffer[23] = 3;
+        auxbuffer[24] = 8;
+        auxbuffer[25] = 4;
+        auxbuffer[26] = 9;
+        auxbuffer[27] = 6;
+        break;
+    
+    case 'D':
+        numpoints = 13;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 3;
+        auxbuffer[2] = 1;
+        auxbuffer[3] = 7;
+        auxbuffer[4] = 1;
+        auxbuffer[5] = 11;
+        auxbuffer[6] = 1;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 5;
+        auxbuffer[9] = 15;
+        auxbuffer[10] = 8;
+        auxbuffer[11] = 14;
+        auxbuffer[12] = 9;
+        auxbuffer[13] = 13;
+        auxbuffer[14] = 10;
+        auxbuffer[15] = 10;
+        auxbuffer[16] = 10;
+        auxbuffer[17] = 8;
+        auxbuffer[18] = 9;
+        auxbuffer[19] = 5;
+        auxbuffer[20] = 8;
+        auxbuffer[21] = 4;
+        auxbuffer[22] = 5;
+        auxbuffer[23] = 3;
+        auxbuffer[24] = 1;
+        auxbuffer[25] = 3;
+        break;
+    
+    case 'E':
+        numpoints = 11;
+        auxbuffer[0] = 9;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 5;
+        auxbuffer[3] = 15;
+        auxbuffer[4] = 1;
+        auxbuffer[5] = 15;
+        auxbuffer[6] = 1;
+        auxbuffer[7] = 12;
+        auxbuffer[8] = 1;
+        auxbuffer[9] = 9;
+        auxbuffer[10] = 5;
+        auxbuffer[11] = 9;
+        auxbuffer[12] = 1;
+        auxbuffer[13] = 9;
+        auxbuffer[14] = 1;
+        auxbuffer[15] = 6;
+        auxbuffer[16] = 1;
+        auxbuffer[17] = 3;
+        auxbuffer[18] = 5;
+        auxbuffer[19] = 3;
+        auxbuffer[20] = 9;
+        auxbuffer[21] = 3;
+        break;
+    
+    case 'F':
+        numpoints = 9;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 3;
+        auxbuffer[2] = 1;
+        auxbuffer[3] = 6;
+        auxbuffer[4] = 1;
+        auxbuffer[5] = 9;
+        auxbuffer[6] = 5;
+        auxbuffer[7] = 9;
+        auxbuffer[8] = 1;
+        auxbuffer[9] = 9;
+        auxbuffer[10] = 1;
+        auxbuffer[11] = 12;
+        auxbuffer[12] = 1;
+        auxbuffer[13] = 15;
+        auxbuffer[14] = 5;
+        auxbuffer[15] = 15;
+        auxbuffer[16] = 9;
+        auxbuffer[17] = 15;
+        break;
+    
+    case 'G':
+        numpoints = 19;
+        auxbuffer[0] = 10;
+        auxbuffer[1] = 11;
+        auxbuffer[2] = 9;
+        auxbuffer[3] = 13;
+        auxbuffer[4] = 8;
+        auxbuffer[5] = 14;
+        auxbuffer[6] = 6;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 4;
+        auxbuffer[9] = 15;
+        auxbuffer[10] = 2;
+        auxbuffer[11] = 14;
+        auxbuffer[12] = 1;
+        auxbuffer[13] = 13;
+        auxbuffer[14] = 0;
+        auxbuffer[15] = 11;
+        auxbuffer[16] = 0;
+        auxbuffer[17] = 7;
+        auxbuffer[18] = 1;
+        auxbuffer[19] = 5;
+        auxbuffer[20] = 2;
+        auxbuffer[21] = 4;
+        auxbuffer[22] = 4;
+        auxbuffer[23] = 3;
+        auxbuffer[24] = 6;
+        auxbuffer[25] = 3;
+        auxbuffer[26] = 8;
+        auxbuffer[27] = 4;
+        auxbuffer[28] = 9;
+        auxbuffer[29] = 5;
+        auxbuffer[30] = 10;
+        auxbuffer[31] = 7;
+        auxbuffer[32] = 10;
+        auxbuffer[33] = 8;
+        auxbuffer[34] = 7;
+        auxbuffer[35] = 8;
+        auxbuffer[36] = 5;
+        auxbuffer[37] = 8;
+        break;
+    
+    case 'H':
+        numpoints = 14;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 3;
+        auxbuffer[2] = 1;
+        auxbuffer[3] = 6;
+        auxbuffer[4] = 1;
+        auxbuffer[5] = 9;
+        auxbuffer[6] = 1;
+        auxbuffer[7] = 12;
+        auxbuffer[8] = 1;
+        auxbuffer[9] = 15;
+        auxbuffer[10] = 1;
+        auxbuffer[11] = 9;
+        auxbuffer[12] = 4;
+        auxbuffer[13] = 9;
+        auxbuffer[14] = 6;
+        auxbuffer[15] = 9;
+        auxbuffer[16] = 9;
+        auxbuffer[17] = 9;
+        auxbuffer[18] = 9;
+        auxbuffer[19] = 12;
+        auxbuffer[20] = 9;
+        auxbuffer[21] = 15;
+        auxbuffer[22] = 9;
+        auxbuffer[23] = 9;
+        auxbuffer[24] = 9;
+        auxbuffer[25] = 6;
+        auxbuffer[26] = 9;
+        auxbuffer[27] = 3;
+        break;
+    
+    case 'I':
+        numpoints = 11;
+        auxbuffer[0] = 3;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 5;
+        auxbuffer[3] = 15;
+        auxbuffer[4] = 7;
+        auxbuffer[5] = 15;
+        auxbuffer[6] = 5;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 5;
+        auxbuffer[9] = 12;
+        auxbuffer[10] = 5;
+        auxbuffer[11] = 9;
+        auxbuffer[12] = 5;
+        auxbuffer[13] = 6;
+        auxbuffer[14] = 5;
+        auxbuffer[15] = 3;
+        auxbuffer[16] = 3;
+        auxbuffer[17] = 3;
+        auxbuffer[18] = 5;
+        auxbuffer[19] = 3;
+        auxbuffer[20] = 7;
+        auxbuffer[21] = 3;
+        break;
+    
+    case 'J':
+        numpoints = 12;
+        auxbuffer[0] = 4;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 7;
+        auxbuffer[3] = 15;
+        auxbuffer[4] = 10;
+        auxbuffer[5] = 15;
+        auxbuffer[6] = 7;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 7;
+        auxbuffer[9] = 12;
+        auxbuffer[10] = 7;
+        auxbuffer[11] = 9;
+        auxbuffer[12] = 7;
+        auxbuffer[13] = 6;
+        auxbuffer[14] = 6;
+        auxbuffer[15] = 4;
+        auxbuffer[16] = 5;
+        auxbuffer[17] = 3;
+        auxbuffer[18] = 3;
+        auxbuffer[19] = 3;
+        auxbuffer[20] = 2;
+        auxbuffer[21] = 4;
+        auxbuffer[22] = 1;
+        auxbuffer[23] = 6;
+        break;
+    
+    case 'K':
+        numpoints = 11;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 3;
+        auxbuffer[2] = 1;
+        auxbuffer[3] = 7;
+        auxbuffer[4] = 1;
+        auxbuffer[5] = 11;
+        auxbuffer[6] = 1;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 1;
+        auxbuffer[9] = 9;
+        auxbuffer[10] = 5;
+        auxbuffer[11] = 9;
+        auxbuffer[12] = 7;
+        auxbuffer[13] = 12;
+        auxbuffer[14] = 9;
+        auxbuffer[15] = 15;
+        auxbuffer[16] = 5;
+        auxbuffer[17] = 9;
+        auxbuffer[18] = 7;
+        auxbuffer[19] = 6;
+        auxbuffer[20] = 9;
+        auxbuffer[21] = 3;
+        break;
+    
+    //trajectory 'L'
+    //nb position: '&'
+    //BPBLBHBDFDJD
+    case 'L':
+        numpoints = 6;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 1;
+        auxbuffer[3] = 11;
+        auxbuffer[4] = 1;
+        auxbuffer[5] = 7;
+        auxbuffer[6] = 1;
+        auxbuffer[7] = 3;
+        auxbuffer[8] = 5;
+        auxbuffer[9] = 3;
+        auxbuffer[10] = 9;
+        auxbuffer[11] = 3;
+        break;
+    
+    //trajectory 'M'
+    //nb position: '+'
+    //ADAHALAPCMFIIMKPKLKHKD
+    case 'M':
+        numpoints = 11;
+        auxbuffer[0] = 0;
+        auxbuffer[1] = 3;
+        auxbuffer[2] = 0;
+        auxbuffer[3] = 7;
+        auxbuffer[4] = 0;
+        auxbuffer[5] = 11;
+        auxbuffer[6] = 0;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 2;
+        auxbuffer[9] = 12;
+        auxbuffer[10] = 5;
+        auxbuffer[11] = 8;
+        auxbuffer[12] = 8;
+        auxbuffer[13] = 12;
+        auxbuffer[14] = 10;
+        auxbuffer[15] = 15;
+        auxbuffer[16] = 10;
+        auxbuffer[17] = 11;
+        auxbuffer[18] = 10;
+        auxbuffer[19] = 7;
+        auxbuffer[20] = 10;
+        auxbuffer[21] = 3;
+        break;
+    
+    //trajectory 'N'
+    //nb position: '+'
+    //BDBHBLBPDMFJHGJDJHJLJP
+    case 'N':
+        numpoints = 11;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 3;
+        auxbuffer[2] = 1;
+        auxbuffer[3] = 7;
+        auxbuffer[4] = 1;
+        auxbuffer[5] = 11;
+        auxbuffer[6] = 1;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 3;
+        auxbuffer[9] = 12;
+        auxbuffer[10] = 5;
+        auxbuffer[11] = 9;
+        auxbuffer[12] = 7;
+        auxbuffer[13] = 6;
+        auxbuffer[14] = 9;
+        auxbuffer[15] = 3;
+        auxbuffer[16] = 9;
+        auxbuffer[17] = 7;
+        auxbuffer[18] = 9;
+        auxbuffer[19] = 11;
+        auxbuffer[20] = 9;
+        auxbuffer[21] = 15;
+        break;
+    
+    //trajectory 'O'
+    //nb position: '3'
+    //EPCOBNALAJAHBFCEEDGDIEJFKHKJKLJNIOGPEP
+    case 'O':
+        numpoints = 19;
+        auxbuffer[0] = 4; auxbuffer[1] = 15;
+        auxbuffer[2] = 2; auxbuffer[3] = 14;
+        auxbuffer[4] = 1; auxbuffer[5] = 13;
+        auxbuffer[6] = 0; auxbuffer[7] = 11;
+        auxbuffer[8] = 0;  auxbuffer[9] = 9;
+        auxbuffer[10] = 0;  auxbuffer[11] = 7;
+        auxbuffer[12] = 1; auxbuffer[13] = 5;
+        auxbuffer[14] = 2; auxbuffer[15] = 4;
+        auxbuffer[16] = 4; auxbuffer[17] = 3;
+        auxbuffer[18] = 6;auxbuffer[19] = 3;
+        auxbuffer[20] = 8; auxbuffer[21] = 4;
+        auxbuffer[22] = 9; auxbuffer[23] = 5;
+        auxbuffer[24] = 10; auxbuffer[25] = 7;
+        auxbuffer[26] = 10; auxbuffer[27] = 9;
+        auxbuffer[28] = 10; auxbuffer[29] = 11;
+        auxbuffer[30] = 9; auxbuffer[31] = 13;
+        auxbuffer[32] = 8; auxbuffer[33] = 14;
+        auxbuffer[34] = 6;auxbuffer[35] = 15;
+        auxbuffer[36] = 4; auxbuffer[37] = 15;
+        break;
+    
+    //trajectory 'P'
+    //nb position: '*'
+    //CDCHCLCPFPIOJMIKFJCJ
+    case 'P':
+        numpoints = 10;
+        auxbuffer[0] = 2;
+        auxbuffer[1] = 3;
+        auxbuffer[2] = 2;
+        auxbuffer[3] = 7;
+        auxbuffer[4] = 2;
+        auxbuffer[5] = 11;
+        auxbuffer[6] = 2;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 5;
+        auxbuffer[9] = 15;
+        auxbuffer[10] = 8;
+        auxbuffer[11] = 14;
+        auxbuffer[12] = 9;
+        auxbuffer[13] = 12;
+        auxbuffer[14] = 8;
+        auxbuffer[15] = 10;
+        auxbuffer[16] = 5;
+        auxbuffer[17] = 9;
+        auxbuffer[18] = 2;
+        auxbuffer[19] = 9;
+        break;
+    
+    //trajectory 'Q'
+    //nb position: '5'
+    //KDIEGDEDCEBFAHAJALBNCOEPGPIOJNKLKJKHJFIEGF
+    case 'Q':
+        numpoints = 21;
+        auxbuffer[0] = 10;
+        auxbuffer[1] = 3;
+        auxbuffer[2] = 8;
+        auxbuffer[3] = 4;
+        auxbuffer[4] = 6;
+        auxbuffer[5] = 3;
+        auxbuffer[6] = 4;
+        auxbuffer[7] = 3;
+        auxbuffer[8] = 2;
+        auxbuffer[9] = 4;
+        auxbuffer[10] = 1;
+        auxbuffer[11] = 5;
+        auxbuffer[12] = 0;
+        auxbuffer[13] = 7;
+        auxbuffer[14] = 0;
+        auxbuffer[15] = 9;
+        auxbuffer[16] = 0;
+        auxbuffer[17] = 11;
+        auxbuffer[18] = 1;
+        auxbuffer[19] = 13;
+        auxbuffer[20] = 2;
+        auxbuffer[21] = 14;
+        auxbuffer[22] = 4;
+        auxbuffer[23] = 15;
+        auxbuffer[24] = 6;
+        auxbuffer[25] = 15;
+        auxbuffer[26] = 8;
+        auxbuffer[27] = 14;
+        auxbuffer[28] = 9;
+        auxbuffer[29] = 13;
+        auxbuffer[30] = 10;
+        auxbuffer[31] = 11;
+        auxbuffer[32] = 10;
+        auxbuffer[33] = 9;
+        auxbuffer[34] = 10;
+        auxbuffer[35] = 7;
+        auxbuffer[36] = 9;
+        auxbuffer[37] = 5;
+        auxbuffer[38] = 8;
+        auxbuffer[39] = 4;
+        auxbuffer[40] = 6;
+        auxbuffer[41] = 5;
+        break;
+    
+    //trajectory 'R'
+    //nb position: '0'
+    //BDBHBLBPFPIOJMIKFJDJBJEJGIHHIFJD
+    case 'R':
+        numpoints = 16;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 3;
+        auxbuffer[2] = 1;
+        auxbuffer[3] = 7;
+        auxbuffer[4] = 1;
+        auxbuffer[5] = 11;
+        auxbuffer[6] = 1;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 5;
+        auxbuffer[9] = 15;
+        auxbuffer[10] = 8;
+        auxbuffer[11] = 14;
+        auxbuffer[12] = 9;
+        auxbuffer[13] = 12;
+        auxbuffer[14] = 8;
+        auxbuffer[15] = 10;
+        auxbuffer[16] = 5;
+        auxbuffer[17] = 9;
+        auxbuffer[18] = 3;
+        auxbuffer[19] = 9;
+        auxbuffer[20] = 1;
+        auxbuffer[21] = 9;
+        auxbuffer[22] = 4;
+        auxbuffer[23] = 9;
+        auxbuffer[24] = 6;
+        auxbuffer[25] = 8;
+        auxbuffer[26] = 7;
+        auxbuffer[27] = 7;
+        auxbuffer[28] = 8;
+        auxbuffer[29] = 5;
+        auxbuffer[30] = 9;
+        auxbuffer[31] = 3;
+        break;
+    
+    //trajectory 'S'
+    //nb position: '1'
+    //JNIOGPEPCOBNBLCKEJGJIIJGIEGDEDCEBF
+    case 'S':
+        numpoints = 17;
+        auxbuffer[0] = 9;
+        auxbuffer[1] = 13;
+        auxbuffer[2] = 8;
+        auxbuffer[3] = 14;
+        auxbuffer[4] = 6;
+        auxbuffer[5] = 15;
+        auxbuffer[6] = 4;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 2;
+        auxbuffer[9] = 14;
+        auxbuffer[10] = 1;
+        auxbuffer[11] = 13;
+        auxbuffer[12] = 1;
+        auxbuffer[13] = 11;
+        auxbuffer[14] = 2;
+        auxbuffer[15] = 10;
+        auxbuffer[16] = 4;
+        auxbuffer[17] = 9;
+        auxbuffer[18] = 6;
+        auxbuffer[19] = 9;
+        auxbuffer[20] = 8;
+        auxbuffer[21] = 8;
+        auxbuffer[22] = 9;
+        auxbuffer[23] = 6;
+        auxbuffer[24] = 8;
+        auxbuffer[25] = 4;
+        auxbuffer[26] = 6;
+        auxbuffer[27] = 3;
+        auxbuffer[28] = 4;
+        auxbuffer[29] = 3;
+        auxbuffer[30] = 2;
+        auxbuffer[31] = 4;
+        auxbuffer[32] = 1;
+        auxbuffer[33] = 5;
+        break;
+    
+    //trajectory 'T'
+    //nb position: '('
+    //BPFPFLFHFDFJFPJP
+    case 'T':
+        numpoints = 8;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 5;
+        auxbuffer[3] = 15;
+        auxbuffer[4] = 5;
+        auxbuffer[5] = 11;
+        auxbuffer[6] = 5;
+        auxbuffer[7] = 7;
+        auxbuffer[8] = 5;
+        auxbuffer[9] = 3;
+        auxbuffer[10] = 5;
+        auxbuffer[11] = 9;
+        auxbuffer[12] = 5;
+        auxbuffer[13] = 15;
+        auxbuffer[14] = 9;
+        auxbuffer[15] = 15;
+        break;
+    
+    //trajectory 'U'
+    //nb position: '*'
+    //BPBLBHCEEDGDIEJHJLJP
+    case 'U':
+        numpoints = 10;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 1;
+        auxbuffer[3] = 11;
+        auxbuffer[4] = 1;
+        auxbuffer[5] = 7;
+        auxbuffer[6] = 2;
+        auxbuffer[7] = 4;
+        auxbuffer[8] = 4;
+        auxbuffer[9] = 3;
+        auxbuffer[10] = 6;
+        auxbuffer[11] = 3;
+        auxbuffer[12] = 8;
+        auxbuffer[13] = 4;
+        auxbuffer[14] = 9;
+        auxbuffer[15] = 7;
+        auxbuffer[16] = 9;
+        auxbuffer[17] = 11;
+        auxbuffer[18] = 9;
+        auxbuffer[19] = 15;
+        break;
+    
+    //trajectory 'V'
+    //nb position: '''
+    //APBNDIFDHIJNKP
+    case 'V':
+        numpoints = 7;
+        auxbuffer[0] = 0;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 1;
+        auxbuffer[3] = 13;
+        auxbuffer[4] = 3;
+        auxbuffer[5] = 8;
+        auxbuffer[6] = 5;
+        auxbuffer[7] = 3;
+        auxbuffer[8] = 7;
+        auxbuffer[9] = 8;
+        auxbuffer[10] = 9;
+        auxbuffer[11] = 13;
+        auxbuffer[12] = 10;
+        auxbuffer[13] = 15;
+        break;
+    
+    //trajectory 'W'
+    //nb position: '+'
+    //APBLCHDDEHFKGHHDIHJLKP
+    case 'W':
+        numpoints = 11;
+        auxbuffer[0] = 0;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 1;
+        auxbuffer[3] = 11;
+        auxbuffer[4] = 2;
+        auxbuffer[5] = 7;
+        auxbuffer[6] = 3;
+        auxbuffer[7] = 3;
+        auxbuffer[8] = 4;
+        auxbuffer[9] = 7;
+        auxbuffer[10] = 5;
+        auxbuffer[11] = 10;
+        auxbuffer[12] = 6;
+        auxbuffer[13] = 7;
+        auxbuffer[14] = 7;
+        auxbuffer[15] = 3;
+        auxbuffer[16] = 8;
+        auxbuffer[17] = 7;
+        auxbuffer[18] = 9;
+        auxbuffer[19] = 11;
+        auxbuffer[20] = 10;
+        auxbuffer[21] = 15;
+        break;
+    
+    //trajectory 'X'
+    //nb position: '-'
+    //BPDMFJDGBDDGFJHMJPHMFJHGJD
+    case 'X':
+        numpoints = 13;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 3;
+        auxbuffer[3] = 12;
+        auxbuffer[4] = 5;
+        auxbuffer[5] = 9;
+        auxbuffer[6] = 3;
+        auxbuffer[7] = 6;
+        auxbuffer[8] = 1;
+        auxbuffer[9] = 3;
+        auxbuffer[10] = 3;
+        auxbuffer[11] = 6;
+        auxbuffer[12] = 5;
+        auxbuffer[13] = 9;
+        auxbuffer[14] = 7;
+        auxbuffer[15] = 12;
+        auxbuffer[16] = 9;
+        auxbuffer[17] = 15;
+        auxbuffer[18] = 7;
+        auxbuffer[19] = 12;
+        auxbuffer[20] = 5;
+        auxbuffer[21] = 9;
+        auxbuffer[22] = 7;
+        auxbuffer[23] = 6;
+        auxbuffer[24] = 9;
+        auxbuffer[25] = 3;
+        break;
+    
+    //trajectory 'Y'
+    //nb position: ')'
+    //BPDMFJFGFDFGFJHMJP
+    case 'Y':
+        numpoints = 9;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 3;
+        auxbuffer[3] = 12;
+        auxbuffer[4] = 5;
+        auxbuffer[5] = 9;
+        auxbuffer[6] = 5;
+        auxbuffer[7] = 6;
+        auxbuffer[8] = 5;
+        auxbuffer[9] = 3;
+        auxbuffer[10] = 5;
+        auxbuffer[11] = 6;
+        auxbuffer[12] = 5;
+        auxbuffer[13] = 9;
+        auxbuffer[14] = 7;
+        auxbuffer[15] = 12;
+        auxbuffer[16] = 9;
+        auxbuffer[17] = 15;
+        break;
+    
+    //trajectory 'Z'
+    //nb position: '''
+    //APFPKPFJADFDKD
+    case 'Z':
+        numpoints = 7;
+        auxbuffer[0] = 0;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 5;
+        auxbuffer[3] = 15;
+        auxbuffer[4] = 10;
+        auxbuffer[5] = 15;
+        auxbuffer[6] = 5;
+        auxbuffer[7] = 9;
+        auxbuffer[8] = 0;
+        auxbuffer[9] = 3;
+        auxbuffer[10] = 5;
+        auxbuffer[11] = 3;
+        auxbuffer[12] = 10;
+        auxbuffer[13] = 3;
+        break;
+    
+    //trajectory '1'
+    //nb position: '%'
+    //CLGPGLGHGD
+    case '1':
+        numpoints = 5;
+        auxbuffer[0] = 2;
+        auxbuffer[1] = 11;
+        auxbuffer[2] = 6;
+        auxbuffer[3] = 15;
+        auxbuffer[4] = 6;
+        auxbuffer[5] = 11;
+        auxbuffer[6] = 6;
+        auxbuffer[7] = 7;
+        auxbuffer[8] = 6;
+        auxbuffer[9] = 3;
+        break;
+    
+    //trajectory '2'
+    //nb position: '-'
+    //BMCOEPGPIOJMJLIJFHDFBDFDJD
+    case '2':
+        numpoints = 13;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 12;
+        auxbuffer[2] = 2;
+        auxbuffer[3] = 14;
+        auxbuffer[4] = 4;
+        auxbuffer[5] = 15;
+        auxbuffer[6] = 6;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 8;
+        auxbuffer[9] = 14;
+        auxbuffer[10] = 9;
+        auxbuffer[11] = 12;
+        auxbuffer[12] = 9;
+        auxbuffer[13] = 11;
+        auxbuffer[14] = 8;
+        auxbuffer[15] = 9;
+        auxbuffer[16] = 5;
+        auxbuffer[17] = 7;
+        auxbuffer[18] = 3;
+        auxbuffer[19] = 5;
+        auxbuffer[20] = 1;
+        auxbuffer[21] = 3;
+        auxbuffer[22] = 5;
+        auxbuffer[23] = 3;
+        auxbuffer[24] = 9;
+        auxbuffer[25] = 3;
+        break;
+    
+    //trajectory '3'
+    //nb position: '3'
+    //BNCOEPGPIOJMJKIJGJFJHJIJJIJGIEGDEDCEBF
+    case '3':
+        numpoints = 19;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 13;
+        auxbuffer[2] = 2;
+        auxbuffer[3] = 14;
+        auxbuffer[4] = 4;
+        auxbuffer[5] = 15;
+        auxbuffer[6] = 6;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 8;
+        auxbuffer[9] = 14;
+        auxbuffer[10] = 9;
+        auxbuffer[11] = 12;
+        auxbuffer[12] = 9;
+        auxbuffer[13] = 10;
+        auxbuffer[14] = 8;
+        auxbuffer[15] = 9;
+        auxbuffer[16] = 6;
+        auxbuffer[17] = 9;
+        auxbuffer[18] = 5;
+        auxbuffer[19] = 9;
+        auxbuffer[20] = 7;
+        auxbuffer[21] = 9;
+        auxbuffer[22] = 8;
+        auxbuffer[23] = 9;
+        auxbuffer[24] = 9;
+        auxbuffer[25] = 8;
+        auxbuffer[26] = 9;
+        auxbuffer[27] = 6;
+        auxbuffer[28] = 8;
+        auxbuffer[29] = 4;
+        auxbuffer[30] = 6;
+        auxbuffer[31] = 3;
+        auxbuffer[32] = 4;
+        auxbuffer[33] = 3;
+        auxbuffer[34] = 2;
+        auxbuffer[35] = 4;
+        auxbuffer[36] = 1;
+        auxbuffer[37] = 5;
+        break;
+    
+    //trajectory '4'
+    //nb position: '('
+    //HDHHHLHPELBHFHJH
+    case '4':
+        numpoints = 8;
+        auxbuffer[0] = 7;
+        auxbuffer[1] = 3;
+        auxbuffer[2] = 7;
+        auxbuffer[3] = 7;
+        auxbuffer[4] = 7;
+        auxbuffer[5] = 11;
+        auxbuffer[6] = 7;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 4;
+        auxbuffer[9] = 11;
+        auxbuffer[10] = 1;
+        auxbuffer[11] = 7;
+        auxbuffer[12] = 5;
+        auxbuffer[13] = 7;
+        auxbuffer[14] = 9;
+        auxbuffer[15] = 7;
+        break;
+    
+    //trajectory '5'
+    //nb position: '/'
+    //JPFPCPBLBJEKGKIJJHJGIEGDEDCEBF
+    case '5':
+        numpoints = 15;
+        auxbuffer[0] = 9;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 5;
+        auxbuffer[3] = 15;
+        auxbuffer[4] = 2;
+        auxbuffer[5] = 15;
+        auxbuffer[6] = 1;
+        auxbuffer[7] = 11;
+        auxbuffer[8] = 1;
+        auxbuffer[9] = 9;
+        auxbuffer[10] = 4;
+        auxbuffer[11] = 10;
+        auxbuffer[12] = 6;
+        auxbuffer[13] = 10;
+        auxbuffer[14] = 8;
+        auxbuffer[15] = 9;
+        auxbuffer[16] = 9;
+        auxbuffer[17] = 7;
+        auxbuffer[18] = 9;
+        auxbuffer[19] = 6;
+        auxbuffer[20] = 8;
+        auxbuffer[21] = 4;
+        auxbuffer[22] = 6;
+        auxbuffer[23] = 3;
+        auxbuffer[24] = 4;
+        auxbuffer[25] = 3;
+        auxbuffer[26] = 2;
+        auxbuffer[27] = 4;
+        auxbuffer[28] = 1;
+        auxbuffer[29] = 5;
+        break;
+    
+    //trajectory '6'
+    //nb position: '3'
+    //JNIOGPEPCOBMBJBGCEEDGDIEJGJHIJGKEKCJBH
+    case '6':
+        numpoints = 19;
+        auxbuffer[0] = 9;
+        auxbuffer[1] = 13;
+        auxbuffer[2] = 8;
+        auxbuffer[3] = 14;
+        auxbuffer[4] = 6;
+        auxbuffer[5] = 15;
+        auxbuffer[6] = 4;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 2;
+        auxbuffer[9] = 14;
+        auxbuffer[10] = 1;
+        auxbuffer[11] = 12;
+        auxbuffer[12] = 1;
+        auxbuffer[13] = 9;
+        auxbuffer[14] = 1;
+        auxbuffer[15] = 6;
+        auxbuffer[16] = 2;
+        auxbuffer[17] = 4;
+        auxbuffer[18] = 4;
+        auxbuffer[19] = 3;
+        auxbuffer[20] = 6;
+        auxbuffer[21] = 3;
+        auxbuffer[22] = 8;
+        auxbuffer[23] = 4;
+        auxbuffer[24] = 9;
+        auxbuffer[25] = 6;
+        auxbuffer[26] = 9;
+        auxbuffer[27] = 7;
+        auxbuffer[28] = 8;
+        auxbuffer[29] = 9;
+        auxbuffer[30] = 6;
+        auxbuffer[31] = 10;
+        auxbuffer[32] = 4;
+        auxbuffer[33] = 10;
+        auxbuffer[34] = 2;
+        auxbuffer[35] = 9;
+        auxbuffer[36] = 1;
+        auxbuffer[37] = 7;
+        break;
+    
+    //trajectory '7'
+    //nb position: '''
+    //BOBPFPJPHLFHDD
+    case '7':
+        numpoints = 7;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 14;
+        auxbuffer[2] = 1;
+        auxbuffer[3] = 15;
+        auxbuffer[4] = 5;
+        auxbuffer[5] = 15;
+        auxbuffer[6] = 9;
+        auxbuffer[7] = 15;
+        auxbuffer[8] = 7;
+        auxbuffer[9] = 11;
+        auxbuffer[10] = 5;
+        auxbuffer[11] = 7;
+        auxbuffer[12] = 3;
+        auxbuffer[13] = 3;
+        break;
+    
+    //trajectory '8'
+    //nb position: '4'
+    //EJCKBMCOEPGPIOJMIKGJEJCIBGCEEDGDIEJGIIGJ
+    case '8':
+        numpoints = 20;
+        auxbuffer[0] = 4;
+        auxbuffer[1] = 9;
+        auxbuffer[2] = 2;
+        auxbuffer[3] = 10;
+        auxbuffer[4] = 1;
+        auxbuffer[5] = 12;
+        auxbuffer[6] = 2;
+        auxbuffer[7] = 14;
+        auxbuffer[8] = 4;
+        auxbuffer[9] = 15;
+        auxbuffer[10] = 6;
+        auxbuffer[11] = 15;
+        auxbuffer[12] = 8;
+        auxbuffer[13] = 14;
+        auxbuffer[14] = 9;
+        auxbuffer[15] = 12;
+        auxbuffer[16] = 8;
+        auxbuffer[17] = 10;
+        auxbuffer[18] = 6;
+        auxbuffer[19] = 9;
+        auxbuffer[20] = 4;
+        auxbuffer[21] = 9;
+        auxbuffer[22] = 2;
+        auxbuffer[23] = 8;
+        auxbuffer[24] = 1;
+        auxbuffer[25] = 6;
+        auxbuffer[26] = 2;
+        auxbuffer[27] = 4;
+        auxbuffer[28] = 4;
+        auxbuffer[29] = 3;
+        auxbuffer[30] = 6;
+        auxbuffer[31] = 3;
+        auxbuffer[32] = 8;
+        auxbuffer[33] = 4;
+        auxbuffer[34] = 9;
+        auxbuffer[35] = 6;
+        auxbuffer[36] = 8;
+        auxbuffer[37] = 8;
+        auxbuffer[38] = 6;
+        auxbuffer[39] = 9;
+        break;
+    
+    //trajectory '9'
+    //nb position: '4'
+    //BGCEEDGDIEJGJIJKJMIOGPEPCOBMBLCJEIGIIJJL
+    case '9':
+        numpoints = 20;
+        auxbuffer[0] = 1;
+        auxbuffer[1] = 6;
+        auxbuffer[2] = 2;
+        auxbuffer[3] = 4;
+        auxbuffer[4] = 4;
+        auxbuffer[5] = 3;
+        auxbuffer[6] = 6;
+        auxbuffer[7] = 3;
+        auxbuffer[8] = 8;
+        auxbuffer[9] = 4;
+        auxbuffer[10] = 9;
+        auxbuffer[11] = 6;
+        auxbuffer[12] = 9;
+        auxbuffer[13] = 8;
+        auxbuffer[14] = 9;
+        auxbuffer[15] = 10;
+        auxbuffer[16] = 9;
+        auxbuffer[17] = 12;
+        auxbuffer[18] = 8;
+        auxbuffer[19] = 14;
+        auxbuffer[20] = 6;
+        auxbuffer[21] = 15;
+        auxbuffer[22] = 4;
+        auxbuffer[23] = 15;
+        auxbuffer[24] = 2;
+        auxbuffer[25] = 14;
+        auxbuffer[26] = 1;
+        auxbuffer[27] = 12;
+        auxbuffer[28] = 1;
+        auxbuffer[29] = 11;
+        auxbuffer[30] = 2;
+        auxbuffer[31] = 9;
+        auxbuffer[32] = 4;
+        auxbuffer[33] = 8;
+        auxbuffer[34] = 6;
+        auxbuffer[35] = 8;
+        auxbuffer[36] = 8;
+        auxbuffer[37] = 9;
+        auxbuffer[38] = 9;
+        auxbuffer[39] = 11;
+        break;
+    
+    //trajectory '0'
+    //nb position: '-'
+    //EPCNBKBICFEDGDIFJIJKINGPEP
+    case '0':
+        numpoints = 13;
+        auxbuffer[0] = 4;
+        auxbuffer[1] = 15;
+        auxbuffer[2] = 2;
+        auxbuffer[3] = 13;
+        auxbuffer[4] = 1;
+        auxbuffer[5] = 10;
+        auxbuffer[6] = 1;
+        auxbuffer[7] = 8;
+        auxbuffer[8] = 2;
+        auxbuffer[9] = 5;
+        auxbuffer[10] = 4;
+        auxbuffer[11] = 3;
+        auxbuffer[12] = 6;
+        auxbuffer[13] = 3;
+        auxbuffer[14] = 8;
+        auxbuffer[15] = 5;
+        auxbuffer[16] = 9;
+        auxbuffer[17] = 8;
+        auxbuffer[18] = 9;
+        auxbuffer[19] = 10;
+        auxbuffer[20] = 8;
+        auxbuffer[21] = 13;
+        auxbuffer[22] = 6;
+        auxbuffer[23] = 15;
+        auxbuffer[24] = 4;
+        auxbuffer[25] = 15;
+        break;
+  
+  //trajectory 'a'
+//nb position: '6'
+//FMFMGMHNHOGPFPEOENFMFKHLFKDJFKFIIHGFIHFIGGED
+case 'a':
+       numpoints = 22;
+       auxbuffer[0] = 5;
+       auxbuffer[1] = 12;
+       auxbuffer[2] = 5;
+       auxbuffer[3] = 12;
+       auxbuffer[4] = 6;
+       auxbuffer[5] = 12;
+       auxbuffer[6] = 7;
+       auxbuffer[7] = 13;
+       auxbuffer[8] = 7;
+       auxbuffer[9] = 14;
+       auxbuffer[10] = 6;
+       auxbuffer[11] = 15;
+       auxbuffer[12] = 5;
+       auxbuffer[13] = 15;
+       auxbuffer[14] = 4;
+       auxbuffer[15] = 14;
+       auxbuffer[16] = 4;
+       auxbuffer[17] = 13;
+       auxbuffer[18] = 5;
+       auxbuffer[19] = 12;
+       auxbuffer[20] = 5;
+       auxbuffer[21] = 10;
+       auxbuffer[22] = 7;
+       auxbuffer[23] = 11;
+       auxbuffer[24] = 5;
+       auxbuffer[25] = 10;
+       auxbuffer[26] = 3;
+       auxbuffer[27] = 9;
+       auxbuffer[28] = 5;
+       auxbuffer[29] = 10;
+       auxbuffer[30] = 5;
+       auxbuffer[31] = 8;
+       auxbuffer[32] = 8;
+       auxbuffer[33] = 7;
+       auxbuffer[34] = 6;
+       auxbuffer[35] = 5;
+       auxbuffer[36] = 8;
+       auxbuffer[37] = 7;
+       auxbuffer[38] = 5;
+       auxbuffer[39] = 8;
+       auxbuffer[40] = 6;
+       auxbuffer[41] = 6;
+       auxbuffer[42] = 4;
+       auxbuffer[43] = 3;
+       break;
+
+//trajectory 'b'
+//nb position: '6'
+//FMFMGMHNHOGPFPEOENFMFKHKFKDKFKFHHIFFHIFHHFFD
+case 'b':
+       numpoints = 22;
+       auxbuffer[0] = 5;
+       auxbuffer[1] = 12;
+       auxbuffer[2] = 5;
+       auxbuffer[3] = 12;
+       auxbuffer[4] = 6;
+       auxbuffer[5] = 12;
+       auxbuffer[6] = 7;
+       auxbuffer[7] = 13;
+       auxbuffer[8] = 7;
+       auxbuffer[9] = 14;
+       auxbuffer[10] = 6;
+       auxbuffer[11] = 15;
+       auxbuffer[12] = 5;
+       auxbuffer[13] = 15;
+       auxbuffer[14] = 4;
+       auxbuffer[15] = 14;
+       auxbuffer[16] = 4;
+       auxbuffer[17] = 13;
+       auxbuffer[18] = 5;
+       auxbuffer[19] = 12;
+       auxbuffer[20] = 5;
+       auxbuffer[21] = 10;
+       auxbuffer[22] = 7;
+       auxbuffer[23] = 10;
+       auxbuffer[24] = 5;
+       auxbuffer[25] = 10;
+       auxbuffer[26] = 3;
+       auxbuffer[27] = 10;
+       auxbuffer[28] = 5;
+       auxbuffer[29] = 10;
+       auxbuffer[30] = 5;
+       auxbuffer[31] = 7;
+       auxbuffer[32] = 7;
+       auxbuffer[33] = 8;
+       auxbuffer[34] = 5;
+       auxbuffer[35] = 5;
+       auxbuffer[36] = 7;
+       auxbuffer[37] = 8;
+       auxbuffer[38] = 5;
+       auxbuffer[39] = 7;
+       auxbuffer[40] = 7;
+       auxbuffer[41] = 5;
+       auxbuffer[42] = 5;
+       auxbuffer[43] = 3;
+       break;
+//trajectory 'c'
+//nb position: '6'
+//FMFMGMHNHOGPFPEOENFMFKHJFKDLFKFIIHGEIHFIGHEE
+case 'c':
+       numpoints = 22;
+       auxbuffer[0] = 5;
+       auxbuffer[1] = 12;
+       auxbuffer[2] = 5;
+       auxbuffer[3] = 12;
+       auxbuffer[4] = 6;
+       auxbuffer[5] = 12;
+       auxbuffer[6] = 7;
+       auxbuffer[7] = 13;
+       auxbuffer[8] = 7;
+       auxbuffer[9] = 14;
+       auxbuffer[10] = 6;
+       auxbuffer[11] = 15;
+       auxbuffer[12] = 5;
+       auxbuffer[13] = 15;
+       auxbuffer[14] = 4;
+       auxbuffer[15] = 14;
+       auxbuffer[16] = 4;
+       auxbuffer[17] = 13;
+       auxbuffer[18] = 5;
+       auxbuffer[19] = 12;
+       auxbuffer[20] = 5;
+       auxbuffer[21] = 10;
+       auxbuffer[22] = 7;
+       auxbuffer[23] = 9;
+       auxbuffer[24] = 5;
+       auxbuffer[25] = 10;
+       auxbuffer[26] = 3;
+       auxbuffer[27] = 11;
+       auxbuffer[28] = 5;
+       auxbuffer[29] = 10;
+       auxbuffer[30] = 5;
+       auxbuffer[31] = 8;
+       auxbuffer[32] = 8;
+       auxbuffer[33] = 7;
+       auxbuffer[34] = 6;
+       auxbuffer[35] = 4;
+       auxbuffer[36] = 8;
+       auxbuffer[37] = 7;
+       auxbuffer[38] = 5;
+       auxbuffer[39] = 8;
+       auxbuffer[40] = 6;
+       auxbuffer[41] = 7;
+       auxbuffer[42] = 4;
+       auxbuffer[43] = 4;
+       break;
+  
+  // ===== SPECIAL SYMBOLS ======
+  case 's': // square
+   numpoints = 5;
+    auxbuffer[0]=0;
+    auxbuffer[1]=0;
+    auxbuffer[2]=15;
+    auxbuffer[3]=0;
+    auxbuffer[4]=15;
+    auxbuffer[5]=15;
+    auxbuffer[6]=0;
+    auxbuffer[7]=15;
+    auxbuffer[8]=0;
+    auxbuffer[9]=0;
+     
+    
+  break;
+  
+  case 't': // special points
+   numpoints = 4;
+    auxbuffer[0]= -4.6256256e+003;
+    auxbuffer[1]= -1.3709550e+002;
+    
+    auxbuffer[2]= -1.3665857e+003;
+    auxbuffer[3]= -1.1960430e+003;
+    
+    auxbuffer[4]=  3.3537829e+002;
+    auxbuffer[5]=  3.2966277e+003;
+    
+   auxbuffer[6]=   -2.7532264e+003;
+   auxbuffer[7]= 4.6642570e+003;
+    
+  break;
+  
+    }
+  return(numpoints);
+}
+