Struct rp2040_pac2::pio::regs::SmExecctrl[][src]

#[repr(transparent)]pub struct SmExecctrl(pub u32);

Execution/behavioural settings for state machine 2

Implementations

impl SmExecctrl[src]

pub const fn exec_stalled(&self) -> bool[src]

An instruction written to SMx_INSTR is stalled, and latched by the state machine. Will clear once the instruction completes.

pub fn set_exec_stalled(&mut self, val: bool)[src]

An instruction written to SMx_INSTR is stalled, and latched by the state machine. Will clear once the instruction completes.

pub const fn side_en(&self) -> bool[src]

If 1, the delay MSB 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.

pub fn set_side_en(&mut self, val: bool)[src]

If 1, the delay MSB 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.

pub const fn side_pindir(&self) -> bool[src]

Side-set data is asserted to pin OEs instead of pin values

pub fn set_side_pindir(&mut self, val: bool)[src]

Side-set data is asserted to pin OEs instead of pin values

pub const fn jmp_pin(&self) -> u8[src]

The GPIO number to use as condition for JMP PIN. Unaffected by input mapping.

pub fn set_jmp_pin(&mut self, val: u8)[src]

The GPIO number to use as condition for JMP PIN. Unaffected by input mapping.

pub const fn out_en_sel(&self) -> u8[src]

Which data bit to use for inline OUT enable

pub fn set_out_en_sel(&mut self, val: u8)[src]

Which data bit to use for inline OUT enable

pub const fn inline_out_en(&self) -> bool[src]

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 < …)

pub fn set_inline_out_en(&mut self, val: bool)[src]

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 < …)

pub const fn out_sticky(&self) -> bool[src]

Continuously assert the most recent OUT/SET to the pins

pub fn set_out_sticky(&mut self, val: bool)[src]

Continuously assert the most recent OUT/SET to the pins

pub const fn wrap_top(&self) -> u8[src]

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.

pub fn set_wrap_top(&mut self, val: u8)[src]

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.

pub const fn wrap_bottom(&self) -> u8[src]

After reaching wrap_top, execution is wrapped to this address.

pub fn set_wrap_bottom(&mut self, val: u8)[src]

After reaching wrap_top, execution is wrapped to this address.

pub const fn status_sel(&self) -> SmExecctrlStatusSel[src]

Comparison used for the MOV x, STATUS instruction.

pub fn set_status_sel(&mut self, val: SmExecctrlStatusSel)[src]

Comparison used for the MOV x, STATUS instruction.

pub const fn status_n(&self) -> u8[src]

Comparison level for the MOV x, STATUS instruction

pub fn set_status_n(&mut self, val: u8)[src]

Comparison level for the MOV x, STATUS instruction

Trait Implementations

impl Clone for SmExecctrl[src]

impl Copy for SmExecctrl[src]

impl Default for SmExecctrl[src]

Auto Trait Implementations

impl Send for SmExecctrl

impl Sync for SmExecctrl

impl Unpin for SmExecctrl

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.