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.
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 }
Generated on Thu Jul 14 2022 07:12:36 by
1.7.2