Refactor: Factor out Adc struct declaration
				
					
				
			This commit is contained in:
		@@ -3,7 +3,7 @@ use core::marker::PhantomData;
 | 
			
		||||
use embassy_hal_common::into_ref;
 | 
			
		||||
use embedded_hal_02::blocking::delay::DelayUs;
 | 
			
		||||
 | 
			
		||||
use crate::adc::{AdcPin, Instance, SampleTime};
 | 
			
		||||
use crate::adc::{Adc, AdcPin, Instance, SampleTime};
 | 
			
		||||
use crate::rcc::get_freqs;
 | 
			
		||||
use crate::time::Hertz;
 | 
			
		||||
use crate::Peripheral;
 | 
			
		||||
@@ -29,11 +29,6 @@ impl<T: Instance> super::sealed::AdcPin<T> for Temperature {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub struct Adc<'d, T: Instance> {
 | 
			
		||||
    sample_time: SampleTime,
 | 
			
		||||
    phantom: PhantomData<&'d mut T>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl<'d, T: Instance> Adc<'d, T> {
 | 
			
		||||
    pub fn new(_peri: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self {
 | 
			
		||||
        into_ref!(_peri);
 | 
			
		||||
 
 | 
			
		||||
@@ -22,6 +22,12 @@ pub use sample_time::SampleTime;
 | 
			
		||||
 | 
			
		||||
use crate::peripherals;
 | 
			
		||||
 | 
			
		||||
#[cfg(not(adc_v1))]
 | 
			
		||||
pub struct Adc<'d, T: Instance> {
 | 
			
		||||
    sample_time: SampleTime,
 | 
			
		||||
    phantom: core::marker::PhantomData<&'d mut T>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub(crate) mod sealed {
 | 
			
		||||
    pub trait Instance {
 | 
			
		||||
        fn regs() -> crate::pac::adc::Adc;
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ use embassy_hal_common::into_ref;
 | 
			
		||||
use embedded_hal_02::blocking::delay::DelayUs;
 | 
			
		||||
 | 
			
		||||
use super::InternalChannel;
 | 
			
		||||
use crate::adc::{AdcPin, Instance, Resolution, SampleTime};
 | 
			
		||||
use crate::adc::{Adc, AdcPin, Instance, Resolution, SampleTime};
 | 
			
		||||
use crate::peripherals::ADC1;
 | 
			
		||||
use crate::time::Hertz;
 | 
			
		||||
use crate::Peripheral;
 | 
			
		||||
@@ -92,11 +92,6 @@ impl Prescaler {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub struct Adc<'d, T: Instance> {
 | 
			
		||||
    sample_time: SampleTime,
 | 
			
		||||
    phantom: PhantomData<&'d mut T>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl<'d, T> Adc<'d, T>
 | 
			
		||||
where
 | 
			
		||||
    T: Instance,
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@ use core::marker::PhantomData;
 | 
			
		||||
use embassy_hal_common::into_ref;
 | 
			
		||||
use embedded_hal_02::blocking::delay::DelayUs;
 | 
			
		||||
 | 
			
		||||
use crate::adc::{AdcPin, Instance, Resolution, SampleTime};
 | 
			
		||||
use crate::adc::{Adc, AdcPin, Instance, Resolution, SampleTime};
 | 
			
		||||
use crate::Peripheral;
 | 
			
		||||
 | 
			
		||||
/// Default VREF voltage used for sample conversion to millivolts.
 | 
			
		||||
@@ -60,11 +60,6 @@ impl<T: Instance> super::sealed::AdcPin<T> for Vbat {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub struct Adc<'d, T: Instance> {
 | 
			
		||||
    sample_time: SampleTime,
 | 
			
		||||
    phantom: PhantomData<&'d mut T>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl<'d, T: Instance> Adc<'d, T> {
 | 
			
		||||
    pub fn new(_peri: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self {
 | 
			
		||||
        into_ref!(_peri);
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@ use embedded_hal_02::blocking::delay::DelayUs;
 | 
			
		||||
use pac::adc::vals::{Adcaldif, Boost, Difsel, Exten, Pcsel};
 | 
			
		||||
use pac::adccommon::vals::Presc;
 | 
			
		||||
 | 
			
		||||
use super::{AdcPin, Instance, InternalChannel, Resolution, SampleTime};
 | 
			
		||||
use super::{Adc, AdcPin, Instance, InternalChannel, Resolution, SampleTime};
 | 
			
		||||
use crate::time::Hertz;
 | 
			
		||||
use crate::{pac, Peripheral};
 | 
			
		||||
 | 
			
		||||
@@ -225,11 +225,6 @@ impl Prescaler {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub struct Adc<'d, T: Instance> {
 | 
			
		||||
    sample_time: SampleTime,
 | 
			
		||||
    phantom: PhantomData<&'d mut T>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl<'d, T: Instance + crate::rcc::RccPeripheral> Adc<'d, T> {
 | 
			
		||||
    pub fn new(_peri: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u16>) -> Self {
 | 
			
		||||
        embassy_hal_common::into_ref!(_peri);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user