# https://dev.to/blues/a-practical-look-at-pio-on-the-raspberry-pi-pico-50j8 import time import rp2 from machine import Pin #@rp2.asm_pio(set_init=rp2.PIO.OUT_LOW, out_shiftdir=rp2.PIO.SHIFT_LEFT) @rp2.asm_pio(set_init=rp2.PIO.OUT_LOW) def blink4(): set(pins, 1) set(x, 10) label("loop_0") set(y, 10) label("loop_1") nop().delay(6) jmp(y_dec, "loop_1") jmp(x_dec, "loop_0") set(pins, 0) set(x, 10) label("loop_2") set(y, 10) label("loop_3") nop().delay(6) jmp(y_dec, "loop_3") jmp(x_dec, "loop_2") wrap() sm = rp2.StateMachine(0, blink4, freq=2_000, set_base=Pin(16)) sm.active(1) time.sleep(10) sm.active(0)