@@ -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 } ;
@@ -216,8 +217,8 @@ macro_rules! hal {
216
217
$USARTX: ident: (
217
218
$usartX: ident,
218
219
$pclkX: ident,
219
- tx: ( $txdma: ident, $dmacst : ident , $dmatxch : path) ,
220
- rx: ( $rxdma: ident, $dmacsr : ident , $dmarxch : path)
220
+ tx: ( $txdma: ident, $dmatxch : path , $dmatxsel : path) ,
221
+ rx: ( $rxdma: ident, $dmarxch : path , $dmarxsel : path)
221
222
) ,
222
223
) +) => {
223
224
$(
@@ -710,9 +711,7 @@ macro_rules! hal {
710
711
self . channel. set_transfer_length( len as u16 ) ;
711
712
712
713
// Tell DMA to request from serial
713
- self . channel. cselr( ) . modify( |_, w| {
714
- w. $dmacsr( ) . map2( )
715
- } ) ;
714
+ self . channel. set_request_line( $dmarxsel) . unwrap( ) ;
716
715
717
716
self . channel. ccr( ) . modify( |_, w| {
718
717
w
@@ -765,9 +764,7 @@ macro_rules! hal {
765
764
self . channel. set_transfer_length( buf. max_len( ) as u16 ) ;
766
765
767
766
// Tell DMA to request from serial
768
- self . channel. cselr( ) . modify( |_, w| {
769
- w. $dmacsr( ) . map2( )
770
- } ) ;
767
+ self . channel. set_request_line( $dmarxsel) . unwrap( ) ;
771
768
772
769
self . channel. ccr( ) . modify( |_, w| {
773
770
w
@@ -812,9 +809,7 @@ macro_rules! hal {
812
809
self . channel. set_peripheral_address( & usart. tdr as * const _ as u32 , false ) ;
813
810
814
811
// Tell DMA to request from serial
815
- self . channel. cselr( ) . modify( |_, w| {
816
- w. $dmacst( ) . map2( )
817
- } ) ;
812
+ self . channel. set_request_line( $dmatxsel) . unwrap( ) ;
818
813
819
814
self . channel. ccr( ) . modify( |_, w| unsafe {
820
815
w. mem2mem( )
@@ -841,13 +836,13 @@ macro_rules! hal {
841
836
}
842
837
843
838
hal ! {
844
- USART1 : ( usart1, pclk2, tx: ( TxDma1 , c4s , dma1:: C4 ) , rx: ( RxDma1 , c5s , dma1:: C5 ) ) ,
845
- USART2 : ( usart2, pclk1, tx: ( TxDma2 , c7s , dma1:: C7 ) , rx: ( RxDma2 , c6s , dma1:: C6 ) ) ,
839
+ USART1 : ( usart1, pclk2, tx: ( TxDma1 , dma1:: C4 , DmaInput :: Usart1Tx ) , rx: ( RxDma1 , dma1:: C5 , DmaInput :: Usart1Rx ) ) ,
840
+ USART2 : ( usart2, pclk1, tx: ( TxDma2 , dma1:: C7 , DmaInput :: Usart2Tx ) , rx: ( RxDma2 , dma1:: C6 , DmaInput :: Usart2Rx ) ) ,
846
841
}
847
842
848
843
#[ cfg( not( any( feature = "stm32l432" , feature = "stm32l442" ) ) ) ]
849
844
hal ! {
850
- USART3 : ( usart3, pclk1, tx: ( TxDma3 , c2s , dma1:: C2 ) , rx: ( RxDma3 , c3s , dma1:: C3 ) ) ,
845
+ USART3 : ( usart3, pclk1, tx: ( TxDma3 , dma1:: C2 , DmaInput :: Usart3Tx ) , rx: ( RxDma3 , dma1:: C3 , DmaInput :: Usart3Rx ) ) ,
851
846
}
852
847
853
848
#[ cfg( any(
@@ -871,7 +866,7 @@ hal! {
871
866
feature = "stm32l4s9" ,
872
867
) ) ]
873
868
hal ! {
874
- UART4 : ( uart4, pclk1, tx: ( TxDma4 , c3s , dma2:: C3 ) , rx: ( RxDma4 , c5s , dma2:: C5 ) ) ,
869
+ UART4 : ( uart4, pclk1, tx: ( TxDma4 , dma2:: C3 , DmaInput :: Uart4Tx ) , rx: ( RxDma4 , dma2:: C5 , DmaInput :: Uart4Rx ) ) ,
875
870
}
876
871
877
872
#[ cfg( any(
@@ -892,7 +887,7 @@ hal! {
892
887
feature = "stm32l4s9" ,
893
888
) ) ]
894
889
hal ! {
895
- UART5 : ( uart5, pclk1, tx: ( TxDma5 , c1s , dma2:: C1 ) , rx: ( RxDma5 , c2s , dma2:: C2 ) ) ,
890
+ UART5 : ( uart5, pclk1, tx: ( TxDma5 , dma2:: C1 , DmaInput :: Uart5Tx ) , rx: ( RxDma5 , dma2:: C2 , DmaInput :: Uart5Rx ) ) ,
896
891
}
897
892
898
893
impl < USART , PINS > fmt:: Write for Serial < USART , PINS >
0 commit comments