EA BaseBoard, playing wav, PC see\'s SD-card through USB port.

Dependencies:   mbed

main.cpp

Committer:
Lerche
Date:
2011-11-22
Revision:
0:fef366d2ed20

File content as of revision 0:fef366d2ed20:

#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);
    }
}