V1 MP3 en liaison série

Dependencies:   mbed

main.cpp

Committer:
vermaelen
Date:
2022-05-14
Revision:
0:8dd35bae21bb

File content as of revision 0:8dd35bae21bb:

#include "mbed.h"
#include "mp3.h"
//Serial mp3(PTE22,PTE23);
Serial mp3(D14,D15);
DigitalOut myled(LED1);
int choix;
int volume=16;

int main()
{
    while(1) {
        printf("1-play/pause 2-stop 3-next 4-previous\n\r");
        printf("faites votre choix :");
        scanf("%d",&choix);
        printf("%d\n\n\n\r",choix);
        switch(choix) {
            case 1:
                playpause();
                break;
            case 2:
                stop();
                break;
            case 3:
                next();
                break;
            case 4:
                previous();
                break;
            case 9:
                up();
                break;
            case 6:
                down();
                break;
            case 5:
                number(5);
                break;
            case 7:
                number(7);
                break;
        }
        myled.write(!myled.read());

    }
}

void playpause()
{
    mp3.putc(0x7E);
    wait_ms(5);
    mp3.putc(0x03);
    wait_ms(5);
    mp3.putc(0xAA);
    wait_ms(5);
    mp3.putc(0xAD);
    wait_ms(5);
    mp3.putc(0xEF);
    wait_ms(5);
}

void stop()
{
    mp3.putc(0x7E);
    wait_ms(5);
    mp3.putc(0x03);
    wait_ms(5);
    mp3.putc(0xAB);
    wait_ms(5);
    mp3.putc(0xAE);
    wait_ms(5);
    mp3.putc(0xEF);
    wait_ms(5);
}

void next()
{
    mp3.putc(0x7E);
    wait_ms(5);
    mp3.putc(0x03);
    wait_ms(5);
    mp3.putc(0xAC);
    wait_ms(5);
    mp3.putc(0xAF);
    wait_ms(5);
    mp3.putc(0xEF);
    wait_ms(5);
}

void previous()
{
    mp3.putc(0x7E);
    wait_ms(5);
    mp3.putc(0x03);
    wait_ms(5);
    mp3.putc(0xAD);
    wait_ms(5);
    mp3.putc(0xB0);
    wait_ms(5);
    mp3.putc(0xEF);
    wait_ms(5);
}
void up()
{
    int sum;
    volume=volume+1;
    if(volume>31)volume=31;
    sum=178+volume;
    printf("volume=%x sum=%x\n\r",(char)volume,(char)sum);
    mp3.putc(0x7E);
    wait_ms(5);
    mp3.putc(0x04);
    wait_ms(5);
    mp3.putc(0xAE);
    wait_ms(5);
    mp3.putc((char)volume);
    wait_ms(5);
    mp3.putc((char)sum);
    wait_ms(5);
    mp3.putc(0xEF);
    wait_ms(5);
}
void down()
{
    int sum;
    volume=volume-1;

    if(volume<0)volume=0;

    sum=volume+178;
    printf("volume=%x sum=%x\n\r",(char)volume,(char)sum);
    mp3.putc(0x7E);
    wait_ms(5);
    mp3.putc(0x04);
    wait_ms(5);
    mp3.putc(0xAE);
    wait_ms(5);
    mp3.putc((char)volume);
    wait_ms(5);
    mp3.putc((char)sum);
    wait_ms(5);
    mp3.putc(0xEF);
    wait_ms(5);
}

void number(int nb)
{
    int sum=nb+5+0+0xA2;
    printf("Ok, jouons la piste %d\n\r",nb);
    mp3.putc(0x7E);
    wait_ms(5);
    mp3.putc(0x05);
    wait_ms(5);
    mp3.putc(0xA2);
    wait_ms(5);
    mp3.putc(0x00);
    wait_ms(5);
    mp3.putc((char)nb);
    wait_ms(5);
    mp3.putc((char)sum);
    wait_ms(5);
    mp3.putc(0xEF);
    wait_ms(5);
}