Type Alias rp2040_pac::pio0::sm::sm_execctrl::W
source · pub type W = W<SM_EXECCTRL_SPEC>;
Expand description
Register SM_EXECCTRL
writer
Aliased Type§
struct W { /* private fields */ }
Implementations§
source§impl W
impl W
sourcepub fn status_n(&mut self) -> STATUS_N_W<'_, SM_EXECCTRL_SPEC>
pub fn status_n(&mut self) -> STATUS_N_W<'_, SM_EXECCTRL_SPEC>
Bits 0:3 - Comparison level for the MOV x, STATUS instruction
sourcepub fn status_sel(&mut self) -> STATUS_SEL_W<'_, SM_EXECCTRL_SPEC>
pub fn status_sel(&mut self) -> STATUS_SEL_W<'_, SM_EXECCTRL_SPEC>
Bit 4 - Comparison used for the MOV x, STATUS instruction.
sourcepub fn wrap_bottom(&mut self) -> WRAP_BOTTOM_W<'_, SM_EXECCTRL_SPEC>
pub fn wrap_bottom(&mut self) -> WRAP_BOTTOM_W<'_, SM_EXECCTRL_SPEC>
Bits 7:11 - After reaching wrap_top, execution is wrapped to this address.
sourcepub fn wrap_top(&mut self) -> WRAP_TOP_W<'_, SM_EXECCTRL_SPEC>
pub fn wrap_top(&mut self) -> WRAP_TOP_W<'_, SM_EXECCTRL_SPEC>
Bits 12:16 - After reaching this address, execution is wrapped to wrap_bottom.
If the instruction is a jump, and the jump condition is true, the jump takes priority.
sourcepub fn out_sticky(&mut self) -> OUT_STICKY_W<'_, SM_EXECCTRL_SPEC>
pub fn out_sticky(&mut self) -> OUT_STICKY_W<'_, SM_EXECCTRL_SPEC>
Bit 17 - Continuously assert the most recent OUT/SET to the pins
sourcepub fn inline_out_en(&mut self) -> INLINE_OUT_EN_W<'_, SM_EXECCTRL_SPEC>
pub fn inline_out_en(&mut self) -> INLINE_OUT_EN_W<'_, SM_EXECCTRL_SPEC>
Bit 18 - If 1, use a bit of OUT data as an auxiliary write enable
When used in conjunction with OUT_STICKY, writes with an enable of 0 will
deassert the latest pin write. This can create useful masking/override behaviour
due to the priority ordering of state machine pin writes (SM0 < SM1 < …)
sourcepub fn out_en_sel(&mut self) -> OUT_EN_SEL_W<'_, SM_EXECCTRL_SPEC>
pub fn out_en_sel(&mut self) -> OUT_EN_SEL_W<'_, SM_EXECCTRL_SPEC>
Bits 19:23 - Which data bit to use for inline OUT enable
sourcepub fn jmp_pin(&mut self) -> JMP_PIN_W<'_, SM_EXECCTRL_SPEC>
pub fn jmp_pin(&mut self) -> JMP_PIN_W<'_, SM_EXECCTRL_SPEC>
Bits 24:28 - The GPIO number to use as condition for JMP PIN. Unaffected by input mapping.
sourcepub fn side_pindir(&mut self) -> SIDE_PINDIR_W<'_, SM_EXECCTRL_SPEC>
pub fn side_pindir(&mut self) -> SIDE_PINDIR_W<'_, SM_EXECCTRL_SPEC>
Bit 29 - If 1, side-set data is asserted to pin directions, instead of pin values
sourcepub fn side_en(&mut self) -> SIDE_EN_W<'_, SM_EXECCTRL_SPEC>
pub fn side_en(&mut self) -> SIDE_EN_W<'_, SM_EXECCTRL_SPEC>
Bit 30 - If 1, the MSB of the Delay/Side-set instruction field is used as side-set enable, rather than a side-set data bit. This allows instructions to perform side-set optionally, rather than on every instruction, but the maximum possible side-set width is reduced from 5 to 4. Note that the value of PINCTRL_SIDESET_COUNT is inclusive of this enable bit.