Christian Lerche
/
EA_DoorPlayer
EA BaseBoard, playing wav, PC see\'s SD-card through USB port.
Diff: main.cpp
- Revision:
- 0:fef366d2ed20
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Nov 22 05:45:58 2011 +0000 @@ -0,0 +1,75 @@ +#include "mbed.h" +#include "dbg.h" +#include "USBMSC.h" + +#include "msc_bot.h" +#include "SDFileSystem.h" +#include "wavplayer.h" +#include <new> + +Serial pc(USBTX, USBRX); +DigitalOut myled(LED1); +SDFileSystem sd(p5, p6, p7, p24, "sd"); +DigitalIn button(p21); +USBMSC usbdev; + +DigitalOut volCLK(p22); +//USBMSC usbdev(0xFFFF, 0x0003, 0x0100); + +extern "C" +void HardFault_Handler() { + printf("Hard Fault!\n"); + exit(-1); +} + +void no_memory () { + printf("panic: can't allocate to memory!\r\n"); + exit(-1); +} + +void msc_evt (uint8_t endpoint) { + switch (endpoint) { + case EPBULK_OUT: + MSCBotBulkOut(); + break; + case EPBULK_IN: + MSCBotBulkIn(); + break; + case 0xFF: + MSCBotReset(); + break; + } +} + +int main() { + button.mode(PullUp); + WavPlayer myWavPlayer; + + set_new_handler(no_memory); // new handler function + FILE *fp = fopen("/sd/settings.txt", "r"); + char array[17]; + if (fp) { + while(fgets(array, 17, fp)){ + pc.printf("file: %s\r\n",array); + } + fclose(fp); + } + if (fp == NULL) { + pc.printf("Could not open file for write\n"); + fclose(fp); + } + + MSCBotReset(); + usbdev.attach(&msc_evt); + + + while(1) { + if(button == 0){ + myWavPlayer.play_wave(array); // 8 bit sample size + } + myled = 1; + wait(0.5); + myled = 0; + wait(0.5); + } +}