f

Dependencies:   mbed

main.cpp

Committer:
583405000008
Date:
2016-12-05
Revision:
0:68ea82aa1b8b

File content as of revision 0:68ea82aa1b8b:

#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;
            }
        }
    }

}