GR-peach and MRP121
Dependencies: EasyPlaybackPWM MPR121 PwmOutSpeaker SDBlockDevice_GR_PEACH USBHost_custom
Fork of MPR121_GR-PEACH by
main.cpp
- Committer:
- tendots
- Date:
- 2017-10-23
- Revision:
- 12:3b6f4dccd101
- Parent:
- 11:b95db1f04d7c
File content as of revision 12:3b6f4dccd101:
#include "mbed.h" #include "MPR121.h" #include "EasyPlaybackPWM.h" #include "EasyDec_WavCnv2ch.h" #include "FATFileSystem.h" #include "SDBlockDevice_GR_PEACH.h" #include "USBHostMSD.h" #define FILE_NAME_LEN (64) #define MOUNT_NAME "storage" #define TAG_BUFF_SIZE (64 + 1) //null-terminated Serial pc(USBTX, USBRX); DigitalOut myled(LED1); //audio static EasyPlaybackPWM AudioPlayer(P4_5, P4_7); //mpr121 I2C i2c(P1_7, P1_6); InterruptIn irq(P1_11); MPR121 touch_pad(i2c, irq, MPR121::ADDR_VSS); Ticker timer; int playSE = 0; DIR * d; struct dirent * p; FATFileSystem fs("storage"); SDBlockDevice_GR_PEACH sd; USBHostMSD usb; void attime(){ //printf("timer"); //audio check and play /* if(playSE != 0){ AudioPlayer.add_decoder<EasyDec_WavCnv2ch>(".wav"); AudioPlayer.add_decoder<EasyDec_WavCnv2ch>(".WAV"); while(1) { if (sd.connect()) { fs.mount(&sd); break; } } switch (playSE) { case 0: break; case 1: AudioPlayer.play("/storage/nn.wav"); break; case 2: AudioPlayer.play("/storage/yonda.wav"); break; case 3: AudioPlayer.play("/storage/tonton.wav"); break; case 4: AudioPlayer.play("/storage/tontonton.wav"); printf("play"); break; case 5: AudioPlayer.play("/storage/kusuguttai.wav"); break; case 6: AudioPlayer.play("/storage/kimochiii.wav"); break; case 7: AudioPlayer.play("/storage/hya.wav"); break; case 8: AudioPlayer.play("/storage/mugyu.wav"); break; case 9: AudioPlayer.play("/storage/onakasuita.wav"); break; } } playSE = 0; */ } void play(){ FILE *fp; fp = fopen("/storage/yonda.wav", "r"); AudioPlayer.play("/storage/yonda.wav"); fclose(fp); fp = NULL; } int main() { //SD-card & audio //char file_path[sizeof("/"MOUNT_NAME"/") + FILE_NAME_LEN]; // decoder setting AudioPlayer.add_decoder<EasyDec_WavCnv2ch>(".wav"); AudioPlayer.add_decoder<EasyDec_WavCnv2ch>(".WAV"); // volume control AudioPlayer.outputVolume(1); // Volume control (min:0.0 max:1.0) // wait for the storage device to be connected printf("Finding a storage...\r\n"); while(1) { if (sd.connect()) { fs.mount(&sd); break; } } printf("done\r\n"); //audio check timer playSE = 4; timer.attach(&attime,1); //AudioPlayer.play("/storage/mugyu.wav"); play(); bool pa = AudioPlayer.is_paused(); printf("%d", pa); //touch pad touch_pad.init(); touch_pad.enable(); //touch_pad.registerDump(pc); while(1) { uint16_t button_val; if(touch_pad.isPressed()) { printf("if"); button_val = touch_pad.buttonPressed(); pc.printf("button = 0x%04x\n\r", button_val); myled = (button_val>0) ? 1 : 0; //AudioPlayer.pause(true); }else{ printf("else"); button_val = 0; } if(button_val != 0x0000){ play(); wait(0.3); break; } //wait(0.1); } }