Skip to content

Commit 4b1d5ff

Browse files
committed
test: try to fix esp32c3 i2s timeout in hil_test
1 parent bdc8a16 commit 4b1d5ff

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

hil-test/tests/embassy_interrupt_spi_dma.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ async fn interrupt_driven_task(spi: esp_hal::spi::master::SpiDma<'static, Blocki
5959
#[cfg(not(any(esp32, esp32s2, esp32s3)))]
6060
#[embassy_executor::task]
6161
async fn interrupt_driven_task(i2s_tx: esp_hal::i2s::master::I2s<'static, Blocking>) {
62-
use esp_hal::dma::DmaTxStreamBuf;
63-
let (_, _, tx_buffer, tx_descriptors) = dma_buffers!(128);
62+
use esp_hal::{dma::DmaTxStreamBuf, dma_buffers_chunk_size};
63+
let (_, _, tx_buffer, tx_descriptors) = dma_buffers_chunk_size!(128, 128, 128 / 3);
6464

6565
let i2s_tx = i2s_tx.into_async().i2s_tx.build();
6666
let mut transfer = i2s_tx
@@ -71,7 +71,9 @@ async fn interrupt_driven_task(i2s_tx: esp_hal::i2s::master::I2s<'static, Blocki
7171
let mut buffer: [u8; 8] = [0; 8];
7272

7373
INTERRUPT_TASK_WORKING.store(true, portable_atomic::Ordering::Relaxed);
74-
transfer.wait_for_available().await.unwrap();
74+
while transfer.available_bytes() == 0 {
75+
transfer.wait_for_available().await.unwrap();
76+
}
7577
transfer.push(&mut buffer);
7678
INTERRUPT_TASK_WORKING.store(false, portable_atomic::Ordering::Relaxed);
7779

0 commit comments

Comments
 (0)