861fbf6ab5
These files all use decorators (@asm_thumb, @asm_pio) that add names to the function scope, that the linter cannot see. It's useful to clear them in the file not in pyproject.toml as example code will be copied and adapted elsewhere, and those developers may also use Ruff (we hope!) Signed-off-by: Angus Gratton <angus@redyak.com.au>
32 lines
747 B
Python
32 lines
747 B
Python
# Example using PIO to turn on an LED via an explicit exec.
|
|
# Note: this does not work on Pico W because it uses Pin(25) for LED output.
|
|
#
|
|
# Demonstrates:
|
|
# - using set_init and set_base
|
|
# - using StateMachine.exec
|
|
|
|
# ruff: noqa: F821 - @asm_pio decorator adds names to function scope
|
|
|
|
import time
|
|
from machine import Pin
|
|
import rp2
|
|
|
|
|
|
# Define an empty program that uses a single set pin.
|
|
@rp2.asm_pio(set_init=rp2.PIO.OUT_LOW)
|
|
def prog():
|
|
pass
|
|
|
|
|
|
# Construct the StateMachine, binding Pin(25) to the set pin.
|
|
sm = rp2.StateMachine(0, prog, set_base=Pin(25))
|
|
|
|
# Turn on the set pin via an exec instruction.
|
|
sm.exec("set(pins, 1)")
|
|
|
|
# Sleep for 500ms.
|
|
time.sleep(0.5)
|
|
|
|
# Turn off the set pin via an exec instruction.
|
|
sm.exec("set(pins, 0)")
|