rp2
rp2
The rp2
module contains functions and classes specific to the RP2040, as used in the Raspberry Pi Pico.
See the RP2040 Python datasheet for more information, and pico-micropython-examples for example code.
The rp2
module includes functions for assembling PIO programs.
For running PIO programs, see rp2.StateMachine
.
asm_pio(*, out_init=None, set_init=None, sideset_init=None, in_shiftdir=0, out_shiftdir=0, autopush=False, autopull=False, push_thresh=32, pull_thresh=32, fifo_join=PIO.JOIN_NONE)
Assemble a PIO program.
The following parameters control the initial state of the GPIO pins, as one of PIO.IN_LOW, PIO.IN_HIGH, PIO.OUT_LOW or PIO.OUT_HIGH. If the program uses more than one pin, provide a tuple, e.g. out_init=(PIO.OUT_LOW, PIO.OUT_LOW)
.
- out_init configures the pins used for
out()
instructions. - set_init configures the pins used for
set()
instructions. There can be at most 5. - sideset_init configures the pins used side-setting. There can be at most 5.
The following parameters are used by default, but can be overriden in `StateMachine.init()`:
- in_shiftdir is the default direction the ISR will shift, either PIO.SHIFT_LEFT or PIO.SHIFT_RIGHT.
- out_shiftdir is the default direction the OSR will shift, either PIO.SHIFT_LEFT or PIO.SHIFT_RIGHT.
- push_thresh is the threshold in bits before auto-push or conditional re-pushing is triggered.
- pull_thresh is the threshold in bits before auto-push or conditional re-pushing is triggered.
The remaining parameters are:
- autopush configures whether auto-push is enabled.
- autopull configures whether auto-pull is enabled.
- fifo_join configures whether the 4-word TX and RX FIFOs should be combined into a single 8-word FIFO for one direction only. The options are PIO.JOIN_NONE, PIO.JOIN_RX and PIO.JOIN_TX.
asm_pio_encode(instr, sideset_count)
Assemble a single PIO instruction. You usually want to use asm_pio() instead.
>>> rp2.asm_pio_encode("set(0, 1)", 0) 57345
This exception is raised from asm_pio() or asm_pio_encode() if there is an error assembling a PIO program.
rp2.Flash.rst rp2.PIO.rst rp2.StateMachine.rst