diff options
| author | Grant Miller <[email protected]> | 2022-10-26 17:51:12 -0500 |
|---|---|---|
| committer | Grant Miller <[email protected]> | 2022-10-26 17:51:12 -0500 |
| commit | 9c30d565b970330dd0041e790516ab4517dd3b22 (patch) | |
| tree | 3a21503929a1211e9eeaced25f9d1bfae2f0b240 | |
| parent | f363f6ce92879a9cb21f058fa308b05256e7c482 (diff) | |
Refactor: Factor out `Adc` struct declaration
| -rw-r--r-- | embassy-stm32/src/adc/f1.rs | 7 | ||||
| -rw-r--r-- | embassy-stm32/src/adc/mod.rs | 6 | ||||
| -rw-r--r-- | embassy-stm32/src/adc/v2.rs | 7 | ||||
| -rw-r--r-- | embassy-stm32/src/adc/v3.rs | 7 | ||||
| -rw-r--r-- | embassy-stm32/src/adc/v4.rs | 7 |
5 files changed, 10 insertions, 24 deletions
diff --git a/embassy-stm32/src/adc/f1.rs b/embassy-stm32/src/adc/f1.rs index 8a3b4be56..4282a6553 100644 --- a/embassy-stm32/src/adc/f1.rs +++ b/embassy-stm32/src/adc/f1.rs | |||
| @@ -3,7 +3,7 @@ use core::marker::PhantomData; | |||
| 3 | use embassy_hal_common::into_ref; | 3 | use embassy_hal_common::into_ref; |
| 4 | use embedded_hal_02::blocking::delay::DelayUs; | 4 | use embedded_hal_02::blocking::delay::DelayUs; |
| 5 | 5 | ||
| 6 | use crate::adc::{AdcPin, Instance, SampleTime}; | 6 | use crate::adc::{Adc, AdcPin, Instance, SampleTime}; |
| 7 | use crate::rcc::get_freqs; | 7 | use crate::rcc::get_freqs; |
| 8 | use crate::time::Hertz; | 8 | use crate::time::Hertz; |
| 9 | use crate::Peripheral; | 9 | use crate::Peripheral; |
| @@ -29,11 +29,6 @@ impl<T: Instance> super::sealed::AdcPin<T> for Temperature { | |||
| 29 | } | 29 | } |
| 30 | } | 30 | } |
| 31 | 31 | ||
| 32 | pub struct Adc<'d, T: Instance> { | ||
| 33 | sample_time: SampleTime, | ||
| 34 | phantom: PhantomData<&'d mut T>, | ||
| 35 | } | ||
| 36 | |||
| 37 | impl<'d, T: Instance> Adc<'d, T> { | 32 | impl<'d, T: Instance> Adc<'d, T> { |
| 38 | pub fn new(_peri: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self { | 33 | pub fn new(_peri: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self { |
| 39 | into_ref!(_peri); | 34 | into_ref!(_peri); |
diff --git a/embassy-stm32/src/adc/mod.rs b/embassy-stm32/src/adc/mod.rs index 439fe0ba6..70c1025e5 100644 --- a/embassy-stm32/src/adc/mod.rs +++ b/embassy-stm32/src/adc/mod.rs | |||
| @@ -22,6 +22,12 @@ pub use sample_time::SampleTime; | |||
| 22 | 22 | ||
| 23 | use crate::peripherals; | 23 | use crate::peripherals; |
| 24 | 24 | ||
| 25 | #[cfg(not(adc_v1))] | ||
| 26 | pub struct Adc<'d, T: Instance> { | ||
| 27 | sample_time: SampleTime, | ||
| 28 | phantom: core::marker::PhantomData<&'d mut T>, | ||
| 29 | } | ||
| 30 | |||
| 25 | pub(crate) mod sealed { | 31 | pub(crate) mod sealed { |
| 26 | pub trait Instance { | 32 | pub trait Instance { |
| 27 | fn regs() -> crate::pac::adc::Adc; | 33 | fn regs() -> crate::pac::adc::Adc; |
diff --git a/embassy-stm32/src/adc/v2.rs b/embassy-stm32/src/adc/v2.rs index 2cdaa00dc..f1e65dc53 100644 --- a/embassy-stm32/src/adc/v2.rs +++ b/embassy-stm32/src/adc/v2.rs | |||
| @@ -4,7 +4,7 @@ use embassy_hal_common::into_ref; | |||
| 4 | use embedded_hal_02::blocking::delay::DelayUs; | 4 | use embedded_hal_02::blocking::delay::DelayUs; |
| 5 | 5 | ||
| 6 | use super::InternalChannel; | 6 | use super::InternalChannel; |
| 7 | use crate::adc::{AdcPin, Instance, Resolution, SampleTime}; | 7 | use crate::adc::{Adc, AdcPin, Instance, Resolution, SampleTime}; |
| 8 | use crate::peripherals::ADC1; | 8 | use crate::peripherals::ADC1; |
| 9 | use crate::time::Hertz; | 9 | use crate::time::Hertz; |
| 10 | use crate::Peripheral; | 10 | use crate::Peripheral; |
| @@ -92,11 +92,6 @@ impl Prescaler { | |||
| 92 | } | 92 | } |
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | pub struct Adc<'d, T: Instance> { | ||
| 96 | sample_time: SampleTime, | ||
| 97 | phantom: PhantomData<&'d mut T>, | ||
| 98 | } | ||
| 99 | |||
| 100 | impl<'d, T> Adc<'d, T> | 95 | impl<'d, T> Adc<'d, T> |
| 101 | where | 96 | where |
| 102 | T: Instance, | 97 | T: Instance, |
diff --git a/embassy-stm32/src/adc/v3.rs b/embassy-stm32/src/adc/v3.rs index c6898f54a..ee5f278b1 100644 --- a/embassy-stm32/src/adc/v3.rs +++ b/embassy-stm32/src/adc/v3.rs | |||
| @@ -3,7 +3,7 @@ use core::marker::PhantomData; | |||
| 3 | use embassy_hal_common::into_ref; | 3 | use embassy_hal_common::into_ref; |
| 4 | use embedded_hal_02::blocking::delay::DelayUs; | 4 | use embedded_hal_02::blocking::delay::DelayUs; |
| 5 | 5 | ||
| 6 | use crate::adc::{AdcPin, Instance, Resolution, SampleTime}; | 6 | use crate::adc::{Adc, AdcPin, Instance, Resolution, SampleTime}; |
| 7 | use crate::Peripheral; | 7 | use crate::Peripheral; |
| 8 | 8 | ||
| 9 | /// Default VREF voltage used for sample conversion to millivolts. | 9 | /// Default VREF voltage used for sample conversion to millivolts. |
| @@ -60,11 +60,6 @@ impl<T: Instance> super::sealed::AdcPin<T> for Vbat { | |||
| 60 | } | 60 | } |
| 61 | } | 61 | } |
| 62 | 62 | ||
| 63 | pub struct Adc<'d, T: Instance> { | ||
| 64 | sample_time: SampleTime, | ||
| 65 | phantom: PhantomData<&'d mut T>, | ||
| 66 | } | ||
| 67 | |||
| 68 | impl<'d, T: Instance> Adc<'d, T> { | 63 | impl<'d, T: Instance> Adc<'d, T> { |
| 69 | pub fn new(_peri: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self { | 64 | pub fn new(_peri: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self { |
| 70 | into_ref!(_peri); | 65 | into_ref!(_peri); |
diff --git a/embassy-stm32/src/adc/v4.rs b/embassy-stm32/src/adc/v4.rs index 750f3480f..c83674e61 100644 --- a/embassy-stm32/src/adc/v4.rs +++ b/embassy-stm32/src/adc/v4.rs | |||
| @@ -5,7 +5,7 @@ use embedded_hal_02::blocking::delay::DelayUs; | |||
| 5 | use pac::adc::vals::{Adcaldif, Boost, Difsel, Exten, Pcsel}; | 5 | use pac::adc::vals::{Adcaldif, Boost, Difsel, Exten, Pcsel}; |
| 6 | use pac::adccommon::vals::Presc; | 6 | use pac::adccommon::vals::Presc; |
| 7 | 7 | ||
| 8 | use super::{AdcPin, Instance, InternalChannel, Resolution, SampleTime}; | 8 | use super::{Adc, AdcPin, Instance, InternalChannel, Resolution, SampleTime}; |
| 9 | use crate::time::Hertz; | 9 | use crate::time::Hertz; |
| 10 | use crate::{pac, Peripheral}; | 10 | use crate::{pac, Peripheral}; |
| 11 | 11 | ||
| @@ -225,11 +225,6 @@ impl Prescaler { | |||
| 225 | } | 225 | } |
| 226 | } | 226 | } |
| 227 | 227 | ||
| 228 | pub struct Adc<'d, T: Instance> { | ||
| 229 | sample_time: SampleTime, | ||
| 230 | phantom: PhantomData<&'d mut T>, | ||
| 231 | } | ||
| 232 | |||
| 233 | impl<'d, T: Instance + crate::rcc::RccPeripheral> Adc<'d, T> { | 228 | impl<'d, T: Instance + crate::rcc::RccPeripheral> Adc<'d, T> { |
| 234 | pub fn new(_peri: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u16>) -> Self { | 229 | pub fn new(_peri: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u16>) -> Self { |
| 235 | embassy_hal_common::into_ref!(_peri); | 230 | embassy_hal_common::into_ref!(_peri); |
