lecteur mp3
Dependencies: MPR121 SDFileSystem TextLCD VS1053lib mbed
Fork of MP3_test by
touchpad.cpp@1:d1ed30ba5ca9, 2016-10-30 (annotated)
- Committer:
- Kamisama
- Date:
- Sun Oct 30 23:20:20 2016 +0000
- Revision:
- 1:d1ed30ba5ca9
ok
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Kamisama | 1:d1ed30ba5ca9 | 1 | #include "MPR121.h" |
Kamisama | 1:d1ed30ba5ca9 | 2 | #include "mbed.h" |
Kamisama | 1:d1ed30ba5ca9 | 3 | #include "TextLCD.h" |
Kamisama | 1:d1ed30ba5ca9 | 4 | #include "SDFileSystem.h" |
Kamisama | 1:d1ed30ba5ca9 | 5 | #include <VLSIcodec.h> |
Kamisama | 1:d1ed30ba5ca9 | 6 | |
Kamisama | 1:d1ed30ba5ca9 | 7 | #define BUFFER_SIZE 2048 |
Kamisama | 1:d1ed30ba5ca9 | 8 | #define play 0x0001 |
Kamisama | 1:d1ed30ba5ca9 | 9 | #define stop 0x0010 |
Kamisama | 1:d1ed30ba5ca9 | 10 | #define pause 0x0100 |
Kamisama | 1:d1ed30ba5ca9 | 11 | #define Vhigh 0x0002 |
Kamisama | 1:d1ed30ba5ca9 | 12 | #define Vdown 0x0020 |
Kamisama | 1:d1ed30ba5ca9 | 13 | #define previous 0x0004 |
Kamisama | 1:d1ed30ba5ca9 | 14 | #define next 0x0040 |
Kamisama | 1:d1ed30ba5ca9 | 15 | |
Kamisama | 1:d1ed30ba5ca9 | 16 | Serial com(USBTX, USBRX); //Initiallize the Serial Port 0 (9600 bits/sec) |
Kamisama | 1:d1ed30ba5ca9 | 17 | // codec |
Kamisama | 1:d1ed30ba5ca9 | 18 | VS1053Codec codec(p11, p12, p13, p14, p16, p15, p17); // mosi, miso, sck, cs, dreq, rst, bsync |
Kamisama | 1:d1ed30ba5ca9 | 19 | // SD card |
Kamisama | 1:d1ed30ba5ca9 | 20 | SDFileSystem sd(p5, p6, p7, p8, "sd"); // mosi, miso, sclk, cs the pinout on the mbed Cool Components workshop board |
Kamisama | 1:d1ed30ba5ca9 | 21 | // I2C Communication |
Kamisama | 1:d1ed30ba5ca9 | 22 | /*I2C i2c_lcd(p9, p10 ); // SDA, SCL */ |
Kamisama | 1:d1ed30ba5ca9 | 23 | I2C i2c(p28, p27); //SDA, SCL |
Kamisama | 1:d1ed30ba5ca9 | 24 | // LCD |
Kamisama | 1:d1ed30ba5ca9 | 25 | TextLCD_I2C lcd(&i2c, 0x40, TextLCD::LCD16x2); // I2C bus, PCF8574 Slaveaddress, LCD Type |
Kamisama | 1:d1ed30ba5ca9 | 26 | //Touch_pad |
Kamisama | 1:d1ed30ba5ca9 | 27 | InterruptIn irq(p26); |
Kamisama | 1:d1ed30ba5ca9 | 28 | MPR121 touch_pad(i2c, irq, MPR121::ADDR_VSS ); |
Kamisama | 1:d1ed30ba5ca9 | 29 | |
Kamisama | 1:d1ed30ba5ca9 | 30 | unsigned char buff[BUFFER_SIZE]; |
Kamisama | 1:d1ed30ba5ca9 | 31 | int check=0; |
Kamisama | 1:d1ed30ba5ca9 | 32 | Timer timer; |
Kamisama | 1:d1ed30ba5ca9 | 33 | |
Kamisama | 1:d1ed30ba5ca9 | 34 | int main() |
Kamisama | 1:d1ed30ba5ca9 | 35 | { |
Kamisama | 1:d1ed30ba5ca9 | 36 | touch_pad.init(); //initialisation du touch_pad |
Kamisama | 1:d1ed30ba5ca9 | 37 | touch_pad.enable(); //activation du touch_pad |
Kamisama | 1:d1ed30ba5ca9 | 38 | uint16_t button_val; // variable recueillant la valeur du bouton |
Kamisama | 1:d1ed30ba5ca9 | 39 | bool lecture=0; //booléen conditionnant l'etat play |
Kamisama | 1:d1ed30ba5ca9 | 40 | int right=0x30, left =0x30; //initialisation des valeurs de volumes de départ |
Kamisama | 1:d1ed30ba5ca9 | 41 | int temps = 0 ; |
Kamisama | 1:d1ed30ba5ca9 | 42 | FILE *song; |
Kamisama | 1:d1ed30ba5ca9 | 43 | char ligne[13],time[10]; |
Kamisama | 1:d1ed30ba5ca9 | 44 | int aff=0; |
Kamisama | 1:d1ed30ba5ca9 | 45 | char *title_song[8]={"wind", "toreador", "Moove", "Pirate", "DBZ", "Safe", "yolanda"}; |
Kamisama | 1:d1ed30ba5ca9 | 46 | |
Kamisama | 1:d1ed30ba5ca9 | 47 | |
Kamisama | 1:d1ed30ba5ca9 | 48 | lcd.cls(); |
Kamisama | 1:d1ed30ba5ca9 | 49 | lcd.setBacklight(TextLCD::LightOff); |
Kamisama | 1:d1ed30ba5ca9 | 50 | wait(1); |
Kamisama | 1:d1ed30ba5ca9 | 51 | lcd.printf(" "); |
Kamisama | 1:d1ed30ba5ca9 | 52 | lcd.cls(); |
Kamisama | 1:d1ed30ba5ca9 | 53 | lcd.setBacklight(TextLCD::LightOn); |
Kamisama | 1:d1ed30ba5ca9 | 54 | lcd.setCursor(TextLCD::CurOff_BlkOff); |
Kamisama | 1:d1ed30ba5ca9 | 55 | mkdir("/sd/mydir", 0777); |
Kamisama | 1:d1ed30ba5ca9 | 56 | FILE *fp = fopen("/sd/mydir/sdtest.txt", "w"); |
Kamisama | 1:d1ed30ba5ca9 | 57 | if(fp == NULL) |
Kamisama | 1:d1ed30ba5ca9 | 58 | { |
Kamisama | 1:d1ed30ba5ca9 | 59 | error("Could not open file for write\n"); |
Kamisama | 1:d1ed30ba5ca9 | 60 | } |
Kamisama | 1:d1ed30ba5ca9 | 61 | fprintf(fp, "IUT---MP3"); |
Kamisama | 1:d1ed30ba5ca9 | 62 | fclose(fp); |
Kamisama | 1:d1ed30ba5ca9 | 63 | fp = fopen("/sd/mydir/sdtest.txt", "r"); |
Kamisama | 1:d1ed30ba5ca9 | 64 | fscanf(fp,"%s",ligne); |
Kamisama | 1:d1ed30ba5ca9 | 65 | lcd.printf(ligne); |
Kamisama | 1:d1ed30ba5ca9 | 66 | fclose(fp); |
Kamisama | 1:d1ed30ba5ca9 | 67 | |
Kamisama | 1:d1ed30ba5ca9 | 68 | |
Kamisama | 1:d1ed30ba5ca9 | 69 | // |
Kamisama | 1:d1ed30ba5ca9 | 70 | codec.init(); // initialise le codec |
Kamisama | 1:d1ed30ba5ca9 | 71 | codec.loadpatch(); // charge le patch (rev 1.5) |
Kamisama | 1:d1ed30ba5ca9 | 72 | codec.setbassboost( 15, 150); // basse |
Kamisama | 1:d1ed30ba5ca9 | 73 | codec.settrebleboost( 7, 15000); // aigue |
Kamisama | 1:d1ed30ba5ca9 | 74 | codec.setvolume(right, left); // volume |
Kamisama | 1:d1ed30ba5ca9 | 75 | |
Kamisama | 1:d1ed30ba5ca9 | 76 | int song_number=1; |
Kamisama | 1:d1ed30ba5ca9 | 77 | char str[16] = "/sd/music/"; |
Kamisama | 1:d1ed30ba5ca9 | 78 | |
Kamisama | 1:d1ed30ba5ca9 | 79 | printf("\n Ouverture fichie \n \n"); |
Kamisama | 1:d1ed30ba5ca9 | 80 | wait(1); |
Kamisama | 1:d1ed30ba5ca9 | 81 | |
Kamisama | 1:d1ed30ba5ca9 | 82 | codec.resetplaytime(); |
Kamisama | 1:d1ed30ba5ca9 | 83 | |
Kamisama | 1:d1ed30ba5ca9 | 84 | |
Kamisama | 1:d1ed30ba5ca9 | 85 | while(1) |
Kamisama | 1:d1ed30ba5ca9 | 86 | { |
Kamisama | 1:d1ed30ba5ca9 | 87 | |
Kamisama | 1:d1ed30ba5ca9 | 88 | button_val=touch_pad.buttonPressed(); |
Kamisama | 1:d1ed30ba5ca9 | 89 | printf("\n button = 0x%04x \n", button_val); |
Kamisama | 1:d1ed30ba5ca9 | 90 | |
Kamisama | 1:d1ed30ba5ca9 | 91 | typedef enum{e_primordial, e_init, e_play, e_pause, e_next, e_previous, e_stop,e_suite}type_etat; |
Kamisama | 1:d1ed30ba5ca9 | 92 | static type_etat etat=e_primordial; |
Kamisama | 1:d1ed30ba5ca9 | 93 | |
Kamisama | 1:d1ed30ba5ca9 | 94 | switch(etat) |
Kamisama | 1:d1ed30ba5ca9 | 95 | { |
Kamisama | 1:d1ed30ba5ca9 | 96 | case e_primordial : |
Kamisama | 1:d1ed30ba5ca9 | 97 | if(button_val==play)etat=e_init; |
Kamisama | 1:d1ed30ba5ca9 | 98 | break; |
Kamisama | 1:d1ed30ba5ca9 | 99 | |
Kamisama | 1:d1ed30ba5ca9 | 100 | case e_init : |
Kamisama | 1:d1ed30ba5ca9 | 101 | lecture=1; |
Kamisama | 1:d1ed30ba5ca9 | 102 | sprintf(str+10,"%d",song_number); //donne le numéro de la musique |
Kamisama | 1:d1ed30ba5ca9 | 103 | strcat(str,".mp3"); //concatene le numero avec l'extension de la musique |
Kamisama | 1:d1ed30ba5ca9 | 104 | song = fopen(str, "r"); |
Kamisama | 1:d1ed30ba5ca9 | 105 | etat = e_play; |
Kamisama | 1:d1ed30ba5ca9 | 106 | break; |
Kamisama | 1:d1ed30ba5ca9 | 107 | //Play |
Kamisama | 1:d1ed30ba5ca9 | 108 | |
Kamisama | 1:d1ed30ba5ca9 | 109 | case e_play : |
Kamisama | 1:d1ed30ba5ca9 | 110 | lcd.cls(); |
Kamisama | 1:d1ed30ba5ca9 | 111 | lcd.locate(0,0); |
Kamisama | 1:d1ed30ba5ca9 | 112 | lcd.printf("%d %s",song_number,title_song[song_number]); |
Kamisama | 1:d1ed30ba5ca9 | 113 | while(lecture) |
Kamisama | 1:d1ed30ba5ca9 | 114 | { |
Kamisama | 1:d1ed30ba5ca9 | 115 | |
Kamisama | 1:d1ed30ba5ca9 | 116 | timer.start(); |
Kamisama | 1:d1ed30ba5ca9 | 117 | printf("feof \n"); |
Kamisama | 1:d1ed30ba5ca9 | 118 | fread(buff, 1, BUFFER_SIZE, song); // lecture buffer |
Kamisama | 1:d1ed30ba5ca9 | 119 | printf("lecture buffer \n"); |
Kamisama | 1:d1ed30ba5ca9 | 120 | lcd.locate(9,1); |
Kamisama | 1:d1ed30ba5ca9 | 121 | lcd.printf("PLAY"); |
Kamisama | 1:d1ed30ba5ca9 | 122 | aff++; |
Kamisama | 1:d1ed30ba5ca9 | 123 | if(aff%1==0){ |
Kamisama | 1:d1ed30ba5ca9 | 124 | codec.getplaytime(ligne); |
Kamisama | 1:d1ed30ba5ca9 | 125 | ligne[5]=NULL; |
Kamisama | 1:d1ed30ba5ca9 | 126 | lcd.locate(1,1); |
Kamisama | 1:d1ed30ba5ca9 | 127 | lcd.puts(ligne);} |
Kamisama | 1:d1ed30ba5ca9 | 128 | |
Kamisama | 1:d1ed30ba5ca9 | 129 | int iSize=0; |
Kamisama | 1:d1ed30ba5ca9 | 130 | for( iSize=0;iSize < BUFFER_SIZE;iSize++) |
Kamisama | 1:d1ed30ba5ca9 | 131 | { |
Kamisama | 1:d1ed30ba5ca9 | 132 | codec.testdreq(); |
Kamisama | 1:d1ed30ba5ca9 | 133 | codec.writedata( buff[ iSize]); |
Kamisama | 1:d1ed30ba5ca9 | 134 | } |
Kamisama | 1:d1ed30ba5ca9 | 135 | if(feof(song)&&button_val==0x0000) |
Kamisama | 1:d1ed30ba5ca9 | 136 | { |
Kamisama | 1:d1ed30ba5ca9 | 137 | printf("fin du fichier \n"); |
Kamisama | 1:d1ed30ba5ca9 | 138 | codec.resetplaytime(); |
Kamisama | 1:d1ed30ba5ca9 | 139 | etat=e_next; |
Kamisama | 1:d1ed30ba5ca9 | 140 | } |
Kamisama | 1:d1ed30ba5ca9 | 141 | |
Kamisama | 1:d1ed30ba5ca9 | 142 | button_val = touch_pad.buttonPressed(); |
Kamisama | 1:d1ed30ba5ca9 | 143 | if(button_val==stop)//stop |
Kamisama | 1:d1ed30ba5ca9 | 144 | { |
Kamisama | 1:d1ed30ba5ca9 | 145 | lecture=0; |
Kamisama | 1:d1ed30ba5ca9 | 146 | etat=e_stop; |
Kamisama | 1:d1ed30ba5ca9 | 147 | } |
Kamisama | 1:d1ed30ba5ca9 | 148 | |
Kamisama | 1:d1ed30ba5ca9 | 149 | if(button_val==0x0004)//previeous |
Kamisama | 1:d1ed30ba5ca9 | 150 | { |
Kamisama | 1:d1ed30ba5ca9 | 151 | lecture=0; |
Kamisama | 1:d1ed30ba5ca9 | 152 | wait(0.5); |
Kamisama | 1:d1ed30ba5ca9 | 153 | etat=e_previous; |
Kamisama | 1:d1ed30ba5ca9 | 154 | } |
Kamisama | 1:d1ed30ba5ca9 | 155 | if(button_val==0x0040)//next |
Kamisama | 1:d1ed30ba5ca9 | 156 | { |
Kamisama | 1:d1ed30ba5ca9 | 157 | lecture=0; |
Kamisama | 1:d1ed30ba5ca9 | 158 | wait(0.5); |
Kamisama | 1:d1ed30ba5ca9 | 159 | etat=e_next; |
Kamisama | 1:d1ed30ba5ca9 | 160 | } |
Kamisama | 1:d1ed30ba5ca9 | 161 | if(button_val==0x0020)//augmenter la volume |
Kamisama | 1:d1ed30ba5ca9 | 162 | { |
Kamisama | 1:d1ed30ba5ca9 | 163 | if(temps%1==0) |
Kamisama | 1:d1ed30ba5ca9 | 164 | { |
Kamisama | 1:d1ed30ba5ca9 | 165 | codec.setvolume(right--, left--); |
Kamisama | 1:d1ed30ba5ca9 | 166 | printf("Volume++ \n"); |
Kamisama | 1:d1ed30ba5ca9 | 167 | lcd.locate(12,0); |
Kamisama | 1:d1ed30ba5ca9 | 168 | lcd.printf("Vol+"); |
Kamisama | 1:d1ed30ba5ca9 | 169 | //affiche=0; |
Kamisama | 1:d1ed30ba5ca9 | 170 | } |
Kamisama | 1:d1ed30ba5ca9 | 171 | } |
Kamisama | 1:d1ed30ba5ca9 | 172 | |
Kamisama | 1:d1ed30ba5ca9 | 173 | if(button_val==0x0002)//dimunuer la volume |
Kamisama | 1:d1ed30ba5ca9 | 174 | { |
Kamisama | 1:d1ed30ba5ca9 | 175 | if(temps%1==0) |
Kamisama | 1:d1ed30ba5ca9 | 176 | { |
Kamisama | 1:d1ed30ba5ca9 | 177 | codec.setvolume(right++, left++); |
Kamisama | 1:d1ed30ba5ca9 | 178 | printf("Volume-- \n"); |
Kamisama | 1:d1ed30ba5ca9 | 179 | lcd.locate(12,0); |
Kamisama | 1:d1ed30ba5ca9 | 180 | lcd.printf("Vol-"); |
Kamisama | 1:d1ed30ba5ca9 | 181 | } |
Kamisama | 1:d1ed30ba5ca9 | 182 | } |
Kamisama | 1:d1ed30ba5ca9 | 183 | |
Kamisama | 1:d1ed30ba5ca9 | 184 | if(button_val==pause)//pause |
Kamisama | 1:d1ed30ba5ca9 | 185 | { |
Kamisama | 1:d1ed30ba5ca9 | 186 | lecture=!lecture; |
Kamisama | 1:d1ed30ba5ca9 | 187 | etat = e_pause; |
Kamisama | 1:d1ed30ba5ca9 | 188 | } |
Kamisama | 1:d1ed30ba5ca9 | 189 | |
Kamisama | 1:d1ed30ba5ca9 | 190 | if(button_val==0x000)//augmenter la volume |
Kamisama | 1:d1ed30ba5ca9 | 191 | { |
Kamisama | 1:d1ed30ba5ca9 | 192 | lcd.locate(10,0); |
Kamisama | 1:d1ed30ba5ca9 | 193 | lcd.printf(" "); |
Kamisama | 1:d1ed30ba5ca9 | 194 | } |
Kamisama | 1:d1ed30ba5ca9 | 195 | |
Kamisama | 1:d1ed30ba5ca9 | 196 | } |
Kamisama | 1:d1ed30ba5ca9 | 197 | break; |
Kamisama | 1:d1ed30ba5ca9 | 198 | //Stop |
Kamisama | 1:d1ed30ba5ca9 | 199 | |
Kamisama | 1:d1ed30ba5ca9 | 200 | case e_stop : |
Kamisama | 1:d1ed30ba5ca9 | 201 | printf("stop \n"); |
Kamisama | 1:d1ed30ba5ca9 | 202 | lcd.locate(9,1); |
Kamisama | 1:d1ed30ba5ca9 | 203 | lcd.printf("Stop"); |
Kamisama | 1:d1ed30ba5ca9 | 204 | lecture=0; |
Kamisama | 1:d1ed30ba5ca9 | 205 | fclose(song); |
Kamisama | 1:d1ed30ba5ca9 | 206 | codec.resetplaytime(); |
Kamisama | 1:d1ed30ba5ca9 | 207 | song = fopen(str, "r"); |
Kamisama | 1:d1ed30ba5ca9 | 208 | if(button_val==play)etat=e_init; |
Kamisama | 1:d1ed30ba5ca9 | 209 | if(button_val==0x0004)//previeous |
Kamisama | 1:d1ed30ba5ca9 | 210 | { |
Kamisama | 1:d1ed30ba5ca9 | 211 | lecture=0; |
Kamisama | 1:d1ed30ba5ca9 | 212 | wait(1); |
Kamisama | 1:d1ed30ba5ca9 | 213 | etat=e_previous; |
Kamisama | 1:d1ed30ba5ca9 | 214 | } |
Kamisama | 1:d1ed30ba5ca9 | 215 | if(button_val==0x0040)//next |
Kamisama | 1:d1ed30ba5ca9 | 216 | { |
Kamisama | 1:d1ed30ba5ca9 | 217 | lecture=0; |
Kamisama | 1:d1ed30ba5ca9 | 218 | wait(1); |
Kamisama | 1:d1ed30ba5ca9 | 219 | etat=e_next; |
Kamisama | 1:d1ed30ba5ca9 | 220 | } |
Kamisama | 1:d1ed30ba5ca9 | 221 | break; |
Kamisama | 1:d1ed30ba5ca9 | 222 | |
Kamisama | 1:d1ed30ba5ca9 | 223 | //Pause |
Kamisama | 1:d1ed30ba5ca9 | 224 | |
Kamisama | 1:d1ed30ba5ca9 | 225 | case e_pause : |
Kamisama | 1:d1ed30ba5ca9 | 226 | printf("\n button = 0x%04x \n", button_val); |
Kamisama | 1:d1ed30ba5ca9 | 227 | printf("pause \n"); |
Kamisama | 1:d1ed30ba5ca9 | 228 | lcd.locate(9,1); |
Kamisama | 1:d1ed30ba5ca9 | 229 | lcd.printf("Pause"); |
Kamisama | 1:d1ed30ba5ca9 | 230 | if(button_val==play) |
Kamisama | 1:d1ed30ba5ca9 | 231 | { |
Kamisama | 1:d1ed30ba5ca9 | 232 | lecture=1; |
Kamisama | 1:d1ed30ba5ca9 | 233 | etat=e_play; |
Kamisama | 1:d1ed30ba5ca9 | 234 | } |
Kamisama | 1:d1ed30ba5ca9 | 235 | if(button_val==0x0004)//previeous |
Kamisama | 1:d1ed30ba5ca9 | 236 | { |
Kamisama | 1:d1ed30ba5ca9 | 237 | lecture=0; |
Kamisama | 1:d1ed30ba5ca9 | 238 | wait(1); |
Kamisama | 1:d1ed30ba5ca9 | 239 | etat=e_previous; |
Kamisama | 1:d1ed30ba5ca9 | 240 | } |
Kamisama | 1:d1ed30ba5ca9 | 241 | if(button_val==0x0040)//next |
Kamisama | 1:d1ed30ba5ca9 | 242 | { |
Kamisama | 1:d1ed30ba5ca9 | 243 | lecture=0; |
Kamisama | 1:d1ed30ba5ca9 | 244 | wait(1); |
Kamisama | 1:d1ed30ba5ca9 | 245 | etat=e_next; |
Kamisama | 1:d1ed30ba5ca9 | 246 | } |
Kamisama | 1:d1ed30ba5ca9 | 247 | if(button_val==stop) |
Kamisama | 1:d1ed30ba5ca9 | 248 | { |
Kamisama | 1:d1ed30ba5ca9 | 249 | lcd.locate(9,1); |
Kamisama | 1:d1ed30ba5ca9 | 250 | lcd.printf(" "); |
Kamisama | 1:d1ed30ba5ca9 | 251 | etat=e_stop; |
Kamisama | 1:d1ed30ba5ca9 | 252 | } |
Kamisama | 1:d1ed30ba5ca9 | 253 | if(button_val==0x0020)//augmenter la volume |
Kamisama | 1:d1ed30ba5ca9 | 254 | { |
Kamisama | 1:d1ed30ba5ca9 | 255 | if(temps%1==0) |
Kamisama | 1:d1ed30ba5ca9 | 256 | { |
Kamisama | 1:d1ed30ba5ca9 | 257 | codec.setvolume(right--, left--); |
Kamisama | 1:d1ed30ba5ca9 | 258 | printf("Volume++ \n"); |
Kamisama | 1:d1ed30ba5ca9 | 259 | lcd.locate(12,0); |
Kamisama | 1:d1ed30ba5ca9 | 260 | lcd.printf("Vol+"); |
Kamisama | 1:d1ed30ba5ca9 | 261 | |
Kamisama | 1:d1ed30ba5ca9 | 262 | } |
Kamisama | 1:d1ed30ba5ca9 | 263 | } |
Kamisama | 1:d1ed30ba5ca9 | 264 | |
Kamisama | 1:d1ed30ba5ca9 | 265 | if(button_val==0x0002)//dimunuer la volume |
Kamisama | 1:d1ed30ba5ca9 | 266 | { |
Kamisama | 1:d1ed30ba5ca9 | 267 | if(right<=0x00 && left<=0x00) |
Kamisama | 1:d1ed30ba5ca9 | 268 | { |
Kamisama | 1:d1ed30ba5ca9 | 269 | codec.setvolume(0x00, 0x00); |
Kamisama | 1:d1ed30ba5ca9 | 270 | printf("volume max"); |
Kamisama | 1:d1ed30ba5ca9 | 271 | } |
Kamisama | 1:d1ed30ba5ca9 | 272 | else |
Kamisama | 1:d1ed30ba5ca9 | 273 | { |
Kamisama | 1:d1ed30ba5ca9 | 274 | if(temps%1==0) |
Kamisama | 1:d1ed30ba5ca9 | 275 | { |
Kamisama | 1:d1ed30ba5ca9 | 276 | codec.setvolume(right++, left++); |
Kamisama | 1:d1ed30ba5ca9 | 277 | printf("Volume-- \n"); |
Kamisama | 1:d1ed30ba5ca9 | 278 | lcd.locate(12,0); |
Kamisama | 1:d1ed30ba5ca9 | 279 | lcd.printf("Vol-"); |
Kamisama | 1:d1ed30ba5ca9 | 280 | |
Kamisama | 1:d1ed30ba5ca9 | 281 | } |
Kamisama | 1:d1ed30ba5ca9 | 282 | } |
Kamisama | 1:d1ed30ba5ca9 | 283 | } |
Kamisama | 1:d1ed30ba5ca9 | 284 | |
Kamisama | 1:d1ed30ba5ca9 | 285 | if(button_val==0x000)//augmenter la volume |
Kamisama | 1:d1ed30ba5ca9 | 286 | { |
Kamisama | 1:d1ed30ba5ca9 | 287 | lcd.locate(10,0); |
Kamisama | 1:d1ed30ba5ca9 | 288 | lcd.printf(" "); |
Kamisama | 1:d1ed30ba5ca9 | 289 | } |
Kamisama | 1:d1ed30ba5ca9 | 290 | break; |
Kamisama | 1:d1ed30ba5ca9 | 291 | //Next |
Kamisama | 1:d1ed30ba5ca9 | 292 | |
Kamisama | 1:d1ed30ba5ca9 | 293 | case e_next : |
Kamisama | 1:d1ed30ba5ca9 | 294 | lcd.locate(9,1); |
Kamisama | 1:d1ed30ba5ca9 | 295 | lcd.printf("Next"); |
Kamisama | 1:d1ed30ba5ca9 | 296 | wait(0.5); |
Kamisama | 1:d1ed30ba5ca9 | 297 | codec.resetplaytime(); |
Kamisama | 1:d1ed30ba5ca9 | 298 | song_number++; |
Kamisama | 1:d1ed30ba5ca9 | 299 | if(song_number==7)song_number=0; |
Kamisama | 1:d1ed30ba5ca9 | 300 | lecture=1; |
Kamisama | 1:d1ed30ba5ca9 | 301 | printf("Next \n"); |
Kamisama | 1:d1ed30ba5ca9 | 302 | etat=e_init; |
Kamisama | 1:d1ed30ba5ca9 | 303 | break; |
Kamisama | 1:d1ed30ba5ca9 | 304 | //Previous |
Kamisama | 1:d1ed30ba5ca9 | 305 | |
Kamisama | 1:d1ed30ba5ca9 | 306 | case e_previous : |
Kamisama | 1:d1ed30ba5ca9 | 307 | lcd.locate(7,1); |
Kamisama | 1:d1ed30ba5ca9 | 308 | lcd.printf("Previous"); |
Kamisama | 1:d1ed30ba5ca9 | 309 | wait(0.5); |
Kamisama | 1:d1ed30ba5ca9 | 310 | codec.resetplaytime(); |
Kamisama | 1:d1ed30ba5ca9 | 311 | song_number--; |
Kamisama | 1:d1ed30ba5ca9 | 312 | if(song_number<0)song_number=6; |
Kamisama | 1:d1ed30ba5ca9 | 313 | lecture=1; |
Kamisama | 1:d1ed30ba5ca9 | 314 | printf("Previous \n"); |
Kamisama | 1:d1ed30ba5ca9 | 315 | etat=e_init; |
Kamisama | 1:d1ed30ba5ca9 | 316 | break; |
Kamisama | 1:d1ed30ba5ca9 | 317 | |
Kamisama | 1:d1ed30ba5ca9 | 318 | default: |
Kamisama | 1:d1ed30ba5ca9 | 319 | printf("error"); |
Kamisama | 1:d1ed30ba5ca9 | 320 | break; |
Kamisama | 1:d1ed30ba5ca9 | 321 | } |
Kamisama | 1:d1ed30ba5ca9 | 322 | } |
Kamisama | 1:d1ed30ba5ca9 | 323 | |
Kamisama | 1:d1ed30ba5ca9 | 324 | } |
Kamisama | 1:d1ed30ba5ca9 | 325 | |
Kamisama | 1:d1ed30ba5ca9 | 326 |