File tree 1 file changed +3
-17
lines changed 1 file changed +3
-17
lines changed Original file line number Diff line number Diff line change @@ -400,7 +400,7 @@ where
400
400
nb:: Error :: Other ( Error :: ModeFault )
401
401
} else if sr. crcerr ( ) . bit_is_set ( ) {
402
402
nb:: Error :: Other ( Error :: Crc )
403
- } else if sr. txe ( ) . bit_is_set ( ) {
403
+ } else if sr. txe ( ) . bit_is_set ( ) && sr . bsy ( ) . bit_is_clear ( ) {
404
404
return Ok ( ( ) ) ;
405
405
} else {
406
406
nb:: Error :: WouldBlock
@@ -481,15 +481,8 @@ where
481
481
bufcap -= 1 ;
482
482
}
483
483
484
- loop {
485
- let sr = self . spi . sr . read ( ) ;
486
- if !sr. bsy ( ) . bit_is_set ( ) {
487
- break ;
488
- }
489
- }
490
-
491
484
// Do one last status register check before continuing
492
- self . check_send ( ) . ok ( ) ;
485
+ nb :: block! ( self . check_send( ) ) . ok ( ) ;
493
486
Ok ( ( ) )
494
487
}
495
488
}
@@ -532,15 +525,8 @@ where
532
525
self . send_u16 ( word. clone ( ) ) ;
533
526
}
534
527
535
- loop {
536
- let sr = self . spi . sr . read ( ) ;
537
- if !sr. bsy ( ) . bit_is_set ( ) {
538
- break ;
539
- }
540
- }
541
-
542
528
// Do one last status register check before continuing
543
- self . check_send ( ) . ok ( ) ;
529
+ nb :: block! ( self . check_send( ) ) . ok ( ) ;
544
530
Ok ( ( ) )
545
531
}
546
532
}
You can’t perform that action at this time.
0 commit comments