Skip to content

Commit 1951f08

Browse files
committed
test: use dma stream buffer macros instead
1 parent 834bf3c commit 1951f08

File tree

1 file changed

+11
-20
lines changed

1 file changed

+11
-20
lines changed

hil-test/src/bin/i2s.rs

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,7 @@ fn enable_loopback() {
9999

100100
#[embedded_test::tests(default_timeout = 3, executor = hil_test::Executor::new())]
101101
mod tests {
102-
use esp_hal::{
103-
dma::DmaRxStreamBuf,
104-
dma_buffers_chunk_size,
105-
dma_rx_stream_buffer,
106-
dma_tx_stream_buffer,
107-
};
102+
use esp_hal::{dma_rx_stream_buffer, dma_tx_stream_buffer};
108103

109104
use super::*;
110105

@@ -203,8 +198,8 @@ mod tests {
203198
// NOTE: 32000 bits of buffer maybe too large, but for some reason it fails with buffer
204199
// size 16000 as it seems DMA can be quick enough to run out of descriptors in that
205200
// case.
206-
let (rx_buffer, rx_descriptors, tx_buffer, tx_descriptors) =
207-
dma_buffers_chunk_size!(32000, 32000, 4000);
201+
let rx_buffer = dma_rx_stream_buffer!(32000, 4000);
202+
let mut tx_buffer = dma_tx_stream_buffer!(32000, 4000);
208203

209204
let i2s = I2s::new(
210205
ctx.i2s,
@@ -235,28 +230,24 @@ mod tests {
235230
enable_loopback();
236231

237232
let mut samples = SampleSource::new();
238-
for b in tx_buffer.iter_mut() {
239-
*b = samples.next().unwrap();
240-
}
233+
tx_buffer.push_with(|buf| {
234+
for b in buf.iter_mut() {
235+
*b = samples.next().unwrap();
236+
}
237+
buf.len()
238+
});
241239

242240
let mut rcv = [0u8; 11000];
243241
let mut filler = [0x1u8; 12000];
244242

245-
let mut rx_transfer = i2s_rx
246-
.read(
247-
DmaRxStreamBuf::new(rx_descriptors, rx_buffer).unwrap(),
248-
4000,
249-
)
250-
.unwrap();
243+
let mut rx_transfer = i2s_rx.read(rx_buffer, 4000).unwrap();
251244
// trying to peek data before calling `available` should just do nothing
252245
assert_eq!(0, rx_transfer.peek().len());
253246

254247
// no data available yet
255248
assert_eq!(0, rx_transfer.available_bytes());
256249

257-
let mut tx_transfer = i2s_tx
258-
.write(DmaTxStreamBuf::new(tx_descriptors, tx_buffer).unwrap())
259-
.unwrap();
250+
let mut tx_transfer = i2s_tx.write(tx_buffer).unwrap();
260251

261252
let mut iteration = 0;
262253
let mut sample_idx = 0;

0 commit comments

Comments
 (0)