aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxoviat <[email protected]>2025-12-13 07:56:55 -0600
committerxoviat <[email protected]>2025-12-13 07:56:55 -0600
commit38386c323dd3b7345d011d6775333f65c8ac3ac2 (patch)
tree09bb115ee31d1d08eba9a67144a9be16a5b6e941
parentc4c63394110d455428b9da4361acc581dfec90a2 (diff)
parentd338a2eaeaa35e0d4ce2c59a167309dd6aafce88 (diff)
Merge branch 'main' of https://github.com/embassy-rs/embassy into wpan
-rw-r--r--embassy-stm32/src/adc/adc4.rs21
-rw-r--r--embassy-stm32/src/adc/v4.rs8
2 files changed, 10 insertions, 19 deletions
diff --git a/embassy-stm32/src/adc/adc4.rs b/embassy-stm32/src/adc/adc4.rs
index 43509873f..491569c34 100644
--- a/embassy-stm32/src/adc/adc4.rs
+++ b/embassy-stm32/src/adc/adc4.rs
@@ -24,23 +24,23 @@ pub const VREF_DEFAULT_MV: u32 = 3300;
24/// VREF voltage used for factory calibration of VREFINTCAL register. 24/// VREF voltage used for factory calibration of VREFINTCAL register.
25pub const VREF_CALIB_MV: u32 = 3300; 25pub const VREF_CALIB_MV: u32 = 3300;
26 26
27impl<'d, T: Instance> super::SealedSpecialConverter<super::VrefInt> for Adc4<'d, T> { 27impl super::SealedSpecialConverter<super::VrefInt> for crate::peripherals::ADC4 {
28 const CHANNEL: u8 = 0; 28 const CHANNEL: u8 = 0;
29} 29}
30 30
31impl<'d, T: Instance> super::SealedSpecialConverter<super::Temperature> for Adc4<'d, T> { 31impl super::SealedSpecialConverter<super::Temperature> for crate::peripherals::ADC4 {
32 const CHANNEL: u8 = 13; 32 const CHANNEL: u8 = 13;
33} 33}
34 34
35impl<'d, T: Instance> super::SealedSpecialConverter<super::Vcore> for Adc4<'d, T> { 35impl super::SealedSpecialConverter<super::Vcore> for crate::peripherals::ADC4 {
36 const CHANNEL: u8 = 12; 36 const CHANNEL: u8 = 12;
37} 37}
38 38
39impl<'d, T: Instance> super::SealedSpecialConverter<super::Vbat> for Adc4<'d, T> { 39impl super::SealedSpecialConverter<super::Vbat> for crate::peripherals::ADC4 {
40 const CHANNEL: u8 = 14; 40 const CHANNEL: u8 = 14;
41} 41}
42 42
43impl<'d, T: Instance> super::SealedSpecialConverter<super::Dac> for Adc4<'d, T> { 43impl super::SealedSpecialConverter<super::Dac> for crate::peripherals::ADC4 {
44 const CHANNEL: u8 = 21; 44 const CHANNEL: u8 = 21;
45} 45}
46 46
@@ -197,17 +197,6 @@ impl AdcRegs for crate::pac::adc::Adc4 {
197 } 197 }
198} 198}
199 199
200pub struct Adc4<'d, T: Instance> {
201 #[allow(unused)]
202 adc: crate::Peri<'d, T>,
203}
204
205#[derive(Copy, Clone, Debug)]
206pub enum Adc4Error {
207 InvalidSequence,
208 DMAError,
209}
210
211impl<'d, T: Instance<Regs = crate::pac::adc::Adc4>> super::Adc<'d, T> { 200impl<'d, T: Instance<Regs = crate::pac::adc::Adc4>> super::Adc<'d, T> {
212 /// Create a new ADC driver. 201 /// Create a new ADC driver.
213 pub fn new_adc4(adc: Peri<'d, T>) -> Self { 202 pub fn new_adc4(adc: Peri<'d, T>) -> Self {
diff --git a/embassy-stm32/src/adc/v4.rs b/embassy-stm32/src/adc/v4.rs
index 09fc2ab22..962816194 100644
--- a/embassy-stm32/src/adc/v4.rs
+++ b/embassy-stm32/src/adc/v4.rs
@@ -5,6 +5,8 @@ use pac::adc::vals::{Adstp, Difsel, Dmngt, Exten, Pcsel};
5use pac::adccommon::vals::Presc; 5use pac::adccommon::vals::Presc;
6 6
7use super::{Adc, Averaging, Instance, Resolution, SampleTime, Temperature, Vbat, VrefInt, blocking_delay_us}; 7use super::{Adc, Averaging, Instance, Resolution, SampleTime, Temperature, Vbat, VrefInt, blocking_delay_us};
8#[cfg(stm32u5)]
9use crate::adc::DefaultInstance;
8use crate::adc::{AdcRegs, ConversionMode}; 10use crate::adc::{AdcRegs, ConversionMode};
9use crate::time::Hertz; 11use crate::time::Hertz;
10use crate::{Peri, pac, rcc}; 12use crate::{Peri, pac, rcc};
@@ -47,15 +49,15 @@ impl<T: Instance> super::SealedSpecialConverter<super::Vbat> for T {
47} 49}
48 50
49#[cfg(stm32u5)] 51#[cfg(stm32u5)]
50impl<T: Instance> super::SealedSpecialConverter<super::VrefInt> for T { 52impl<T: DefaultInstance> super::SealedSpecialConverter<super::VrefInt> for T {
51 const CHANNEL: u8 = 0; 53 const CHANNEL: u8 = 0;
52} 54}
53#[cfg(stm32u5)] 55#[cfg(stm32u5)]
54impl<T: Instance> super::SealedSpecialConverter<super::Temperature> for T { 56impl<T: DefaultInstance> super::SealedSpecialConverter<super::Temperature> for T {
55 const CHANNEL: u8 = 19; 57 const CHANNEL: u8 = 19;
56} 58}
57#[cfg(stm32u5)] 59#[cfg(stm32u5)]
58impl<T: Instance> super::SealedSpecialConverter<super::Vbat> for T { 60impl<T: DefaultInstance> super::SealedSpecialConverter<super::Vbat> for T {
59 const CHANNEL: u8 = 18; 61 const CHANNEL: u8 = 18;
60} 62}
61 63