blue craft
/
serialmp3
f
Diff: main.cpp
- Revision:
- 0:68ea82aa1b8b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Dec 05 11:00:27 2016 +0000 @@ -0,0 +1,233 @@ +#include <stdlib.h> + +char buffer[2][200]; +char count[5]; +char index = 0; +char temp; +struct Cluster{ + char _like[5]; + char _dislike[5]; + char _isSkip[5]; + char _songName[200]; + char _album[50]; + + //emotion 0: Sad + //emotion 1: Stress + //emotion 2: Angry + //emotion 3: Happy +}; +typedef struct Cluster cluster; +cluster dataCollection[25]; +cluster *cp; + +void init_Cluster(){ + + cp = &dataCollection[0]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"Gravity.mp3"); + sprintf(cp->_album,"Sad"); + + cp = &dataCollection[1]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"TaTerMaiRuseuk.mp3"); + sprintf(cp->_album,"Sad"); + + cp = &dataCollection[2]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"NumTaTeHai.mp3"); + sprintf(cp->_album,"Sad"); + + cp = &dataCollection[3]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"MaTanWeLaPord.mp3"); + sprintf(cp->_album,"Sad"); + + cp = &dataCollection[4]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"YaSaeJaiKonDrew.mp3"); + sprintf(cp->_album,"Sad"); + + cp = &dataCollection[5]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"PerJer.mp3"); + sprintf(cp->_album,"Stress"); + + cp = &dataCollection[6]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"YenDTMaiRuJak.mp3"); + sprintf(cp->_album,"Stress"); + + cp = &dataCollection[7]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"Y_Rai.mp3"); + sprintf(cp->_album,"Stress"); + + cp = &dataCollection[8]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"LorLey.mp3"); + sprintf(cp->_album,"Stress"); + + cp = &dataCollection[9]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"NuaGenPaiRuePow.mp3"); + sprintf(cp->_album,"Stress"); + + cp = &dataCollection[10]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"9_Nariga.mp3"); + sprintf(cp->_album,"Angry"); + + cp = &dataCollection[11]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"GluptuaGlupJai.mp3"); + sprintf(cp->_album,"Angry"); + + cp = &dataCollection[12]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"MaiTumMaDa.mp3"); + sprintf(cp->_album,"Angry"); + + cp = &dataCollection[13]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"LaugPee4G.mp3"); + sprintf(cp->_album,"Angry"); + + cp = &dataCollection[14]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"CeakWeeSert.mp3"); + sprintf(cp->_album,"Angry"); + + cp = &dataCollection[15]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"PerJer.mp3"); + sprintf(cp->_album,"Happy"); + + cp = &dataCollection[16]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"Jeep.mp3"); + sprintf(cp->_album,"Happy"); + + cp = &dataCollection[17]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"PoodTumMai.mp3"); + sprintf(cp->_album,"Happy"); + + cp = &dataCollection[18]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"RumSeTow.mp3"); + sprintf(cp->_album,"Happy"); + + cp = &dataCollection[19]; + cp->_like[0] = 0; cp->_like[1] = 0; cp->_like[2] = 0; cp->_like[3] = 0; + cp->_dislike[0] = 0; cp->_dislike[1] = 0; cp->_dislike[2] = 0; cp->_dislike[3] = 0; + cp->_isSkip[0] = 0; cp->_isSkip[1] = 0; cp->_isSkip[2] = 0; cp->_isSkip[3] = 0; + sprintf(cp->_songName,"AO.mp3"); + sprintf(cp->_album,"Happy"); +} + +char currentSong = -1; +char currentEmotion = 0; +char songList[100]; +char ch; + +char flag = 0; +char protocalSlot = 2; + +int main(){ + init_Cluster(); + while (1){ + //get data from serial communicate with nucleo_master (mp3 shield). + //protocol @songIndex|Data|$ + if (kbhit()) //change with bluetooth command [maybe: .readable()] + { + ch = getc(); //change with bluetooth command + if (ch == '@'){ + index = 0; + flag = 1; + count[index] = 0; + } + else if (ch == '|' && flag){ + buffer[index][count[index]++] = '\0'; + index++; + count[index] = 0; + } + else if (ch == '$' && flag && (index == protocalSlot)){ + flag = 0; + temp = atoi(buffer[1]); + + switch(temp){ + case 0: //get new song + songList[++currentSong] = atoi(buffer[0]); + break; + + case 1: //like + cp = &dataCollection[songList[currentSong]]; + cp->_like[currentEmotion] = 1; + break; + + case 2: //dislike + cp = &dataCollection[songList[currentSong]]; + cp->_dislike[currentEmotion] = 1; + break; + + case 3: + if(currentSong !=-1){ + cp = &dataCollection[songList[currentSong]]; + cp->_isSkip[currentEmotion] = 1; + } + break; + + case 4: //emotion 0: Sad + case 5: //emotion 1: Stress + case 6: //emotion 2: Angry + case 7: //emotion 3: Happy + currentEmotion = temp - 4; + break; + } + } + else if(flag){ + if((ch<='9')&&(ch >= '0')) buffer[index][count[index]++] = ch; + else flag = 0; + } + } + } + +}