pub struct RegisterBlock { /* private fields */ }Expand description
Register block
Implementations§
Source§impl RegisterBlock
impl RegisterBlock
Sourcepub const fn freqa(&self) -> &Reg<FREQA_SPEC>
pub const fn freqa(&self) -> &Reg<FREQA_SPEC>
0x04 - The FREQA & FREQB registers control the frequency by controlling the drive strength of each stage The drive strength has 4 levels determined by the number of bits set Increasing the number of bits set increases the drive strength and increases the oscillation frequency 0 bits set is the default drive strength 1 bit set doubles the drive strength 2 bits set triples drive strength 3 bits set quadruples drive strength For frequency randomisation set both DS0_RANDOM=1 & DS1_RANDOM=1
Sourcepub const fn freqb(&self) -> &Reg<FREQB_SPEC>
pub const fn freqb(&self) -> &Reg<FREQB_SPEC>
0x08 - For a detailed description see freqa register
Sourcepub const fn random(&self) -> &Reg<RANDOM_SPEC>
pub const fn random(&self) -> &Reg<RANDOM_SPEC>
0x0c - Loads a value to the LFSR randomiser
Sourcepub const fn dormant(&self) -> &Reg<DORMANT_SPEC>
pub const fn dormant(&self) -> &Reg<DORMANT_SPEC>
0x10 - Ring Oscillator pause control
Sourcepub const fn phase(&self) -> &Reg<PHASE_SPEC>
pub const fn phase(&self) -> &Reg<PHASE_SPEC>
0x18 - Controls the phase shifted output
Sourcepub const fn status(&self) -> &Reg<STATUS_SPEC>
pub const fn status(&self) -> &Reg<STATUS_SPEC>
0x1c - Ring Oscillator Status
Sourcepub const fn randombit(&self) -> &Reg<RANDOMBIT_SPEC>
pub const fn randombit(&self) -> &Reg<RANDOMBIT_SPEC>
0x20 - This just reads the state of the oscillator output so randomness is compromised if the ring oscillator is stopped or run at a harmonic of the bus frequency
Sourcepub const fn count(&self) -> &Reg<COUNT_SPEC>
pub const fn count(&self) -> &Reg<COUNT_SPEC>
0x24 - A down counter running at the ROSC frequency which counts to zero and stops. To start the counter write a non-zero value. Can be used for short software pauses when setting up time sensitive hardware.
Auto Trait Implementations§
impl !Freeze for RegisterBlock
impl !RefUnwindSafe for RegisterBlock
impl Send for RegisterBlock
impl !Sync for RegisterBlock
impl Unpin for RegisterBlock
impl UnwindSafe for RegisterBlock
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
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>
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>
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