@@ -16,6 +16,7 @@ use crate::dma::{
16
16
dma1, CircBuffer , DMAFrame , FrameReader , FrameSender , Receive , RxDma , TransferPayload ,
17
17
Transmit , TxDma ,
18
18
} ;
19
+ use crate :: dmamux:: { DmaInput , DmaMux } ;
19
20
use crate :: gpio:: { self , Alternate , OpenDrain , PushPull } ;
20
21
use crate :: pac;
21
22
use crate :: rcc:: { Clocks , Enable , RccBus , Reset } ;
@@ -225,8 +226,8 @@ macro_rules! hal {
225
226
$USARTX: ident: (
226
227
$usartX: ident,
227
228
$pclkX: ident,
228
- tx: ( $txdma: ident, $dmacst : ident , $dmatxch : path) ,
229
- rx: ( $rxdma: ident, $dmacsr : ident , $dmarxch : path)
229
+ tx: ( $txdma: ident, $dmatxch : path , $dmatxsel : path) ,
230
+ rx: ( $rxdma: ident, $dmarxch : path , $dmarxsel : path)
230
231
) ,
231
232
) +) => {
232
233
$(
@@ -721,9 +722,7 @@ macro_rules! hal {
721
722
self . channel. set_transfer_length( len as u16 ) ;
722
723
723
724
// Tell DMA to request from serial
724
- self . channel. cselr( ) . modify( |_, w| {
725
- w. $dmacsr( ) . map2( )
726
- } ) ;
725
+ self . channel. set_request_line( $dmarxsel) . unwrap( ) ;
727
726
728
727
self . channel. ccr( ) . modify( |_, w| {
729
728
w
@@ -776,9 +775,7 @@ macro_rules! hal {
776
775
self . channel. set_transfer_length( buf. max_len( ) as u16 ) ;
777
776
778
777
// Tell DMA to request from serial
779
- self . channel. cselr( ) . modify( |_, w| {
780
- w. $dmacsr( ) . map2( )
781
- } ) ;
778
+ self . channel. set_request_line( $dmarxsel) . unwrap( ) ;
782
779
783
780
self . channel. ccr( ) . modify( |_, w| {
784
781
w
@@ -823,9 +820,7 @@ macro_rules! hal {
823
820
self . channel. set_peripheral_address( & usart. tdr as * const _ as u32 , false ) ;
824
821
825
822
// Tell DMA to request from serial
826
- self . channel. cselr( ) . modify( |_, w| {
827
- w. $dmacst( ) . map2( )
828
- } ) ;
823
+ self . channel. set_request_line( $dmatxsel) . unwrap( ) ;
829
824
830
825
self . channel. ccr( ) . modify( |_, w| unsafe {
831
826
w. mem2mem( )
@@ -852,13 +847,13 @@ macro_rules! hal {
852
847
}
853
848
854
849
hal ! {
855
- USART1 : ( usart1, pclk2, tx: ( TxDma1 , c4s , dma1:: C4 ) , rx: ( RxDma1 , c5s , dma1:: C5 ) ) ,
856
- USART2 : ( usart2, pclk1, tx: ( TxDma2 , c7s , dma1:: C7 ) , rx: ( RxDma2 , c6s , dma1:: C6 ) ) ,
850
+ USART1 : ( usart1, pclk2, tx: ( TxDma1 , dma1:: C4 , DmaInput :: Usart1Tx ) , rx: ( RxDma1 , dma1:: C5 , DmaInput :: Usart1Rx ) ) ,
851
+ USART2 : ( usart2, pclk1, tx: ( TxDma2 , dma1:: C7 , DmaInput :: Usart2Tx ) , rx: ( RxDma2 , dma1:: C6 , DmaInput :: Usart2Rx ) ) ,
857
852
}
858
853
859
854
#[ cfg( not( any( feature = "stm32l432" , feature = "stm32l442" ) ) ) ]
860
855
hal ! {
861
- USART3 : ( usart3, pclk1, tx: ( TxDma3 , c2s , dma1:: C2 ) , rx: ( RxDma3 , c3s , dma1:: C3 ) ) ,
856
+ USART3 : ( usart3, pclk1, tx: ( TxDma3 , dma1:: C2 , DmaInput :: Usart3Tx ) , rx: ( RxDma3 , dma1:: C3 , DmaInput :: Usart3Rx ) ) ,
862
857
}
863
858
864
859
#[ cfg( any(
@@ -882,7 +877,7 @@ hal! {
882
877
feature = "stm32l4s9" ,
883
878
) ) ]
884
879
hal ! {
885
- UART4 : ( uart4, pclk1, tx: ( TxDma4 , c3s , dma2:: C3 ) , rx: ( RxDma4 , c5s , dma2:: C5 ) ) ,
880
+ UART4 : ( uart4, pclk1, tx: ( TxDma4 , dma2:: C3 , DmaInput :: Uart4Tx ) , rx: ( RxDma4 , dma2:: C5 , DmaInput :: Uart4Rx ) ) ,
886
881
}
887
882
888
883
#[ cfg( any(
@@ -903,7 +898,7 @@ hal! {
903
898
feature = "stm32l4s9" ,
904
899
) ) ]
905
900
hal ! {
906
- UART5 : ( uart5, pclk1, tx: ( TxDma5 , c1s , dma2:: C1 ) , rx: ( RxDma5 , c2s , dma2:: C2 ) ) ,
901
+ UART5 : ( uart5, pclk1, tx: ( TxDma5 , dma2:: C1 , DmaInput :: Uart5Tx ) , rx: ( RxDma5 , dma2:: C2 , DmaInput :: Uart5Rx ) ) ,
907
902
}
908
903
909
904
impl < USART , PINS > fmt:: Write for Serial < USART , PINS >
0 commit comments