Skip to content

Commit 06c00ca

Browse files
committed
test: i2s api in embassy interrupt tests
1 parent d804a97 commit 06c00ca

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

hil-test/tests/embassy_interrupt_spi_dma.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,21 @@ async fn interrupt_driven_task(spi: esp_hal::spi::master::SpiDma<'static, Blocki
5858

5959
#[cfg(not(any(esp32, esp32s2, esp32s3)))]
6060
#[embassy_executor::task]
61-
async fn interrupt_driven_task(i2s_tx: esp_hal::i2s::master::I2s<'static, Blocking>) {
62-
let (_, _, _, tx_descriptors) = dma_buffers!(128);
61+
async fn interrupt_driven_task_2(i2s_tx: esp_hal::i2s::master::I2s<'static, Blocking>) {
62+
use esp_hal::dma::DmaTxStreamBuf;
63+
let (_, _, tx_buffer, tx_descriptors) = dma_buffers!(128);
6364

64-
let mut i2s_tx = i2s_tx.into_async().i2s_tx.build(tx_descriptors);
65+
let i2s_tx = i2s_tx.into_async().i2s_tx.build();
66+
let mut transfer = i2s_tx
67+
.write(DmaTxStreamBuf::new(tx_descriptors, tx_buffer).unwrap())
68+
.unwrap();
6569

6670
loop {
6771
let mut buffer: [u8; 8] = [0; 8];
6872

6973
INTERRUPT_TASK_WORKING.store(true, portable_atomic::Ordering::Relaxed);
70-
i2s_tx.write_dma_async(&mut buffer).await.unwrap();
74+
transfer.wait_for_available().await.unwrap();
75+
transfer.push(&mut buffer);
7176
INTERRUPT_TASK_WORKING.store(false, portable_atomic::Ordering::Relaxed);
7277

7378
if STOP_INTERRUPT_TASK.load(portable_atomic::Ordering::Relaxed) {

0 commit comments

Comments
 (0)