Big Mouth Billy Bass player that takes raw wavefiles and decision list text files from an SD card
Dependencies: SDFileSystem mbed BillyBass
billybass.hpp@5:5b846ef42702, 2013-06-15 (annotated)
- Committer:
- bikeNomad
- Date:
- Sat Jun 15 03:32:20 2013 +0000
- Revision:
- 5:5b846ef42702
- Child:
- 6:e90a12ca056f
separated into multiple files
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bikeNomad | 5:5b846ef42702 | 1 | #ifndef __included_billybass_hpp |
bikeNomad | 5:5b846ef42702 | 2 | #define __included_billybass_hpp |
bikeNomad | 5:5b846ef42702 | 3 | |
bikeNomad | 5:5b846ef42702 | 4 | #include "mbed.h" |
bikeNomad | 5:5b846ef42702 | 5 | #include "SDFileSystem.h" |
bikeNomad | 5:5b846ef42702 | 6 | #include <list> |
bikeNomad | 5:5b846ef42702 | 7 | #include <cmath> |
bikeNomad | 5:5b846ef42702 | 8 | |
bikeNomad | 5:5b846ef42702 | 9 | struct Song; |
bikeNomad | 5:5b846ef42702 | 10 | |
bikeNomad | 5:5b846ef42702 | 11 | #define SD_NAME "sd" |
bikeNomad | 5:5b846ef42702 | 12 | #define SD_ROOT "/" SD_NAME |
bikeNomad | 5:5b846ef42702 | 13 | #define BASS_DIRECTORY SD_ROOT "/SD_Files" |
bikeNomad | 5:5b846ef42702 | 14 | |
bikeNomad | 5:5b846ef42702 | 15 | typedef int16_t Sample_t; // 16-bit raw, LE samples |
bikeNomad | 5:5b846ef42702 | 16 | |
bikeNomad | 5:5b846ef42702 | 17 | const size_t BUFFER_SIZE = 512; |
bikeNomad | 5:5b846ef42702 | 18 | const float SAMPLE_RATE_HZ = 8000.0; |
bikeNomad | 5:5b846ef42702 | 19 | #define MAX_BASENAME_LENGTH 30 |
bikeNomad | 5:5b846ef42702 | 20 | #define MAX_ACTION_LINE_LENGTH 100 |
bikeNomad | 5:5b846ef42702 | 21 | #define SERIAL_BAUD 115200 |
bikeNomad | 5:5b846ef42702 | 22 | |
bikeNomad | 5:5b846ef42702 | 23 | const unsigned SAMPLE_PERIOD_USEC = (unsigned)(1.0e6/SAMPLE_RATE_HZ); |
bikeNomad | 5:5b846ef42702 | 24 | const size_t SAMPLES_PER_BUFFER = BUFFER_SIZE / sizeof(Sample_t); |
bikeNomad | 5:5b846ef42702 | 25 | const float SECONDS_PER_CHUNK = SAMPLES_PER_BUFFER / SAMPLE_RATE_HZ; |
bikeNomad | 5:5b846ef42702 | 26 | |
bikeNomad | 5:5b846ef42702 | 27 | extern DigitalOut tail; // J3/2 |
bikeNomad | 5:5b846ef42702 | 28 | extern DigitalOut mouth; // J3/1 |
bikeNomad | 5:5b846ef42702 | 29 | extern DigitalOut head; // J3/3 |
bikeNomad | 5:5b846ef42702 | 30 | extern DigitalIn pushbutton; // J3/4 |
bikeNomad | 5:5b846ef42702 | 31 | extern PwmOut redLED; |
bikeNomad | 5:5b846ef42702 | 32 | extern PwmOut greenLED; |
bikeNomad | 5:5b846ef42702 | 33 | extern PwmOut blueLED; |
bikeNomad | 5:5b846ef42702 | 34 | extern AnalogOut speaker; // J10/11 |
bikeNomad | 5:5b846ef42702 | 35 | extern SDFileSystem sd; |
bikeNomad | 5:5b846ef42702 | 36 | extern Serial pc; |
bikeNomad | 5:5b846ef42702 | 37 | extern std::list<Song> songs; |
bikeNomad | 5:5b846ef42702 | 38 | |
bikeNomad | 5:5b846ef42702 | 39 | #endif |