@@ -145,7 +145,7 @@ where
145
145
///
146
146
/// The buffer must have a length of at most 255 bytes.
147
147
pub fn read ( & mut self , rx_buffer : & mut [ u8 ] ) -> Result < ( ) , Error > {
148
- start_read ( & * self . 0 , rx_buffer, rx_buffer . len ( ) ) ?;
148
+ start_read ( & * self . 0 , rx_buffer) ?;
149
149
150
150
// Wait for transmission to end.
151
151
while self . 0 . events_endrx . read ( ) . bits ( ) == 0 { }
@@ -183,7 +183,7 @@ where
183
183
I : timer:: Instance ,
184
184
{
185
185
// Start the read.
186
- start_read ( & self . 0 , rx_buffer, rx_buffer . len ( ) ) ?;
186
+ start_read ( & self . 0 , rx_buffer) ?;
187
187
188
188
// Start the timeout timer.
189
189
timer. start ( cycles) ;
@@ -326,11 +326,7 @@ fn stop_write(uarte: &uarte0::RegisterBlock) {
326
326
327
327
/// Start a UARTE read transaction by setting the control
328
328
/// values and triggering a read task.
329
- fn start_read (
330
- uarte : & uarte0:: RegisterBlock ,
331
- rx_buffer : & mut [ u8 ] ,
332
- nbytes : usize ,
333
- ) -> Result < ( ) , Error > {
329
+ fn start_read ( uarte : & uarte0:: RegisterBlock , rx_buffer : & mut [ u8 ] ) -> Result < ( ) , Error > {
334
330
if rx_buffer. len ( ) > EASY_DMA_SIZE {
335
331
return Err ( Error :: RxBufferTooLong ) ;
336
332
}
@@ -359,7 +355,7 @@ fn start_read(
359
355
//
360
356
// The MAXCNT field is at least 8 bits wide and accepts the full
361
357
// range of values.
362
- unsafe { w. maxcnt ( ) . bits ( nbytes . min ( rx_buffer. len ( ) ) as _ ) } ) ;
358
+ unsafe { w. maxcnt ( ) . bits ( rx_buffer. len ( ) as _ ) } ) ;
363
359
364
360
// Start UARTE Receive transaction.
365
361
uarte. tasks_startrx . write ( |w|
@@ -676,7 +672,7 @@ where
676
672
}
677
673
Ok ( self . rx_buf [ 0 ] )
678
674
} else {
679
- start_read ( & uarte, self . rx_buf , 1 ) ?;
675
+ start_read ( & uarte, & mut self . rx_buf [ .. 1 ] ) ?;
680
676
Err ( nb:: Error :: WouldBlock )
681
677
}
682
678
}
0 commit comments