-
Notifications
You must be signed in to change notification settings - Fork 0
a Raspberry Pi 3B+ userspace app to listen to rotary encoder msgs on GPIO pins, convert them to MIDI msgs and push them through JACK (audio connection toolkit)
License
synthnassizer/rpiEncoderController
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Description ----------- a Raspberry Pi 3B+ userspace app to listen to rotary encoder msgs on GPIO pins, convert them to MIDI msgs and push them through JACK (audio connection toolkit) Build ----- you can build it directly in Raspberry Pi sudo apt install cmake jack pigpio libjack-jackd2-dev libgpiod-dev libpigpio1 libpigpiod-if-dev libpigpiod-if2-1 pigpio-tools pigpiod #maybe some could be skipped git clone ... # this repo cd rpiEncoderController mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Debug ../encoderController make Or you can build using a cross-compile toolchain. For Rasbian Buster I used https://github.com/Pro/raspi-toolchain. You will also need the rootfs with all the packages mentioned above. Then you can update rpienv.sh to point to the location of the rootfs subfolders and source rpienv.sh mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=rpi3toolchain.cmake ../encoderController make Please note that you will need to go through these files and update sevral paths for the above to work. Usage ----- Please run ./encoderController -h for an explanation of the available options. A typical command invokation would be: sudo pigpiod #start the pigpio daemon ./encoderController -c 64,43 -t So the rotary encoder will be sending CC (controller change midi msgs) through controller # 64 , while the button on the rotary encoder will be sending CC midi msg through controller # 43. The GPIO's used for the single encoder are numbers 17 and 27 (for the encoder) and 22 (for the button). These by the way are the Broadcom numbers for the GPIO's and the actual pcb numbering. Please refer to https://pinout.xyz/# for correspondense and look at REQ_encToJackClient for pin numbers of the other encoders (up to 3). You can recompile the executable to change the GPIO pins that the app listens to.
About
a Raspberry Pi 3B+ userspace app to listen to rotary encoder msgs on GPIO pins, convert them to MIDI msgs and push them through JACK (audio connection toolkit)
Topics
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published