f

Dependencies:   mbed

Committer:
583405000008
Date:
Mon Dec 05 11:00:27 2016 +0000
Revision:
0:68ea82aa1b8b
f

Who changed what in which revision?

UserRevisionLine numberNew contents of line
583405000008 0:68ea82aa1b8b 1 #include <stdlib.h>
583405000008 0:68ea82aa1b8b 2
583405000008 0:68ea82aa1b8b 3 char buffer[2][200];
583405000008 0:68ea82aa1b8b 4 char count[5];
583405000008 0:68ea82aa1b8b 5 char index = 0;
583405000008 0:68ea82aa1b8b 6 char temp;
583405000008 0:68ea82aa1b8b 7 struct Cluster{
583405000008 0:68ea82aa1b8b 8 char _like[5];
583405000008 0:68ea82aa1b8b 9 char _dislike[5];
583405000008 0:68ea82aa1b8b 10 char _isSkip[5];
583405000008 0:68ea82aa1b8b 11 char _songName[200];
583405000008 0:68ea82aa1b8b 12 char _album[50];
583405000008 0:68ea82aa1b8b 13
583405000008 0:68ea82aa1b8b 14 //emotion 0: Sad
583405000008 0:68ea82aa1b8b 15 //emotion 1: Stress
583405000008 0:68ea82aa1b8b 16 //emotion 2: Angry
583405000008 0:68ea82aa1b8b 17 //emotion 3: Happy
583405000008 0:68ea82aa1b8b 18 };
583405000008 0:68ea82aa1b8b 19 typedef struct Cluster cluster;
583405000008 0:68ea82aa1b8b 20 cluster dataCollection[25];
583405000008 0:68ea82aa1b8b 21 cluster *cp;
583405000008 0:68ea82aa1b8b 22
583405000008 0:68ea82aa1b8b 23 void init_Cluster(){
583405000008 0:68ea82aa1b8b 24
583405000008 0:68ea82aa1b8b 25 cp = &dataCollection[0];
583405000008 0:68ea82aa1b8b 26 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 27 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 28 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 29 sprintf(cp->_songName,"Gravity.mp3");
583405000008 0:68ea82aa1b8b 30 sprintf(cp->_album,"Sad");
583405000008 0:68ea82aa1b8b 31
583405000008 0:68ea82aa1b8b 32 cp = &dataCollection[1];
583405000008 0:68ea82aa1b8b 33 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 34 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 35 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 36 sprintf(cp->_songName,"TaTerMaiRuseuk.mp3");
583405000008 0:68ea82aa1b8b 37 sprintf(cp->_album,"Sad");
583405000008 0:68ea82aa1b8b 38
583405000008 0:68ea82aa1b8b 39 cp = &dataCollection[2];
583405000008 0:68ea82aa1b8b 40 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 41 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 42 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 43 sprintf(cp->_songName,"NumTaTeHai.mp3");
583405000008 0:68ea82aa1b8b 44 sprintf(cp->_album,"Sad");
583405000008 0:68ea82aa1b8b 45
583405000008 0:68ea82aa1b8b 46 cp = &dataCollection[3];
583405000008 0:68ea82aa1b8b 47 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 48 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 49 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 50 sprintf(cp->_songName,"MaTanWeLaPord.mp3");
583405000008 0:68ea82aa1b8b 51 sprintf(cp->_album,"Sad");
583405000008 0:68ea82aa1b8b 52
583405000008 0:68ea82aa1b8b 53 cp = &dataCollection[4];
583405000008 0:68ea82aa1b8b 54 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 55 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 56 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 57 sprintf(cp->_songName,"YaSaeJaiKonDrew.mp3");
583405000008 0:68ea82aa1b8b 58 sprintf(cp->_album,"Sad");
583405000008 0:68ea82aa1b8b 59
583405000008 0:68ea82aa1b8b 60 cp = &dataCollection[5];
583405000008 0:68ea82aa1b8b 61 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 62 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 63 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 64 sprintf(cp->_songName,"PerJer.mp3");
583405000008 0:68ea82aa1b8b 65 sprintf(cp->_album,"Stress");
583405000008 0:68ea82aa1b8b 66
583405000008 0:68ea82aa1b8b 67 cp = &dataCollection[6];
583405000008 0:68ea82aa1b8b 68 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 69 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 70 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 71 sprintf(cp->_songName,"YenDTMaiRuJak.mp3");
583405000008 0:68ea82aa1b8b 72 sprintf(cp->_album,"Stress");
583405000008 0:68ea82aa1b8b 73
583405000008 0:68ea82aa1b8b 74 cp = &dataCollection[7];
583405000008 0:68ea82aa1b8b 75 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 76 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 77 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 78 sprintf(cp->_songName,"Y_Rai.mp3");
583405000008 0:68ea82aa1b8b 79 sprintf(cp->_album,"Stress");
583405000008 0:68ea82aa1b8b 80
583405000008 0:68ea82aa1b8b 81 cp = &dataCollection[8];
583405000008 0:68ea82aa1b8b 82 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 83 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 84 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 85 sprintf(cp->_songName,"LorLey.mp3");
583405000008 0:68ea82aa1b8b 86 sprintf(cp->_album,"Stress");
583405000008 0:68ea82aa1b8b 87
583405000008 0:68ea82aa1b8b 88 cp = &dataCollection[9];
583405000008 0:68ea82aa1b8b 89 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 90 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 91 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 92 sprintf(cp->_songName,"NuaGenPaiRuePow.mp3");
583405000008 0:68ea82aa1b8b 93 sprintf(cp->_album,"Stress");
583405000008 0:68ea82aa1b8b 94
583405000008 0:68ea82aa1b8b 95 cp = &dataCollection[10];
583405000008 0:68ea82aa1b8b 96 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 97 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 98 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 99 sprintf(cp->_songName,"9_Nariga.mp3");
583405000008 0:68ea82aa1b8b 100 sprintf(cp->_album,"Angry");
583405000008 0:68ea82aa1b8b 101
583405000008 0:68ea82aa1b8b 102 cp = &dataCollection[11];
583405000008 0:68ea82aa1b8b 103 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 104 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 105 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 106 sprintf(cp->_songName,"GluptuaGlupJai.mp3");
583405000008 0:68ea82aa1b8b 107 sprintf(cp->_album,"Angry");
583405000008 0:68ea82aa1b8b 108
583405000008 0:68ea82aa1b8b 109 cp = &dataCollection[12];
583405000008 0:68ea82aa1b8b 110 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 111 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 112 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 113 sprintf(cp->_songName,"MaiTumMaDa.mp3");
583405000008 0:68ea82aa1b8b 114 sprintf(cp->_album,"Angry");
583405000008 0:68ea82aa1b8b 115
583405000008 0:68ea82aa1b8b 116 cp = &dataCollection[13];
583405000008 0:68ea82aa1b8b 117 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 118 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 119 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 120 sprintf(cp->_songName,"LaugPee4G.mp3");
583405000008 0:68ea82aa1b8b 121 sprintf(cp->_album,"Angry");
583405000008 0:68ea82aa1b8b 122
583405000008 0:68ea82aa1b8b 123 cp = &dataCollection[14];
583405000008 0:68ea82aa1b8b 124 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 125 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 126 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 127 sprintf(cp->_songName,"CeakWeeSert.mp3");
583405000008 0:68ea82aa1b8b 128 sprintf(cp->_album,"Angry");
583405000008 0:68ea82aa1b8b 129
583405000008 0:68ea82aa1b8b 130 cp = &dataCollection[15];
583405000008 0:68ea82aa1b8b 131 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 132 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 133 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 134 sprintf(cp->_songName,"PerJer.mp3");
583405000008 0:68ea82aa1b8b 135 sprintf(cp->_album,"Happy");
583405000008 0:68ea82aa1b8b 136
583405000008 0:68ea82aa1b8b 137 cp = &dataCollection[16];
583405000008 0:68ea82aa1b8b 138 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 139 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 140 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 141 sprintf(cp->_songName,"Jeep.mp3");
583405000008 0:68ea82aa1b8b 142 sprintf(cp->_album,"Happy");
583405000008 0:68ea82aa1b8b 143
583405000008 0:68ea82aa1b8b 144 cp = &dataCollection[17];
583405000008 0:68ea82aa1b8b 145 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 146 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 147 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 148 sprintf(cp->_songName,"PoodTumMai.mp3");
583405000008 0:68ea82aa1b8b 149 sprintf(cp->_album,"Happy");
583405000008 0:68ea82aa1b8b 150
583405000008 0:68ea82aa1b8b 151 cp = &dataCollection[18];
583405000008 0:68ea82aa1b8b 152 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 153 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 154 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 155 sprintf(cp->_songName,"RumSeTow.mp3");
583405000008 0:68ea82aa1b8b 156 sprintf(cp->_album,"Happy");
583405000008 0:68ea82aa1b8b 157
583405000008 0:68ea82aa1b8b 158 cp = &dataCollection[19];
583405000008 0:68ea82aa1b8b 159 cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0;
583405000008 0:68ea82aa1b8b 160 cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0;
583405000008 0:68ea82aa1b8b 161 cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0;
583405000008 0:68ea82aa1b8b 162 sprintf(cp->_songName,"AO.mp3");
583405000008 0:68ea82aa1b8b 163 sprintf(cp->_album,"Happy");
583405000008 0:68ea82aa1b8b 164 }
583405000008 0:68ea82aa1b8b 165
583405000008 0:68ea82aa1b8b 166 char currentSong = -1;
583405000008 0:68ea82aa1b8b 167 char currentEmotion = 0;
583405000008 0:68ea82aa1b8b 168 char songList[100];
583405000008 0:68ea82aa1b8b 169 char ch;
583405000008 0:68ea82aa1b8b 170
583405000008 0:68ea82aa1b8b 171 char flag = 0;
583405000008 0:68ea82aa1b8b 172 char protocalSlot = 2;
583405000008 0:68ea82aa1b8b 173
583405000008 0:68ea82aa1b8b 174 int main(){
583405000008 0:68ea82aa1b8b 175 init_Cluster();
583405000008 0:68ea82aa1b8b 176 while (1){
583405000008 0:68ea82aa1b8b 177 //get data from serial communicate with nucleo_master (mp3 shield).
583405000008 0:68ea82aa1b8b 178 //protocol @songIndex|Data|$
583405000008 0:68ea82aa1b8b 179 if (kbhit()) //change with bluetooth command [maybe: .readable()]
583405000008 0:68ea82aa1b8b 180 {
583405000008 0:68ea82aa1b8b 181 ch = getc(); //change with bluetooth command
583405000008 0:68ea82aa1b8b 182 if (ch == '@'){
583405000008 0:68ea82aa1b8b 183 index = 0;
583405000008 0:68ea82aa1b8b 184 flag = 1;
583405000008 0:68ea82aa1b8b 185 count[index] = 0;
583405000008 0:68ea82aa1b8b 186 }
583405000008 0:68ea82aa1b8b 187 else if (ch == '|' && flag){
583405000008 0:68ea82aa1b8b 188 buffer[index][count[index]++] = '\0';
583405000008 0:68ea82aa1b8b 189 index++;
583405000008 0:68ea82aa1b8b 190 count[index] = 0;
583405000008 0:68ea82aa1b8b 191 }
583405000008 0:68ea82aa1b8b 192 else if (ch == '$' && flag && (index == protocalSlot)){
583405000008 0:68ea82aa1b8b 193 flag = 0;
583405000008 0:68ea82aa1b8b 194 temp = atoi(buffer[1]);
583405000008 0:68ea82aa1b8b 195
583405000008 0:68ea82aa1b8b 196 switch(temp){
583405000008 0:68ea82aa1b8b 197 case 0: //get new song
583405000008 0:68ea82aa1b8b 198 songList[++currentSong] = atoi(buffer[0]);
583405000008 0:68ea82aa1b8b 199 break;
583405000008 0:68ea82aa1b8b 200
583405000008 0:68ea82aa1b8b 201 case 1: //like
583405000008 0:68ea82aa1b8b 202 cp = &dataCollection[songList[currentSong]];
583405000008 0:68ea82aa1b8b 203 cp->_like[currentEmotion] = 1;
583405000008 0:68ea82aa1b8b 204 break;
583405000008 0:68ea82aa1b8b 205
583405000008 0:68ea82aa1b8b 206 case 2: //dislike
583405000008 0:68ea82aa1b8b 207 cp = &dataCollection[songList[currentSong]];
583405000008 0:68ea82aa1b8b 208 cp->_dislike[currentEmotion] = 1;
583405000008 0:68ea82aa1b8b 209 break;
583405000008 0:68ea82aa1b8b 210
583405000008 0:68ea82aa1b8b 211 case 3:
583405000008 0:68ea82aa1b8b 212 if(currentSong !=-1){
583405000008 0:68ea82aa1b8b 213 cp = &dataCollection[songList[currentSong]];
583405000008 0:68ea82aa1b8b 214 cp->_isSkip[currentEmotion] = 1;
583405000008 0:68ea82aa1b8b 215 }
583405000008 0:68ea82aa1b8b 216 break;
583405000008 0:68ea82aa1b8b 217
583405000008 0:68ea82aa1b8b 218 case 4: //emotion 0: Sad
583405000008 0:68ea82aa1b8b 219 case 5: //emotion 1: Stress
583405000008 0:68ea82aa1b8b 220 case 6: //emotion 2: Angry
583405000008 0:68ea82aa1b8b 221 case 7: //emotion 3: Happy
583405000008 0:68ea82aa1b8b 222 currentEmotion = temp - 4;
583405000008 0:68ea82aa1b8b 223 break;
583405000008 0:68ea82aa1b8b 224 }
583405000008 0:68ea82aa1b8b 225 }
583405000008 0:68ea82aa1b8b 226 else if(flag){
583405000008 0:68ea82aa1b8b 227 if((ch<='9')&&(ch >= '0')) buffer[index][count[index]++] = ch;
583405000008 0:68ea82aa1b8b 228 else flag = 0;
583405000008 0:68ea82aa1b8b 229 }
583405000008 0:68ea82aa1b8b 230 }
583405000008 0:68ea82aa1b8b 231 }
583405000008 0:68ea82aa1b8b 232
583405000008 0:68ea82aa1b8b 233 }