diff options
| author | xoviat <[email protected]> | 2025-11-20 14:27:31 -0600 |
|---|---|---|
| committer | xoviat <[email protected]> | 2025-11-20 14:27:31 -0600 |
| commit | 3abc2e592f66c16ada6c475e48cde282b79d3c1f (patch) | |
| tree | 6e38ce8f1866957e071296f5d10a61d23c6cf765 | |
| parent | a68b5d5d29514dcaf0a6ed08207d3a1f1fa9b464 (diff) | |
adc: allow usage of anyadcchannel for adc4
| -rw-r--r-- | embassy-stm32/CHANGELOG.md | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/adc/mod.rs | 6 | ||||
| -rw-r--r-- | examples/stm32u5/src/bin/adc.rs | 2 |
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 | } |
| 439 | impl_peripheral!(AnyAdcChannel<T: Instance>); | 439 | impl_peripheral!(AnyAdcChannel<T: AnyInstance>); |
| 440 | impl<T: Instance> AdcChannel<T> for AnyAdcChannel<T> {} | 440 | impl<T: AnyInstance> AdcChannel<T> for AnyAdcChannel<T> {} |
| 441 | impl<T: Instance> SealedAdcChannel<T> for AnyAdcChannel<T> { | 441 | impl<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); |
