@@ -915,6 +915,56 @@ pins! {
915
915
]
916
916
}
917
917
918
+ // Quad channel timers (RM0468)
919
+ #[ cfg( feature = "rm0468" ) ]
920
+ pins ! {
921
+ pac:: TIM23 :
922
+ CH1 ( ComplementaryImpossible ) : [
923
+ gpio:: PG12 <Alternate <13 >>,
924
+ gpio:: PF0 <Alternate <13 >>,
925
+ gpio:: PF6 <Alternate <13 >>
926
+ ]
927
+ CH2 ( ComplementaryImpossible ) : [
928
+ gpio:: PG13 <Alternate <13 >>,
929
+ gpio:: PF1 <Alternate <13 >>,
930
+ gpio:: PF7 <Alternate <13 >>
931
+ ]
932
+ CH3 ( ComplementaryImpossible ) : [
933
+ gpio:: PG14 <Alternate <13 >>,
934
+ gpio:: PF2 <Alternate <13 >>,
935
+ gpio:: PF8 <Alternate <13 >>
936
+ ]
937
+ CH4 ( ComplementaryImpossible ) : [
938
+ gpio:: PF3 <Alternate <13 >>,
939
+ gpio:: PF9 <Alternate <13 >>
940
+ ]
941
+ CH1N : [ ]
942
+ CH2N : [ ]
943
+ CH3N : [ ]
944
+ CH4N : [ ]
945
+ BRK : [ ]
946
+ BRK2 : [ ]
947
+ pac:: TIM24 :
948
+ CH1 ( ComplementaryImpossible ) : [
949
+ gpio:: PF11 <Alternate <14 >>
950
+ ]
951
+ CH2 ( ComplementaryImpossible ) : [
952
+ gpio:: PF12 <Alternate <14 >>
953
+ ]
954
+ CH3 ( ComplementaryImpossible ) : [
955
+ gpio:: PF13 <Alternate <14 >>
956
+ ]
957
+ CH4 ( ComplementaryImpossible ) : [
958
+ gpio:: PF14 <Alternate <14 >>
959
+ ]
960
+ CH1N : [ ]
961
+ CH2N : [ ]
962
+ CH3N : [ ]
963
+ CH4N : [ ]
964
+ BRK : [ ]
965
+ BRK2 : [ ]
966
+ }
967
+
918
968
// Period and prescaler calculator for 32-bit timers
919
969
// Returns (arr, psc)
920
970
fn calculate_frequency_32bit (
@@ -1369,6 +1419,11 @@ tim_hal! {
1369
1419
pac:: TIM5 : ( tim5, Tim5 , u32 , 32 , DIR : cms) ,
1370
1420
pac:: TIM8 : ( tim8, Tim8 , u16 , 16 , DIR : cms, BDTR : bdtr, enabled, af1, clear_bit, clear_bit) ,
1371
1421
}
1422
+ #[ cfg( feature = "rm0468" ) ]
1423
+ tim_hal ! {
1424
+ pac:: TIM23 : ( tim23, Tim23 , u32 , 32 , DIR : cms) ,
1425
+ pac:: TIM24 : ( tim24, Tim24 , u32 , 32 , DIR : cms) ,
1426
+ }
1372
1427
tim_hal ! {
1373
1428
pac:: TIM12 : ( tim12, Tim12 , u16 , 16 ) ,
1374
1429
pac:: TIM13 : ( tim13, Tim13 , u16 , 16 ) ,
@@ -1621,14 +1676,29 @@ tim_pin_hal! {
1621
1676
( C3 , ccmr2_output, oc3pe, oc3m) ,
1622
1677
( C4 , ccmr2_output, oc4pe, oc4m) ,
1623
1678
}
1624
- // Quad channel timers
1625
1679
tim_pin_hal ! {
1626
1680
pac:: TIM8 , u16 :
1627
1681
( C1 , ccmr1_output, oc1pe, oc1m) ,
1628
1682
( C2 , ccmr1_output, oc2pe, oc2m) ,
1629
1683
( C3 , ccmr2_output, oc3pe, oc3m) ,
1630
1684
( C4 , ccmr2_output, oc4pe, oc4m) ,
1631
1685
}
1686
+ #[ cfg( feature = "rm0468" ) ]
1687
+ tim_pin_hal ! {
1688
+ pac:: TIM23 , u32 :
1689
+ ( C1 , ccmr1_output, oc1pe, oc1m) ,
1690
+ ( C2 , ccmr1_output, oc2pe, oc2m) ,
1691
+ ( C3 , ccmr2_output, oc3pe, oc3m) ,
1692
+ ( C4 , ccmr2_output, oc4pe, oc4m) ,
1693
+ }
1694
+ #[ cfg( feature = "rm0468" ) ]
1695
+ tim_pin_hal ! {
1696
+ pac:: TIM24 , u32 :
1697
+ ( C1 , ccmr1_output, oc1pe, oc1m) ,
1698
+ ( C2 , ccmr1_output, oc2pe, oc2m) ,
1699
+ ( C3 , ccmr2_output, oc3pe, oc3m) ,
1700
+ ( C4 , ccmr2_output, oc4pe, oc4m) ,
1701
+ }
1632
1702
1633
1703
// Low-power timers
1634
1704
macro_rules! lptim_hal {
0 commit comments