import time
from machine import Pin
import rp2


@rp2.asm_pio(out_shiftdir=1,set_init=[rp2.PIO.OUT_LOW]*3,out_init=[rp2.PIO.OUT_LOW]*3)
def charlie():
    pull(noblock)
    mov(x,osr)
    # Set Pin0 & Pin1 as outputs
    set(pindirs, 3)
    in_(null,2)
    in_(osr,1) # output state of LED0 on Pin0
    out(null,1)
    mov(pins, isr)
    in_(null,1)
    in_(osr,1) # output state of LED1 on Pin1
    in_(null,1)
    out(null,1)
    mov(pins, isr)
    
    # Set Pin0 & Pin2 as outputs
    set(pindirs, 5)
    in_(null,2)
    in_(osr,1) # output state of LED2 on Pin0
    out(null,1)
    mov(pins, isr)
    in_(osr,1) # output state of LED3 on Pin2
    in_(null,2)
    out(null,1)
    mov(pins, isr)

    # Set Pin1 & Pin2 as outputs
    set(pindirs, 6)
    in_(null,1)
    in_(osr,1) # output state of LED4 on Pin1
    in_(null,1)
    out(null,1)
    mov(pins, isr)
    in_(osr,1) # output state of LED5 on Pin2
    in_(null,2)
    out(null,1)
    mov(pins, isr)


# Create the StateMachine with the blink_1hz program, outputting on Pin(25).
sm = rp2.StateMachine(0, blink_1hz, freq=2000, set_base=Pin(0),out_base=Pin(0))

# Put bitmap into pio statemachine
sm.put(0b110)

# Start the StateMachine.
sm.active(1)
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT