Big Mouth Billy Bass player that takes raw wavefiles and decision list text files from an SD card

Dependencies:   SDFileSystem mbed BillyBass

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?

UserRevisionLine numberNew 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