f303k8 wav player
Dependencies: SDFileSystem mbed
main.cpp@2:203d58b06b0f, 2016-11-29 (annotated)
- Committer:
- nameless129
- Date:
- Tue Nov 29 12:09:35 2016 +0000
- Revision:
- 2:203d58b06b0f
- Parent:
- 1:7a3f34b2d18b
- Child:
- 3:b3b9c58e08f2
release
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 | 0:1561c4efda0e | 13 | DigitalOut pin(PA_12); |
nameless129 | 0:1561c4efda0e | 14 | DigitalOut pin2(PB_0); |
nameless129 | 2:203d58b06b0f | 15 | DigitalIn button(PF_1,PullDown); |
nameless129 | 0:1561c4efda0e | 16 | BusIn DipSW(PA_10,PA_9,PA_12,PB_0); |
nameless129 | 0:1561c4efda0e | 17 | |
nameless129 | 0:1561c4efda0e | 18 | void TIM6_IRQHandler() { |
nameless129 | 1:7a3f34b2d18b | 19 | TIM6ClearInt(); |
nameless129 | 0:1561c4efda0e | 20 | wavPlayer.DACOutProc(); |
nameless129 | 0:1561c4efda0e | 21 | } |
nameless129 | 0:1561c4efda0e | 22 | |
nameless129 | 0:1561c4efda0e | 23 | int main(void) |
nameless129 | 0:1561c4efda0e | 24 | { |
nameless129 | 0:1561c4efda0e | 25 | FRESULT wavFileResult; |
nameless129 | 0:1561c4efda0e | 26 | FIL fil; |
nameless129 | 2:203d58b06b0f | 27 | char fileName[10]="0.wav"; |
nameless129 | 2:203d58b06b0f | 28 | uint8_t oldDipSW=0; |
nameless129 | 2:203d58b06b0f | 29 | uint8_t oldButton=0; |
nameless129 | 0:1561c4efda0e | 30 | |
nameless129 | 0:1561c4efda0e | 31 | MX_TIM6_Init(); |
nameless129 | 0:1561c4efda0e | 32 | NVIC_SetVector(TIM6_DAC1_IRQn, (uint32_t)&TIM6_IRQHandler); |
nameless129 | 0:1561c4efda0e | 33 | MX_NVIC_Init(); |
nameless129 | 0:1561c4efda0e | 34 | |
nameless129 | 0:1561c4efda0e | 35 | DipSW.mode(PullDown); |
nameless129 | 2:203d58b06b0f | 36 | f_mount(&FatFs,"",0); |
nameless129 | 2:203d58b06b0f | 37 | printf("power ON \r\n"); |
nameless129 | 2:203d58b06b0f | 38 | wavFileResult = f_open(&fil, "0.wav",FA_READ); |
nameless129 | 0:1561c4efda0e | 39 | |
nameless129 | 2:203d58b06b0f | 40 | while(1) |
nameless129 | 0:1561c4efda0e | 41 | { |
nameless129 | 2:203d58b06b0f | 42 | while(button.read() == 0) |
nameless129 | 2:203d58b06b0f | 43 | { |
nameless129 | 2:203d58b06b0f | 44 | } |
nameless129 | 2:203d58b06b0f | 45 | if(oldDipSW != DipSW.read()) |
nameless129 | 2:203d58b06b0f | 46 | { |
nameless129 | 2:203d58b06b0f | 47 | f_close(&fil); |
nameless129 | 2:203d58b06b0f | 48 | fileName[0] = DipSW.read()+0x30; |
nameless129 | 2:203d58b06b0f | 49 | printf("name:%s\r\n",fileName); |
nameless129 | 2:203d58b06b0f | 50 | wavFileResult = f_open(&fil, fileName, FA_READ); |
nameless129 | 2:203d58b06b0f | 51 | } |
nameless129 | 2:203d58b06b0f | 52 | oldDipSW = DipSW.read(); |
nameless129 | 2:203d58b06b0f | 53 | printf("error:%d\r\n",(int)wavFileResult); |
nameless129 | 2:203d58b06b0f | 54 | wavPlayer.setFile(&fil); |
nameless129 | 2:203d58b06b0f | 55 | printf("start\r\n"); |
nameless129 | 2:203d58b06b0f | 56 | wavPlayer.rampUp(); |
nameless129 | 2:203d58b06b0f | 57 | oldButton = button.read(); |
nameless129 | 2:203d58b06b0f | 58 | while(wavPlayer.readProc() == 0) |
nameless129 | 2:203d58b06b0f | 59 | { |
nameless129 | 2:203d58b06b0f | 60 | if(button.read() == 1 && oldButton == 0) |
nameless129 | 2:203d58b06b0f | 61 | { |
nameless129 | 2:203d58b06b0f | 62 | break; |
nameless129 | 2:203d58b06b0f | 63 | } |
nameless129 | 2:203d58b06b0f | 64 | oldButton = button.read(); |
nameless129 | 2:203d58b06b0f | 65 | } |
nameless129 | 2:203d58b06b0f | 66 | printf("END\r\n"); |
nameless129 | 2:203d58b06b0f | 67 | wavPlayer.rewind(); |
nameless129 | 2:203d58b06b0f | 68 | wavPlayer.rampDown(); |
nameless129 | 2:203d58b06b0f | 69 | while(button.read() == 1 && oldButton == 1) |
nameless129 | 2:203d58b06b0f | 70 | { |
nameless129 | 2:203d58b06b0f | 71 | } |
nameless129 | 0:1561c4efda0e | 72 | |
nameless129 | 0:1561c4efda0e | 73 | } |
nameless129 | 0:1561c4efda0e | 74 | } |