2022-04-08 11:30:22 +00:00
|
|
|
from time import sleep
|
|
|
|
from telemetrix_rpi_pico import telemetrix_rpi_pico
|
2022-04-08 18:10:39 +00:00
|
|
|
from siwatlib.debounce import debounce
|
2022-04-09 16:20:02 +00:00
|
|
|
from siwatlib.sound import piano_key
|
2022-04-08 18:10:39 +00:00
|
|
|
|
2022-04-08 11:30:22 +00:00
|
|
|
import winsound
|
|
|
|
|
|
|
|
index_shift = 2
|
2022-04-08 18:10:39 +00:00
|
|
|
debouncers = []
|
2022-04-08 11:30:22 +00:00
|
|
|
|
|
|
|
def handle_button_press(data):
|
2022-04-09 16:20:02 +00:00
|
|
|
try:
|
|
|
|
print(str(data[1])+' Pressed')
|
|
|
|
recieved_state = not data[2]
|
|
|
|
if debouncers[data[1]-index_shift].set_state(state=recieved_state):
|
|
|
|
piano_key((data[1]-1)*2-1)
|
|
|
|
except KeyError:
|
|
|
|
pass
|
2022-04-08 11:30:22 +00:00
|
|
|
|
|
|
|
mcu = telemetrix_rpi_pico.TelemetrixRpiPico(com_port='COM10')
|
2022-04-08 18:10:39 +00:00
|
|
|
|
2022-04-08 11:30:22 +00:00
|
|
|
for i in range(2,10):
|
2022-04-09 16:20:02 +00:00
|
|
|
debouncers.append(debounce(state=False,debounce_time=0.2))
|
2022-04-08 11:30:22 +00:00
|
|
|
mcu.set_pin_mode_digital_input(i,callback=handle_button_press)
|
|
|
|
while True:
|
|
|
|
sleep(100)
|