Skip to main content

PartialCascadeControl

Struct PartialCascadeControl 

Source
pub struct PartialCascadeControl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> { /* private fields */ }
Expand description

Builder struct for partial initialization of CascadeControl .

Implementations§

Source§

impl<const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> PartialCascadeControl<false, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

Source

pub const fn with_trigger2( &self, value: bool, ) -> PartialCascadeControl<true, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

The counter is automatically disabled if the corresponding Cascade 2 level-sensitive input souce is active when the count reaches 0. If the counter is not 0, the cascade control is ignored.

Source§

impl<const trigger2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> PartialCascadeControl<trigger2, false, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

Source

pub const fn with_inv2( &self, value: CascadeInvert, ) -> PartialCascadeControl<trigger2, true, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

Source§

impl<const trigger2: bool, const inv2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> PartialCascadeControl<trigger2, inv2, false, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

Source

pub const fn with_en2( &self, value: bool, ) -> PartialCascadeControl<trigger2, inv2, true, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

Enable Cascade 2 signal active as a requirement to stop counting. This mode is similar to the REQ_STOP control bit, but signalled by a Cascade source.

Source§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> PartialCascadeControl<trigger2, inv2, en2, false, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

Source

pub const fn with_trigger1( &self, value: bool, ) -> PartialCascadeControl<trigger2, inv2, en2, true, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

Same as the trigger field for Cascade 0.

Source§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> PartialCascadeControl<trigger2, inv2, en2, trigger1, false, dual_cascade_op, inv1, en1, inv0, en0>

Source

pub const fn with_trigger0( &self, value: bool, ) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, true, dual_cascade_op, inv1, en1, inv0, en0>

Enable trigger mode for Cascade 0. In trigger mode, couting will start with the selected cascade signal active, but once the counter is active, cascade control will be ignored.

Source§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, false, inv1, en1, inv0, en0>

Source

pub const fn with_dual_cascade_op( &self, value: DualCascadeOp, ) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, true, inv1, en1, inv0, en0>

Specify required operation if both Cascade 0 and Cascade 1 are active. 0 is a logical AND of both cascade signals, 1 is a logical OR.

Source§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const en1: bool, const inv0: bool, const en0: bool> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, false, en1, inv0, en0>

Source

pub const fn with_inv1( &self, value: CascadeInvert, ) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, true, en1, inv0, en0>

Inversion bit for Cascade 1

Source§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const inv0: bool, const en0: bool> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, false, inv0, en0>

Source

pub const fn with_en1( &self, value: bool, ) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, true, inv0, en0>

Enable Cascade 1 signal active as a requirement for counting.

Source§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const en0: bool> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, false, en0>

Source

pub const fn with_inv0( &self, value: CascadeInvert, ) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, true, en0>

Inversion bit for Cascade 0.

Source§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, false>

Source

pub const fn with_en0( &self, value: bool, ) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, true>

Enable Cascade 0 signal active as a requirement for counting.

Source§

impl PartialCascadeControl<true, true, true, true, true, true, true, true, true, true>

Source

pub const fn build(&self) -> CascadeControl

Builds the bitfield from the values passed into this builder.

Every field must be set on PartialCascadeControl to be able to build a CascadeControl .

Auto Trait Implementations§

§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> Freeze for PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> RefUnwindSafe for PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> Send for PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> Sync for PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> Unpin for PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> UnsafeUnpin for PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

§

impl<const trigger2: bool, const inv2: bool, const en2: bool, const trigger1: bool, const trigger0: bool, const dual_cascade_op: bool, const inv1: bool, const en1: bool, const inv0: bool, const en0: bool> UnwindSafe for PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.