mbed
Dependencies: LSM9DS1_Library_cal RPCInterface final mbed
Fork of SDFileSystem_HelloWorld by
main.cpp@1:f54bee9d59de, 2017-04-28 (annotated)
- 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?
User | Revision | Line number | New 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 |