f303k8 wav player
Dependencies: SDFileSystem mbed
main.cpp@3:b3b9c58e08f2, 2016-12-01 (annotated)
- Committer:
- nameless129
- Date:
- Thu Dec 01 16:25:54 2016 +0000
- Revision:
- 3:b3b9c58e08f2
- Parent:
- 2:203d58b06b0f
delete object for test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nameless129 | 0:1561c4efda0e | 1 | #include "mbed.h" |
nameless129 | 0:1561c4efda0e | 2 | #include <stdio.h> |
nameless129 | 0:1561c4efda0e | 3 | #include "SDFileSystem.h" |
nameless129 | 0:1561c4efda0e | 4 | #include "wavPlayer.h" |
nameless129 | 1:7a3f34b2d18b | 5 | #include "TIM6Driver.h" |
nameless129 | 0:1561c4efda0e | 6 | |
nameless129 | 0:1561c4efda0e | 7 | void TIM6_IRQHandler(void); |
nameless129 | 0:1561c4efda0e | 8 | Ticker flipper; |
nameless129 | 0:1561c4efda0e | 9 | FATFS FatFs; |
nameless129 | 0:1561c4efda0e | 10 | wavPlayerOnDAC wavPlayer(PA_4); |
nameless129 | 0:1561c4efda0e | 11 | |
nameless129 | 0:1561c4efda0e | 12 | SDFileSystem sd(PB_5, PB_4, PB_3, PA_11, "sd"); // the pinout on the mbed Cool Components workshop board |
nameless129 | 2:203d58b06b0f | 13 | DigitalIn button(PF_1,PullDown); |
nameless129 | 0:1561c4efda0e | 14 | BusIn DipSW(PA_10,PA_9,PA_12,PB_0); |
nameless129 | 0:1561c4efda0e | 15 | |
nameless129 | 0:1561c4efda0e | 16 | void TIM6_IRQHandler() { |
nameless129 | 1:7a3f34b2d18b | 17 | TIM6ClearInt(); |
nameless129 | 0:1561c4efda0e | 18 | wavPlayer.DACOutProc(); |
nameless129 | 0:1561c4efda0e | 19 | } |
nameless129 | 0:1561c4efda0e | 20 | |
nameless129 | 0:1561c4efda0e | 21 | int main(void) |
nameless129 | 0:1561c4efda0e | 22 | { |
nameless129 | 0:1561c4efda0e | 23 | FRESULT wavFileResult; |
nameless129 | 0:1561c4efda0e | 24 | FIL fil; |
nameless129 | 2:203d58b06b0f | 25 | char fileName[10]="0.wav"; |
nameless129 | 2:203d58b06b0f | 26 | uint8_t oldDipSW=0; |
nameless129 | 2:203d58b06b0f | 27 | uint8_t oldButton=0; |
nameless129 | 0:1561c4efda0e | 28 | |
nameless129 | 0:1561c4efda0e | 29 | MX_TIM6_Init(); |
nameless129 | 0:1561c4efda0e | 30 | NVIC_SetVector(TIM6_DAC1_IRQn, (uint32_t)&TIM6_IRQHandler); |
nameless129 | 0:1561c4efda0e | 31 | MX_NVIC_Init(); |
nameless129 | 0:1561c4efda0e | 32 | |
nameless129 | 0:1561c4efda0e | 33 | DipSW.mode(PullDown); |
nameless129 | 2:203d58b06b0f | 34 | f_mount(&FatFs,"",0); |
nameless129 | 2:203d58b06b0f | 35 | printf("power ON \r\n"); |
nameless129 | 2:203d58b06b0f | 36 | wavFileResult = f_open(&fil, "0.wav",FA_READ); |
nameless129 | 0:1561c4efda0e | 37 | |
nameless129 | 2:203d58b06b0f | 38 | while(1) |
nameless129 | 0:1561c4efda0e | 39 | { |
nameless129 | 2:203d58b06b0f | 40 | while(button.read() == 0) |
nameless129 | 2:203d58b06b0f | 41 | { |
nameless129 | 2:203d58b06b0f | 42 | } |
nameless129 | 2:203d58b06b0f | 43 | if(oldDipSW != DipSW.read()) |
nameless129 | 2:203d58b06b0f | 44 | { |
nameless129 | 2:203d58b06b0f | 45 | f_close(&fil); |
nameless129 | 2:203d58b06b0f | 46 | fileName[0] = DipSW.read()+0x30; |
nameless129 | 2:203d58b06b0f | 47 | printf("name:%s\r\n",fileName); |
nameless129 | 2:203d58b06b0f | 48 | wavFileResult = f_open(&fil, fileName, FA_READ); |
nameless129 | 2:203d58b06b0f | 49 | } |
nameless129 | 2:203d58b06b0f | 50 | oldDipSW = DipSW.read(); |
nameless129 | 2:203d58b06b0f | 51 | printf("error:%d\r\n",(int)wavFileResult); |
nameless129 | 2:203d58b06b0f | 52 | wavPlayer.setFile(&fil); |
nameless129 | 2:203d58b06b0f | 53 | printf("start\r\n"); |
nameless129 | 2:203d58b06b0f | 54 | wavPlayer.rampUp(); |
nameless129 | 2:203d58b06b0f | 55 | oldButton = button.read(); |
nameless129 | 2:203d58b06b0f | 56 | while(wavPlayer.readProc() == 0) |
nameless129 | 2:203d58b06b0f | 57 | { |
nameless129 | 2:203d58b06b0f | 58 | if(button.read() == 1 && oldButton == 0) |
nameless129 | 2:203d58b06b0f | 59 | { |
nameless129 | 2:203d58b06b0f | 60 | break; |
nameless129 | 2:203d58b06b0f | 61 | } |
nameless129 | 2:203d58b06b0f | 62 | oldButton = button.read(); |
nameless129 | 2:203d58b06b0f | 63 | } |
nameless129 | 2:203d58b06b0f | 64 | printf("END\r\n"); |
nameless129 | 2:203d58b06b0f | 65 | wavPlayer.rewind(); |
nameless129 | 2:203d58b06b0f | 66 | wavPlayer.rampDown(); |
nameless129 | 2:203d58b06b0f | 67 | while(button.read() == 1 && oldButton == 1) |
nameless129 | 2:203d58b06b0f | 68 | { |
nameless129 | 2:203d58b06b0f | 69 | } |
nameless129 | 0:1561c4efda0e | 70 | |
nameless129 | 0:1561c4efda0e | 71 | } |
nameless129 | 0:1561c4efda0e | 72 | } |