Skip to content

Commit 578b2c8

Browse files
committed
test: use new i2s apis in qa-test
1 parent e6738af commit 578b2c8

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

qa-test/src/bin/embassy_i2s_read.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
use embassy_executor::Spawner;
2020
use esp_backtrace as _;
2121
use esp_hal::{
22+
dma::DmaRxStreamBuf,
2223
dma_buffers,
24+
dma_buffers_chunk_size,
2325
i2s::master::{DataFormat, I2s, Standard},
2426
time::Rate,
2527
timer::timg::TimerGroup,
@@ -44,7 +46,7 @@ async fn main(_spawner: Spawner) {
4446
}
4547
}
4648

47-
let (rx_buffer, rx_descriptors, _, _) = dma_buffers!(4092 * 4, 0);
49+
let (rx_buffer, rx_descriptors, _, _) = dma_buffers_chunk_size!(4092 * 4, 0, 4092);
4850

4951
let i2s = I2s::new(
5052
peripherals.I2S0,
@@ -63,18 +65,21 @@ async fn main(_spawner: Spawner) {
6365
.with_bclk(peripherals.GPIO2)
6466
.with_ws(peripherals.GPIO4)
6567
.with_din(peripherals.GPIO5)
66-
.build(rx_descriptors);
68+
.build();
6769

6870
let buffer = rx_buffer;
6971
println!("Start");
7072

7173
let mut data = [0u8; 5000];
72-
let mut transaction = i2s_rx.read_dma_circular_async(buffer).unwrap();
74+
let mut transaction = i2s_rx
75+
.read(DmaRxStreamBuf::new(rx_descriptors, buffer).unwrap(), 4092)
76+
.unwrap();
7377
loop {
74-
let avail = transaction.available().await.unwrap();
78+
transaction.wait_for_available().await.unwrap();
79+
let avail = transaction.available_bytes();
7580
println!("available {}", avail);
7681

77-
let count = transaction.pop(&mut data).await.unwrap();
82+
let count = transaction.pop(&mut data);
7883

7984
#[cfg(not(feature = "esp32s2"))]
8085
println!(

qa-test/src/bin/embassy_i2s_sound.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
use embassy_executor::Spawner;
3434
use esp_backtrace as _;
3535
use esp_hal::{
36+
dma::DmaTxStreamBuf,
3637
dma_buffers,
3738
i2s::master::{DataFormat, I2s, Standard},
3839
time::Rate,
@@ -82,7 +83,7 @@ async fn main(_spawner: Spawner) {
8283
.with_bclk(peripherals.GPIO2)
8384
.with_ws(peripherals.GPIO4)
8485
.with_dout(peripherals.GPIO5)
85-
.build(tx_descriptors);
86+
.build();
8687

8788
let data =
8889
unsafe { core::slice::from_raw_parts(&SINE as *const _ as *const u8, SINE.len() * 2) };
@@ -103,14 +104,17 @@ async fn main(_spawner: Spawner) {
103104
let mut idx = 32000 % data.len();
104105

105106
println!("Start");
106-
let mut transaction = i2s_tx.write_dma_circular_async(buffer).unwrap();
107+
let mut transaction = i2s_tx
108+
.write(DmaTxStreamBuf::new(tx_descriptors, buffer).unwrap())
109+
.unwrap();
107110
loop {
108111
for i in 0..filler.len() {
109112
filler[i] = data[(idx + i) % data.len()];
110113
}
111114
println!("Next");
112115

113-
let written = transaction.push(&filler).await.unwrap();
116+
transaction.wait_for_available().await.unwrap();
117+
let written = transaction.push(&filler);
114118
idx = (idx + written) % data.len();
115119
println!("written {}", written);
116120
}

0 commit comments

Comments
 (0)