import utime
import machine
from machine import I2C,Pin
from lcd_api import LcdApi
from pico_i2c_lcd import I2cLcd
from stepper import Stepper
from rotary_irq_esp import RotaryIRQ
i2c = I2C(0, sda=machine.Pin(16), scl=machine.Pin(17), freq=400000)
lcd = I2cLcd(i2c, 0x27, 2, 16)
index=0
MenuList=["A","B","C"]
def main():
#Test function for verifying basic functionality
print("Running test_main")
r = RotaryIRQ(pin_num_clk=21,
pin_num_dt=20,
min_val=0,
max_val=len(MenuList),
reverse=False,
range_mode=RotaryIRQ.RANGE_WRAP)
r.add_listener(updatelcd)
while True:
utime.sleep(2)
def updatelcd():
lcd.clear()
lcd.print(MenuList[index])
def action_callback():
print("callback action chosen")
#if __name__ == "__main__":
main()