IOT Cooler that has an integrated MP3 Player attached
Dependencies: 4DGL-uLCD-SE PinDetect SDFileSystem mbed wave_player
main.cpp@0:16db2db8886d, 2015-05-01 (annotated)
- Committer:
- anevil14
- Date:
- Fri May 01 16:52:11 2015 +0000
- Revision:
- 0:16db2db8886d
IOT Cooler Code
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
anevil14 | 0:16db2db8886d | 1 | #include "mbed.h" |
anevil14 | 0:16db2db8886d | 2 | #include "TMP36.h" |
anevil14 | 0:16db2db8886d | 3 | #include "PinDetect.h" |
anevil14 | 0:16db2db8886d | 4 | #include "SDFileSystem.h" |
anevil14 | 0:16db2db8886d | 5 | #include "SystemState.h" |
anevil14 | 0:16db2db8886d | 6 | #include "wave_player.h" |
anevil14 | 0:16db2db8886d | 7 | #include "WavDis.h" |
anevil14 | 0:16db2db8886d | 8 | #include "time.h" |
anevil14 | 0:16db2db8886d | 9 | #include <vector> |
anevil14 | 0:16db2db8886d | 10 | #include <string> |
anevil14 | 0:16db2db8886d | 11 | #include <stdio.h> |
anevil14 | 0:16db2db8886d | 12 | |
anevil14 | 0:16db2db8886d | 13 | using std::string; |
anevil14 | 0:16db2db8886d | 14 | |
anevil14 | 0:16db2db8886d | 15 | PinDetect fwdButton(p17, PullUp); |
anevil14 | 0:16db2db8886d | 16 | PinDetect revButton(p16, PullUp); |
anevil14 | 0:16db2db8886d | 17 | PinDetect playButton(p12, PullUp); |
anevil14 | 0:16db2db8886d | 18 | PinDetect volumeButton(p20, PullUp); |
anevil14 | 0:16db2db8886d | 19 | |
anevil14 | 0:16db2db8886d | 20 | Serial rn42(p13,p14); // Bluetooth Module |
anevil14 | 0:16db2db8886d | 21 | Serial pc(USBTX, USBRX); |
anevil14 | 0:16db2db8886d | 22 | |
anevil14 | 0:16db2db8886d | 23 | SDFileSystem sd(p5, p6, p7, p8, p9, "sd"); //SD card extra pin p9 |
anevil14 | 0:16db2db8886d | 24 | |
anevil14 | 0:16db2db8886d | 25 | AnalogOut DACout(p18); |
anevil14 | 0:16db2db8886d | 26 | wave_player waver(&DACout); |
anevil14 | 0:16db2db8886d | 27 | |
anevil14 | 0:16db2db8886d | 28 | float Current_temp = 0.0; |
anevil14 | 0:16db2db8886d | 29 | float Current_temp1 = 0.0; |
anevil14 | 0:16db2db8886d | 30 | float Current_temp2 = 0.0; |
anevil14 | 0:16db2db8886d | 31 | |
anevil14 | 0:16db2db8886d | 32 | TMP36 myTMP36(p15); |
anevil14 | 0:16db2db8886d | 33 | Timer t; |
anevil14 | 0:16db2db8886d | 34 | |
anevil14 | 0:16db2db8886d | 35 | const char* cmds[] = {"MUSIC:UP", "MUSIC:STOP", "MUSIC:PLAY", "MUSIC:NEXT", "MUSIC:PREV", "MUSIC:DOWN"}; |
anevil14 | 0:16db2db8886d | 36 | SystemState currentState = stop; |
anevil14 | 0:16db2db8886d | 37 | string currentSong; |
anevil14 | 0:16db2db8886d | 38 | string fileDirectory; |
anevil14 | 0:16db2db8886d | 39 | int currentIndex; |
anevil14 | 0:16db2db8886d | 40 | int librarySize; |
anevil14 | 0:16db2db8886d | 41 | int volumeControl; |
anevil14 | 0:16db2db8886d | 42 | bool playStop; |
anevil14 | 0:16db2db8886d | 43 | float const rate = 1.0; |
anevil14 | 0:16db2db8886d | 44 | string fileName = ""; |
anevil14 | 0:16db2db8886d | 45 | |
anevil14 | 0:16db2db8886d | 46 | WavDis display; |
anevil14 | 0:16db2db8886d | 47 | |
anevil14 | 0:16db2db8886d | 48 | |
anevil14 | 0:16db2db8886d | 49 | vector<string> filenames; //filenames are stored in a vector string |
anevil14 | 0:16db2db8886d | 50 | |
anevil14 | 0:16db2db8886d | 51 | //PROTOCOL: |
anevil14 | 0:16db2db8886d | 52 | // ex) TEMPERATURE:30 --> reading of 30 degrees |
anevil14 | 0:16db2db8886d | 53 | // |
anevil14 | 0:16db2db8886d | 54 | bool writeLine (char* towrite, int length) |
anevil14 | 0:16db2db8886d | 55 | { |
anevil14 | 0:16db2db8886d | 56 | if (rn42.writeable()) { |
anevil14 | 0:16db2db8886d | 57 | for (int i = 0; i < length; i++) { |
anevil14 | 0:16db2db8886d | 58 | if (towrite[i] == NULL ) { |
anevil14 | 0:16db2db8886d | 59 | break; |
anevil14 | 0:16db2db8886d | 60 | } |
anevil14 | 0:16db2db8886d | 61 | pc.printf("|%c",towrite[i]); |
anevil14 | 0:16db2db8886d | 62 | rn42.putc(towrite[i]); |
anevil14 | 0:16db2db8886d | 63 | } |
anevil14 | 0:16db2db8886d | 64 | rn42.putc('\n'); |
anevil14 | 0:16db2db8886d | 65 | rn42.putc(0); |
anevil14 | 0:16db2db8886d | 66 | return true; |
anevil14 | 0:16db2db8886d | 67 | } |
anevil14 | 0:16db2db8886d | 68 | |
anevil14 | 0:16db2db8886d | 69 | return false; |
anevil14 | 0:16db2db8886d | 70 | } |
anevil14 | 0:16db2db8886d | 71 | |
anevil14 | 0:16db2db8886d | 72 | |
anevil14 | 0:16db2db8886d | 73 | bool readLine (char* buffer, int sizebuffer) |
anevil14 | 0:16db2db8886d | 74 | { |
anevil14 | 0:16db2db8886d | 75 | char tmpRead = 0; |
anevil14 | 0:16db2db8886d | 76 | |
anevil14 | 0:16db2db8886d | 77 | if (rn42.readable() == 0){ |
anevil14 | 0:16db2db8886d | 78 | return false; |
anevil14 | 0:16db2db8886d | 79 | } |
anevil14 | 0:16db2db8886d | 80 | int i; |
anevil14 | 0:16db2db8886d | 81 | for (i= 0 ; i< sizebuffer-1; i++) { |
anevil14 | 0:16db2db8886d | 82 | |
anevil14 | 0:16db2db8886d | 83 | //if (rn42.readable()) { |
anevil14 | 0:16db2db8886d | 84 | tmpRead = rn42.getc(); |
anevil14 | 0:16db2db8886d | 85 | //} else { |
anevil14 | 0:16db2db8886d | 86 | // break; |
anevil14 | 0:16db2db8886d | 87 | //} |
anevil14 | 0:16db2db8886d | 88 | |
anevil14 | 0:16db2db8886d | 89 | if (tmpRead == '\n' || tmpRead == 0) { |
anevil14 | 0:16db2db8886d | 90 | break; |
anevil14 | 0:16db2db8886d | 91 | } |
anevil14 | 0:16db2db8886d | 92 | buffer[i] = tmpRead; |
anevil14 | 0:16db2db8886d | 93 | if (i == 0 && tmpRead == 0) { |
anevil14 | 0:16db2db8886d | 94 | return false; |
anevil14 | 0:16db2db8886d | 95 | } |
anevil14 | 0:16db2db8886d | 96 | } |
anevil14 | 0:16db2db8886d | 97 | |
anevil14 | 0:16db2db8886d | 98 | buffer[i] = 0; |
anevil14 | 0:16db2db8886d | 99 | if (i == 0 ) { |
anevil14 | 0:16db2db8886d | 100 | return false; |
anevil14 | 0:16db2db8886d | 101 | } |
anevil14 | 0:16db2db8886d | 102 | |
anevil14 | 0:16db2db8886d | 103 | return true; |
anevil14 | 0:16db2db8886d | 104 | |
anevil14 | 0:16db2db8886d | 105 | } |
anevil14 | 0:16db2db8886d | 106 | /* |
anevil14 | 0:16db2db8886d | 107 | void Rx_interrupt(void) { |
anevil14 | 0:16db2db8886d | 108 | pc.printf("I blocked you bitch"); |
anevil14 | 0:16db2db8886d | 109 | pc.putc(rn42.getc()); |
anevil14 | 0:16db2db8886d | 110 | pc.printf("jk"); |
anevil14 | 0:16db2db8886d | 111 | }*/ |
anevil14 | 0:16db2db8886d | 112 | |
anevil14 | 0:16db2db8886d | 113 | //UPDATE NECESSARY VARIABLES EACH TIME A BUTTON EVEN OCCURS |
anevil14 | 0:16db2db8886d | 114 | void Update(int index, SystemState state) |
anevil14 | 0:16db2db8886d | 115 | { |
anevil14 | 0:16db2db8886d | 116 | currentState = state; |
anevil14 | 0:16db2db8886d | 117 | currentIndex = index; |
anevil14 | 0:16db2db8886d | 118 | currentSong = filenames[currentIndex]; |
anevil14 | 0:16db2db8886d | 119 | display.UpdateState(currentState); |
anevil14 | 0:16db2db8886d | 120 | display.UpdateSong(currentSong); |
anevil14 | 0:16db2db8886d | 121 | display.UpdateVolume(15-volumeControl); |
anevil14 | 0:16db2db8886d | 122 | Current_temp = (1.8*myTMP36.read())+32; |
anevil14 | 0:16db2db8886d | 123 | display.UpdateTemp(Current_temp); |
anevil14 | 0:16db2db8886d | 124 | switch(currentState) { |
anevil14 | 0:16db2db8886d | 125 | case stop: |
anevil14 | 0:16db2db8886d | 126 | playStop = false; |
anevil14 | 0:16db2db8886d | 127 | break; |
anevil14 | 0:16db2db8886d | 128 | case play_state: |
anevil14 | 0:16db2db8886d | 129 | playStop = true; |
anevil14 | 0:16db2db8886d | 130 | break; |
anevil14 | 0:16db2db8886d | 131 | } |
anevil14 | 0:16db2db8886d | 132 | } |
anevil14 | 0:16db2db8886d | 133 | |
anevil14 | 0:16db2db8886d | 134 | |
anevil14 | 0:16db2db8886d | 135 | void getWaveFiles() |
anevil14 | 0:16db2db8886d | 136 | { |
anevil14 | 0:16db2db8886d | 137 | if (!sd.SDInserted()) { |
anevil14 | 0:16db2db8886d | 138 | while (!sd.SDInserted()) { |
anevil14 | 0:16db2db8886d | 139 | //check for sd card until true |
anevil14 | 0:16db2db8886d | 140 | display.UpdateState(Need_SD); |
anevil14 | 0:16db2db8886d | 141 | printf("SD Card Not Found\n"); |
anevil14 | 0:16db2db8886d | 142 | wait(1); |
anevil14 | 0:16db2db8886d | 143 | } |
anevil14 | 0:16db2db8886d | 144 | wait(2); |
anevil14 | 0:16db2db8886d | 145 | sd.disk_initialize(); |
anevil14 | 0:16db2db8886d | 146 | wait(2); |
anevil14 | 0:16db2db8886d | 147 | } |
anevil14 | 0:16db2db8886d | 148 | |
anevil14 | 0:16db2db8886d | 149 | wait(2); |
anevil14 | 0:16db2db8886d | 150 | DIR *dp; |
anevil14 | 0:16db2db8886d | 151 | struct dirent *dirp; |
anevil14 | 0:16db2db8886d | 152 | dp = opendir(fileDirectory.c_str()); |
anevil14 | 0:16db2db8886d | 153 | |
anevil14 | 0:16db2db8886d | 154 | while((dirp = readdir(dp)) != NULL) { |
anevil14 | 0:16db2db8886d | 155 | filenames.push_back(string(dirp->d_name)); |
anevil14 | 0:16db2db8886d | 156 | } |
anevil14 | 0:16db2db8886d | 157 | // print filename strings from vector using an iterator |
anevil14 | 0:16db2db8886d | 158 | for(vector<string>::iterator it=filenames.begin(); it < filenames.end(); it++) { |
anevil14 | 0:16db2db8886d | 159 | printf("%s\n\r",(*it).c_str()); |
anevil14 | 0:16db2db8886d | 160 | } |
anevil14 | 0:16db2db8886d | 161 | |
anevil14 | 0:16db2db8886d | 162 | librarySize = filenames.size(); |
anevil14 | 0:16db2db8886d | 163 | if (librarySize == 0) { |
anevil14 | 0:16db2db8886d | 164 | printf("Library Empty\n\n"); |
anevil14 | 0:16db2db8886d | 165 | return; |
anevil14 | 0:16db2db8886d | 166 | } |
anevil14 | 0:16db2db8886d | 167 | |
anevil14 | 0:16db2db8886d | 168 | fileDirectory.append("/"); |
anevil14 | 0:16db2db8886d | 169 | |
anevil14 | 0:16db2db8886d | 170 | Update(0,stop); |
anevil14 | 0:16db2db8886d | 171 | } |
anevil14 | 0:16db2db8886d | 172 | |
anevil14 | 0:16db2db8886d | 173 | |
anevil14 | 0:16db2db8886d | 174 | |
anevil14 | 0:16db2db8886d | 175 | void fwdButton_Event(void) |
anevil14 | 0:16db2db8886d | 176 | { |
anevil14 | 0:16db2db8886d | 177 | if (currentState == stop) { |
anevil14 | 0:16db2db8886d | 178 | currentIndex++; //INCREMENT CURRENT INDEX (0 TO NUMBER OF SONGS -1) |
anevil14 | 0:16db2db8886d | 179 | if(currentIndex >= librarySize) { |
anevil14 | 0:16db2db8886d | 180 | currentIndex = 0; |
anevil14 | 0:16db2db8886d | 181 | } |
anevil14 | 0:16db2db8886d | 182 | Update(currentIndex,currentState); |
anevil14 | 0:16db2db8886d | 183 | } |
anevil14 | 0:16db2db8886d | 184 | } |
anevil14 | 0:16db2db8886d | 185 | void revButton_Event(void) |
anevil14 | 0:16db2db8886d | 186 | { |
anevil14 | 0:16db2db8886d | 187 | if (currentState == stop) { |
anevil14 | 0:16db2db8886d | 188 | currentIndex--; //DECREMENT CURRENT INDEX (0 TO NUMBER OF SONGS -1) |
anevil14 | 0:16db2db8886d | 189 | if(currentIndex < 0) { |
anevil14 | 0:16db2db8886d | 190 | currentIndex = (librarySize - 1); |
anevil14 | 0:16db2db8886d | 191 | } |
anevil14 | 0:16db2db8886d | 192 | Update(currentIndex,currentState); |
anevil14 | 0:16db2db8886d | 193 | } |
anevil14 | 0:16db2db8886d | 194 | } |
anevil14 | 0:16db2db8886d | 195 | |
anevil14 | 0:16db2db8886d | 196 | void playButton_Event(void) |
anevil14 | 0:16db2db8886d | 197 | { |
anevil14 | 0:16db2db8886d | 198 | |
anevil14 | 0:16db2db8886d | 199 | switch (currentState) { |
anevil14 | 0:16db2db8886d | 200 | case stop: |
anevil14 | 0:16db2db8886d | 201 | Update(currentIndex, play_state); |
anevil14 | 0:16db2db8886d | 202 | break; |
anevil14 | 0:16db2db8886d | 203 | case play_state: |
anevil14 | 0:16db2db8886d | 204 | Update(currentIndex, stop); |
anevil14 | 0:16db2db8886d | 205 | break; |
anevil14 | 0:16db2db8886d | 206 | } |
anevil14 | 0:16db2db8886d | 207 | } |
anevil14 | 0:16db2db8886d | 208 | void volumeUpButton_Event(void) |
anevil14 | 0:16db2db8886d | 209 | { |
anevil14 | 0:16db2db8886d | 210 | if ((volumeControl >= 0) && (volumeControl < 15)){ |
anevil14 | 0:16db2db8886d | 211 | volumeControl++; |
anevil14 | 0:16db2db8886d | 212 | } |
anevil14 | 0:16db2db8886d | 213 | display.UpdateVolume(15-volumeControl); |
anevil14 | 0:16db2db8886d | 214 | } |
anevil14 | 0:16db2db8886d | 215 | void volumeButton_Event(void) |
anevil14 | 0:16db2db8886d | 216 | { |
anevil14 | 0:16db2db8886d | 217 | if(volumeControl >= 15) { |
anevil14 | 0:16db2db8886d | 218 | volumeControl = 0; |
anevil14 | 0:16db2db8886d | 219 | } else { |
anevil14 | 0:16db2db8886d | 220 | volumeControl++; |
anevil14 | 0:16db2db8886d | 221 | } |
anevil14 | 0:16db2db8886d | 222 | display.UpdateVolume(15-volumeControl); |
anevil14 | 0:16db2db8886d | 223 | } |
anevil14 | 0:16db2db8886d | 224 | |
anevil14 | 0:16db2db8886d | 225 | void volumeDownButton_Event(void) |
anevil14 | 0:16db2db8886d | 226 | { |
anevil14 | 0:16db2db8886d | 227 | if(volumeControl > 0) { |
anevil14 | 0:16db2db8886d | 228 | volumeControl--; |
anevil14 | 0:16db2db8886d | 229 | } |
anevil14 | 0:16db2db8886d | 230 | display.UpdateVolume(15-volumeControl); |
anevil14 | 0:16db2db8886d | 231 | } |
anevil14 | 0:16db2db8886d | 232 | |
anevil14 | 0:16db2db8886d | 233 | int main() |
anevil14 | 0:16db2db8886d | 234 | { |
anevil14 | 0:16db2db8886d | 235 | |
anevil14 | 0:16db2db8886d | 236 | // BlueTooth Module |
anevil14 | 0:16db2db8886d | 237 | rn42.baud(19600); |
anevil14 | 0:16db2db8886d | 238 | pc.baud(9600); |
anevil14 | 0:16db2db8886d | 239 | |
anevil14 | 0:16db2db8886d | 240 | // MP3 Player |
anevil14 | 0:16db2db8886d | 241 | currentState = stop; |
anevil14 | 0:16db2db8886d | 242 | currentSong = ""; |
anevil14 | 0:16db2db8886d | 243 | librarySize = 0; |
anevil14 | 0:16db2db8886d | 244 | volumeControl = 0; |
anevil14 | 0:16db2db8886d | 245 | currentIndex = -1; |
anevil14 | 0:16db2db8886d | 246 | fileDirectory = "/sd/myMusic"; |
anevil14 | 0:16db2db8886d | 247 | char output[50]; |
anevil14 | 0:16db2db8886d | 248 | string temp; |
anevil14 | 0:16db2db8886d | 249 | bool didRead = false; |
anevil14 | 0:16db2db8886d | 250 | char buf [100]; |
anevil14 | 0:16db2db8886d | 251 | |
anevil14 | 0:16db2db8886d | 252 | fwdButton.attach_asserted(&fwdButton_Event); |
anevil14 | 0:16db2db8886d | 253 | fwdButton.setSampleFrequency(); |
anevil14 | 0:16db2db8886d | 254 | revButton.attach_asserted(&revButton_Event); |
anevil14 | 0:16db2db8886d | 255 | revButton.setSampleFrequency(); |
anevil14 | 0:16db2db8886d | 256 | playButton.attach_asserted(&playButton_Event); |
anevil14 | 0:16db2db8886d | 257 | playButton.setSampleFrequency(); |
anevil14 | 0:16db2db8886d | 258 | volumeButton.attach_asserted(&volumeButton_Event); |
anevil14 | 0:16db2db8886d | 259 | volumeButton.setSampleFrequency(); |
anevil14 | 0:16db2db8886d | 260 | //rn42.attach(&Rx_interrupt, Serial::RxIrq); |
anevil14 | 0:16db2db8886d | 261 | |
anevil14 | 0:16db2db8886d | 262 | getWaveFiles(); |
anevil14 | 0:16db2db8886d | 263 | pc.printf("init"); |
anevil14 | 0:16db2db8886d | 264 | |
anevil14 | 0:16db2db8886d | 265 | while(1) { |
anevil14 | 0:16db2db8886d | 266 | switch (currentState) { |
anevil14 | 0:16db2db8886d | 267 | case stop: |
anevil14 | 0:16db2db8886d | 268 | break; |
anevil14 | 0:16db2db8886d | 269 | case play_state: |
anevil14 | 0:16db2db8886d | 270 | string fileName = ""; |
anevil14 | 0:16db2db8886d | 271 | fileName.append(fileDirectory + currentSong); |
anevil14 | 0:16db2db8886d | 272 | printf("%s\n\r",fileName.c_str()); |
anevil14 | 0:16db2db8886d | 273 | FILE *wave_file; |
anevil14 | 0:16db2db8886d | 274 | wave_file=fopen(fileName.c_str(),"r"); |
anevil14 | 0:16db2db8886d | 275 | |
anevil14 | 0:16db2db8886d | 276 | waver.play(wave_file, &playStop, &volumeControl); |
anevil14 | 0:16db2db8886d | 277 | |
anevil14 | 0:16db2db8886d | 278 | fclose(wave_file); |
anevil14 | 0:16db2db8886d | 279 | Update(currentIndex,stop); |
anevil14 | 0:16db2db8886d | 280 | break; |
anevil14 | 0:16db2db8886d | 281 | } |
anevil14 | 0:16db2db8886d | 282 | wait(0.1); |
anevil14 | 0:16db2db8886d | 283 | t.start(); |
anevil14 | 0:16db2db8886d | 284 | |
anevil14 | 0:16db2db8886d | 285 | if (t.read() >= rate) { |
anevil14 | 0:16db2db8886d | 286 | Current_temp = (1.8*myTMP36.read())+32; |
anevil14 | 0:16db2db8886d | 287 | Current_temp1 = (1.8*myTMP36.read())+32; |
anevil14 | 0:16db2db8886d | 288 | Current_temp2 = (1.8*myTMP36.read())+32; |
anevil14 | 0:16db2db8886d | 289 | Current_temp = (Current_temp + Current_temp1 + Current_temp2) / 3.00; |
anevil14 | 0:16db2db8886d | 290 | display.UpdateTemp(Current_temp); |
anevil14 | 0:16db2db8886d | 291 | snprintf(output,50,"%.2f", Current_temp); |
anevil14 | 0:16db2db8886d | 292 | writeLine (output, 50); |
anevil14 | 0:16db2db8886d | 293 | t.reset(); |
anevil14 | 0:16db2db8886d | 294 | t.start(); |
anevil14 | 0:16db2db8886d | 295 | } |
anevil14 | 0:16db2db8886d | 296 | |
anevil14 | 0:16db2db8886d | 297 | |
anevil14 | 0:16db2db8886d | 298 | didRead = readLine(buf, 100); |
anevil14 | 0:16db2db8886d | 299 | pc.printf("(%s)\n",buf); |
anevil14 | 0:16db2db8886d | 300 | if (didRead) { |
anevil14 | 0:16db2db8886d | 301 | if (strcmp(buf,cmds[0]) == 0) { |
anevil14 | 0:16db2db8886d | 302 | pc.printf("Volume Increase"); |
anevil14 | 0:16db2db8886d | 303 | volumeUpButton_Event(); |
anevil14 | 0:16db2db8886d | 304 | } |
anevil14 | 0:16db2db8886d | 305 | if (strcmp(buf,cmds[1]) == 0) { |
anevil14 | 0:16db2db8886d | 306 | pc.printf("STOP"); |
anevil14 | 0:16db2db8886d | 307 | playButton_Event(); |
anevil14 | 0:16db2db8886d | 308 | } |
anevil14 | 0:16db2db8886d | 309 | if (strcmp(buf,cmds[2]) == 0) { |
anevil14 | 0:16db2db8886d | 310 | pc.printf("PLAY"); |
anevil14 | 0:16db2db8886d | 311 | playButton_Event(); |
anevil14 | 0:16db2db8886d | 312 | } |
anevil14 | 0:16db2db8886d | 313 | if (strcmp(buf,cmds[3]) == 0) { |
anevil14 | 0:16db2db8886d | 314 | pc.printf("FORWARD"); |
anevil14 | 0:16db2db8886d | 315 | fwdButton_Event(); |
anevil14 | 0:16db2db8886d | 316 | } |
anevil14 | 0:16db2db8886d | 317 | if (strcmp(buf,cmds[4]) == 0) { |
anevil14 | 0:16db2db8886d | 318 | pc.printf("REVERSE"); |
anevil14 | 0:16db2db8886d | 319 | revButton_Event(); |
anevil14 | 0:16db2db8886d | 320 | } |
anevil14 | 0:16db2db8886d | 321 | if (strcmp(buf,cmds[5]) == 0) { |
anevil14 | 0:16db2db8886d | 322 | pc.printf("DOWN"); |
anevil14 | 0:16db2db8886d | 323 | volumeDownButton_Event(); |
anevil14 | 0:16db2db8886d | 324 | } |
anevil14 | 0:16db2db8886d | 325 | |
anevil14 | 0:16db2db8886d | 326 | } |
anevil14 | 0:16db2db8886d | 327 | } |
anevil14 | 0:16db2db8886d | 328 | |
anevil14 | 0:16db2db8886d | 329 | } |