Add Circuit python code
This commit is contained in:
parent
6391b023f6
commit
394911df7b
2 changed files with 58 additions and 0 deletions
2
CIRCUITPYTHON/Makefile
Normal file
2
CIRCUITPYTHON/Makefile
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
install:
|
||||||
|
cp code.py /run/media/ccowley/CIRCUITPY/code.py
|
56
CIRCUITPYTHON/code.py
Normal file
56
CIRCUITPYTHON/code.py
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
import time
|
||||||
|
import board
|
||||||
|
from digitalio import DigitalInOut, Direction, Pull
|
||||||
|
import usb_midi
|
||||||
|
import adafruit_midi
|
||||||
|
from adafruit_midi.control_change import ControlChange
|
||||||
|
|
||||||
|
# MIDI setup as MIDI out device
|
||||||
|
midi = adafruit_midi.MIDI(midi_out=usb_midi.ports[1], out_channel=0)
|
||||||
|
|
||||||
|
|
||||||
|
# button pins, all pins in order skipping GP15
|
||||||
|
button_pins = [
|
||||||
|
board.GP18,
|
||||||
|
board.GP19,
|
||||||
|
board.GP20,
|
||||||
|
board.GP21,
|
||||||
|
board.GP22,
|
||||||
|
]
|
||||||
|
|
||||||
|
buttons = []
|
||||||
|
for pin in button_pins:
|
||||||
|
button = DigitalInOut(pin)
|
||||||
|
button.direction = Direction.INPUT
|
||||||
|
button.pull = Pull.UP
|
||||||
|
buttons.append(button)
|
||||||
|
|
||||||
|
cc_numbers = [
|
||||||
|
20,
|
||||||
|
21,
|
||||||
|
22,
|
||||||
|
23,
|
||||||
|
24,
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# button states
|
||||||
|
button_states = [True] * len(buttons)
|
||||||
|
|
||||||
|
|
||||||
|
while True:
|
||||||
|
for i, button in enumerate(buttons):
|
||||||
|
current_state = button.value
|
||||||
|
if current_state != button_states[i]:
|
||||||
|
if not current_state:
|
||||||
|
# Button pressed
|
||||||
|
midi.send(ControlChange(cc_numbers[i], 127))
|
||||||
|
print(f"Button {i+1} pressed -> CC{cc_numbers[i]}:127")
|
||||||
|
else:
|
||||||
|
# Button released
|
||||||
|
midi.send(ControlChange(cc_numbers[i], 0))
|
||||||
|
print(f"Button {i+1} released -> CC{cc_numbers[i]}:0")
|
||||||
|
button_states[i] = current_state
|
||||||
|
|
||||||
|
time.sleep(0.01)
|
Loading…
Add table
Add a link
Reference in a new issue