svoe

Dependencies:   mbed mbed-STM32F103C8T6 MPU6050_1

sound.h

Committer:
dima285
Date:
2019-02-10
Revision:
17:bd6b6ac89e0e
Parent:
15:960b922433d1
Child:
23:bc05a104be10

File content as of revision 17:bd6b6ac89e0e:

char sound_out_send_buf[10]= {0x7E, 0xFF, 06, 03, 00, 00, 00, 00, 00, 0xEF};
char sound_in_receive_buf[64];
int sound_in_receive_counter;

void play(short int record_num){
    sound_out_send_buf[5] = (char)(record_num >> 8); //high byte
    sound_out_send_buf[6] = (char)record_num; //low byte
    short int sum = 0;
    for (int i=1; i<7; i++) sum -= sound_out_send_buf[i];
    sound_out_send_buf[7] = (char)(sum >> 8); //high byte
    sound_out_send_buf[8] = (char)sum; //low byte
    for (int i = 0; i < 10; i++) sound_out.putc(sound_out_send_buf[i]);
    }

void start_recognizer(){
    sound_in.putc(0xAA);
    sound_in.putc(0x05); //0x09);  //2+N
    sound_in.putc(0x30); //command "Load to recognizer"
    sound_in.putc(0x00); //load command 00 to recognizer
    sound_in.putc(0x01);
    sound_in.putc(0x02);
//    sound_in.putc(0x03);
//    sound_in.putc(0x04);
//    sound_in.putc(0x05);
//    sound_in.putc(0x06); //load command 06 to recognizer
    sound_in.putc(0x0A);
    }
     

void voice_command_process(){ 
    if(sound_in.readable()){
        if (myled == 0 ) myled = 1;else myled = 0;
        char tmc = sound_in.getc();
        wifi.putc(tmc);
        if (tmc == 0xAA) sound_in_receive_counter = 0; else sound_in_receive_counter++; if(sound_in_receive_counter > 15) sound_in_receive_counter = 15;
        sound_in_receive_buf[sound_in_receive_counter] = tmc;
        if (sound_in_receive_counter == 5){
            switch(tmc){
                case 0: play(rand()%10+1); break;
                case 1: play(rand()%10+1); break;
                case 2: play(rand()%10+1); break;
                case 3: play(rand()%10+1); break;
                case 4: play(1); break;
                case 5: play(1); break;
                case 6: play(1); break;
                }
            }
        }
    }
    
    
/*void sound_in_init(){
    sound_in.attach(&voice_command_receive);
    }*/