28 lines
674 B
Python
28 lines
674 B
Python
"""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 array
|
|
|
|
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
|
|
sm.readinto(buffer)
|
|
# print it.
|
|
print("{:08b}".format(buffer[0]))
|