nrf: replace PhantomData usages with PeripheralRef.
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
#![macro_use]
|
||||
|
||||
use core::marker::PhantomData;
|
||||
use core::sync::atomic::{compiler_fence, Ordering};
|
||||
|
||||
use embassy_hal_common::{into_ref, PeripheralRef};
|
||||
@@ -15,7 +14,7 @@ use crate::{pac, Peripheral};
|
||||
/// SimplePwm is the traditional pwm interface you're probably used to, allowing
|
||||
/// to simply set a duty cycle across up to four channels.
|
||||
pub struct SimplePwm<'d, T: Instance> {
|
||||
phantom: PhantomData<&'d mut T>,
|
||||
_peri: PeripheralRef<'d, T>,
|
||||
duty: [u16; 4],
|
||||
ch0: Option<PeripheralRef<'d, AnyPin>>,
|
||||
ch1: Option<PeripheralRef<'d, AnyPin>>,
|
||||
@@ -26,7 +25,7 @@ pub struct SimplePwm<'d, T: Instance> {
|
||||
/// SequencePwm allows you to offload the updating of a sequence of duty cycles
|
||||
/// to up to four channels, as well as repeat that sequence n times.
|
||||
pub struct SequencePwm<'d, T: Instance> {
|
||||
phantom: PhantomData<&'d mut T>,
|
||||
_peri: PeripheralRef<'d, T>,
|
||||
ch0: Option<PeripheralRef<'d, AnyPin>>,
|
||||
ch1: Option<PeripheralRef<'d, AnyPin>>,
|
||||
ch2: Option<PeripheralRef<'d, AnyPin>>,
|
||||
@@ -120,6 +119,8 @@ impl<'d, T: Instance> SequencePwm<'d, T> {
|
||||
ch3: Option<PeripheralRef<'d, AnyPin>>,
|
||||
config: Config,
|
||||
) -> Result<Self, Error> {
|
||||
into_ref!(_pwm);
|
||||
|
||||
let r = T::regs();
|
||||
|
||||
if let Some(pin) = &ch0 {
|
||||
@@ -168,7 +169,7 @@ impl<'d, T: Instance> SequencePwm<'d, T> {
|
||||
r.countertop.write(|w| unsafe { w.countertop().bits(config.max_duty) });
|
||||
|
||||
Ok(Self {
|
||||
phantom: PhantomData,
|
||||
_peri: _pwm,
|
||||
ch0,
|
||||
ch1,
|
||||
ch2,
|
||||
@@ -639,6 +640,8 @@ impl<'d, T: Instance> SimplePwm<'d, T> {
|
||||
ch2: Option<PeripheralRef<'d, AnyPin>>,
|
||||
ch3: Option<PeripheralRef<'d, AnyPin>>,
|
||||
) -> Self {
|
||||
into_ref!(_pwm);
|
||||
|
||||
let r = T::regs();
|
||||
|
||||
if let Some(pin) = &ch0 {
|
||||
@@ -666,7 +669,7 @@ impl<'d, T: Instance> SimplePwm<'d, T> {
|
||||
r.psel.out[3].write(|w| unsafe { w.bits(ch3.psel_bits()) });
|
||||
|
||||
let pwm = Self {
|
||||
phantom: PhantomData,
|
||||
_peri: _pwm,
|
||||
ch0,
|
||||
ch1,
|
||||
ch2,
|
||||
|
||||
Reference in New Issue
Block a user