mirror of
https://github.com/embassy-rs/embassy.git
synced 2025-02-16 08:53:17 +00:00
remove InternalChannel and AdcPin
This commit is contained in:
parent
41e11d86b9
commit
4e9206efb8
@ -4,7 +4,7 @@ use core::task::Poll;
|
||||
|
||||
use embassy_hal_internal::into_ref;
|
||||
|
||||
use super::{blocking_delay_us, InternalChannel};
|
||||
use super::blocking_delay_us;
|
||||
use crate::adc::{Adc, AdcChannel, Instance, SampleTime};
|
||||
use crate::time::Hertz;
|
||||
use crate::{interrupt, Peripheral};
|
||||
@ -32,8 +32,6 @@ impl<T: Instance> interrupt::typelevel::Handler<T::Interrupt> for InterruptHandl
|
||||
}
|
||||
|
||||
pub struct Vref;
|
||||
impl<T: Instance> InternalChannel<T> for Vref {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Vref {}
|
||||
impl<T: Instance> AdcChannel<T> for Vref {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Vref {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -42,8 +40,6 @@ impl<T: Instance> super::SealedAdcChannel<T> for Vref {
|
||||
}
|
||||
|
||||
pub struct Temperature;
|
||||
impl<T: Instance> InternalChannel<T> for Temperature {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Temperature {}
|
||||
impl<T: Instance> AdcChannel<T> for Temperature {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Temperature {
|
||||
fn channel(&self) -> u8 {
|
||||
|
@ -4,7 +4,7 @@ use core::task::Poll;
|
||||
|
||||
use embassy_hal_internal::into_ref;
|
||||
|
||||
use super::{blocking_delay_us, InternalChannel};
|
||||
use super::blocking_delay_us;
|
||||
use crate::adc::{Adc, AdcChannel, Instance, SampleTime};
|
||||
use crate::interrupt::typelevel::Interrupt;
|
||||
use crate::time::Hertz;
|
||||
@ -32,8 +32,6 @@ impl<T: Instance> interrupt::typelevel::Handler<T::Interrupt> for InterruptHandl
|
||||
}
|
||||
|
||||
pub struct Vref;
|
||||
impl<T: Instance> InternalChannel<T> for Vref {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Vref {}
|
||||
impl<T: Instance> AdcChannel<T> for Vref {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Vref {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -49,8 +47,6 @@ impl Vref {
|
||||
}
|
||||
|
||||
pub struct Temperature;
|
||||
impl<T: Instance> InternalChannel<T> for Temperature {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Temperature {}
|
||||
impl<T: Instance> AdcChannel<T> for Temperature {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Temperature {
|
||||
fn channel(&self) -> u8 {
|
||||
|
@ -6,7 +6,7 @@ use embassy_futures::yield_now;
|
||||
use embassy_hal_internal::into_ref;
|
||||
use embassy_time::Instant;
|
||||
|
||||
use super::{InternalChannel, Resolution};
|
||||
use super::Resolution;
|
||||
use crate::adc::{Adc, AdcChannel, Instance, SampleTime};
|
||||
use crate::interrupt::typelevel::Interrupt;
|
||||
use crate::time::Hertz;
|
||||
@ -64,8 +64,6 @@ fn update_vref<T: Instance>(op: i8) {
|
||||
}
|
||||
|
||||
pub struct Vref<T: Instance>(core::marker::PhantomData<T>);
|
||||
impl<T: Instance> InternalChannel<T> for Vref<T> {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Vref<T> {}
|
||||
impl<T: Instance> AdcChannel<T> for Vref<T> {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Vref<T> {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -125,8 +123,6 @@ impl<T: Instance> Drop for Vref<T> {
|
||||
}
|
||||
|
||||
pub struct Temperature<T: Instance>(core::marker::PhantomData<T>);
|
||||
impl<T: Instance> InternalChannel<T> for Temperature<T> {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Temperature<T> {}
|
||||
impl<T: Instance> AdcChannel<T> for Temperature<T> {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Temperature<T> {
|
||||
fn channel(&self) -> u8 {
|
||||
|
@ -2,7 +2,7 @@
|
||||
use pac::adc::vals::{Adcaldif, Difsel, Exten};
|
||||
use pac::adccommon::vals::Presc;
|
||||
|
||||
use super::{blocking_delay_us, Adc, AdcChannel, Instance, InternalChannel, Resolution, SampleTime};
|
||||
use super::{blocking_delay_us, Adc, AdcChannel, Instance, Resolution, SampleTime};
|
||||
use crate::time::Hertz;
|
||||
use crate::{pac, Peripheral};
|
||||
|
||||
@ -33,8 +33,6 @@ const VBAT_CHANNEL: u8 = 17;
|
||||
// NOTE: Vrefint/Temperature/Vbat are not available on all ADCs, this currently cannot be modeled with stm32-data, so these are available from the software on all ADCs
|
||||
/// Internal voltage reference channel.
|
||||
pub struct VrefInt;
|
||||
impl<T: Instance> InternalChannel<T> for VrefInt {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for VrefInt {}
|
||||
impl<T: Instance> AdcChannel<T> for VrefInt {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for VrefInt {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -44,8 +42,6 @@ impl<T: Instance> super::SealedAdcChannel<T> for VrefInt {
|
||||
|
||||
/// Internal temperature channel.
|
||||
pub struct Temperature;
|
||||
impl<T: Instance> InternalChannel<T> for Temperature {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Temperature {}
|
||||
impl<T: Instance> AdcChannel<T> for Temperature {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Temperature {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -55,8 +51,6 @@ impl<T: Instance> super::SealedAdcChannel<T> for Temperature {
|
||||
|
||||
/// Internal battery voltage channel.
|
||||
pub struct Vbat;
|
||||
impl<T: Instance> InternalChannel<T> for Vbat {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Vbat {}
|
||||
impl<T: Instance> AdcChannel<T> for Vbat {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Vbat {
|
||||
fn channel(&self) -> u8 {
|
||||
|
@ -60,8 +60,6 @@ trait SealedInstance {
|
||||
fn state() -> &'static State;
|
||||
}
|
||||
|
||||
pub(crate) trait SealedAdcPin<T: Instance> {}
|
||||
pub(crate) trait SealedInternalChannel<T> {}
|
||||
pub(crate) trait SealedAdcChannel<T> {
|
||||
#[cfg(any(adc_v1, adc_l0, adc_v2, adc_g4, adc_v4))]
|
||||
fn setup(&mut self) {}
|
||||
@ -123,12 +121,6 @@ pub trait Instance: SealedInstance + crate::Peripheral<P = Self> + crate::rcc::R
|
||||
type Interrupt: crate::interrupt::typelevel::Interrupt;
|
||||
}
|
||||
|
||||
/// ADC pin.
|
||||
#[allow(private_bounds)]
|
||||
pub trait AdcPin<T: Instance>: AdcChannel<T> + SealedAdcPin<T> {}
|
||||
/// ADC internal channel.
|
||||
#[allow(private_bounds)]
|
||||
pub trait InternalChannel<T>: AdcChannel<T> + SealedInternalChannel<T> {}
|
||||
/// ADC channel.
|
||||
#[allow(private_bounds)]
|
||||
pub trait AdcChannel<T>: SealedAdcChannel<T> + Sized {
|
||||
@ -187,9 +179,6 @@ foreach_adc!(
|
||||
|
||||
macro_rules! impl_adc_pin {
|
||||
($inst:ident, $pin:ident, $ch:expr) => {
|
||||
impl crate::adc::AdcPin<peripherals::$inst> for crate::peripherals::$pin {}
|
||||
impl crate::adc::SealedAdcPin<peripherals::$inst> for crate::peripherals::$pin {}
|
||||
|
||||
impl crate::adc::AdcChannel<peripherals::$inst> for crate::peripherals::$pin {}
|
||||
impl crate::adc::SealedAdcChannel<peripherals::$inst> for crate::peripherals::$pin {
|
||||
#[cfg(any(adc_v1, adc_l0, adc_v2, adc_g4, adc_v4))]
|
||||
|
@ -6,7 +6,7 @@ use embassy_hal_internal::into_ref;
|
||||
#[cfg(adc_l0)]
|
||||
use stm32_metapac::adc::vals::Ckmode;
|
||||
|
||||
use super::{blocking_delay_us, InternalChannel};
|
||||
use super::blocking_delay_us;
|
||||
use crate::adc::{Adc, AdcChannel, Instance, Resolution, SampleTime};
|
||||
use crate::interrupt::typelevel::Interrupt;
|
||||
use crate::peripherals::ADC1;
|
||||
@ -35,12 +35,6 @@ impl<T: Instance> interrupt::typelevel::Handler<T::Interrupt> for InterruptHandl
|
||||
#[cfg(not(adc_l0))]
|
||||
pub struct Vbat;
|
||||
|
||||
#[cfg(not(adc_l0))]
|
||||
impl InternalChannel<ADC1> for Vbat {}
|
||||
|
||||
#[cfg(not(adc_l0))]
|
||||
impl super::SealedInternalChannel<ADC1> for Vbat {}
|
||||
|
||||
#[cfg(not(adc_l0))]
|
||||
impl AdcChannel<ADC1> for Vbat {}
|
||||
|
||||
@ -52,8 +46,6 @@ impl super::SealedAdcChannel<ADC1> for Vbat {
|
||||
}
|
||||
|
||||
pub struct Vref;
|
||||
impl InternalChannel<ADC1> for Vref {}
|
||||
impl super::SealedInternalChannel<ADC1> for Vref {}
|
||||
impl AdcChannel<ADC1> for Vref {}
|
||||
impl super::SealedAdcChannel<ADC1> for Vref {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -62,8 +54,6 @@ impl super::SealedAdcChannel<ADC1> for Vref {
|
||||
}
|
||||
|
||||
pub struct Temperature;
|
||||
impl InternalChannel<ADC1> for Temperature {}
|
||||
impl super::SealedInternalChannel<ADC1> for Temperature {}
|
||||
impl AdcChannel<ADC1> for Temperature {}
|
||||
impl super::SealedAdcChannel<ADC1> for Temperature {
|
||||
fn channel(&self) -> u8 {
|
||||
|
@ -1,6 +1,6 @@
|
||||
use embassy_hal_internal::into_ref;
|
||||
|
||||
use super::{blocking_delay_us, InternalChannel};
|
||||
use super::blocking_delay_us;
|
||||
use crate::adc::{Adc, AdcChannel, Instance, Resolution, SampleTime};
|
||||
use crate::peripherals::ADC1;
|
||||
use crate::time::Hertz;
|
||||
@ -12,8 +12,6 @@ pub const VREF_DEFAULT_MV: u32 = 3300;
|
||||
pub const VREF_CALIB_MV: u32 = 3300;
|
||||
|
||||
pub struct VrefInt;
|
||||
impl InternalChannel<ADC1> for VrefInt {}
|
||||
impl super::SealedInternalChannel<ADC1> for VrefInt {}
|
||||
impl AdcChannel<ADC1> for VrefInt {}
|
||||
impl super::SealedAdcChannel<ADC1> for VrefInt {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -29,8 +27,6 @@ impl VrefInt {
|
||||
}
|
||||
|
||||
pub struct Temperature;
|
||||
impl InternalChannel<ADC1> for Temperature {}
|
||||
impl super::SealedInternalChannel<ADC1> for Temperature {}
|
||||
impl AdcChannel<ADC1> for Temperature {}
|
||||
impl super::SealedAdcChannel<ADC1> for Temperature {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -52,8 +48,6 @@ impl Temperature {
|
||||
}
|
||||
|
||||
pub struct Vbat;
|
||||
impl InternalChannel<ADC1> for Vbat {}
|
||||
impl super::SealedInternalChannel<ADC1> for Vbat {}
|
||||
impl AdcChannel<ADC1> for Vbat {}
|
||||
impl super::SealedAdcChannel<ADC1> for Vbat {
|
||||
fn channel(&self) -> u8 {
|
||||
|
@ -1,7 +1,7 @@
|
||||
use cfg_if::cfg_if;
|
||||
use embassy_hal_internal::into_ref;
|
||||
|
||||
use super::{blocking_delay_us, InternalChannel};
|
||||
use super::blocking_delay_us;
|
||||
use crate::adc::{Adc, AdcChannel, Instance, Resolution, SampleTime};
|
||||
use crate::Peripheral;
|
||||
|
||||
@ -11,8 +11,6 @@ pub const VREF_DEFAULT_MV: u32 = 3300;
|
||||
pub const VREF_CALIB_MV: u32 = 3000;
|
||||
|
||||
pub struct VrefInt;
|
||||
impl<T: Instance> InternalChannel<T> for VrefInt {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for VrefInt {}
|
||||
impl<T: Instance> AdcChannel<T> for VrefInt {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for VrefInt {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -32,8 +30,6 @@ impl<T: Instance> super::SealedAdcChannel<T> for VrefInt {
|
||||
}
|
||||
|
||||
pub struct Temperature;
|
||||
impl<T: Instance> InternalChannel<T> for Temperature {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Temperature {}
|
||||
impl<T: Instance> AdcChannel<T> for Temperature {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Temperature {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -53,8 +49,6 @@ impl<T: Instance> super::SealedAdcChannel<T> for Temperature {
|
||||
}
|
||||
|
||||
pub struct Vbat;
|
||||
impl<T: Instance> InternalChannel<T> for Vbat {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Vbat {}
|
||||
impl<T: Instance> AdcChannel<T> for Vbat {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Vbat {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -76,8 +70,6 @@ impl<T: Instance> super::SealedAdcChannel<T> for Vbat {
|
||||
cfg_if! {
|
||||
if #[cfg(adc_h5)] {
|
||||
pub struct VddCore;
|
||||
impl<T: Instance> InternalChannel<T> for VddCore {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for VddCore {}
|
||||
impl<T: Instance> AdcChannel<T> for VddCore {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for VddCore {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -90,8 +82,6 @@ cfg_if! {
|
||||
cfg_if! {
|
||||
if #[cfg(adc_u0)] {
|
||||
pub struct DacOut;
|
||||
impl<T: Instance> InternalChannel<T> for DacOut {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for DacOut {}
|
||||
impl<T: Instance> AdcChannel<T> for DacOut {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for DacOut {
|
||||
fn channel(&self) -> u8 {
|
||||
|
@ -2,7 +2,7 @@
|
||||
use pac::adc::vals::{Adcaldif, Boost, Difsel, Exten, Pcsel};
|
||||
use pac::adccommon::vals::Presc;
|
||||
|
||||
use super::{blocking_delay_us, Adc, AdcChannel, Instance, InternalChannel, Resolution, SampleTime};
|
||||
use super::{blocking_delay_us, Adc, AdcChannel, Instance, Resolution, SampleTime};
|
||||
use crate::time::Hertz;
|
||||
use crate::{pac, Peripheral};
|
||||
|
||||
@ -33,8 +33,6 @@ const VBAT_CHANNEL: u8 = 17;
|
||||
// NOTE: Vrefint/Temperature/Vbat are not available on all ADCs, this currently cannot be modeled with stm32-data, so these are available from the software on all ADCs
|
||||
/// Internal voltage reference channel.
|
||||
pub struct VrefInt;
|
||||
impl<T: Instance> InternalChannel<T> for VrefInt {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for VrefInt {}
|
||||
impl<T: Instance> AdcChannel<T> for VrefInt {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for VrefInt {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -44,8 +42,6 @@ impl<T: Instance> super::SealedAdcChannel<T> for VrefInt {
|
||||
|
||||
/// Internal temperature channel.
|
||||
pub struct Temperature;
|
||||
impl<T: Instance> InternalChannel<T> for Temperature {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Temperature {}
|
||||
impl<T: Instance> AdcChannel<T> for Temperature {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Temperature {
|
||||
fn channel(&self) -> u8 {
|
||||
@ -55,8 +51,6 @@ impl<T: Instance> super::SealedAdcChannel<T> for Temperature {
|
||||
|
||||
/// Internal battery voltage channel.
|
||||
pub struct Vbat;
|
||||
impl<T: Instance> InternalChannel<T> for Vbat {}
|
||||
impl<T: Instance> super::SealedInternalChannel<T> for Vbat {}
|
||||
impl<T: Instance> AdcChannel<T> for Vbat {}
|
||||
impl<T: Instance> super::SealedAdcChannel<T> for Vbat {
|
||||
fn channel(&self) -> u8 {
|
||||
|
Loading…
Reference in New Issue
Block a user