pub struct PhaseLockedLoop<S, D>where
S: State,
D: PhaseLockedLoopDevice,{ /* private fields */ }Expand description
A PLL.
Implementations§
Source§impl<S, D> PhaseLockedLoop<S, D>where
S: State,
D: PhaseLockedLoopDevice,
impl<S, D> PhaseLockedLoop<S, D>where
S: State,
D: PhaseLockedLoopDevice,
Source§impl<D> PhaseLockedLoop<Disabled, D>where
D: PhaseLockedLoopDevice,
impl<D> PhaseLockedLoop<Disabled, D>where
D: PhaseLockedLoopDevice,
Sourcepub fn new(
dev: D,
xosc_frequency: Rate<u32, 1, 1>,
config: PLLConfig,
) -> Result<PhaseLockedLoop<Disabled, D>, Error>
pub fn new( dev: D, xosc_frequency: Rate<u32, 1, 1>, config: PLLConfig, ) -> Result<PhaseLockedLoop<Disabled, D>, Error>
Instantiates a new Phase-Locked-Loop device.
Sourcepub fn initialize(self, resets: &mut RESETS) -> PhaseLockedLoop<Locking, D>
pub fn initialize(self, resets: &mut RESETS) -> PhaseLockedLoop<Locking, D>
Configures and starts the PLL : it switches to Locking state.
Source§impl<D> PhaseLockedLoop<Locking, D>where
D: PhaseLockedLoopDevice,
impl<D> PhaseLockedLoop<Locking, D>where
D: PhaseLockedLoopDevice,
Sourcepub fn await_lock(&self) -> Result<LockedPLLToken<D>, Error<Infallible>>
pub fn await_lock(&self) -> Result<LockedPLLToken<D>, Error<Infallible>>
Awaits locking of the PLL.
Sourcepub fn get_locked(self, _token: LockedPLLToken<D>) -> PhaseLockedLoop<Locked, D>
pub fn get_locked(self, _token: LockedPLLToken<D>) -> PhaseLockedLoop<Locked, D>
Exchanges a token for a Locked PLL.
Source§impl<D> PhaseLockedLoop<Locked, D>where
D: PhaseLockedLoopDevice,
impl<D> PhaseLockedLoop<Locked, D>where
D: PhaseLockedLoopDevice,
Sourcepub fn operating_frequency(&self) -> Rate<u32, 1, 1>
pub fn operating_frequency(&self) -> Rate<u32, 1, 1>
Get the operating frequency for the PLL
Sourcepub fn disable(self) -> PhaseLockedLoop<Disabled, D>
pub fn disable(self) -> PhaseLockedLoop<Disabled, D>
Shut down the PLL. The returned PLL is configured the same as it was originally.
Trait Implementations§
Source§impl ClockSource for PhaseLockedLoop<Locked, PLL_SYS>
impl ClockSource for PhaseLockedLoop<Locked, PLL_SYS>
Source§impl ClockSource for PhaseLockedLoop<Locked, PLL_USB>
impl ClockSource for PhaseLockedLoop<Locked, PLL_USB>
Source§impl ValidSrc<GpioOutput0Clock> for PhaseLockedLoop<Locked, PLL_SYS>
impl ValidSrc<GpioOutput0Clock> for PhaseLockedLoop<Locked, PLL_SYS>
Source§impl ValidSrc<GpioOutput0Clock> for PhaseLockedLoop<Locked, PLL_USB>
impl ValidSrc<GpioOutput0Clock> for PhaseLockedLoop<Locked, PLL_USB>
Source§impl ValidSrc<GpioOutput1Clock> for PhaseLockedLoop<Locked, PLL_SYS>
impl ValidSrc<GpioOutput1Clock> for PhaseLockedLoop<Locked, PLL_SYS>
Source§impl ValidSrc<GpioOutput1Clock> for PhaseLockedLoop<Locked, PLL_USB>
impl ValidSrc<GpioOutput1Clock> for PhaseLockedLoop<Locked, PLL_USB>
Source§impl ValidSrc<GpioOutput2Clock> for PhaseLockedLoop<Locked, PLL_SYS>
impl ValidSrc<GpioOutput2Clock> for PhaseLockedLoop<Locked, PLL_SYS>
Source§impl ValidSrc<GpioOutput2Clock> for PhaseLockedLoop<Locked, PLL_USB>
impl ValidSrc<GpioOutput2Clock> for PhaseLockedLoop<Locked, PLL_USB>
Source§impl ValidSrc<GpioOutput3Clock> for PhaseLockedLoop<Locked, PLL_SYS>
impl ValidSrc<GpioOutput3Clock> for PhaseLockedLoop<Locked, PLL_SYS>
Source§impl ValidSrc<GpioOutput3Clock> for PhaseLockedLoop<Locked, PLL_USB>
impl ValidSrc<GpioOutput3Clock> for PhaseLockedLoop<Locked, PLL_USB>
Source§impl ValidSrc<PeripheralClock> for PhaseLockedLoop<Locked, PLL_SYS>
impl ValidSrc<PeripheralClock> for PhaseLockedLoop<Locked, PLL_SYS>
Source§impl ValidSrc<PeripheralClock> for PhaseLockedLoop<Locked, PLL_USB>
impl ValidSrc<PeripheralClock> for PhaseLockedLoop<Locked, PLL_USB>
Source§impl ValidSrc<ReferenceClock> for PhaseLockedLoop<Locked, PLL_USB>
impl ValidSrc<ReferenceClock> for PhaseLockedLoop<Locked, PLL_USB>
Source§impl ValidSrc<SystemClock> for PhaseLockedLoop<Locked, PLL_SYS>
impl ValidSrc<SystemClock> for PhaseLockedLoop<Locked, PLL_SYS>
Source§impl ValidSrc<SystemClock> for PhaseLockedLoop<Locked, PLL_USB>
impl ValidSrc<SystemClock> for PhaseLockedLoop<Locked, PLL_USB>
Auto Trait Implementations§
impl<S, D> Freeze for PhaseLockedLoop<S, D>
impl<S, D> RefUnwindSafe for PhaseLockedLoop<S, D>where
D: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, D> Send for PhaseLockedLoop<S, D>
impl<S, D> Sync for PhaseLockedLoop<S, D>
impl<S, D> Unpin for PhaseLockedLoop<S, D>
impl<S, D> UnwindSafe for PhaseLockedLoop<S, D>where
D: UnwindSafe,
S: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more