master
Nidan 14 years ago
parent 4b5b40a0b1
commit fb592fa05b

@ -30,8 +30,8 @@ uint32_t mmc_position;/* current reading position on mmc */
uint8_t overflows = 1;/* remaining counter overflows until next sample */
#define SAMPLE_BITS 11
#define BUFFER_SIZE 92
#define REFRESH_AMOUNT 64
#define BUFFER_SIZE 64
#define REFRESH_AMOUNT 32
#define REFRESH_SIZE (BUFFER_SIZE - REFRESH_AMOUNT)
uint8_t buffer[BUFFER_SIZE];/* buffer for mmc data */
@ -69,6 +69,9 @@ int main(void)
{
if(pos == refresh_buffer)/* refresh buffer if running low */
{
/* TODO: this won't do. we don't have enough time to read unnecessary bytes -> read data with the same speed as we consume it, keeping a small buffer. */
/* expect 2 bit read from mmc between 2 timer interrupts --> 2 byte read per sample played */
mmc_read_sector(mmc_position, buffer + (ref + REFRESH_SIZE) % BUFFER_SIZE);//, BUFFER_SIZE - ref), buffer, REFRESH_AMOUNT - (BUFFER_SIZE - ref));
/* pos on sd , first buffer address , 1st buffer size ,2nd buf, 2nd buffer size */
refresh_buffer = (refresh_buffer + REFRESH_AMOUNT) % BUFFER_SIZE;

Loading…
Cancel
Save