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>
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>
Sourcepub const fn with_trigger2(
&self,
value: bool,
) -> PartialCascadeControl<true, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>
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>
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>
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>
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>
Sourcepub const fn with_en2(
&self,
value: bool,
) -> PartialCascadeControl<trigger2, inv2, true, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, en0>
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>
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>
Sourcepub const fn with_trigger1(
&self,
value: bool,
) -> PartialCascadeControl<trigger2, inv2, en2, true, trigger0, dual_cascade_op, inv1, en1, inv0, en0>
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>
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>
Sourcepub const fn with_trigger0(
&self,
value: bool,
) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, true, dual_cascade_op, inv1, en1, inv0, en0>
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>
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>
Sourcepub const fn with_dual_cascade_op(
&self,
value: DualCascadeOp,
) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, true, inv1, en1, inv0, en0>
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>
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>
Sourcepub const fn with_inv1(
&self,
value: CascadeInvert,
) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, true, en1, inv0, en0>
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>
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>
Sourcepub const fn with_en1(
&self,
value: bool,
) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, true, inv0, en0>
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>
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>
Sourcepub const fn with_inv0(
&self,
value: CascadeInvert,
) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, true, en0>
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>
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>
Sourcepub const fn with_en0(
&self,
value: bool,
) -> PartialCascadeControl<trigger2, inv2, en2, trigger1, trigger0, dual_cascade_op, inv1, en1, inv0, true>
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>
impl PartialCascadeControl<true, true, true, true, true, true, true, true, true, true>
Sourcepub const fn build(&self) -> CascadeControl
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 .