You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello! I'm encountering a weird issue where I'm able to write 8 full buffers of 4080 bytes, but then only 84/128 bytes of the buffer are written.
It follows this pattern:
4080 x 8
84
4080 x 8
128
4080 x 8
128
...
I confirmed the buffer has a full 4080 bytes each time, and it's evident that data is missing when listening to the audio.
This is the main loop where the issue is happening:
letmut data = [0u8;4092];letmut transfer = i2s_rx.read_dma_circular_async(rx_buffer_i2s).unwrap();loop{let i2s_bytes_read = transfer.pop(&mut data).await.unwrap();let x = f.write(&data[..i2s_bytes_read]).await.unwrap();
f.flush().await.unwrap();println!("{:?}", x);if button.is_low(){// Debounce
button.wait_for_high().await;break;}}
I've removed as much extra code as I could. I left the i2s microphone setup as I wasn't sure what to replace it with as a source of input data to fill the buffer. I can provide a schematic if needed.
Hello! I'm encountering a weird issue where I'm able to write 8 full buffers of 4080 bytes, but then only 84/128 bytes of the buffer are written.
It follows this pattern:
I confirmed the buffer has a full 4080 bytes each time, and it's evident that data is missing when listening to the audio.
This is the main loop where the issue is happening:
You can find the full source code here: https://github.com/ksmarty/diane/blob/main/src/bin/async_main.rs
Please let me know any ideas you might have on why this is happening. Thanks!
The text was updated successfully, but these errors were encountered: