Module pio

Source
Expand description

Programmable IO (PIO)

See Chapter 3 of the datasheet for more details.

Structs§

InstalledProgram
Handle to a program that was placed in the PIO’s instruction memory.
Interrupt
PIO Interrupt controller.
InterruptState
Provides easy access for decoding PIO’s interrupt state.
PIO
Programmable IO Block
PIOBuilder
Builder to deploy a fully configured PIO program on one of the state machines.
Running
Marker for an initialized and running state machine.
Rx
PIO RX FIFO handle.
SM0
First state machine.
SM1
Second state machine.
SM2
Third state machine.
SM3
Fourth state machine.
StateMachine
PIO State Machine with an associated program.
StateMachineGroup2
Group of 2 state machines, which can be started/stopped synchronously.
StateMachineGroup3
Group of 3 state machines, which can be started/stopped synchronously.
StateMachineGroup4
Group of 4 state machines, which can be started/stopped synchronously.
Stopped
Marker for an initialized, but stopped state machine.
Synchronize
Type which, once destructed, restarts the clock dividers for all selected state machines, effectively synchronizing them.
Tx
PIO TX FIFO handle.
UninitStateMachine
PIO State Machine (uninitialized, without a program).

Enums§

Buffers
Buffer sharing configuration.
InstallError
Errors that occurred during PIO::install.
MovStatusConfig
Comparison used for mov x, status instruction.
PinDir
Pin direction in the PIO
PinState
Pin State in the PIO
PioIRQ
Id for the PIO’s IRQ
ShiftDirection
Shift direction for input and output shifting.

Traits§

PIOExt
PIO Instance
StateMachineIndex
State machine identifier (without a specified PIO block).
ValidStateMachine
Trait to identify a single state machine, as a generic type parameter to UninitStateMachine, InitStateMachine, etc.

Type Aliases§

PIO0SM0
First state machine of the first PIO block.
PIO0SM1
Second state machine of the first PIO block.
PIO0SM2
Third state machine of the first PIO block.
PIO0SM3
Fourth state machine of the first PIO block.
PIO1SM0
First state machine of the second PIO block.
PIO1SM1
Second state machine of the second PIO block.
PIO1SM2
Third state machine of the second PIO block.
PIO1SM3
Fourth state machine of the second PIO block.