import rp2
from machine import Pin
from utime import sleep
from rp2 import PIO
import time
print("Hello, Pi Pico!")
led1 = Pin(0, Pin.OUT)
led2 = Pin(1, Pin.OUT)
led3 = Pin(2, Pin.OUT)
led4 = Pin(3, Pin.OUT)
led5 = Pin(4, Pin.OUT)
led6 = Pin(5, Pin.OUT)
#buzz = Pin(6, Pin.OUT)
@rp2.asm_pio(out_init=[PIO.OUT_LOW])
def echo():
wrap_target()
mov(pins, isr)
mov(isr, invert(isr))
pull(noblock)
mov(x, osr)
mov(y, x)
label("loop")
jmp(y_dec, "loop")
wrap()
sm = rp2.StateMachine(0, echo, freq=3_100, out_base=Pin(6))
sm.active(0)
def play(freq):
if freq:
sm.put(50_000//freq)
else:
sm.put(0)
def delay_function(segdelay=-1,buzz=0):
if segdelay == -1:
segdelay = 0.15
sleep(segdelay)
if buzz == 1:
buzz_function()
def buzz_function():
sm.active(1)
sleep(0.15)
sm.active(0)
while True:
led1.toggle()
delay_function()
led1.toggle()
delay_function(-1,1)
led2.toggle()
delay_function()
led2.toggle()
delay_function(-1,1)
led3.toggle()
delay_function()
led3.toggle()
delay_function(-1,1)
led4.toggle()
delay_function()
led4.toggle()
delay_function(-1,1)
led5.toggle()
delay_function()
led5.toggle()
delay_function(-1,1)
led6.toggle()
delay_function()
led6.toggle()
delay_function(-1,1)
led5.toggle()
delay_function()
led5.toggle()
delay_function(-1,1)
led4.toggle()
delay_function()
led4.toggle()
delay_function(-1,1)
led3.toggle()
delay_function()
led3.toggle()
delay_function(-1,1)
led2.toggle()
delay_function()
led2.toggle()
delay_function(-1,1)