diff options
| author | xoviat <[email protected]> | 2025-11-20 20:33:15 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-11-20 20:33:15 +0000 |
| commit | de1e5f731839587e4743e91ce965415720380fb4 (patch) | |
| tree | 80367f52d11824a2f4d9759be1c52e5f047c40c1 | |
| parent | 2031ff95b8a5b5a156b720d1aa643de0c89db04c (diff) | |
| parent | a6c896e8bc0144a910d0dc18c5ce6d5972fdb3c1 (diff) | |
Merge pull request #4926 from xoviat/adc
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 416590f88..f4d9dcf09 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 | - fix: fix incorrect logic for buffered usart transmission complete. | 11 | - fix: fix incorrect logic for buffered usart transmission complete. |
| 11 | - feat: add poll_for methods to exti | 12 | - feat: add poll_for methods to exti |
| 12 | - feat: implement stop for stm32wb. | 13 | - feat: implement stop for stm32wb. |
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); |
