put into enumerated stages

This commit is contained in:
Danny Staple 2021-12-28 23:34:32 +00:00
parent edeb81cffd
commit 75bce7bc6c
3 changed files with 84 additions and 0 deletions

View File

@ -0,0 +1,25 @@
import time
import board
import rp2pio
import adafruit_pioasm
led_flash = """
.program led_flash
pull
out pins, 1
"""
assembled = adafruit_pioasm.assemble(led_flash)
sm = rp2pio.StateMachine(
assembled,
frequency=2000,
first_out_pin=board.LED,
)
print("real frequency", sm.frequency)
while True:
sm.write(bytes((1,)))
time.sleep(0.5)
sm.write(bytes((0,)))
time.sleep(0.5)

View File

@ -0,0 +1,29 @@
"""Send this code, run and watch the repl.
Then turn the wheel slowly to see the change"""
import board
import rp2pio
import adafruit_pioasm
import time
pio_input = """
.program pio_input
in pins, 1 ; read in pin (into ISR)
push noblock ; put this into input FIFO
"""
assembled = adafruit_pioasm.assemble(pio_input)
## set up a statemachine
sm = rp2pio.StateMachine(
assembled,
frequency=2000,
first_in_pin=board.GP20
)
buffer = bytearray(1) # an array of bytes to read into - we are just asking for a byte
while True:
# read data from the fifo
data = sm.readinto(buffer)
# print it.
print("{:08b}".format(buffer[0]))

View File

@ -0,0 +1,30 @@
"""Send this code, run and watch the repl.
Then turn the wheel slowly to see the change"""
import board
import rp2pio
import adafruit_pioasm
import time
pio_input = """
.program pio_input
in pins, 2 ; read in two pins (into ISR)
push noblock ; put ISR into input FIFO
"""
assembled = adafruit_pioasm.assemble(pio_input)
## set up a statemachine
sm = rp2pio.StateMachine(
assembled,
frequency=2000,
first_in_pin=board.GP20,
in_pin_count=2
)
buffer = bytearray(1) # an array of bytes to read into - we are just asking for a byte
while True:
# read data from the fifo
data = sm.readinto(buffer)
# print it.
print("{:08b}".format(buffer[0]))