Module rp2040_pac::pio0::sm::sm_execctrl

source ·
Expand description

Execution/behavioural settings for state machine 0

Structs§

Enums§

  • Comparison used for the MOV x, STATUS instruction.

Type Aliases§

  • Field EXEC_STALLED reader - If 1, an instruction written to SMx_INSTR is stalled, and latched by the state machine. Will clear to 0 once this instruction completes.
  • Field INLINE_OUT_EN reader - 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 < …)
  • Field INLINE_OUT_EN writer - 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 < …)
  • Field JMP_PIN reader - The GPIO number to use as condition for JMP PIN. Unaffected by input mapping.
  • Field JMP_PIN writer - The GPIO number to use as condition for JMP PIN. Unaffected by input mapping.
  • Field OUT_EN_SEL reader - Which data bit to use for inline OUT enable
  • Field OUT_EN_SEL writer - Which data bit to use for inline OUT enable
  • Field OUT_STICKY reader - Continuously assert the most recent OUT/SET to the pins
  • Field OUT_STICKY writer - Continuously assert the most recent OUT/SET to the pins
  • Register SM_EXECCTRL reader
  • Field SIDE_EN reader - 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.
  • Field SIDE_EN writer - 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.
  • Field SIDE_PINDIR reader - If 1, side-set data is asserted to pin directions, instead of pin values
  • Field SIDE_PINDIR writer - If 1, side-set data is asserted to pin directions, instead of pin values
  • Field STATUS_N reader - Comparison level for the MOV x, STATUS instruction
  • Field STATUS_N writer - Comparison level for the MOV x, STATUS instruction
  • Field STATUS_SEL reader - Comparison used for the MOV x, STATUS instruction.
  • Field STATUS_SEL writer - Comparison used for the MOV x, STATUS instruction.
  • Register SM_EXECCTRL writer
  • Field WRAP_BOTTOM reader - After reaching wrap_top, execution is wrapped to this address.
  • Field WRAP_BOTTOM writer - After reaching wrap_top, execution is wrapped to this address.
  • Field WRAP_TOP reader - 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.
  • Field WRAP_TOP writer - 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.