blue craft / Mbed 2 deprecated joystick

Dependencies:   LCD4884 mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "LCD4884.h"
00003 #include "string.h"
00004 #include "stdlib.h"
00005 LCD4884 lcd;
00006 Serial pc(SERIAL_TX,SERIAL_RX);
00007 AnalogIn joy(A0);
00008 Serial bt(PA_15,PB_7);
00009 char buffer[2][200];
00010 char count[5];
00011 char index = 0;
00012 char temp;
00013 struct Cluster{
00014     char _like[5];
00015     char _dislike[5];
00016     char _isSkip[5];
00017     char _songName[200];
00018     char _album[50];
00019 
00020     //emotion 0: Sad
00021     //emotion 1: Stress
00022     //emotion 2: Angry
00023     //emotion 3: Happy
00024 };
00025 typedef struct Cluster cluster;
00026 cluster dataCollection[25];
00027 cluster *cp;
00028 
00029 void init_Cluster(){
00030 
00031     cp = &dataCollection[0];
00032     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00033     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00034     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00035     sprintf(cp->_songName,"Gravity.mp3");
00036     sprintf(cp->_album,"Sad");
00037 
00038     cp = &dataCollection[1];
00039     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00040     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00041     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00042     sprintf(cp->_songName,"TaTerMaiRuseuk.mp3");
00043     sprintf(cp->_album,"Sad");
00044 
00045     cp = &dataCollection[2];
00046     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00047     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00048     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00049     sprintf(cp->_songName,"NumTaTeHai.mp3");
00050     sprintf(cp->_album,"Sad");
00051 
00052     cp = &dataCollection[3];
00053     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00054     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00055     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00056     sprintf(cp->_songName,"MaTanWeLaPord.mp3");
00057     sprintf(cp->_album,"Sad");
00058 
00059     cp = &dataCollection[4];
00060     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00061     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00062     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00063     sprintf(cp->_songName,"YaSaeJaiKonDrew.mp3");
00064     sprintf(cp->_album,"Sad");
00065 
00066     cp = &dataCollection[5];
00067     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00068     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00069     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00070     sprintf(cp->_songName,"PerJer.mp3");
00071     sprintf(cp->_album,"Stress");
00072 
00073     cp = &dataCollection[6];
00074     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00075     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00076     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00077     sprintf(cp->_songName,"YenDTMaiRuJak.mp3");
00078     sprintf(cp->_album,"Stress");
00079 
00080     cp = &dataCollection[7];
00081     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00082     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00083     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00084     sprintf(cp->_songName,"Y_Rai.mp3");
00085     sprintf(cp->_album,"Stress");
00086 
00087     cp = &dataCollection[8];
00088     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00089     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00090     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00091     sprintf(cp->_songName,"LorLey.mp3");
00092     sprintf(cp->_album,"Stress");
00093 
00094     cp = &dataCollection[9];
00095     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00096     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00097     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00098     sprintf(cp->_songName,"NuaGenPaiRuePow.mp3");
00099     sprintf(cp->_album,"Stress");
00100 
00101     cp = &dataCollection[10];
00102     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00103     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00104     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00105     sprintf(cp->_songName,"9_Nariga.mp3");
00106     sprintf(cp->_album,"Angry");
00107 
00108     cp = &dataCollection[11];
00109     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00110     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00111     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00112     sprintf(cp->_songName,"GluptuaGlupJai.mp3");
00113     sprintf(cp->_album,"Angry");
00114 
00115     cp = &dataCollection[12];
00116     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00117     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00118     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00119     sprintf(cp->_songName,"MaiTumMaDa.mp3");
00120     sprintf(cp->_album,"Angry");
00121 
00122     cp = &dataCollection[13];
00123     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00124     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00125     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00126     sprintf(cp->_songName,"LaugPee4G.mp3");
00127     sprintf(cp->_album,"Angry");
00128 
00129     cp = &dataCollection[14];
00130     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00131     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00132     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00133     sprintf(cp->_songName,"CeakWeeSert.mp3");
00134     sprintf(cp->_album,"Angry");
00135 
00136     cp = &dataCollection[15];
00137     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00138     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00139     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00140     sprintf(cp->_songName,"PerJer.mp3");
00141     sprintf(cp->_album,"Happy");
00142 
00143     cp = &dataCollection[16];
00144     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00145     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00146     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00147     sprintf(cp->_songName,"Jeep.mp3");
00148     sprintf(cp->_album,"Happy");
00149 
00150     cp = &dataCollection[17];
00151     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00152     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00153     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00154     sprintf(cp->_songName,"PoodTumMai.mp3");
00155     sprintf(cp->_album,"Happy");
00156 
00157     cp = &dataCollection[18];
00158     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00159     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00160     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00161     sprintf(cp->_songName,"RumSeTow.mp3");
00162     sprintf(cp->_album,"Happy");
00163 
00164     cp = &dataCollection[19];
00165     cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
00166     cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
00167     cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
00168     sprintf(cp->_songName,"AO.mp3");
00169     sprintf(cp->_album,"Happy");
00170 }
00171     
00172 
00173 int user(){        
00174     float i = joy.read()*1000;
00175         if(i>780 & i<785)  {return 10;} //none
00176         if(i<10)           {return 20;} //left
00177         if(i>760 & i<765)  {return 30;} //right
00178         if(i>950)          {return 40;} //up
00179         if(i>495 & i<505)  {return 50;} //down 
00180 }
00181 void page1(){                           //page to lcd
00182     lcd.LCD_write_string(30,0,"MENU",1);
00183     lcd.LCD_write_string(0,1,"USER1",0); //max14 6row            
00184     }
00185 void page21(){
00186     lcd.LCD_write_string(30,0,"USER1",1);
00187     lcd.LCD_write_string(0,1,"Music1",1); //max14 6row            
00188     lcd.LCD_write_string(0,2,"Music2",0);
00189     lcd.LCD_write_string(0,3,"Music3",0);
00190     lcd.LCD_write_string(0,4,"Music4",0);
00191     }
00192 void page22(){
00193     lcd.LCD_write_string(30,0,"USER1",1);
00194     lcd.LCD_write_string(0,1,"Music1",0); //max14 6row            
00195     lcd.LCD_write_string(0,2,"Music2",1);
00196     lcd.LCD_write_string(0,3,"Music3",0);
00197     lcd.LCD_write_string(0,4,"Music4",0);
00198     }
00199 void page23(){
00200     lcd.LCD_write_string(30,0,"USER1",1);
00201     lcd.LCD_write_string(0,1,"Music1",0); //max14 6row            
00202     lcd.LCD_write_string(0,2,"Music2",0);
00203     lcd.LCD_write_string(0,3,"Music3",1);
00204     lcd.LCD_write_string(0,4,"Music4",0);
00205     }
00206 void page24(){
00207     lcd.LCD_write_string(30,0,"USER1",1);
00208     lcd.LCD_write_string(0,1,"Music1",0); //max14 6row            
00209     lcd.LCD_write_string(0,2,"Music2",0);
00210     lcd.LCD_write_string(0,3,"Music3",0);
00211     lcd.LCD_write_string(0,4,"Music4",1);
00212     }    
00213 void page25(){
00214     lcd.LCD_write_string(30,0,"USER1",1);
00215     lcd.LCD_write_string(0,1,"Music5",1); //max14 6row            
00216     lcd.LCD_write_string(0,2,"Music6",0);
00217     lcd.LCD_write_string(0,3,"Music7",0);
00218     lcd.LCD_write_string(0,4,"Music8",0);
00219     }
00220 void page26(){
00221     lcd.LCD_write_string(30,0,"USER1",1);
00222     lcd.LCD_write_string(0,1,"Music5",0); //max14 6row            
00223     lcd.LCD_write_string(0,2,"Music6",1);
00224     lcd.LCD_write_string(0,3,"Music7",0);
00225     lcd.LCD_write_string(0,4,"Music8",0);
00226     }
00227 void page27(){
00228     lcd.LCD_write_string(30,0,"USER1",1);
00229     lcd.LCD_write_string(0,1,"Music5",0); //max14 6row            
00230     lcd.LCD_write_string(0,2,"Music6",0);
00231     lcd.LCD_write_string(0,3,"Music7",1);
00232     lcd.LCD_write_string(0,4,"Music8",0);
00233     }
00234 void page28(){
00235     lcd.LCD_write_string(30,0,"USER1",1);
00236     lcd.LCD_write_string(0,1,"Music5",0); //max14 6row            
00237     lcd.LCD_write_string(0,2,"Music6",0);
00238     lcd.LCD_write_string(0,3,"Music7",0);
00239     lcd.LCD_write_string(0,4,"Music8",1);
00240     }
00241 void page29(){
00242     lcd.LCD_write_string(30,0,"USER1",1);
00243     lcd.LCD_write_string(0,1,"Music9",1); //max14 6row            
00244     lcd.LCD_write_string(0,2,"Music10",0);
00245     lcd.LCD_write_string(0,3,"Music11",0);
00246     lcd.LCD_write_string(0,4,"Music12",0);
00247     }
00248 void page210(){
00249     lcd.LCD_write_string(30,0,"USER1",1);
00250     lcd.LCD_write_string(0,1,"Music9",0); //max14 6row            
00251     lcd.LCD_write_string(0,2,"Music10",1);
00252     lcd.LCD_write_string(0,3,"Music11",0);
00253     lcd.LCD_write_string(0,4,"Music12",0);
00254     }
00255 void page211(){
00256     lcd.LCD_write_string(30,0,"USER1",1);
00257     lcd.LCD_write_string(0,1,"Music9",0); //max14 6row            
00258     lcd.LCD_write_string(0,2,"Music10",0);
00259     lcd.LCD_write_string(0,3,"Music11",1);
00260     lcd.LCD_write_string(0,4,"Music12",0);
00261     }
00262 void page212(){
00263     lcd.LCD_write_string(30,0,"USER1",1);
00264     lcd.LCD_write_string(0,1,"Music9",0); //max14 6row            
00265     lcd.LCD_write_string(0,2,"Music10",0);
00266     lcd.LCD_write_string(0,3,"Music11",0);
00267     lcd.LCD_write_string(0,4,"Music12",1);
00268     }
00269 void page213(){
00270     lcd.LCD_write_string(30,0,"USER1",1);
00271     lcd.LCD_write_string(0,1,"Music13",1); //max14 6row            
00272     lcd.LCD_write_string(0,2,"Music14",0);
00273     lcd.LCD_write_string(0,3,"Music15",0);
00274     lcd.LCD_write_string(0,4,"Music16",0);
00275     }
00276 void page214(){
00277     lcd.LCD_write_string(30,0,"USER1",1);
00278     lcd.LCD_write_string(0,1,"Music13",0); //max14 6row            
00279     lcd.LCD_write_string(0,2,"Music14",1);
00280     lcd.LCD_write_string(0,3,"Music15",0);
00281     lcd.LCD_write_string(0,4,"Music16",0);
00282     }
00283 void page215(){
00284     lcd.LCD_write_string(30,0,"USER1",1);
00285     lcd.LCD_write_string(0,1,"Music13",0); //max14 6row            
00286     lcd.LCD_write_string(0,2,"Music14",0);
00287     lcd.LCD_write_string(0,3,"Music15",1);
00288     lcd.LCD_write_string(0,4,"Music16",0);
00289     }
00290 void page216(){
00291     lcd.LCD_write_string(30,0,"USER1",1);
00292     lcd.LCD_write_string(0,1,"Music13",0); //max14 6row            
00293     lcd.LCD_write_string(0,2,"Music14",0);
00294     lcd.LCD_write_string(0,3,"Music15",0);
00295     lcd.LCD_write_string(0,4,"Music16",1);
00296     }
00297 void page217(){
00298     lcd.LCD_write_string(30,0,"USER1",1);
00299     lcd.LCD_write_string(0,1,"Music17",1); //max14 6row            
00300     lcd.LCD_write_string(0,2,"Music18",0);
00301     lcd.LCD_write_string(0,3,"Music19",0);
00302     lcd.LCD_write_string(0,4,"Music20",0);
00303     }
00304 void page218(){
00305     lcd.LCD_write_string(30,0,"USER1",1);
00306     lcd.LCD_write_string(0,1,"Music17",0); //max14 6row            
00307     lcd.LCD_write_string(0,2,"Music18",1);
00308     lcd.LCD_write_string(0,3,"Music19",0);
00309     lcd.LCD_write_string(0,4,"Music20",0);
00310     }
00311 void page219(){
00312     lcd.LCD_write_string(30,0,"USER1",1);
00313     lcd.LCD_write_string(0,1,"Music17",0); //max14 6row            
00314     lcd.LCD_write_string(0,2,"Music18",0);
00315     lcd.LCD_write_string(0,3,"Music19",1);
00316     lcd.LCD_write_string(0,4,"Music20",0);
00317     }
00318 void page220(){
00319     lcd.LCD_write_string(30,0,"USER1",1);
00320     lcd.LCD_write_string(0,1,"Music17",0); //max14 6row            
00321     lcd.LCD_write_string(0,2,"Music18",0);
00322     lcd.LCD_write_string(0,3,"Music19",0);
00323     lcd.LCD_write_string(0,4,"Music20",1);
00324     }            
00325 void page31(){
00326 //    cp = &dataCollection[songList[1]];
00327     lcd.LCD_write_string(0,0,cp->_songName,0);
00328     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00329     lcd.LCD_write_string(0,2,cp->_like,0);
00330     lcd.LCD_write_string(0,3,cp->_dislike,0);
00331     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00332     }
00333 void page32(){
00334 //    cp = &dataCollection[songList[2]];
00335     lcd.LCD_write_string(0,0,cp->_songName,0);
00336     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00337     lcd.LCD_write_string(0,2,cp->_like,0);
00338     lcd.LCD_write_string(0,3,cp->_dislike,0);
00339     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00340     }
00341 void page33(){
00342 //   cp = &dataCollection[songList[3]];
00343     lcd.LCD_write_string(0,0,cp->_songName,0);
00344     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00345     lcd.LCD_write_string(0,2,cp->_like,0);
00346     lcd.LCD_write_string(0,3,cp->_dislike,0);
00347     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00348     }
00349 void page34(){
00350 //    cp = &dataCollection[songList[4]];
00351     lcd.LCD_write_string(0,0,cp->_songName,0);
00352     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00353     lcd.LCD_write_string(0,2,cp->_like,0);
00354     lcd.LCD_write_string(0,3,cp->_dislike,0);
00355     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00356     }
00357 void page35(){
00358 //    cp = &dataCollection[songList[5]];
00359     lcd.LCD_write_string(0,0,cp->_songName,0);
00360     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00361     lcd.LCD_write_string(0,2,cp->_like,0);
00362     lcd.LCD_write_string(0,3,cp->_dislike,0);
00363     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00364     }
00365 void page36(){
00366 //    cp = &dataCollection[songList[6]];
00367     lcd.LCD_write_string(0,0,cp->_songName,0);
00368     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00369     lcd.LCD_write_string(0,2,cp->_like,0);
00370     lcd.LCD_write_string(0,3,cp->_dislike,0);
00371     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00372     }
00373 void page37(){
00374 //   cp = &dataCollection[songList[7]];
00375     lcd.LCD_write_string(0,0,cp->_songName,0);
00376     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00377     lcd.LCD_write_string(0,2,cp->_like,0);
00378     lcd.LCD_write_string(0,3,cp->_dislike,0);
00379     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00380     }
00381 void page38(){
00382 //    cp = &dataCollection[songList[8]];
00383     lcd.LCD_write_string(0,0,cp->_songName,0);
00384     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00385     lcd.LCD_write_string(0,2,cp->_like,0);
00386     lcd.LCD_write_string(0,3,cp->_dislike,0);
00387     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00388     }
00389 void page39(){
00390 //    cp = &dataCollection[songList[9]];
00391     lcd.LCD_write_string(0,0,cp->_songName,0);
00392     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00393     lcd.LCD_write_string(0,2,cp->_like,0);
00394     lcd.LCD_write_string(0,3,cp->_dislike,0);
00395     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00396     }
00397 void page310(){
00398 //    cp = &dataCollection[songList[10]];
00399     lcd.LCD_write_string(0,0,cp->_songName,0);
00400     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00401     lcd.LCD_write_string(0,2,cp->_like,0);
00402     lcd.LCD_write_string(0,3,cp->_dislike,0);
00403     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00404     }
00405 void page311(){
00406 //   cp = &dataCollection[songList[11]];
00407     lcd.LCD_write_string(0,0,cp->_songName,0);
00408     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00409     lcd.LCD_write_string(0,2,cp->_like,0);
00410     lcd.LCD_write_string(0,3,cp->_dislike,0);
00411     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00412     }
00413 void page312(){
00414 //    cp = &dataCollection[songList[12]];
00415     lcd.LCD_write_string(0,0,cp->_songName,0);
00416     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00417     lcd.LCD_write_string(0,2,cp->_like,0);
00418     lcd.LCD_write_string(0,3,cp->_dislike,0);
00419     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00420     }
00421 void page313(){
00422 //    cp = &dataCollection[songList[13]];
00423     lcd.LCD_write_string(0,0,cp->_songName,0);
00424     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00425     lcd.LCD_write_string(0,2,cp->_like,0);
00426     lcd.LCD_write_string(0,3,cp->_dislike,0);
00427     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00428     }
00429 void page314(){
00430 //    cp = &dataCollection[songList[14]];
00431     lcd.LCD_write_string(0,0,cp->_songName,0);
00432     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00433     lcd.LCD_write_string(0,2,cp->_like,0);
00434     lcd.LCD_write_string(0,3,cp->_dislike,0);
00435     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00436     }
00437 void page315(){
00438 //   cp = &dataCollection[songList[15]];
00439     lcd.LCD_write_string(0,0,cp->_songName,0);
00440     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00441     lcd.LCD_write_string(0,2,cp->_like,0);
00442     lcd.LCD_write_string(0,3,cp->_dislike,0);
00443     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00444     }
00445 void page316(){
00446 //    cp = &dataCollection[songList[16]];
00447     lcd.LCD_write_string(0,0,cp->_songName,0);
00448     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00449     lcd.LCD_write_string(0,2,cp->_like,0);
00450     lcd.LCD_write_string(0,3,cp->_dislike,0);
00451     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00452     }
00453 void page317(){
00454 //    cp = &dataCollection[songList[17]];
00455     lcd.LCD_write_string(0,0,cp->_songName,0);
00456     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00457     lcd.LCD_write_string(0,2,cp->_like,0);
00458     lcd.LCD_write_string(0,3,cp->_dislike,0);
00459     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00460     }
00461 void page318(){
00462 //    cp = &dataCollection[songList[18]];
00463     lcd.LCD_write_string(0,0,cp->_songName,0);
00464     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00465     lcd.LCD_write_string(0,2,cp->_like,0);
00466     lcd.LCD_write_string(0,3,cp->_dislike,0);
00467     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00468     }
00469 void page319(){
00470 //   cp = &dataCollection[songList[19]];
00471     lcd.LCD_write_string(0,0,cp->_songName,0);
00472     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00473     lcd.LCD_write_string(0,2,cp->_like,0);
00474     lcd.LCD_write_string(0,3,cp->_dislike,0);
00475     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00476     }
00477 void page320(){
00478 //    cp = &dataCollection[songList[20]];
00479     lcd.LCD_write_string(0,0,cp->_songName,0);
00480     lcd.LCD_write_string(0,1,cp->_album,0); //max14 6row            
00481     lcd.LCD_write_string(0,2,cp->_like,0);
00482     lcd.LCD_write_string(0,3,cp->_dislike,0);
00483     lcd.LCD_write_string(0,4,cp->_isSkip,0);
00484     }
00485 int currentSong = -1;
00486 char currentEmotion = '0';
00487 char songList[100];
00488 char ch;
00489 char flag = 0;
00490 char protocalSlot = 2;   
00491 
00492 int main() {
00493     //if (bt.readable()){
00494     //    protocal = bt.scanf("%s",&protocal);}
00495     lcd.LCD_init();
00496     lcd.backlight(ON);
00497     int change=0;
00498     int down=0;
00499     int num=0;
00500     while(1)
00501         {   
00502             num = user();
00503             //get data from serial communicate with nucleo_master (mp3 shield).
00504         //protocol @songIndex|Data|$
00505         if (bt.readable())        //change with bluetooth command [maybe: .readable()]
00506         {
00507             ch = bt.getc();   //change with bluetooth command
00508             if (ch == '@'){
00509                 index = 0;
00510                 flag = 1;
00511                 count[index] = 0;
00512             }
00513             else if (ch == '|' && flag){
00514                 buffer[index][count[index]++] = '\0';
00515                 index++;
00516                 count[index] = 0;
00517             }
00518             else if (ch == '$' && flag && (index == protocalSlot)){
00519                 flag = 0;
00520                 temp = atoi(buffer[1]);
00521 
00522                 switch(temp){
00523                     case 0: //get new song
00524                         songList[++currentSong] = atoi(buffer[0]);
00525                         break;
00526 
00527                     case 1: //like
00528                         cp = &dataCollection[songList[currentSong]];
00529                         cp->_like[currentEmotion] = 1;
00530                         break;
00531 
00532                     case 2: //dislike
00533                         cp = &dataCollection[songList[currentSong]];
00534                         cp->_dislike[currentEmotion] = 1;
00535                         break;
00536 
00537                     case 3:
00538                         if(currentSong !=-1){
00539                             cp = &dataCollection[songList[currentSong]];
00540                             cp->_isSkip[currentEmotion] = 1;
00541                         }
00542                         break;
00543 
00544                     case 4: //emotion 0: Sad
00545                     case 5: //emotion 1: Stress
00546                     case 6: //emotion 2: Angry
00547                     case 7: //emotion 3: Happy
00548                         currentEmotion = temp - 4;
00549                         break;
00550                 }
00551             }
00552             else if(flag){
00553                 if((ch<='9')&&(ch >= '0')) buffer[index][count[index]++] = ch;
00554                 else flag = 0;
00555             }
00556         }
00557     }       
00558             switch(num){
00559             //case 10:                    //main page
00560 //                lcd.LCD_clear();
00561 //                page1();
00562 //                printf("10\n");
00563 //                //printf("page1");
00564 //                wait(0.75);
00565 //                break;
00566             case 20:                    //left click//return main page
00567                 lcd.LCD_clear();
00568                 page1();
00569                 printf("20\n");
00570                 wait(0.75);
00571                 change = 0;
00572                 down = 0;
00573                 break;
00574             case 30:                    //next page1//next page2
00575                 lcd.LCD_clear();
00576                 printf("30\n");
00577                 wait(0.75);
00578                 change++;
00579                 if(change==1){         //1 click//page2
00580                     lcd.LCD_clear();
00581                 printf("30\n");
00582                 wait(0.75);
00583                 change++;
00584                 if(change==1){         //1 click//page2
00585                     lcd.LCD_clear();
00586                     page21();
00587                     printf("page21");
00588                     num = 50;
00589                     }
00590                 if(change==2){          //2 click//page3
00591                     if(down==1){
00592                         lcd.LCD_clear();
00593                         page31();
00594                         printf("page31");
00595                         }
00596                     if(down==2){
00597                         lcd.LCD_clear();
00598                         page32();
00599                         printf("page32");
00600                         }
00601                     if(down==3){
00602                         lcd.LCD_clear();
00603                         page33();
00604                         printf("page33");
00605                         }
00606                     if(down==4){
00607                         lcd.LCD_clear();
00608                         page34();
00609                         printf("page34");
00610                         } 
00611                     if(down==5){
00612                         lcd.LCD_clear();
00613                         page35();
00614                         printf("page35");
00615                         }
00616                     if(down==6){
00617                         lcd.LCD_clear();
00618                         page36();
00619                         printf("page36");
00620                         }
00621                     if(down==7){
00622                         lcd.LCD_clear();
00623                         page37();
00624                         printf("page37");
00625                         }
00626                     if(down==8){
00627                         lcd.LCD_clear();
00628                         page38();
00629                         printf("page38");
00630                         }
00631                     if(down==9){
00632                         lcd.LCD_clear();
00633                         page39();
00634                         printf("page39");
00635                         }
00636                     if(down==10){
00637                         lcd.LCD_clear();
00638                         page310();
00639                         printf("page310");
00640                         }
00641                     if(down==11){
00642                         lcd.LCD_clear();
00643                         page311();
00644                         printf("page311");
00645                         } 
00646                     if(down==12){
00647                         lcd.LCD_clear();
00648                         page312();
00649                         printf("page312");
00650                         }
00651                     if(down==13){
00652                         lcd.LCD_clear();
00653                         page313();
00654                         printf("page313");
00655                         }
00656                     if(down==14){
00657                         lcd.LCD_clear();
00658                         page314();
00659                         printf("page314");
00660                         }
00661                     if(down==15){
00662                         lcd.LCD_clear();
00663                         page315();
00664                         printf("page315");
00665                         } 
00666                     if(down==16){
00667                         lcd.LCD_clear();
00668                         page316();
00669                         printf("page316");
00670                         }
00671                     if(down==17){
00672                         lcd.LCD_clear();
00673                         page317();
00674                         printf("page317");
00675                         }
00676                     if(down==18){
00677                         lcd.LCD_clear();
00678                         page318();
00679                         printf("page318");
00680                         }
00681                     if(down==19){
00682                         lcd.LCD_clear();
00683                         page319();
00684                         printf("page319");
00685                         }
00686                     if(down==20){
00687                         lcd.LCD_clear();
00688                         page320();
00689                         printf("page320");
00690                         }
00691                     if(down==21){
00692                         down=0;
00693                         }
00694                     }     
00695                 break;
00696             case 40:                    //click up
00697                 lcd.LCD_clear();
00698                 printf("40\n");
00699                 wait(0.75);
00700                 //if(down==1){
00701 //                    page21();
00702 //                    printf("page21");
00703 //                    }
00704 //                if(down==2){
00705 //                    page22();
00706 //                    printf("page22");
00707 //                    down=1;
00708 //                    }
00709 //                if(down==3){
00710 //                    page23();
00711 //                    printf("page23");
00712 //                    down=2;
00713 //                    }
00714 //                break;
00715             case 50:                    //click down 
00716                 lcd.LCD_clear();
00717                 printf("50\n");
00718                 wait(0.75);
00719                 down++;
00720                 if(change==1){
00721                     if(down==1){
00722                         lcd.LCD_clear();
00723                         page21();
00724                         printf("page21");
00725                         }
00726                     if(down==2){
00727                         lcd.LCD_clear();
00728                         page22();
00729                         printf("page22");
00730                         }
00731                     if(down==3){
00732                         lcd.LCD_clear();
00733                         page23();
00734                         printf("page23");
00735                         }
00736                     if(down==4){
00737                         lcd.LCD_clear();
00738                         page24();
00739                         printf("page24");
00740                         } 
00741 //                        if(i>4 && i<9){        
00742                     if(down==5){
00743                         lcd.LCD_clear();
00744                         page25();
00745                         printf("page25");
00746                         }
00747                     if(down==6){
00748                         lcd.LCD_clear();
00749                         page26();
00750                         printf("page26");
00751                         }
00752                     if(down==7){
00753                         lcd.LCD_clear();
00754                         page27();
00755                         printf("page27");
00756                         }
00757                     if(down==8){
00758                         lcd.LCD_clear();
00759                         page28();
00760                         printf("page28");
00761                         }
00762                     if(down==9){
00763                         lcd.LCD_clear();
00764                         page29();
00765                         printf("page29");
00766                         }
00767                     if(down==10){
00768                         lcd.LCD_clear();
00769                         page210();
00770                         printf("page210");
00771                         }
00772                     if(down==11){
00773                         lcd.LCD_clear();
00774                         page211();
00775                         printf("page211");
00776                         } 
00777                      if(down==12){
00778                         lcd.LCD_clear();
00779                         page212();
00780                         printf("page212");
00781                         }            
00782                     if(down==13){
00783                         lcd.LCD_clear();
00784                         page213();
00785                         printf("page213");
00786                         }
00787                     if(down==14){
00788                         lcd.LCD_clear();
00789                         page214();
00790                         printf("page214");
00791                         }
00792                     if(down==15){
00793                         lcd.LCD_clear();
00794                         page215();
00795                         printf("page215");
00796                         } 
00797                     if(down==16){
00798                         lcd.LCD_clear();
00799                         page216();
00800                         printf("page216");
00801                         }            
00802                     if(down==17){
00803                         lcd.LCD_clear();
00804                         page217();
00805                         printf("page217");
00806                         }
00807                     if(down==18){
00808                         lcd.LCD_clear();
00809                         page218();
00810                         printf("page218");
00811                         }
00812                     if(down==19){
00813                         lcd.LCD_clear();
00814                         page219();
00815                         printf("page219");
00816                         }
00817                     if(down==20){
00818                         lcd.LCD_clear();
00819                         page220();
00820                         printf("page220");
00821                         } 
00822                     if(down==21){
00823                         down=0;
00824                         }  
00825                    }
00826              }
00827       }
00828 }