@@ -99,12 +99,7 @@ fn enable_loopback() {
9999
100100#[ embedded_test:: tests( default_timeout = 3 ,  executor = hil_test:: Executor :: new( ) ) ]  
101101mod  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