mbed

Dependencies:   LSM9DS1_Library_cal RPCInterface final mbed

Fork of SDFileSystem_HelloWorld by mbed official

Committer:
mikebenq
Date:
Fri Apr 28 19:18:46 2017 +0000
Revision:
1:f54bee9d59de
Parent:
0:bdbd3d6fc5d5
Child:
2:55495227fcca
ece4180

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mikebenq 1:f54bee9d59de 1 /* Author: Pramod Nataraja & Vishnu Venkat */
mbed_official 0:bdbd3d6fc5d5 2
mikebenq 1:f54bee9d59de 3 #include "mbed.h"
mikebenq 1:f54bee9d59de 4 #include "VS1002.h"
mikebenq 1:f54bee9d59de 5 //#include "TextLCD.h"
mikebenq 1:f54bee9d59de 6 #include "mpr121.h"
mikebenq 1:f54bee9d59de 7 #include "LSM9DS1.h"
mikebenq 1:f54bee9d59de 8 #include "SerialRPCInterface.h"
mikebenq 1:f54bee9d59de 9 using namespace mbed;
mikebenq 1:f54bee9d59de 10 #define NEXT 7
mikebenq 1:f54bee9d59de 11 #define PREVIOUS 8
mikebenq 1:f54bee9d59de 12 #define PP 9
mikebenq 1:f54bee9d59de 13 #define V_DOWN 10
mikebenq 1:f54bee9d59de 14 #define V_UP 11
mikebenq 1:f54bee9d59de 15 #define MUTE_UNMUTE 12
mikebenq 1:f54bee9d59de 16 //Ticker flipper;
mikebenq 1:f54bee9d59de 17 //LSM9DS1 IMU(p28, p27, 0xD6, 0x3C);
mikebenq 1:f54bee9d59de 18 //SerialRPCInterface RPC(p28, p27);
mikebenq 1:f54bee9d59de 19 //void foo(Arguments* input, Reply* output);
mikebenq 1:f54bee9d59de 20 //RPCFunction bluetooth_control(&foo, "bluetooth_control");
mikebenq 1:f54bee9d59de 21 /*float tempx=0;
mikebenq 1:f54bee9d59de 22 float tempy=0;
mikebenq 1:f54bee9d59de 23 float tempz=0;
mikebenq 1:f54bee9d59de 24 float delx=0;
mikebenq 1:f54bee9d59de 25 float dely=0;
mikebenq 1:f54bee9d59de 26 float delz=0;
mikebenq 1:f54bee9d59de 27 float del=0;*/
mikebenq 1:f54bee9d59de 28
mikebenq 1:f54bee9d59de 29 VS1002 mp3(p5, p6, p7, p8,"sd",p11, p12 ,p13, p14, p23, p22, p21, p15); //Setup Audio decoder. Name is VS1002 even though VS1053 is used.
mikebenq 1:f54bee9d59de 30 //TextLCD lcd1(p30, p29, p17, p18, p19, p20); //setup lcd
mikebenq 1:f54bee9d59de 31 //InterruptIn interrupt(p26); // Create the interrupt receiver object on pin 26
mikebenq 1:f54bee9d59de 32 //I2C i2c(p9, p10); // Setup the i2c bus on pins 9 and 10
mikebenq 1:f54bee9d59de 33 //Mpr121 mpr121(&i2c, Mpr121::ADD_VSS); //Setup Mpr121
mikebenq 1:f54bee9d59de 34 Serial pc1(USBTX, USBRX);
mikebenq 1:f54bee9d59de 35
mikebenq 1:f54bee9d59de 36 /* Global Variables to store Status*/
mikebenq 1:f54bee9d59de 37 int new_song_number=1; //Variable to store the Song Number
mikebenq 1:f54bee9d59de 38 int volume_set=0; //Variable to store the Volume
mikebenq 1:f54bee9d59de 39 int previous_volume; //Variable to store the volume when muted
mikebenq 1:f54bee9d59de 40 bool pause=false; //Variable to store the status of Pause button
mikebenq 1:f54bee9d59de 41 bool mute=false; //Variable to store the status of mute button
mikebenq 1:f54bee9d59de 42
mikebenq 1:f54bee9d59de 43 int check=0; //Capacitative touch generates interrupt on both press and release. This variable tracks this and updates only on press.
mikebenq 1:f54bee9d59de 44 //char *song_name[6]={"18 till I Die","Summer of 69","Boulevard", "Serenity","Crawling","In the end"}; //Array of song names entered manually
mikebenq 1:f54bee9d59de 45 char *song_name[6]={"Escape","Summer of 69","Monster", "Leave out all the rest","Kings","Interstellar Docking"}; //Array of song names entered manually
mikebenq 1:f54bee9d59de 46
mikebenq 1:f54bee9d59de 47
mikebenq 1:f54bee9d59de 48 /*void fallInterrupt()
mikebenq 1:f54bee9d59de 49 {
mikebenq 1:f54bee9d59de 50 int key_code=0;
mikebenq 1:f54bee9d59de 51 int i=0;
mikebenq 1:f54bee9d59de 52 int value;
mikebenq 1:f54bee9d59de 53 value=mpr121.read(0x00);
mikebenq 1:f54bee9d59de 54 value +=mpr121.read(0x01)<<8;
mikebenq 1:f54bee9d59de 55
mikebenq 1:f54bee9d59de 56 i=0;
mikebenq 1:f54bee9d59de 57 if(check)
mikebenq 1:f54bee9d59de 58 check=0;
mikebenq 1:f54bee9d59de 59 else
mikebenq 1:f54bee9d59de 60 check=1;
mikebenq 1:f54bee9d59de 61 if(check)
mikebenq 1:f54bee9d59de 62 {
mikebenq 1:f54bee9d59de 63 for (i=0; i<12; i++) {
mikebenq 1:f54bee9d59de 64 if (((value>>i)&0x01)==1) key_code=i+1; //Convert value into decimal
mikebenq 1:f54bee9d59de 65 }
mikebenq 1:f54bee9d59de 66
mikebenq 1:f54bee9d59de 67 switch(key_code) // Different cases depending on key press
mikebenq 1:f54bee9d59de 68 {
mikebenq 1:f54bee9d59de 69 case 0:break; // Invalid entry . Valid 1-12
mikebenq 1:f54bee9d59de 70 case 1:
mikebenq 1:f54bee9d59de 71 case 2:
mikebenq 1:f54bee9d59de 72 case 3:
mikebenq 1:f54bee9d59de 73 case 4:
mikebenq 1:f54bee9d59de 74 case 5:
mikebenq 1:f54bee9d59de 75 case 6: new_song_number=key_code; // Play the selected song
mikebenq 1:f54bee9d59de 76 break;
mikebenq 1:f54bee9d59de 77 case NEXT:new_song_number+=1; // Next song
mikebenq 1:f54bee9d59de 78 if(new_song_number==7)
mikebenq 1:f54bee9d59de 79 new_song_number=1;
mikebenq 1:f54bee9d59de 80 break;
mikebenq 1:f54bee9d59de 81 case PREVIOUS: new_song_number-=1; // Previous Song
mikebenq 1:f54bee9d59de 82 if(new_song_number==0)
mikebenq 1:f54bee9d59de 83 new_song_number=6;
mikebenq 1:f54bee9d59de 84 break;
mikebenq 1:f54bee9d59de 85 case PP: pause=!pause; // Pause/Play button
mikebenq 1:f54bee9d59de 86 break;
mikebenq 1:f54bee9d59de 87 case V_UP: volume_set+=3; // Volume Up
mikebenq 1:f54bee9d59de 88 if(volume_set>=0)
mikebenq 1:f54bee9d59de 89 volume_set=0;
mikebenq 1:f54bee9d59de 90 break;
mikebenq 1:f54bee9d59de 91 case V_DOWN: volume_set-=3; //Volume Down
mikebenq 1:f54bee9d59de 92 if(volume_set<-55)
mikebenq 1:f54bee9d59de 93 volume_set=-55;
mikebenq 1:f54bee9d59de 94 break;
mikebenq 1:f54bee9d59de 95 case MUTE_UNMUTE: mute=!mute; //Mute/Unmute
mikebenq 1:f54bee9d59de 96 if(mute)
mikebenq 1:f54bee9d59de 97 {
mikebenq 1:f54bee9d59de 98 previous_volume=volume_set; // Attenuation of -55 db is small enough to not hear anything
mikebenq 1:f54bee9d59de 99 volume_set=-55;
mikebenq 1:f54bee9d59de 100 }
mikebenq 1:f54bee9d59de 101 else
mikebenq 1:f54bee9d59de 102 {
mikebenq 1:f54bee9d59de 103 volume_set=previous_volume;
mikebenq 1:f54bee9d59de 104 }
mikebenq 1:f54bee9d59de 105 break;
mikebenq 1:f54bee9d59de 106 default: ;//pc.cls();
mikebenq 1:f54bee9d59de 107 pc1.printf("error"); // exit on error
mikebenq 1:f54bee9d59de 108 exit(1);
mikebenq 1:f54bee9d59de 109 }
mikebenq 1:f54bee9d59de 110 }
mikebenq 1:f54bee9d59de 111
mikebenq 1:f54bee9d59de 112 if(pause)
mikebenq 1:f54bee9d59de 113 pc1.printf("Paused ");
mikebenq 1:f54bee9d59de 114 if(mute)
mikebenq 1:f54bee9d59de 115 pc1.printf("Muted");
mikebenq 1:f54bee9d59de 116 if(!mute && !pause)
mikebenq 1:f54bee9d59de 117 pc1.printf("Playing");
mikebenq 1:f54bee9d59de 118 pc1.printf("\r\n %d %s",new_song_number,song_name[new_song_number-1]);
mikebenq 1:f54bee9d59de 119
mikebenq 1:f54bee9d59de 120 }*/
mikebenq 1:f54bee9d59de 121 /*void IMUInterrupt()
mikebenq 1:f54bee9d59de 122 {
mikebenq 1:f54bee9d59de 123 int key_code=0;
mikebenq 1:f54bee9d59de 124
mbed_official 0:bdbd3d6fc5d5 125
mikebenq 1:f54bee9d59de 126 while(!IMU.accelAvailable());
mikebenq 1:f54bee9d59de 127 tempx=IMU.calcAccel(IMU.ax);
mikebenq 1:f54bee9d59de 128 tempy=IMU.calcAccel(IMU.ay);
mikebenq 1:f54bee9d59de 129 tempz=IMU.calcAccel(IMU.az);
mikebenq 1:f54bee9d59de 130 IMU.readAccel();
mikebenq 1:f54bee9d59de 131 delx=tempx-IMU.calcAccel(IMU.ax);
mikebenq 1:f54bee9d59de 132 dely=tempy-IMU.calcAccel(IMU.ay);
mikebenq 1:f54bee9d59de 133 delz=tempz-IMU.calcAccel(IMU.az);
mikebenq 1:f54bee9d59de 134 //del=delx*delx+dely*dely+delz*delz;
mikebenq 1:f54bee9d59de 135 if(delx>0.15)
mikebenq 1:f54bee9d59de 136 key_code=NEXT;
mikebenq 1:f54bee9d59de 137 if(delx<-0.15)
mikebenq 1:f54bee9d59de 138 key_code=PREVIOUS;
mikebenq 1:f54bee9d59de 139 if(dely>0.15)
mikebenq 1:f54bee9d59de 140 key_code=V_UP;
mikebenq 1:f54bee9d59de 141 if(dely<-0.15)
mikebenq 1:f54bee9d59de 142 key_code=V_DOWN;
mikebenq 1:f54bee9d59de 143 if(delz>0.15)
mikebenq 1:f54bee9d59de 144 key_code=PP;
mikebenq 1:f54bee9d59de 145 if(delz<-0.15)
mikebenq 1:f54bee9d59de 146 key_code=MUTE_UNMUTE;
mikebenq 1:f54bee9d59de 147 //pc1.printf("delx:%f dely:%f delz:%f\r\n",delx,dely,delz);
mikebenq 1:f54bee9d59de 148 //pc1.printf("key_code:%d\r\n",key_code);
mikebenq 1:f54bee9d59de 149
mikebenq 1:f54bee9d59de 150
mikebenq 1:f54bee9d59de 151
mikebenq 1:f54bee9d59de 152
mikebenq 1:f54bee9d59de 153 switch(key_code) // Different cases depending on key press
mikebenq 1:f54bee9d59de 154 {
mikebenq 1:f54bee9d59de 155 case 0:break; // Invalid entry . Valid 1-12
mikebenq 1:f54bee9d59de 156 case 1:
mikebenq 1:f54bee9d59de 157 case 2:
mikebenq 1:f54bee9d59de 158 case 3:
mikebenq 1:f54bee9d59de 159 case 4:
mikebenq 1:f54bee9d59de 160 case 5:
mikebenq 1:f54bee9d59de 161 case 6: new_song_number=key_code; // Play the selected song
mikebenq 1:f54bee9d59de 162 break;
mikebenq 1:f54bee9d59de 163 case NEXT:
mikebenq 1:f54bee9d59de 164 pc1.printf("next\r\n");
mikebenq 1:f54bee9d59de 165 new_song_number+=1; // Next song
mikebenq 1:f54bee9d59de 166 if(new_song_number==7)
mikebenq 1:f54bee9d59de 167 new_song_number=1;
mikebenq 1:f54bee9d59de 168 break;
mikebenq 1:f54bee9d59de 169 case PREVIOUS:
mikebenq 1:f54bee9d59de 170 pc1.printf("previous\r\n");
mikebenq 1:f54bee9d59de 171 new_song_number-=1; // Previous Song
mikebenq 1:f54bee9d59de 172 if(new_song_number==0)
mikebenq 1:f54bee9d59de 173 new_song_number=6;
mikebenq 1:f54bee9d59de 174 break;
mikebenq 1:f54bee9d59de 175 case PP:
mikebenq 1:f54bee9d59de 176 pc1.printf("pp\r\n");
mikebenq 1:f54bee9d59de 177 pause=!pause; // Pause/Play button
mikebenq 1:f54bee9d59de 178 break;
mikebenq 1:f54bee9d59de 179 case V_UP:
mikebenq 1:f54bee9d59de 180 pc1.printf("v_up\r\n");
mikebenq 1:f54bee9d59de 181 volume_set+=3; // Volume Up
mikebenq 1:f54bee9d59de 182 if(volume_set>=0)
mikebenq 1:f54bee9d59de 183 volume_set=0;
mikebenq 1:f54bee9d59de 184 break;
mikebenq 1:f54bee9d59de 185 case V_DOWN:
mikebenq 1:f54bee9d59de 186 pc1.printf("v_down\r\n");
mikebenq 1:f54bee9d59de 187 volume_set-=3; //Volume Down
mikebenq 1:f54bee9d59de 188 if(volume_set<-55)
mikebenq 1:f54bee9d59de 189 volume_set=-55;
mikebenq 1:f54bee9d59de 190 break;
mikebenq 1:f54bee9d59de 191 case MUTE_UNMUTE:
mikebenq 1:f54bee9d59de 192 pc1.printf("mute_unmute\r\n");
mikebenq 1:f54bee9d59de 193 mute=!mute; //Mute/Unmute
mikebenq 1:f54bee9d59de 194 if(mute)
mikebenq 1:f54bee9d59de 195 {
mikebenq 1:f54bee9d59de 196 previous_volume=volume_set; // Attenuation of -55 db is small enough to not hear anything
mikebenq 1:f54bee9d59de 197 volume_set=-55;
mikebenq 1:f54bee9d59de 198 }
mikebenq 1:f54bee9d59de 199 else
mikebenq 1:f54bee9d59de 200 {
mikebenq 1:f54bee9d59de 201 volume_set=previous_volume;
mikebenq 1:f54bee9d59de 202 }
mikebenq 1:f54bee9d59de 203 break;
mikebenq 1:f54bee9d59de 204 default: ;//pc.cls();
mikebenq 1:f54bee9d59de 205 pc1.printf("error"); // exit on error
mikebenq 1:f54bee9d59de 206 exit(1);
mikebenq 1:f54bee9d59de 207 }
mikebenq 1:f54bee9d59de 208
mikebenq 1:f54bee9d59de 209
mikebenq 1:f54bee9d59de 210 if(pause)
mikebenq 1:f54bee9d59de 211 pc1.printf("Paused ");
mikebenq 1:f54bee9d59de 212 if(mute)
mikebenq 1:f54bee9d59de 213 pc1.printf("Muted");
mikebenq 1:f54bee9d59de 214 if(!mute && !pause)
mikebenq 1:f54bee9d59de 215 pc1.printf("Playing");
mikebenq 1:f54bee9d59de 216 pc1.printf("\r\n %d %s",new_song_number,song_name[new_song_number-1]);
mikebenq 1:f54bee9d59de 217
mikebenq 1:f54bee9d59de 218 }*/
mikebenq 1:f54bee9d59de 219 //void foo(Arguments * input, Reply * output){
mikebenq 1:f54bee9d59de 220 void foo(){
mikebenq 1:f54bee9d59de 221 //const char *arg0=input->getArg<const char*>();
mikebenq 1:f54bee9d59de 222 pc1.printf("hi\n");
mikebenq 1:f54bee9d59de 223 if(pc1.readable()){
mikebenq 1:f54bee9d59de 224 const char arg0=pc1.getc();
mikebenq 1:f54bee9d59de 225 //pc1.printf(arg0);
mikebenq 1:f54bee9d59de 226 int key_code=0;
mikebenq 1:f54bee9d59de 227 //switch(*arg0){
mikebenq 1:f54bee9d59de 228 switch(arg0){
mikebenq 1:f54bee9d59de 229 case '1': key_code=V_UP; break;
mikebenq 1:f54bee9d59de 230 case '2': key_code=V_DOWN; break;
mikebenq 1:f54bee9d59de 231 case '3': key_code=PP; break;
mikebenq 1:f54bee9d59de 232 case '4': key_code=MUTE_UNMUTE; break;
mikebenq 1:f54bee9d59de 233 case 'N': key_code=NEXT; break;
mikebenq 1:f54bee9d59de 234 case 'B': key_code=PREVIOUS; break;
mikebenq 1:f54bee9d59de 235 case 'a':
mikebenq 1:f54bee9d59de 236 case 'b':
mikebenq 1:f54bee9d59de 237 case 'c':
mikebenq 1:f54bee9d59de 238 case 'd':
mikebenq 1:f54bee9d59de 239 case 'e':
mikebenq 1:f54bee9d59de 240 case 'f': key_code=arg0-'0'; // Play the selected song
mikebenq 1:f54bee9d59de 241 break;
mikebenq 1:f54bee9d59de 242 default : key_code=0; break;
mbed_official 0:bdbd3d6fc5d5 243 }
mikebenq 1:f54bee9d59de 244
mikebenq 1:f54bee9d59de 245
mikebenq 1:f54bee9d59de 246 switch(key_code) // Different cases depending on key press
mikebenq 1:f54bee9d59de 247 {
mikebenq 1:f54bee9d59de 248 case 0:break; // Invalid entry . Valid 1-12
mikebenq 1:f54bee9d59de 249 case 1:
mikebenq 1:f54bee9d59de 250 case 2:
mikebenq 1:f54bee9d59de 251 case 3:
mikebenq 1:f54bee9d59de 252 case 4:
mikebenq 1:f54bee9d59de 253 case 5:
mikebenq 1:f54bee9d59de 254 case 6: new_song_number=key_code; // Play the selected song
mikebenq 1:f54bee9d59de 255 break;
mikebenq 1:f54bee9d59de 256 case NEXT:
mikebenq 1:f54bee9d59de 257 pc1.printf("next\r\n");
mikebenq 1:f54bee9d59de 258 new_song_number+=1; // Next song
mikebenq 1:f54bee9d59de 259 if(new_song_number==7)
mikebenq 1:f54bee9d59de 260 new_song_number=1;
mikebenq 1:f54bee9d59de 261 break;
mikebenq 1:f54bee9d59de 262 case PREVIOUS:
mikebenq 1:f54bee9d59de 263 pc1.printf("previous\r\n");
mikebenq 1:f54bee9d59de 264 new_song_number-=1; // Previous Song
mikebenq 1:f54bee9d59de 265 if(new_song_number==0)
mikebenq 1:f54bee9d59de 266 new_song_number=6;
mikebenq 1:f54bee9d59de 267 break;
mikebenq 1:f54bee9d59de 268 case PP:
mikebenq 1:f54bee9d59de 269 pc1.printf("pp\r\n");
mikebenq 1:f54bee9d59de 270 pause=!pause; // Pause/Play button
mikebenq 1:f54bee9d59de 271 break;
mikebenq 1:f54bee9d59de 272 case V_UP:
mikebenq 1:f54bee9d59de 273 pc1.printf("v_up\r\n");
mikebenq 1:f54bee9d59de 274 volume_set+=3; // Volume Up
mikebenq 1:f54bee9d59de 275 if(volume_set>=0)
mikebenq 1:f54bee9d59de 276 volume_set=0;
mikebenq 1:f54bee9d59de 277 break;
mikebenq 1:f54bee9d59de 278 case V_DOWN:
mikebenq 1:f54bee9d59de 279 pc1.printf("v_down\r\n");
mikebenq 1:f54bee9d59de 280 volume_set-=3; //Volume Down
mikebenq 1:f54bee9d59de 281 if(volume_set<-55)
mikebenq 1:f54bee9d59de 282 volume_set=-55;
mikebenq 1:f54bee9d59de 283 break;
mikebenq 1:f54bee9d59de 284 case MUTE_UNMUTE:
mikebenq 1:f54bee9d59de 285 pc1.printf("mute_unmute\r\n");
mikebenq 1:f54bee9d59de 286 mute=!mute; //Mute/Unmute
mikebenq 1:f54bee9d59de 287 if(mute)
mikebenq 1:f54bee9d59de 288 {
mikebenq 1:f54bee9d59de 289 previous_volume=volume_set; // Attenuation of -55 db is small enough to not hear anything
mikebenq 1:f54bee9d59de 290 volume_set=-55;
mikebenq 1:f54bee9d59de 291 }
mikebenq 1:f54bee9d59de 292 else
mikebenq 1:f54bee9d59de 293 {
mikebenq 1:f54bee9d59de 294 volume_set=previous_volume;
mikebenq 1:f54bee9d59de 295 }
mikebenq 1:f54bee9d59de 296 break;
mikebenq 1:f54bee9d59de 297 default: ;//pc.cls();
mikebenq 1:f54bee9d59de 298 pc1.printf("error"); // exit on error
mikebenq 1:f54bee9d59de 299 exit(1);
mikebenq 1:f54bee9d59de 300 }
mbed_official 0:bdbd3d6fc5d5 301
mikebenq 1:f54bee9d59de 302 /* Print to LCD the status of Song */
mikebenq 1:f54bee9d59de 303 //pc.cls();
mikebenq 1:f54bee9d59de 304 if(pause)
mikebenq 1:f54bee9d59de 305 pc1.printf("Paused ");
mikebenq 1:f54bee9d59de 306 if(mute)
mikebenq 1:f54bee9d59de 307 pc1.printf("Muted");
mikebenq 1:f54bee9d59de 308 if(!mute && !pause)
mikebenq 1:f54bee9d59de 309 pc1.printf("Playing");
mikebenq 1:f54bee9d59de 310 pc1.printf("\r\n %d %s",new_song_number,song_name[new_song_number-1]);
mikebenq 1:f54bee9d59de 311 }
mbed_official 0:bdbd3d6fc5d5 312 }
mikebenq 1:f54bee9d59de 313 int main ()
mikebenq 1:f54bee9d59de 314 {
mikebenq 1:f54bee9d59de 315 pc1.printf("hello\r\n");
mikebenq 1:f54bee9d59de 316 /*IMU.begin();
mikebenq 1:f54bee9d59de 317 if (!IMU.begin()) {
mikebenq 1:f54bee9d59de 318 pc1.printf("Failed to communicate with LSM9DS1.\r\n");
mikebenq 1:f54bee9d59de 319 }
mikebenq 1:f54bee9d59de 320 IMU.calibrate(1);*/
mikebenq 1:f54bee9d59de 321 /*============================================================
mikebenq 1:f54bee9d59de 322 * MP3 Initialising
mikebenq 1:f54bee9d59de 323 *==========================================================*/
mikebenq 1:f54bee9d59de 324
mikebenq 1:f54bee9d59de 325
mikebenq 1:f54bee9d59de 326 mp3._RST = 1;
mikebenq 1:f54bee9d59de 327 mp3.cs_high(); //chip disabled
mikebenq 1:f54bee9d59de 328 mp3.sci_initialise(); //initialise MBED
mikebenq 1:f54bee9d59de 329 mp3.sci_write(0x00,(SM_SDINEW+SM_STREAM+SM_DIFF));
mikebenq 1:f54bee9d59de 330 mp3.sci_write(0x03, 0x9800);
mikebenq 1:f54bee9d59de 331 mp3.sdi_initialise();
mikebenq 1:f54bee9d59de 332
mikebenq 1:f54bee9d59de 333
mikebenq 1:f54bee9d59de 334 /* Touch Pad setup */
mikebenq 1:f54bee9d59de 335 //interrupt.fall(&fallInterrupt);
mikebenq 1:f54bee9d59de 336 //interrupt.mode(PullUp);
mikebenq 1:f54bee9d59de 337 //interrupt.fall(&IMUInterrupt);
mikebenq 1:f54bee9d59de 338 //interrupt.mode(PullUp);
mikebenq 1:f54bee9d59de 339 // flipper.attach(&IMUInterrupt, 1);
mikebenq 1:f54bee9d59de 340 pc1.attach(&foo, Serial::RxIrq);
mikebenq 1:f54bee9d59de 341 while(1)
mikebenq 1:f54bee9d59de 342 {
mikebenq 1:f54bee9d59de 343 mp3.play_song(new_song_number);
mikebenq 1:f54bee9d59de 344 }
mikebenq 1:f54bee9d59de 345
mikebenq 1:f54bee9d59de 346 }
mikebenq 1:f54bee9d59de 347
mikebenq 1:f54bee9d59de 348