aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrant Miller <[email protected]>2022-10-26 17:51:12 -0500
committerGrant Miller <[email protected]>2022-10-26 17:51:12 -0500
commit9c30d565b970330dd0041e790516ab4517dd3b22 (patch)
tree3a21503929a1211e9eeaced25f9d1bfae2f0b240
parentf363f6ce92879a9cb21f058fa308b05256e7c482 (diff)
Refactor: Factor out `Adc` struct declaration
-rw-r--r--embassy-stm32/src/adc/f1.rs7
-rw-r--r--embassy-stm32/src/adc/mod.rs6
-rw-r--r--embassy-stm32/src/adc/v2.rs7
-rw-r--r--embassy-stm32/src/adc/v3.rs7
-rw-r--r--embassy-stm32/src/adc/v4.rs7
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;
3use embassy_hal_common::into_ref; 3use embassy_hal_common::into_ref;
4use embedded_hal_02::blocking::delay::DelayUs; 4use embedded_hal_02::blocking::delay::DelayUs;
5 5
6use crate::adc::{AdcPin, Instance, SampleTime}; 6use crate::adc::{Adc, AdcPin, Instance, SampleTime};
7use crate::rcc::get_freqs; 7use crate::rcc::get_freqs;
8use crate::time::Hertz; 8use crate::time::Hertz;
9use crate::Peripheral; 9use crate::Peripheral;
@@ -29,11 +29,6 @@ impl<T: Instance> super::sealed::AdcPin<T> for Temperature {
29 } 29 }
30} 30}
31 31
32pub struct Adc<'d, T: Instance> {
33 sample_time: SampleTime,
34 phantom: PhantomData<&'d mut T>,
35}
36
37impl<'d, T: Instance> Adc<'d, T> { 32impl<'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
23use crate::peripherals; 23use crate::peripherals;
24 24
25#[cfg(not(adc_v1))]
26pub struct Adc<'d, T: Instance> {
27 sample_time: SampleTime,
28 phantom: core::marker::PhantomData<&'d mut T>,
29}
30
25pub(crate) mod sealed { 31pub(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;
4use embedded_hal_02::blocking::delay::DelayUs; 4use embedded_hal_02::blocking::delay::DelayUs;
5 5
6use super::InternalChannel; 6use super::InternalChannel;
7use crate::adc::{AdcPin, Instance, Resolution, SampleTime}; 7use crate::adc::{Adc, AdcPin, Instance, Resolution, SampleTime};
8use crate::peripherals::ADC1; 8use crate::peripherals::ADC1;
9use crate::time::Hertz; 9use crate::time::Hertz;
10use crate::Peripheral; 10use crate::Peripheral;
@@ -92,11 +92,6 @@ impl Prescaler {
92 } 92 }
93} 93}
94 94
95pub struct Adc<'d, T: Instance> {
96 sample_time: SampleTime,
97 phantom: PhantomData<&'d mut T>,
98}
99
100impl<'d, T> Adc<'d, T> 95impl<'d, T> Adc<'d, T>
101where 96where
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;
3use embassy_hal_common::into_ref; 3use embassy_hal_common::into_ref;
4use embedded_hal_02::blocking::delay::DelayUs; 4use embedded_hal_02::blocking::delay::DelayUs;
5 5
6use crate::adc::{AdcPin, Instance, Resolution, SampleTime}; 6use crate::adc::{Adc, AdcPin, Instance, Resolution, SampleTime};
7use crate::Peripheral; 7use 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
63pub struct Adc<'d, T: Instance> {
64 sample_time: SampleTime,
65 phantom: PhantomData<&'d mut T>,
66}
67
68impl<'d, T: Instance> Adc<'d, T> { 63impl<'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;
5use pac::adc::vals::{Adcaldif, Boost, Difsel, Exten, Pcsel}; 5use pac::adc::vals::{Adcaldif, Boost, Difsel, Exten, Pcsel};
6use pac::adccommon::vals::Presc; 6use pac::adccommon::vals::Presc;
7 7
8use super::{AdcPin, Instance, InternalChannel, Resolution, SampleTime}; 8use super::{Adc, AdcPin, Instance, InternalChannel, Resolution, SampleTime};
9use crate::time::Hertz; 9use crate::time::Hertz;
10use crate::{pac, Peripheral}; 10use crate::{pac, Peripheral};
11 11
@@ -225,11 +225,6 @@ impl Prescaler {
225 } 225 }
226} 226}
227 227
228pub struct Adc<'d, T: Instance> {
229 sample_time: SampleTime,
230 phantom: PhantomData<&'d mut T>,
231}
232
233impl<'d, T: Instance + crate::rcc::RccPeripheral> Adc<'d, T> { 228impl<'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);