@@ -15,7 +15,7 @@ use core::{
1515
1616use crate :: {
1717 gpio:: { gpioa, gpiob, gpioc, AF7 } ,
18- hal:: { blocking, serial} ,
18+ hal:: { blocking, serial, serial :: Write } ,
1919 pac:: {
2020 self ,
2121 rcc:: cfgr3:: USART1SW_A ,
@@ -926,7 +926,7 @@ where
926926 }
927927}
928928
929- impl < Usart , Tx , Rx > serial:: Write < u8 > for Serial < Usart , ( Tx , Rx ) >
929+ impl < Usart , Pins > serial:: Write < u8 > for Serial < Usart , Pins >
930930where
931931 Usart : Instance ,
932932{
@@ -954,6 +954,17 @@ where
954954 }
955955}
956956
957+ impl < Usart , Pins > fmt:: Write for Serial < Usart , Pins >
958+ where
959+ Serial < Usart , Pins > : serial:: Write < u8 > ,
960+ {
961+ fn write_str ( & mut self , s : & str ) -> fmt:: Result {
962+ s. bytes ( )
963+ . try_for_each ( |c| nb:: block!( self . write( c) ) )
964+ . map_err ( |_| fmt:: Error )
965+ }
966+ }
967+
957968impl < USART , TX , RX > blocking:: serial:: write:: Default < u8 > for Serial < USART , ( TX , RX ) > where
958969 USART : Instance
959970{
@@ -994,6 +1005,17 @@ where
9941005 }
9951006}
9961007
1008+ impl < Usart , Pin > fmt:: Write for Tx < Usart , Pin >
1009+ where
1010+ Tx < Usart , Pin > : serial:: Write < u8 > ,
1011+ {
1012+ fn write_str ( & mut self , s : & str ) -> fmt:: Result {
1013+ s. bytes ( )
1014+ . try_for_each ( |c| nb:: block!( self . write( c) ) )
1015+ . map_err ( |_| fmt:: Error )
1016+ }
1017+ }
1018+
9971019impl < Usart , Pin > Rx < Usart , Pin >
9981020where
9991021 Usart : Instance + Dma ,
0 commit comments