Dependencies: 4DGL-uLCD-SE SDFileSystem mbed
Fork of vs1011e by
main.cpp@0:8a46c5988d62, 2016-12-10 (annotated)
- Committer:
- ecardenas8
- Date:
- Sat Dec 10 23:20:32 2016 +0000
- Revision:
- 0:8a46c5988d62
- Child:
- 1:9c5643903657
vs1011e code
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ecardenas8 | 0:8a46c5988d62 | 1 | #include "mbed.h" |
ecardenas8 | 0:8a46c5988d62 | 2 | #include "SDFileSystem.h" |
ecardenas8 | 0:8a46c5988d62 | 3 | |
ecardenas8 | 0:8a46c5988d62 | 4 | DigitalOut led1(LED1); |
ecardenas8 | 0:8a46c5988d62 | 5 | DigitalOut led2(LED2); |
ecardenas8 | 0:8a46c5988d62 | 6 | DigitalOut led3(LED3); |
ecardenas8 | 0:8a46c5988d62 | 7 | DigitalOut led4(LED4); |
ecardenas8 | 0:8a46c5988d62 | 8 | |
ecardenas8 | 0:8a46c5988d62 | 9 | DigitalIn Dreq(p26); |
ecardenas8 | 0:8a46c5988d62 | 10 | DigitalOut XDCS(p25); |
ecardenas8 | 0:8a46c5988d62 | 11 | DigitalOut reset(p23); |
ecardenas8 | 0:8a46c5988d62 | 12 | DigitalOut XCS(p22); |
ecardenas8 | 0:8a46c5988d62 | 13 | |
ecardenas8 | 0:8a46c5988d62 | 14 | SPI mp3Board(p11, p12, p13); |
ecardenas8 | 0:8a46c5988d62 | 15 | SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD card |
ecardenas8 | 0:8a46c5988d62 | 16 | |
ecardenas8 | 0:8a46c5988d62 | 17 | int killLoop = 1; |
ecardenas8 | 0:8a46c5988d62 | 18 | int mp3Chunk; |
ecardenas8 | 0:8a46c5988d62 | 19 | int fileSize; |
ecardenas8 | 0:8a46c5988d62 | 20 | |
ecardenas8 | 0:8a46c5988d62 | 21 | long getFileSize(FILE *fp) { |
ecardenas8 | 0:8a46c5988d62 | 22 | fseek(fp, 0, SEEK_END); |
ecardenas8 | 0:8a46c5988d62 | 23 | int size = ftell(fp); |
ecardenas8 | 0:8a46c5988d62 | 24 | fseek(fp, 0, SEEK_SET); |
ecardenas8 | 0:8a46c5988d62 | 25 | |
ecardenas8 | 0:8a46c5988d62 | 26 | return size; |
ecardenas8 | 0:8a46c5988d62 | 27 | } |
ecardenas8 | 0:8a46c5988d62 | 28 | |
ecardenas8 | 0:8a46c5988d62 | 29 | int main() { |
ecardenas8 | 0:8a46c5988d62 | 30 | led1=0; |
ecardenas8 | 0:8a46c5988d62 | 31 | led2=0; |
ecardenas8 | 0:8a46c5988d62 | 32 | led3=0; |
ecardenas8 | 0:8a46c5988d62 | 33 | led4=0; |
ecardenas8 | 0:8a46c5988d62 | 34 | |
ecardenas8 | 0:8a46c5988d62 | 35 | |
ecardenas8 | 0:8a46c5988d62 | 36 | XCS=1; |
ecardenas8 | 0:8a46c5988d62 | 37 | XCS=0; //pull xcs low to begin sci write. Sets mode to vs1002, |
ecardenas8 | 0:8a46c5988d62 | 38 | mp3Board.write(0x02); //0x02 is the write opcode |
ecardenas8 | 0:8a46c5988d62 | 39 | mp3Board.write(0x00); //0x00 is the address of the sci mode register |
ecardenas8 | 0:8a46c5988d62 | 40 | mp3Board.write(0x0A); //0x0A (11 in dec) is the SM_SDINEW bit |
ecardenas8 | 0:8a46c5988d62 | 41 | XCS=1; //pulled high to end write sequence |
ecardenas8 | 0:8a46c5988d62 | 42 | |
ecardenas8 | 0:8a46c5988d62 | 43 | led1=1; |
ecardenas8 | 0:8a46c5988d62 | 44 | |
ecardenas8 | 0:8a46c5988d62 | 45 | FILE *mp3_file; |
ecardenas8 | 0:8a46c5988d62 | 46 | //printf("\n\n\nHello, wave world!\n"); |
ecardenas8 | 0:8a46c5988d62 | 47 | mp3_file=fopen("/sd/Putties.mp3","rb"); |
ecardenas8 | 0:8a46c5988d62 | 48 | |
ecardenas8 | 0:8a46c5988d62 | 49 | XDCS = 1; |
ecardenas8 | 0:8a46c5988d62 | 50 | XDCS = 0; |
ecardenas8 | 0:8a46c5988d62 | 51 | |
ecardenas8 | 0:8a46c5988d62 | 52 | |
ecardenas8 | 0:8a46c5988d62 | 53 | /* |
ecardenas8 | 0:8a46c5988d62 | 54 | fseek(mp3_file, 0, SEEK_END); |
ecardenas8 | 0:8a46c5988d62 | 55 | fileSize=ftell(mp3_file); |
ecardenas8 | 0:8a46c5988d62 | 56 | fseek(mp3_file, 0, SEEK_SET); |
ecardenas8 | 0:8a46c5988d62 | 57 | */ |
ecardenas8 | 0:8a46c5988d62 | 58 | |
ecardenas8 | 0:8a46c5988d62 | 59 | fileSize=getFileSize(mp3_file); |
ecardenas8 | 0:8a46c5988d62 | 60 | |
ecardenas8 | 0:8a46c5988d62 | 61 | led2=1; |
ecardenas8 | 0:8a46c5988d62 | 62 | |
ecardenas8 | 0:8a46c5988d62 | 63 | fread(&mp3Chunk, 1, 100, mp3_file); |
ecardenas8 | 0:8a46c5988d62 | 64 | led3=1; |
ecardenas8 | 0:8a46c5988d62 | 65 | mp3Board.write(mp3Chunk); |
ecardenas8 | 0:8a46c5988d62 | 66 | |
ecardenas8 | 0:8a46c5988d62 | 67 | |
ecardenas8 | 0:8a46c5988d62 | 68 | |
ecardenas8 | 0:8a46c5988d62 | 69 | fclose(mp3_file); |
ecardenas8 | 0:8a46c5988d62 | 70 | XDCS=1; |
ecardenas8 | 0:8a46c5988d62 | 71 | |
ecardenas8 | 0:8a46c5988d62 | 72 | led4=1; |
ecardenas8 | 0:8a46c5988d62 | 73 | |
ecardenas8 | 0:8a46c5988d62 | 74 | } |