aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxoviat <[email protected]>2025-11-20 14:27:31 -0600
committerxoviat <[email protected]>2025-11-20 14:27:31 -0600
commit3abc2e592f66c16ada6c475e48cde282b79d3c1f (patch)
tree6e38ce8f1866957e071296f5d10a61d23c6cf765
parenta68b5d5d29514dcaf0a6ed08207d3a1f1fa9b464 (diff)
adc: allow usage of anyadcchannel for adc4
-rw-r--r--embassy-stm32/CHANGELOG.md1
-rw-r--r--embassy-stm32/src/adc/mod.rs6
-rw-r--r--examples/stm32u5/src/bin/adc.rs2
3 files changed, 5 insertions, 4 deletions
diff --git a/embassy-stm32/CHANGELOG.md b/embassy-stm32/CHANGELOG.md
index 597cbb192..c547fa443 100644
--- a/embassy-stm32/CHANGELOG.md
+++ b/embassy-stm32/CHANGELOG.md
@@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7 7
8## Unreleased - ReleaseDate 8## Unreleased - ReleaseDate
9 9
10- feat: allow use of anyadcchannel for adc4
10- change: rework hsem and add HIL test for some chips. 11- change: rework hsem and add HIL test for some chips.
11- change: stm32/eth: ethernet no longer has a hard dependency on station management, and station management can be used independently ([#4871](https://github.com/embassy-rs/embassy/pull/4871)) 12- change: stm32/eth: ethernet no longer has a hard dependency on station management, and station management can be used independently ([#4871](https://github.com/embassy-rs/embassy/pull/4871))
12- feat: allow embassy_executor::main for low power 13- feat: allow embassy_executor::main for low power
diff --git a/embassy-stm32/src/adc/mod.rs b/embassy-stm32/src/adc/mod.rs
index 74648cc21..755cb78c2 100644
--- a/embassy-stm32/src/adc/mod.rs
+++ b/embassy-stm32/src/adc/mod.rs
@@ -436,9 +436,9 @@ pub struct AnyAdcChannel<T> {
436 is_differential: bool, 436 is_differential: bool,
437 _phantom: PhantomData<T>, 437 _phantom: PhantomData<T>,
438} 438}
439impl_peripheral!(AnyAdcChannel<T: Instance>); 439impl_peripheral!(AnyAdcChannel<T: AnyInstance>);
440impl<T: Instance> AdcChannel<T> for AnyAdcChannel<T> {} 440impl<T: AnyInstance> AdcChannel<T> for AnyAdcChannel<T> {}
441impl<T: Instance> SealedAdcChannel<T> for AnyAdcChannel<T> { 441impl<T: AnyInstance> SealedAdcChannel<T> for AnyAdcChannel<T> {
442 fn channel(&self) -> u8 { 442 fn channel(&self) -> u8 {
443 self.channel 443 self.channel
444 } 444 }
diff --git a/examples/stm32u5/src/bin/adc.rs b/examples/stm32u5/src/bin/adc.rs
index ad59c0bea..4d2d93aa2 100644
--- a/examples/stm32u5/src/bin/adc.rs
+++ b/examples/stm32u5/src/bin/adc.rs
@@ -31,7 +31,7 @@ async fn main(_spawner: embassy_executor::Spawner) {
31 31
32 // **** ADC4 init **** 32 // **** ADC4 init ****
33 let mut adc4 = Adc::new_adc4(p.ADC4); 33 let mut adc4 = Adc::new_adc4(p.ADC4);
34 let mut adc4_pin1 = p.PC1; // A4 34 let mut adc4_pin1 = p.PC1.degrade_adc(); // A4
35 let mut adc4_pin2 = p.PC0; // A5 35 let mut adc4_pin2 = p.PC0; // A5
36 adc4.set_resolution_adc4(adc4::Resolution::BITS12); 36 adc4.set_resolution_adc4(adc4::Resolution::BITS12);
37 adc4.set_averaging_adc4(adc4::Averaging::Samples256); 37 adc4.set_averaging_adc4(adc4::Averaging::Samples256);