From 08167b4e0af9a714904a67e92dbc47f651d7de63 Mon Sep 17 00:00:00 2001 From: xoviat Date: Fri, 12 Dec 2025 20:12:15 -0600 Subject: stm32: fix misc. adc4 issues --- embassy-stm32/src/adc/adc4.rs | 21 +++++---------------- embassy-stm32/src/adc/v4.rs | 8 +++++--- 2 files changed, 10 insertions(+), 19 deletions(-) (limited to 'embassy-stm32') 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; /// VREF voltage used for factory calibration of VREFINTCAL register. pub const VREF_CALIB_MV: u32 = 3300; -impl<'d, T: Instance> super::SealedSpecialConverter for Adc4<'d, T> { +impl super::SealedSpecialConverter for crate::peripherals::ADC4 { const CHANNEL: u8 = 0; } -impl<'d, T: Instance> super::SealedSpecialConverter for Adc4<'d, T> { +impl super::SealedSpecialConverter for crate::peripherals::ADC4 { const CHANNEL: u8 = 13; } -impl<'d, T: Instance> super::SealedSpecialConverter for Adc4<'d, T> { +impl super::SealedSpecialConverter for crate::peripherals::ADC4 { const CHANNEL: u8 = 12; } -impl<'d, T: Instance> super::SealedSpecialConverter for Adc4<'d, T> { +impl super::SealedSpecialConverter for crate::peripherals::ADC4 { const CHANNEL: u8 = 14; } -impl<'d, T: Instance> super::SealedSpecialConverter for Adc4<'d, T> { +impl super::SealedSpecialConverter for crate::peripherals::ADC4 { const CHANNEL: u8 = 21; } @@ -197,17 +197,6 @@ impl AdcRegs for crate::pac::adc::Adc4 { } } -pub struct Adc4<'d, T: Instance> { - #[allow(unused)] - adc: crate::Peri<'d, T>, -} - -#[derive(Copy, Clone, Debug)] -pub enum Adc4Error { - InvalidSequence, - DMAError, -} - impl<'d, T: Instance> super::Adc<'d, T> { /// Create a new ADC driver. 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}; use pac::adccommon::vals::Presc; use super::{Adc, Averaging, Instance, Resolution, SampleTime, Temperature, Vbat, VrefInt, blocking_delay_us}; +#[cfg(stm32u5)] +use crate::adc::DefaultInstance; use crate::adc::{AdcRegs, ConversionMode}; use crate::time::Hertz; use crate::{Peri, pac, rcc}; @@ -47,15 +49,15 @@ impl super::SealedSpecialConverter for T { } #[cfg(stm32u5)] -impl super::SealedSpecialConverter for T { +impl super::SealedSpecialConverter for T { const CHANNEL: u8 = 0; } #[cfg(stm32u5)] -impl super::SealedSpecialConverter for T { +impl super::SealedSpecialConverter for T { const CHANNEL: u8 = 19; } #[cfg(stm32u5)] -impl super::SealedSpecialConverter for T { +impl super::SealedSpecialConverter for T { const CHANNEL: u8 = 18; } -- cgit