Wave player with increased output frequency.
Fork of wave_player by
Diff: wave_player.cpp
- Revision:
- 2:f8dce50a1fd6
- Parent:
- 0:62c18ade9a60
--- a/wave_player.cpp Tue Jan 18 03:57:27 2011 +0000 +++ b/wave_player.cpp Wed Mar 16 19:11:00 2016 +0000 @@ -56,6 +56,9 @@ int *data_wptr; FMT_STRUCT wav_format; long slice,num_slices; + + + DAC_wptr=0; DAC_rptr=0; for (i=0;i<256;i+=2) { @@ -68,6 +71,8 @@ fread(&chunk_id,4,1,wavefile); fread(&chunk_size,4,1,wavefile); while (!feof(wavefile)) { + + if (verbosity) printf("Read chunk ID 0x%x, size 0x%x\n",chunk_id,chunk_size); switch (chunk_id) { @@ -193,7 +198,7 @@ break; } fread(&chunk_id,4,1,wavefile); - fread(&chunk_size,4,1,wavefile); + fread(&chunk_size,4,1,wavefile); } } @@ -204,7 +209,7 @@ #ifdef VERBOSE printf("ISR rdptr %d got %u\n",DAC_rptr,DAC_fifo[DAC_rptr]); #endif - wave_DAC->write_u16(DAC_fifo[DAC_rptr]); + wave_DAC->write_u16(DAC_fifo[DAC_rptr] *(16-volume)/16); DAC_rptr=(DAC_rptr+1) & 0xff; } }