Skip to content

Commit 4886998

Browse files
committed
Add support for G491 and G4A1
1 parent aa1a7a3 commit 4886998

File tree

3 files changed

+89
-6
lines changed

3 files changed

+89
-6
lines changed

src/opamp.rs

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -864,7 +864,8 @@ macro_rules! opamps {
864864
};
865865
}
866866

867-
#[cfg(any(feature = "stm32g431", feature = "stm32g441", feature = "stm32g471",))]
867+
// TODO: Figure out a way to not duplicate this 3 times
868+
#[cfg(any(feature = "stm32g431", feature = "stm32g441"))]
868869
opamps! {
869870
Opamp1 => opamp1: {
870871
vinm0: crate::gpio::gpioa::PA3<crate::gpio::Analog>,
@@ -911,6 +912,63 @@ opamps! {
911912
},
912913
}
913914

915+
#[cfg(any(feature = "stm32g471", feature = "stm32g491", feature = "stm32g4a1"))]
916+
opamps! {
917+
opamp1: {
918+
vinm0: PA3,
919+
inverting: {
920+
crate::gpio::gpioa::PA3<crate::gpio::Analog>: vinm0,
921+
crate::gpio::gpioc::PC5<crate::gpio::Analog>: vinm1,
922+
},
923+
non_inverting: {
924+
crate::gpio::gpioa::PA1<crate::gpio::Analog>: vinp0,
925+
crate::gpio::gpioa::PA3<crate::gpio::Analog>: vinp1,
926+
crate::gpio::gpioa::PA7<crate::gpio::Analog>: vinp2,
927+
},
928+
output: crate::gpio::gpioa::PA2<crate::gpio::Analog>,
929+
},
930+
opamp2: {
931+
vinm0: PA5,
932+
inverting: {
933+
crate::gpio::gpioa::PA5<crate::gpio::Analog>: vinm0,
934+
crate::gpio::gpioc::PC5<crate::gpio::Analog>: vinm1,
935+
},
936+
non_inverting: {
937+
crate::gpio::gpioa::PA7<crate::gpio::Analog>: vinp0,
938+
crate::gpio::gpiob::PB14<crate::gpio::Analog>: vinp1,
939+
crate::gpio::gpiob::PB0<crate::gpio::Analog>: vinp2,
940+
crate::gpio::gpiod::PD14<crate::gpio::Analog>: vinp3,
941+
},
942+
output: crate::gpio::gpioa::PA6<crate::gpio::Analog>,
943+
},
944+
opamp3: {
945+
vinm0: PB2,
946+
inverting: {
947+
crate::gpio::gpiob::PB2<crate::gpio::Analog>: vinm0,
948+
crate::gpio::gpiob::PB10<crate::gpio::Analog>: vinm1,
949+
},
950+
non_inverting: {
951+
crate::gpio::gpiob::PB0<crate::gpio::Analog>: vinp0,
952+
crate::gpio::gpiob::PB13<crate::gpio::Analog>: vinp1,
953+
crate::gpio::gpioa::PA1<crate::gpio::Analog>: vinp2,
954+
},
955+
output: crate::gpio::gpiob::PB1<crate::gpio::Analog>,
956+
},
957+
opamp6: {
958+
vinm0: PA1,
959+
inverting: {
960+
crate::gpio::gpioa::PA1<crate::gpio::Analog>: vinm0,
961+
crate::gpio::gpiob::PB1<crate::gpio::Analog>: vinm1,
962+
},
963+
non_inverting: {
964+
crate::gpio::gpiob::PB12<crate::gpio::Analog>: vinp0,
965+
crate::gpio::gpiod::PD9<crate::gpio::Analog>: vinp1,
966+
crate::gpio::gpiob::PB13<crate::gpio::Analog>: vinp2,
967+
},
968+
output: crate::gpio::gpiob::PB11<crate::gpio::Analog>,
969+
},
970+
}
971+
914972
#[cfg(any(
915973
feature = "stm32g473",
916974
feature = "stm32g474",

src/pwm.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -874,7 +874,7 @@ pins! {
874874
feature = "stm32g483",
875875
feature = "stm32g484",
876876
feature = "stm32g491",
877-
feature = "stm32g4a1"
877+
feature = "stm32g4a1",
878878
))]
879879
pins! {
880880
TIM20:

src/rcc/enable.rs

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,9 @@ bus! {
8989
feature = "stm32g473",
9090
feature = "stm32g474",
9191
feature = "stm32g483",
92-
feature = "stm32g484"
92+
feature = "stm32g484",
93+
feature = "stm32g491",
94+
feature = "stm32g4a1",
9395
))]
9496
bus! {
9597
ADC3 => (AHB2, 14),
@@ -158,6 +160,16 @@ bus! {
158160
FDCAN2 => (APB1_1, 25),
159161
}
160162

163+
#[cfg(any(
164+
feature = "stm32g473",
165+
feature = "stm32g474",
166+
feature = "stm32g483",
167+
feature = "stm32g484",
168+
))]
169+
bus! {
170+
FDCAN3 => (APB1_1, 25),
171+
}
172+
161173
#[cfg(any(
162174
feature = "stm32g471",
163175
feature = "stm32g473",
@@ -167,10 +179,22 @@ bus! {
167179
))]
168180
bus! {
169181
TIM5 => (APB1_1, 3),
170-
UART5 => (APB1_1, 20),
171182
I2C4 => (APB1_2, 1),
172183
}
173184

185+
#[cfg(any(
186+
feature = "stm32g471",
187+
feature = "stm32g473",
188+
feature = "stm32g474",
189+
feature = "stm32g483",
190+
feature = "stm32g484",
191+
feature = "stm32g491",
192+
feature = "stm32g4a1",
193+
))]
194+
bus! {
195+
UART5 => (APB1_1, 20),
196+
}
197+
174198
bus! {
175199
SYSCFG => (APB2, 0),
176200
TIM1 => (APB2, 11),
@@ -198,10 +222,11 @@ bus! {
198222
feature = "stm32g473",
199223
feature = "stm32g474",
200224
feature = "stm32g483",
201-
feature = "stm32g484"
225+
feature = "stm32g484",
226+
feature = "stm32g491",
227+
feature = "stm32g4a1",
202228
))]
203229
bus! {
204-
FDCAN3 => (APB1_1, 25),
205230
TIM20 => (APB2, 20),
206231
}
207232

0 commit comments

Comments
 (0)