Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of RapidMP3_check by
main.cpp@1:dbb63bd6c828, 2014-11-21 (annotated)
- Committer:
- vasanth
- Date:
- Fri Nov 21 10:44:09 2014 +0000
- Revision:
- 1:dbb63bd6c828
- Parent:
- 0:a540b792fbf0
RAPID_MP3_V1 demonstration
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| vasanth | 0:a540b792fbf0 | 1 | #include "mbed.h" |
| vasanth | 0:a540b792fbf0 | 2 | #include "RAPIDMP3.h" |
| vasanth | 0:a540b792fbf0 | 3 | |
| vasanth | 0:a540b792fbf0 | 4 | |
| vasanth | 1:dbb63bd6c828 | 5 | RAPIDMP3 rmp3(D8, D2); // Tx, Rx |
| vasanth | 0:a540b792fbf0 | 6 | Serial pc(USBTX, USBRX); |
| vasanth | 0:a540b792fbf0 | 7 | |
| vasanth | 0:a540b792fbf0 | 8 | int main() { |
| vasanth | 0:a540b792fbf0 | 9 | |
| vasanth | 1:dbb63bd6c828 | 10 | pc.puts("RAPID_MP3_V1 module demonstration\r\n"); |
| vasanth | 1:dbb63bd6c828 | 11 | |
| vasanth | 1:dbb63bd6c828 | 12 | // After powering up, wait atleast a second before sending commands |
| vasanth | 0:a540b792fbf0 | 13 | wait(1.0); |
| vasanth | 0:a540b792fbf0 | 14 | |
| vasanth | 0:a540b792fbf0 | 15 | while (1) { |
| vasanth | 0:a540b792fbf0 | 16 | |
| vasanth | 0:a540b792fbf0 | 17 | // Play track till its end |
| vasanth | 1:dbb63bd6c828 | 18 | rmp3.playFile("track1.mp3"); |
| vasanth | 1:dbb63bd6c828 | 19 | rmp3.waitEndOfPlay(); |
| vasanth | 0:a540b792fbf0 | 20 | |
| vasanth | 0:a540b792fbf0 | 21 | // Play track for a specified duration |
| vasanth | 1:dbb63bd6c828 | 22 | rmp3.playFile("track2.mp3"); |
| vasanth | 0:a540b792fbf0 | 23 | wait(20.0); |
| vasanth | 0:a540b792fbf0 | 24 | rmp3.stop(); |
| vasanth | 1:dbb63bd6c828 | 25 | wait(5.0); |
| vasanth | 0:a540b792fbf0 | 26 | |
| vasanth | 0:a540b792fbf0 | 27 | // Play, pause and resume a track |
| vasanth | 1:dbb63bd6c828 | 28 | rmp3.playFile("track3.mp3"); |
| vasanth | 0:a540b792fbf0 | 29 | wait(10.0); |
| vasanth | 0:a540b792fbf0 | 30 | rmp3.playPause(); |
| vasanth | 0:a540b792fbf0 | 31 | wait(5.0); |
| vasanth | 0:a540b792fbf0 | 32 | rmp3.playResume(); |
| vasanth | 0:a540b792fbf0 | 33 | wait(5.0); |
| vasanth | 0:a540b792fbf0 | 34 | |
| vasanth | 0:a540b792fbf0 | 35 | // Set volume level to 2 |
| vasanth | 0:a540b792fbf0 | 36 | rmp3.volumeSet(2); // 0 is max, 9 is mute |
| vasanth | 0:a540b792fbf0 | 37 | wait(5.0); |
| vasanth | 0:a540b792fbf0 | 38 | |
| vasanth | 0:a540b792fbf0 | 39 | // Increase volume one level |
| vasanth | 0:a540b792fbf0 | 40 | rmp3.volumeInc(); |
| vasanth | 0:a540b792fbf0 | 41 | wait(5.0); |
| vasanth | 0:a540b792fbf0 | 42 | |
| vasanth | 0:a540b792fbf0 | 43 | // Decrease volume one level |
| vasanth | 0:a540b792fbf0 | 44 | rmp3.volumeDec(); |
| vasanth | 0:a540b792fbf0 | 45 | wait(5.0); |
| vasanth | 0:a540b792fbf0 | 46 | |
| vasanth | 1:dbb63bd6c828 | 47 | // Get current volume level and send to PC |
| vasanth | 0:a540b792fbf0 | 48 | uint8_t volume = rmp3.volumeGet(); |
| vasanth | 0:a540b792fbf0 | 49 | pc.printf("current volume level = %d\r\n", volume); |
| vasanth | 0:a540b792fbf0 | 50 | wait(5.0); |
| vasanth | 0:a540b792fbf0 | 51 | |
| vasanth | 1:dbb63bd6c828 | 52 | // Read playback status |
| vasanth | 0:a540b792fbf0 | 53 | uint8_t playStatus = rmp3.getPlaybackStatus(); |
| vasanth | 0:a540b792fbf0 | 54 | if (playStatus == RMP3_BUSY) { |
| vasanth | 1:dbb63bd6c828 | 55 | pc.puts("Device is busy\r\n"); |
| vasanth | 1:dbb63bd6c828 | 56 | // Stop current playback |
| vasanth | 1:dbb63bd6c828 | 57 | rmp3.stop(); |
| vasanth | 0:a540b792fbf0 | 58 | } |
| vasanth | 0:a540b792fbf0 | 59 | pc.puts("Device is free\r\n"); |
| vasanth | 0:a540b792fbf0 | 60 | wait(5.0); |
| vasanth | 0:a540b792fbf0 | 61 | |
| vasanth | 1:dbb63bd6c828 | 62 | // Record audio as .wav file for a specified duration |
| vasanth | 0:a540b792fbf0 | 63 | rmp3.recordFile("rec_001.wav"); |
| vasanth | 0:a540b792fbf0 | 64 | wait(20.0); |
| vasanth | 0:a540b792fbf0 | 65 | rmp3.stop(); |
| vasanth | 1:dbb63bd6c828 | 66 | |
| vasanth | 0:a540b792fbf0 | 67 | // Play the recorded audio till its end |
| vasanth | 0:a540b792fbf0 | 68 | rmp3.playFile("rec_001.wav"); |
| vasanth | 0:a540b792fbf0 | 69 | rmp3.waitEndOfPlay(); |
| vasanth | 0:a540b792fbf0 | 70 | |
| vasanth | 0:a540b792fbf0 | 71 | wait(5.0); |
| vasanth | 0:a540b792fbf0 | 72 | |
| vasanth | 0:a540b792fbf0 | 73 | // loop again. |
| vasanth | 0:a540b792fbf0 | 74 | } |
| vasanth | 1:dbb63bd6c828 | 75 | } |
